rhynodge.git
19 months ago✨ Only send an email if previous state was not a failure, too
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

19 months ago🐛 Serialize the success value, remove equals override
David ‘Bombe’ Roden [Sat, 29 Apr 2023 19:39:19 +0000 (21:39 +0200)]
🐛 Serialize the success value, remove equals override

19 months ago✅ Add equals for AbstractState
David ‘Bombe’ Roden [Sat, 29 Apr 2023 19:29:08 +0000 (21:29 +0200)]
✅ Add equals for AbstractState

19 months ago💚 Fix build file for when running with Gradle daemon
David ‘Bombe’ Roden [Sat, 29 Apr 2023 19:05:56 +0000 (21:05 +0200)]
💚 Fix build file for when running with Gradle daemon

22 months ago🐛 Fix “Adventures with Eggie”
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!

2 years ago✨ Add comic “Adventures with Eggie”
David ‘Bombe’ Roden [Thu, 4 Aug 2022 14:52:15 +0000 (16:52 +0200)]
✨ Add comic “Adventures with Eggie”

2 years ago🚑️ Update filter for Cyanide & Happiness
David ‘Bombe’ Roden [Sun, 12 Jun 2022 17:03:04 +0000 (19:03 +0200)]
🚑️ Update filter for Cyanide & Happiness

2 years ago✨ Add watcher for Chief O’Brien at Work
David ‘Bombe’ Roden [Fri, 21 Jan 2022 09:22:22 +0000 (10:22 +0100)]
✨ Add watcher for Chief O’Brien at Work

2 years ago✨ Add watcher for Oglaf comics
David ‘Bombe’ Roden [Thu, 20 Jan 2022 20:39:16 +0000 (21:39 +0100)]
✨ Add watcher for Oglaf comics

2 years ago🚧 Add comic filter for Oglaf
David ‘Bombe’ Roden [Thu, 20 Jan 2022 20:35:45 +0000 (21:35 +0100)]
🚧 Add comic filter for Oglaf

2 years ago✅ Add base class for comic tests
David ‘Bombe’ Roden [Thu, 20 Jan 2022 20:35:16 +0000 (21:35 +0100)]
✅ Add base class for comic tests

3 years ago🔒️ Update a bunch of URLs to https
David ‘Bombe’ Roden [Wed, 27 Oct 2021 19:44:12 +0000 (21:44 +0200)]
🔒️ Update a bunch of URLs to https

3 years ago🐛 Fix broken change detection
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.

3 years ago🔥 Remove file-based stuff and weather stuff
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.

3 years ago🎨 Replace Sinfest filter with Kotlin version
David ‘Bombe’ Roden [Sun, 24 Oct 2021 12:50:58 +0000 (14:50 +0200)]
🎨 Replace Sinfest filter with Kotlin version

3 years ago🎨 Replace Sinfest filter test with Kotlin version
David ‘Bombe’ Roden [Sun, 24 Oct 2021 12:49:31 +0000 (14:49 +0200)]
🎨 Replace Sinfest filter test with Kotlin version

3 years ago✨ Update Sinfest filter to current HTML
David ‘Bombe’ Roden [Sun, 24 Oct 2021 12:46:20 +0000 (14:46 +0200)]
✨ Update Sinfest filter to current HTML

3 years ago🎨 Replace CAD filter with Kotlin version
David ‘Bombe’ Roden [Sun, 24 Oct 2021 12:23:06 +0000 (14:23 +0200)]
🎨 Replace CAD filter with Kotlin version

3 years ago✨ Adapt CAD filter for new HTML, add test
David ‘Bombe’ Roden [Sun, 24 Oct 2021 12:20:55 +0000 (14:20 +0200)]
✨ Adapt CAD filter for new HTML, add test

3 years ago✨ Update HeldentageFilter to current HTML
David ‘Bombe’ Roden [Sun, 24 Oct 2021 11:58:12 +0000 (13:58 +0200)]
✨ Update HeldentageFilter to current HTML

