David ‘Bombe’ Roden [Sat, 9 Nov 2024 21:39:28 +0000 (22:39 +0100)]
🔊 Use correct logging framework in Starter
David ‘Bombe’ Roden [Sat, 9 Nov 2024 21:37:35 +0000 (22:37 +0100)]
🔇 Disable log4j during tests
David ‘Bombe’ Roden [Sat, 9 Nov 2024 19:15:29 +0000 (20:15 +0100)]
⬆️ Update to JUnit 5
David ‘Bombe’ Roden [Sat, 9 Nov 2024 16:48:15 +0000 (17:48 +0100)]
🔊 Log options on startup
David ‘Bombe’ Roden [Fri, 8 Nov 2024 23:41:33 +0000 (00:41 +0100)]
🔇 Reduce logging from org.apache.http
David ‘Bombe’ Roden [Fri, 8 Nov 2024 20:57:21 +0000 (21:57 +0100)]
💚 Change name of output file (and for some reason, fix build?)
David ‘Bombe’ Roden [Fri, 8 Nov 2024 19:51:44 +0000 (20:51 +0100)]
✨ Add Grrl Power comic
David ‘Bombe’ Roden [Fri, 8 Nov 2024 19:48:52 +0000 (20:48 +0100)]
💚 Remove some warnings, create source set separately
David ‘Bombe’ Roden [Fri, 4 Oct 2024 18:44:10 +0000 (20:44 +0200)]
🔀 Merge branch 'feature/add-jenkinsfile'
David ‘Bombe’ Roden [Fri, 4 Oct 2024 18:39:52 +0000 (20:39 +0200)]
🏗️ Add Jenkinsfile
Also, configuration JaCoCo to build the correct reports.
David ‘Bombe’ Roden [Tue, 16 Jul 2024 18:19:41 +0000 (20:19 +0200)]
💥 Fix Savoy filter
David ‘Bombe’ Roden [Thu, 11 Apr 2024 09:46:27 +0000 (11:46 +0200)]
🔀 Merge branch 'website/epic-games' into next
David ‘Bombe’ Roden [Thu, 11 Apr 2024 09:46:03 +0000 (11:46 +0200)]
✨ Add watcher for free games in the Epic Games store
David ‘Bombe’ Roden [Thu, 11 Apr 2024 09:41:53 +0000 (11:41 +0200)]
🚧 Add HTML output to game state
David ‘Bombe’ Roden [Thu, 11 Apr 2024 08:31:55 +0000 (10:31 +0200)]
⬆️ Update Hamcrest to 2.2
David ‘Bombe’ Roden [Thu, 11 Apr 2024 07:51:21 +0000 (09:51 +0200)]
🚧 Add merger for free games from the Epic games store
David ‘Bombe’ Roden [Thu, 11 Apr 2024 07:44:36 +0000 (09:44 +0200)]
♻️ Extract FreeGamesState into its own file
David ‘Bombe’ Roden [Thu, 11 Apr 2024 07:44:10 +0000 (09:44 +0200)]
♻️ Extract FreeGame into its own file
David ‘Bombe’ Roden [Thu, 11 Apr 2024 07:41:29 +0000 (09:41 +0200)]
♻️ Use method references
David ‘Bombe’ Roden [Wed, 10 Apr 2024 20:09:56 +0000 (22:09 +0200)]
🔀 Merge branch 'comic/nortverse' into next
David ‘Bombe’ Roden [Wed, 10 Apr 2024 20:07:52 +0000 (22:07 +0200)]
✨ Add Nortverse comic filter
David ‘Bombe’ Roden [Thu, 4 Apr 2024 17:03:35 +0000 (19:03 +0200)]
🚧 Add filter for free games from the Epic store
David ‘Bombe’ Roden [Thu, 4 Apr 2024 15:59:27 +0000 (17:59 +0200)]
🚧 Add JSON filter
David ‘Bombe’ Roden [Thu, 4 Apr 2024 15:50:54 +0000 (17:50 +0200)]
🚧 Add state for JSON objects
David ‘Bombe’ Roden [Sun, 24 Mar 2024 16:10:04 +0000 (17:10 +0100)]
💄 Make section headers sticky
Unfortunately, it will not be displayed that way in either Mail.app on
macOS nor in Samsung Email on Android.
David ‘Bombe’ Roden [Sun, 24 Mar 2024 12:39:20 +0000 (13:39 +0100)]
💄 Fix display on Samsung Email app
David ‘Bombe’ Roden [Fri, 15 Mar 2024 15:33:29 +0000 (16:33 +0100)]
💄 Don’t distort movie images when horizontal space is too tight
David ‘Bombe’ Roden [Thu, 14 Mar 2024 20:26:04 +0000 (21:26 +0100)]
💄 Fix display of images in new movies section
David ‘Bombe’ Roden [Fri, 8 Mar 2024 14:50:14 +0000 (15:50 +0100)]
🐛 Fix Chief O’Brian at Work filter
David ‘Bombe’ Roden [Fri, 8 Mar 2024 14:43:42 +0000 (15:43 +0100)]
♻️ Convert test for Chief O’Brian at Work to Kotlin
David ‘Bombe’ Roden [Fri, 8 Mar 2024 11:32:29 +0000 (12:32 +0100)]
♻️ Convert SavoyTicketsFilter to Kotlin class
David ‘Bombe’ Roden [Fri, 8 Mar 2024 11:21:26 +0000 (12:21 +0100)]
♻️ Convert Performace to Kotlin data class
David ‘Bombe’ Roden [Fri, 8 Mar 2024 11:16:29 +0000 (12:16 +0100)]
♻️ Convert MovieExtractorTest to Kotlin
David ‘Bombe’ Roden [Fri, 8 Mar 2024 10:51:42 +0000 (11:51 +0100)]
♻️ Convert Movie to Kotlin data class
David ‘Bombe’ Roden [Fri, 8 Mar 2024 10:47:10 +0000 (11:47 +0100)]
♻️ Remove “addPerformance” method
This will allow easier converting the Movie class into a Kotlin data
class.
David ‘Bombe’ Roden [Fri, 8 Mar 2024 10:43:00 +0000 (11:43 +0100)]
⬆️ Upgrade Mockito to latest version
David ‘Bombe’ Roden [Thu, 7 Mar 2024 19:54:12 +0000 (20:54 +0100)]
👷 Update Gradle to 8.6
David ‘Bombe’ Roden [Thu, 7 Mar 2024 19:53:31 +0000 (20:53 +0100)]
✨ Add movie descriptions to new movies section
David ‘Bombe’ Roden [Mon, 4 Mar 2024 18:56:47 +0000 (19:56 +0100)]
💄 Reduce padding between time and release type
David ‘Bombe’ Roden [Sun, 3 Mar 2024 10:43:02 +0000 (11:43 +0100)]
🎨 Wrap CSS styling in unsafe tag
David ‘Bombe’ Roden [Sun, 3 Mar 2024 10:41:24 +0000 (11:41 +0100)]
💄 Slightly improve font selection for movie HTML
David ‘Bombe’ Roden [Sun, 3 Mar 2024 10:40:48 +0000 (11:40 +0100)]
✨ Show movie release type in generated HTML
David ‘Bombe’ Roden [Mon, 26 Feb 2024 19:13:43 +0000 (20:13 +0100)]
🔊 Log exceptions that occur when running a reaction
David ‘Bombe’ Roden [Mon, 26 Feb 2024 19:12:05 +0000 (20:12 +0100)]
✨ Add exception suppressor that run code when an exception is caught
David ‘Bombe’ Roden [Sun, 25 Feb 2024 01:02:51 +0000 (02:02 +0100)]
💚 Fix building of fat JAR
David ‘Bombe’ Roden [Sun, 25 Feb 2024 00:54:01 +0000 (01:54 +0100)]
🚸 Improve mail with movies from the Savoy
David ‘Bombe’ Roden [Sun, 25 Feb 2024 00:49:59 +0000 (01:49 +0100)]
🚧 Change ticket filter to only return a MovieState
David ‘Bombe’ Roden [Sun, 25 Feb 2024 00:46:57 +0000 (01:46 +0100)]
💚 Fix “fatJar” task
David ‘Bombe’ Roden [Sun, 25 Feb 2024 00:43:54 +0000 (01:43 +0100)]
💚 Add more changes to build file for updating to Java 17
David ‘Bombe’ Roden [Sun, 25 Feb 2024 00:10:58 +0000 (01:10 +0100)]
🔥 Remove “war” plugin from build file
David ‘Bombe’ Roden [Sun, 25 Feb 2024 00:05:04 +0000 (01:05 +0100)]
🎨 Add “imageUrl” attribute to Movie
David ‘Bombe’ Roden [Sat, 24 Feb 2024 22:19:32 +0000 (23:19 +0100)]
🚧 Make Movie and Performance JSON-serializable
David ‘Bombe’ Roden [Sat, 24 Feb 2024 22:11:54 +0000 (23:11 +0100)]
⬆️ Update a bunch of dependencies
This also requires Java 17 to run rhynodge.
David ‘Bombe’ Roden [Mon, 12 Feb 2024 20:28:49 +0000 (21:28 +0100)]
♻️ Rename “TicketLink” to “Performance”
David ‘Bombe’ Roden [Sat, 10 Feb 2024 08:37:39 +0000 (09:37 +0100)]
🐛 Check only for existence of identical chains
David ‘Bombe’ Roden [Sat, 10 Feb 2024 08:16:32 +0000 (09:16 +0100)]
🐛 Set output of last-state merger to triggered
David ‘Bombe’ Roden [Sat, 10 Feb 2024 08:16:05 +0000 (09:16 +0100)]
✨ Allow triggering states from anywhere
David ‘Bombe’ Roden [Sat, 10 Feb 2024 08:15:34 +0000 (09:15 +0100)]
🔥 Remove unused import
David ‘Bombe’ Roden [Sat, 10 Feb 2024 07:33:05 +0000 (08:33 +0100)]
🐛 Let last-state merged state always trigger
David ‘Bombe’ Roden [Sat, 10 Feb 2024 07:32:28 +0000 (08:32 +0100)]
🔊 Log parsed movies in Savoy filter
David ‘Bombe’ Roden [Fri, 9 Feb 2024 22:27:48 +0000 (23:27 +0100)]
🐛 Fix URL of Savoy programme
David ‘Bombe’ Roden [Fri, 9 Feb 2024 22:07:52 +0000 (23:07 +0100)]
👽️ Update Savoy ticket filter
David ‘Bombe’ Roden [Fri, 9 Feb 2024 22:01:51 +0000 (23:01 +0100)]
🚸 Include screening times and links in Movie.toString()
David ‘Bombe’ Roden [Fri, 9 Feb 2024 22:00:55 +0000 (23:00 +0100)]
⬆️ Update Jsoup dependency
David ‘Bombe’ Roden [Sun, 30 Apr 2023 05:38:54 +0000 (07:38 +0200)]
🎨 Convert PoorlyDrawnLines filter to Kotlin
David ‘Bombe’ Roden [Sun, 30 Apr 2023 05:34:19 +0000 (07:34 +0200)]
✅ Add test for “Poorly Drawn Lines”
David ‘Bombe’ Roden [Sat, 29 Apr 2023 19:39:49 +0000 (21:39 +0200)]
✨ Only send an email if previous state was not a failure, too
David ‘Bombe’ Roden [Sat, 29 Apr 2023 19:39:19 +0000 (21:39 +0200)]
🐛 Serialize the success value, remove equals override
David ‘Bombe’ Roden [Sat, 29 Apr 2023 19:29:08 +0000 (21:29 +0200)]
✅ Add equals for AbstractState
David ‘Bombe’ Roden [Sat, 29 Apr 2023 19:05:56 +0000 (21:05 +0200)]
💚 Fix build file for when running with Gradle daemon
David ‘Bombe’ Roden [Sat, 7 Jan 2023 15:57:32 +0000 (16:57 +0100)]
🐛 Fix “Adventures with Eggie”
Sometimes there’s more than one image! I have been missing so much!
David ‘Bombe’ Roden [Thu, 4 Aug 2022 14:52:15 +0000 (16:52 +0200)]
✨ Add comic “Adventures with Eggie”
David ‘Bombe’ Roden [Sun, 12 Jun 2022 17:03:04 +0000 (19:03 +0200)]
🚑️ Update filter for Cyanide & Happiness
David ‘Bombe’ Roden [Fri, 21 Jan 2022 09:22:22 +0000 (10:22 +0100)]
✨ Add watcher for Chief O’Brien at Work
David ‘Bombe’ Roden [Thu, 20 Jan 2022 20:39:16 +0000 (21:39 +0100)]
✨ Add watcher for Oglaf comics
David ‘Bombe’ Roden [Thu, 20 Jan 2022 20:35:45 +0000 (21:35 +0100)]
🚧 Add comic filter for Oglaf
David ‘Bombe’ Roden [Thu, 20 Jan 2022 20:35:16 +0000 (21:35 +0100)]
✅ Add base class for comic tests
David ‘Bombe’ Roden [Wed, 27 Oct 2021 19:44:12 +0000 (21:44 +0200)]
🔒️ Update a bunch of URLs to https
David ‘Bombe’ Roden [Mon, 25 Oct 2021 19:28:11 +0000 (21:28 +0200)]
🐛 Fix broken change detection
Wow, this was a mess. Two days after the last deploy with a working change
detection I changed some code around the triggers and broke the detection. I
didn’t realize until over a year later because I have never deployed the broken
version until I made some unrelated changes.
I never liked the particular solution around the triggers keeping state and not
being pure functions. So now there are no more triggers; instead, the merging
of the states (which was done by the triggers — great misnomer there) is now
done by a merger, and the state is responsible for exposing whether it contains
a noteworthy change. The Merger and the State for a particular thing (like a
comic, or a torrent file) have to work together hand in hand here but they also
needed to do that before and it’s not really like you would use an X-Merger
with a Y-State.
The resulting changes touch pretty much everything but due to the Watcher
“shortcut” of chain creation, all .json files that only reference a Watcher do
not need to be touched which should make transition rather seamless.
David ‘Bombe’ Roden [Mon, 25 Oct 2021 19:19:18 +0000 (21:19 +0200)]
🔥 Remove file-based stuff and weather stuff
This code hasn’t been used in years, it’s time to let it go.
David ‘Bombe’ Roden [Sun, 24 Oct 2021 12:50:58 +0000 (14:50 +0200)]
🎨 Replace Sinfest filter with Kotlin version
David ‘Bombe’ Roden [Sun, 24 Oct 2021 12:49:31 +0000 (14:49 +0200)]
🎨 Replace Sinfest filter test with Kotlin version
David ‘Bombe’ Roden [Sun, 24 Oct 2021 12:46:20 +0000 (14:46 +0200)]
✨ Update Sinfest filter to current HTML
David ‘Bombe’ Roden [Sun, 24 Oct 2021 12:23:06 +0000 (14:23 +0200)]
🎨 Replace CAD filter with Kotlin version
David ‘Bombe’ Roden [Sun, 24 Oct 2021 12:20:55 +0000 (14:20 +0200)]
✨ Adapt CAD filter for new HTML, add test
David ‘Bombe’ Roden [Sun, 24 Oct 2021 11:58:12 +0000 (13:58 +0200)]
✨ Update HeldentageFilter to current HTML
David ‘Bombe’ Roden [Sun, 24 Oct 2021 11:52:06 +0000 (13:52 +0200)]
🎨 Replace HeldentageFilter with Kotlin version
David ‘Bombe’ Roden [Sun, 24 Oct 2021 11:46:43 +0000 (13:46 +0200)]
🎨 Replace test for HeldentageFilter with Kotlin version
David ‘Bombe’ Roden [Sun, 24 Oct 2021 09:52:16 +0000 (11:52 +0200)]
🐛 Fix comic elements being reordered randomly
For some reason I decided to merge the list of existing comics and the list of
new comics into a Set, thus completely getting rid of their order.
David ‘Bombe’ Roden [Sat, 23 Oct 2021 07:59:34 +0000 (09:59 +0200)]
✨ Add comic “Drugs and Wires”
David ‘Bombe’ Roden [Tue, 22 Sep 2020 17:50:22 +0000 (19:50 +0200)]
💚 Modernize build script a bit
David ‘Bombe’ Roden [Tue, 22 Sep 2020 09:19:00 +0000 (11:19 +0200)]
⬆️ Upgrade Kotlin and Gradle
David ‘Bombe’ Roden [Mon, 21 Sep 2020 23:12:14 +0000 (01:12 +0200)]
♻️ Move output generation to state
David ‘Bombe’ Roden [Mon, 21 Sep 2020 20:17:34 +0000 (22:17 +0200)]
🎨 Use StandardCharsets instead of Charset.forName
David ‘Bombe’ Roden [Mon, 21 Sep 2020 19:43:07 +0000 (21:43 +0200)]
⬆️ Upgrade kotlinx-html
David ‘Bombe’ Roden [Mon, 21 Sep 2020 18:58:32 +0000 (20:58 +0200)]
✅ Add test for AlwaysTrigger
David ‘Bombe’ Roden [Mon, 21 Sep 2020 18:52:56 +0000 (20:52 +0200)]
🔥 Remove unused parameter
David ‘Bombe’ Roden [Sun, 20 Sep 2020 16:39:01 +0000 (18:39 +0200)]
🎨 Replace BC watcher with Kotlin version
David ‘Bombe’ Roden [Sun, 20 Sep 2020 16:37:45 +0000 (18:37 +0200)]
🌐 Fix address of Business Cat
David ‘Bombe’ Roden [Sun, 20 Sep 2020 16:37:10 +0000 (18:37 +0200)]
🎨 Replace Business Cat filter and test with Kotlin versions