Claudio Ortolina
a3ccc06d14
Extract shared SQL builder for scrobble rules
2026-03-05 20:52:25 +00:00
Claudio Ortolina
d738032f8a
Add string length validations to user-input schemas
2026-03-05 20:42:44 +00:00
Claudio Ortolina
08f7565d44
Replace inspect(reason) with friendly error messages
...
Closes #81
2026-03-05 20:25:13 +00:00
Claudio Ortolina
e8f393c5a0
Guard against nil medium in scrobble_medium
...
Closes #76
2026-03-05 19:54:32 +00:00
Claudio Ortolina
6d72df3905
Extract apply_fallback_index to shared helper
...
Closes #92
2026-03-05 19:50:50 +00:00
Claudio Ortolina
d4376e5fa0
Extract DB queries from MaintenanceLive into context
2026-03-05 18:01:50 +00:00
Claudio Ortolina
4b1f6bb245
Fix inconsistent toast arity in form components
...
Closes #94
2026-03-05 17:06:23 +00:00
Claudio Ortolina
eb8a00ab54
Replace String.to_integer with safe Integer.parse
...
Use Integer.parse/1 instead of String.to_integer/1 on user-supplied
and external API input to prevent ArgumentError crashes on non-numeric
values. Adds fallback defaults or nil returns at each call site.
2026-03-05 14:27:37 +00:00
Claudio Ortolina
23c478fe4c
Mount telemetry repo in live dashboard stats
2026-03-05 13:52:55 +00:00
Claudio Ortolina
f109057be5
Persist telemetry data in local sqlite database
2026-03-05 13:39:38 +00:00
Claudio Ortolina
bb541c8004
Add error_tracker metrics in LiveDashboard
2026-03-05 11:48:17 +00:00
Claudio Ortolina
73a943bc63
Server records on this day email assets from a public endpoint
2026-03-05 10:50:35 +00:00
Claudio Ortolina
478832249b
Send record of the day email
2026-03-05 10:37:04 +00:00
Claudio Ortolina
adc7ef49e5
Add /admin to the blocked both pats
2026-03-05 09:05:09 +00:00
Claudio Ortolina
08d01e5939
Catch /xmlrpc.php bot request
2026-03-05 06:59:14 +00:00
Claudio Ortolina
f9758e5566
Reject common bot scanner paths
2026-03-05 06:45:12 +00:00
Claudio Ortolina
c831b20317
Move error tracker notifier files to correct namespace
2026-03-04 19:39:36 +00:00
Claudio Ortolina
ad9bcd8481
Inline error tracker notification code
...
As we don't need the Discord functionality which brings quite a lot of
extra libraries/code
2026-03-04 17:19:14 +00:00
Claudio Ortolina
ed1dd2b440
Mount error tracker notifier
2026-03-04 15:55:32 +00:00
Claudio Ortolina
1c04eea88f
Install and configure Swoosh with Mailgun
2026-03-04 15:52:17 +00:00
Claudio Ortolina
6d451481b7
Remove obsolete color extraction strategies
2026-03-03 16:01:25 +00:00
Claudio Ortolina
1d3361c425
BETA: accurate color extractor
2026-03-03 15:41:24 +00:00
Claudio Ortolina
de14ec3e25
Consolidate completely stateless tests into doctests
...
Removing dupes
2026-03-03 11:30:52 +00:00
Claudio Ortolina
88e09a6ad8
Handle errors when storing assets
2026-03-03 08:27:05 +00:00
Claudio Ortolina
6ef5f0a000
Add metrics to rate limiter
2026-03-02 19:23:27 +00:00
Claudio Ortolina
c066585cbf
Display ALL catalog numbers
2026-03-02 19:05:09 +00:00
Claudio Ortolina
d770640cd5
Expose release packaging information
2026-03-02 19:00:28 +00:00
Claudio Ortolina
d9bb7cc630
Fix display of selected release in release summary
2026-03-02 18:55:08 +00:00
Claudio Ortolina
a992c1f0dd
Introduce a Req.RateLimiter module to fix API rate limit issues
2026-03-02 15:04:45 +00:00
Claudio Ortolina
99674eb8bc
Refactor and add tests for OpenAI namespace
2026-03-02 14:11:51 +00:00
Claudio Ortolina
5bd85013c6
Simplify OpenAI api implementation
2026-03-02 13:56:46 +00:00
Claudio Ortolina
a0df11d26f
Use new style for MB link and copy button in artist page
2026-03-01 20:19:46 +00:00
Claudio Ortolina
919a42d355
Parameterize API cooldowns
2026-03-01 17:17:32 +00:00
Claudio Ortolina
6836cf5c9e
Integrate refresh of Last.fm data (both per artist and batch)
2026-03-01 09:46:27 +00:00
Claudio Ortolina
b35f4aed1d
EXP: enrich artist info data via Last.fm and produce better embeddings
2026-03-01 08:22:35 +00:00
Claudio Ortolina
2f57ce2e67
Display static changed banner instead of toast
2026-02-28 10:30:44 +00:00
Claudio Ortolina
d5238eb35c
Stabilize record detail layout
2026-02-28 09:55:47 +00:00
Claudio Ortolina
49b7c3c955
Extract common elements from record detail pages
2026-02-28 09:46:31 +00:00
Claudio Ortolina
dfbc284211
Increase timeout when scrobbling tracks
2026-02-27 16:48:27 +00:00
Claudio Ortolina
871f4b3554
Extract ListeningStats out of ScrobbleActivity
2026-02-27 12:16:38 +00:00
Claudio Ortolina
6bf13486a3
Do not crash on & search
2026-02-27 07:56:44 +00:00
Claudio Ortolina
3635e113c8
Add Error Tracker link to main menu
2026-02-26 22:07:47 +00:00
Claudio Ortolina
1b934537ea
Remove Sentry and Honeybadger
2026-02-26 21:52:57 +00:00
Claudio Ortolina
18ac442b2c
Install ErrorTracker
2026-02-26 21:31:37 +00:00
Claudio Ortolina
77c5453fa8
Report all errors to Honeybadger
2026-02-26 20:47:16 +00:00
Claudio Ortolina
a76ae7169f
Enable universal navigation
2026-02-26 15:10:40 +00:00
Claudio Ortolina
be3a3bbb1c
Load record sets as streams
2026-02-26 14:29:31 +00:00
Claudio Ortolina
c6d778c1cd
Render debug information in side sheet with highlighting
2026-02-26 11:16:55 +00:00
Claudio Ortolina
f23bb58414
Revert "EXP: update to Sentry 12.0"
...
This reverts commit 657d82b021 .
2026-02-26 10:59:45 +00:00
Claudio Ortolina
0257ea8b7c
Render genres with badges
2026-02-26 10:08:08 +00:00