3 years ago🎨 Replace HeldentageFilter with Kotlin version
David ‘Bombe’ Roden [Sun, 24 Oct 2021 11:52:06 +0000 (13:52 +0200)]
🎨 Replace HeldentageFilter with Kotlin version

3 years ago🎨 Replace test for 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

3 years ago🐛 Fix comic elements being reordered randomly
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.

3 years ago✨ Add comic “Drugs and Wires”
David ‘Bombe’ Roden [Sat, 23 Oct 2021 07:59:34 +0000 (09:59 +0200)]
✨ Add comic “Drugs and Wires”

4 years ago💚 Modernize build script a bit
David ‘Bombe’ Roden [Tue, 22 Sep 2020 17:50:22 +0000 (19:50 +0200)]
💚 Modernize build script a bit

4 years ago⬆️ Upgrade Kotlin and Gradle
David ‘Bombe’ Roden [Tue, 22 Sep 2020 09:19:00 +0000 (11:19 +0200)]
⬆️ Upgrade Kotlin and Gradle

4 years ago♻️ Move output generation to state
David ‘Bombe’ Roden [Mon, 21 Sep 2020 23:12:14 +0000 (01:12 +0200)]
♻️ Move output generation to state

4 years ago🎨 Use StandardCharsets instead of Charset.forName
David ‘Bombe’ Roden [Mon, 21 Sep 2020 20:17:34 +0000 (22:17 +0200)]
🎨 Use StandardCharsets instead of Charset.forName

4 years ago⬆️ Upgrade kotlinx-html
David ‘Bombe’ Roden [Mon, 21 Sep 2020 19:43:07 +0000 (21:43 +0200)]
⬆️ Upgrade kotlinx-html

4 years ago✅ Add test for AlwaysTrigger
David ‘Bombe’ Roden [Mon, 21 Sep 2020 18:58:32 +0000 (20:58 +0200)]
✅ Add test for AlwaysTrigger

4 years ago🔥 Remove unused parameter
David ‘Bombe’ Roden [Mon, 21 Sep 2020 18:52:56 +0000 (20:52 +0200)]
🔥 Remove unused parameter

4 years ago🎨 Replace BC watcher with Kotlin version
David ‘Bombe’ Roden [Sun, 20 Sep 2020 16:39:01 +0000 (18:39 +0200)]
🎨 Replace BC watcher with Kotlin version

4 years ago🌐 Fix address of Business Cat
David ‘Bombe’ Roden [Sun, 20 Sep 2020 16:37:45 +0000 (18:37 +0200)]
🌐 Fix address of Business Cat

4 years ago🎨 Replace Business Cat filter and test with Kotlin versions
David ‘Bombe’ Roden [Sun, 20 Sep 2020 16:37:10 +0000 (18:37 +0200)]
🎨 Replace Business Cat filter and test with Kotlin versions

4 years agofix bc
David ‘Bombe’ Roden [Sun, 20 Sep 2020 16:36:56 +0000 (18:36 +0200)]
fix bc

4 years ago🎨 Extract asOptional() into its own file
David ‘Bombe’ Roden [Sun, 20 Sep 2020 16:36:01 +0000 (18:36 +0200)]
🎨 Extract asOptional() into its own file

4 years ago✨ Update Business Cat filter
David ‘Bombe’ Roden [Sun, 20 Sep 2020 16:26:07 +0000 (18:26 +0200)]
✨ Update Business Cat filter

4 years ago✅ Fix Heldentage filter test
David ‘Bombe’ Roden [Sun, 20 Sep 2020 11:30:19 +0000 (13:30 +0200)]
✅ Fix Heldentage filter test

4 years ago✅ Fix comic site filter test
David ‘Bombe’ Roden [Sun, 20 Sep 2020 11:29:57 +0000 (13:29 +0200)]
✅ Fix comic site filter test

4 years ago🎨 Replace QC filter with Kotlin version
David ‘Bombe’ Roden [Sun, 20 Sep 2020 11:25:04 +0000 (13:25 +0200)]
🎨 Replace QC filter with Kotlin version

