Claudio Ortolina
7cf9b4e7f8
First pass at uniformed types, specs and docs
...
- spec public functions (skipping controllers, views, live views and
components)
- use types instead of explanations in docs
- remove redundant docs
- fix typos
2026-03-06 08:33:11 +00:00
Claudio Ortolina
08f7565d44
Replace inspect(reason) with friendly error messages
...
Closes #81
2026-03-05 20:25:13 +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
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
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
a0df11d26f
Use new style for MB link and copy button in artist page
2026-03-01 20:19:46 +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
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
871f4b3554
Extract ListeningStats out of ScrobbleActivity
2026-02-27 12:16:38 +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
0257ea8b7c
Render genres with badges
2026-02-26 10:08:08 +00:00
Claudio Ortolina
b412017ed6
Show calendar icon in record detail release date
2026-02-26 10:08:08 +00:00
Claudio Ortolina
bfbb74d601
BETA: new layout for record details page
2026-02-26 08:49:40 +00:00
Claudio Ortolina
956c7bfc3c
Support search-style prefixes in bracketed links
2026-02-25 09:51:08 +00:00
Claudio Ortolina
0f2ace4920
Account for search errors in the add record component
2026-02-25 08:04:20 +00:00
Claudio Ortolina
e9b9717b08
Inline templates inside LV modules
2026-02-24 17:20:21 +00:00
Claudio Ortolina
d55e957eea
Autofocus message input when opening chat
2026-02-24 16:56:13 +00:00
Claudio Ortolina
65a2305f47
Move database backup action to maintenance page
2026-02-24 16:53:44 +00:00
Claudio Ortolina
e74809a59a
Fix missing :warning flash messages
2026-02-24 11:06:17 +00:00
Claudio Ortolina
e008171990
Disable unnecessary metrics
...
- Oban metrics are visible from Oban dashboard
- Scrobble metrics are not useful anymore now that scrobble rules
application is much faster
2026-02-24 10:34:32 +00:00
Claudio Ortolina
8eaaa3cfec
Use custom country module to resolve flags more accurately
...
Ported from https://github.com/wojtekmaj/country-code-to-flag-emoji
(MIT)
2026-02-24 08:57:30 +00:00
Claudio Ortolina
ec131498e7
Disambiguate records in universal search
...
Add purchased date
2026-02-23 19:41:12 +00:00
Claudio Ortolina
e58888bbc7
Format streaming chat message to Markdown
2026-02-23 14:29:41 +00:00
Claudio Ortolina
60d81e14de
Enable chat for artists
2026-02-22 15:31:09 +00:00
Claudio Ortolina
b9ee7a6ce9
Load record embedding for wishlisted records
2026-02-22 15:14:38 +00:00
Claudio Ortolina
eea451417f
Render chat as markdown, better layout
2026-02-22 10:31:10 +00:00