4 years ago🚸 Only fail a comic state if there are no strips
David ‘Bombe’ Roden [Sun, 20 Sep 2020 11:22:49 +0000 (13:22 +0200)]
🚸 Only fail a comic state if there are no strips

4 years ago✅ Add test for QC filter
David ‘Bombe’ Roden [Sun, 20 Sep 2020 11:22:36 +0000 (13:22 +0200)]
✅ Add test for QC filter

4 years ago🐛 Fix QC filter
David ‘Bombe’ Roden [Sun, 20 Sep 2020 11:22:20 +0000 (13:22 +0200)]
🐛 Fix QC filter

4 years ago🎨 Replace QC watcher with Kotlin version
David ‘Bombe’ Roden [Sun, 20 Sep 2020 11:08:33 +0000 (13:08 +0200)]
🎨 Replace QC watcher with Kotlin version

4 years ago🔒 Use HTTPS to get Questionable Content
David ‘Bombe’ Roden [Sun, 20 Sep 2020 11:06:42 +0000 (13:06 +0200)]
🔒 Use HTTPS to get Questionable Content

4 years ago✨ Add watcher for Soggy Cardboard
David ‘Bombe’ Roden [Tue, 15 Sep 2020 21:36:47 +0000 (23:36 +0200)]
✨ Add watcher for Soggy Cardboard

4 years ago✨ Add comic filter for Soggy Cardboard
David ‘Bombe’ Roden [Tue, 15 Sep 2020 21:34:01 +0000 (23:34 +0200)]
✨ Add comic filter for Soggy Cardboard

6 years agoAdd watcher for “The Monster under the Bed”
David ‘Bombe’ Roden [Wed, 25 Jul 2018 18:30:59 +0000 (20:30 +0200)]
Add watcher for “The Monster under the Bed”

6 years agoAdd filter for “The Monster under the Bed”
David ‘Bombe’ Roden [Wed, 25 Jul 2018 18:23:14 +0000 (20:23 +0200)]
Add filter for “The Monster under the Bed”

6 years agoUpgrade Kotlin version
David ‘Bombe’ Roden [Mon, 23 Jul 2018 19:34:51 +0000 (21:34 +0200)]
Upgrade Kotlin version

7 years agoUpdate Kotlin to version 1.1.60
David ‘Bombe’ Roden [Tue, 14 Nov 2017 20:25:21 +0000 (21:25 +0100)]
Update Kotlin to version 1.1.60

7 years agoFix Gradle depreciation warning
David ‘Bombe’ Roden [Sat, 11 Nov 2017 09:38:13 +0000 (10:38 +0100)]
Fix Gradle depreciation warning

7 years agoReplace LICD filter with Kotlin version, add test
David ‘Bombe’ Roden [Sat, 11 Nov 2017 09:37:11 +0000 (10:37 +0100)]
Replace LICD filter with Kotlin version, add test

7 years agoUpgrade Gradle version
David ‘Bombe’ Roden [Sat, 11 Nov 2017 09:34:06 +0000 (10:34 +0100)]
Upgrade Gradle version

7 years agoUpgrade Kotlin version
David ‘Bombe’ Roden [Sat, 11 Nov 2017 09:33:56 +0000 (10:33 +0100)]
Upgrade Kotlin version

7 years agoReplace SMBC filter test with Kotlin version
David ‘Bombe’ Roden [Wed, 14 Jun 2017 06:11:15 +0000 (08:11 +0200)]
Replace SMBC filter test with Kotlin version

7 years agoUse static imports
David ‘Bombe’ Roden [Wed, 14 Jun 2017 06:04:24 +0000 (08:04 +0200)]
Use static imports

7 years agoUpdate comic filter for SMBC
David ‘Bombe’ Roden [Tue, 13 Jun 2017 21:19:32 +0000 (23:19 +0200)]
Update comic filter for SMBC

7 years agoAdd another size to the blacklist
David ‘Bombe’ Roden [Sun, 9 Apr 2017 07:18:19 +0000 (09:18 +0200)]
Add another size to the blacklist

7 years agoAdd one more size to size blacklist
David ‘Bombe’ Roden [Fri, 7 Apr 2017 16:11:46 +0000 (18:11 +0200)]
Add one more size to size blacklist

7 years agoAdd blacklist filter for certain sizes
David ‘Bombe’ Roden [Wed, 5 Apr 2017 17:44:14 +0000 (19:44 +0200)]
Add blacklist filter for certain sizes

7 years agoUse Kotlin 1.1.1
David ‘Bombe’ Roden [Wed, 5 Apr 2017 17:43:40 +0000 (19:43 +0200)]
Use Kotlin 1.1.1

8 years agoUse fallback queries for accessing the pirate bay
David ‘Bombe’ Roden [Tue, 18 Oct 2016 20:14:20 +0000 (22:14 +0200)]
Use fallback queries for accessing the pirate bay

8 years agoAdd fallback query
David ‘Bombe’ Roden [Tue, 18 Oct 2016 20:08:13 +0000 (22:08 +0200)]
Add fallback query

8 years agoFix date parsing
David ‘Bombe’ Roden [Wed, 1 Jun 2016 05:10:25 +0000 (07:10 +0200)]
Fix date parsing

8 years agoSet recent jacoco plugin version
David ‘Bombe’ Roden [Mon, 30 May 2016 17:13:50 +0000 (19:13 +0200)]
Set recent jacoco plugin version

8 years agoRemove duplicate jacoco plugin
David ‘Bombe’ Roden [Mon, 30 May 2016 17:11:01 +0000 (19:11 +0200)]
Remove duplicate jacoco plugin

8 years agoAdd jacoco plugin
David ‘Bombe’ Roden [Mon, 30 May 2016 17:01:00 +0000 (19:01 +0200)]
Add jacoco plugin

8 years agoUse shorter getter annotation syntax
David ‘Bombe’ Roden [Mon, 30 May 2016 16:33:44 +0000 (18:33 +0200)]
Use shorter getter annotation syntax

8 years agoDon’t repeat header with every line
David ‘Bombe’ Roden [Mon, 30 May 2016 04:33:06 +0000 (06:33 +0200)]
Don’t repeat header with every line

8 years agoUse string interpolation
David ‘Bombe’ Roden [Sun, 29 May 2016 19:02:32 +0000 (21:02 +0200)]
Use string interpolation

8 years agoShow optional columns
David ‘Bombe’ Roden [Sun, 29 May 2016 19:00:15 +0000 (21:00 +0200)]
Show optional columns

8 years agoUse a single state and trigger for weather services
David ‘Bombe’ Roden [Sun, 29 May 2016 18:00:09 +0000 (20:00 +0200)]
Use a single state and trigger for weather services

8 years agoUse a single hour state for all weather services
David ‘Bombe’ Roden [Sun, 29 May 2016 17:35:20 +0000 (19:35 +0200)]
Use a single hour state for all weather services

8 years agoFix class name
David ‘Bombe’ Roden [Sat, 28 May 2016 16:31:36 +0000 (18:31 +0200)]
Fix class name

8 years agoAdd watcher for wetter.de
David ‘Bombe’ Roden [Sat, 28 May 2016 16:28:36 +0000 (18:28 +0200)]
Add watcher for wetter.de

8 years agoAdd wetter.de trigger
David ‘Bombe’ Roden [Sat, 28 May 2016 16:24:28 +0000 (18:24 +0200)]
Add wetter.de trigger

8 years agoAdd parser for wetter.de
David ‘Bombe’ Roden [Sat, 28 May 2016 15:49:14 +0000 (17:49 +0200)]
Add parser for wetter.de

8 years agoMove WindDirection to parent package
David ‘Bombe’ Roden [Sat, 28 May 2016 14:15:35 +0000 (16:15 +0200)]
Move WindDirection to parent package

8 years agoAnnotate Filter interface with @NotNull
David ‘Bombe’ Roden [Sat, 28 May 2016 12:52:39 +0000 (14:52 +0200)]
Annotate Filter interface with @NotNull

8 years agoInclude whitespace at the end of each CSS line
David ‘Bombe’ Roden [Sat, 28 May 2016 07:35:56 +0000 (09:35 +0200)]
Include whitespace at the end of each CSS line

8 years agoUse characters instead of CSS transform to display arrows
David ‘Bombe’ Roden [Sat, 28 May 2016 07:35:34 +0000 (09:35 +0200)]
Use characters instead of CSS transform to display arrows

8 years agoUse arrows to display wind direction
David ‘Bombe’ Roden [Sat, 28 May 2016 07:22:24 +0000 (09:22 +0200)]
Use arrows to display wind direction

8 years agoFix and improve table display
David ‘Bombe’ Roden [Sat, 28 May 2016 06:49:33 +0000 (08:49 +0200)]
Fix and improve table display

8 years agoAdd test for missing rain amount
David ‘Bombe’ Roden [Fri, 27 May 2016 22:22:11 +0000 (00:22 +0200)]
Add test for missing rain amount

8 years agoUse German abbreviations for cardinal directions
David ‘Bombe’ Roden [Fri, 27 May 2016 22:18:33 +0000 (00:18 +0200)]
Use German abbreviations for cardinal directions

8 years agoParse HTML from HTTP request before processing it
David ‘Bombe’ Roden [Fri, 27 May 2016 22:15:47 +0000 (00:15 +0200)]
Parse HTML from HTTP request before processing it

8 years agoMake wetter.com state JSON-serializable
David ‘Bombe’ Roden [Fri, 27 May 2016 22:11:41 +0000 (00:11 +0200)]
Make wetter.com state JSON-serializable

8 years agoUse correct timezone in tests
David ‘Bombe’ Roden [Fri, 27 May 2016 22:11:11 +0000 (00:11 +0200)]
Use correct timezone in tests

8 years agoAdd watcher that gets Hamburg’s weather
David ‘Bombe’ Roden [Fri, 27 May 2016 05:35:38 +0000 (07:35 +0200)]
Add watcher that gets Hamburg’s weather

8 years agoAdd wetter.com trigger
David ‘Bombe’ Roden [Fri, 27 May 2016 05:31:59 +0000 (07:31 +0200)]
Add wetter.com trigger

8 years agoFix whitespace
David ‘Bombe’ Roden [Fri, 27 May 2016 05:31:41 +0000 (07:31 +0200)]
Fix whitespace

8 years agowetter.com state can iterate over its hour states
David ‘Bombe’ Roden [Fri, 27 May 2016 05:29:07 +0000 (07:29 +0200)]
wetter.com state can iterate over its hour states

8 years agoRemove debug output
David ‘Bombe’ Roden [Fri, 27 May 2016 05:25:34 +0000 (07:25 +0200)]
Remove debug output

8 years agoUse zoned date time instead of local
David ‘Bombe’ Roden [Fri, 27 May 2016 05:24:44 +0000 (07:24 +0200)]
Use zoned date time instead of local

8 years agoAdd unit test for wetter.com state
David ‘Bombe’ Roden [Thu, 26 May 2016 16:04:58 +0000 (18:04 +0200)]
Add unit test for wetter.com state

8 years agoExtract inner classes, some cleanups
David ‘Bombe’ Roden [Thu, 26 May 2016 06:03:06 +0000 (08:03 +0200)]
Extract inner classes, some cleanups

8 years agoMove package to new structure
David ‘Bombe’ Roden [Wed, 25 May 2016 20:36:26 +0000 (22:36 +0200)]
Move package to new structure

8 years agoAdd filter and state for wetter.com
David ‘Bombe’ Roden [Wed, 25 May 2016 20:34:30 +0000 (22:34 +0200)]
Add filter and state for wetter.com

8 years agoMove Savoy ticker filter to its package
David ‘Bombe’ Roden [Mon, 23 May 2016 04:51:40 +0000 (06:51 +0200)]
Move Savoy ticker filter to its package