Claudio Ortolina
d057f29ba1
Split ScrobbleActivity into focused modules
...
Move track CRUD/listing to ListeningStats and diagnostics
to Maintenance, leaving ScrobbleActivity for scrobbling only.
Closes #111
2026-03-12 16:51:33 +00:00
Claudio Ortolina
ee4d2555ee
Move scrobble queries from Records to ListeningStats
...
Closes #110
2026-03-12 16:32:10 +00:00
Claudio Ortolina
d6553ae061
Uniform record detail page title logic
2026-03-12 14:58:25 +00:00
Claudio Ortolina
1a62360b21
Group records in records on this day widget
2026-03-12 09:09:25 +00:00
Claudio Ortolina
a6348fe647
Streamline record detail actions, and add a quick scrobble everything button
2026-03-12 08:26:25 +00:00
Claudio Ortolina
cd0101ba4a
Make page_title/2 private in all LiveViews
...
The Index modules were calling Show.page_title/2 for modal edit
routes. Inlined the logic as private functions in each Index
module and removed the now-unused Show aliases.
Closes #104
2026-03-12 07:44:39 +00:00
Claudio Ortolina
8d9bf78974
Extract shared TopByPeriod LiveComponent
...
Closes #103
2026-03-12 07:38:58 +00:00
Claudio Ortolina
159d5ad695
Include more maintenance tasks
...
- Asset tasks
- Records on this day email
2026-03-11 09:31:59 +00:00
Claudio Ortolina
fa535393e0
Fix toggling/scrobbling event handlers in scrobble anything show view
2026-03-10 20:04:39 +00:00
Claudio Ortolina
4584b7bcb8
Remove drop down from record set items
...
Have just a bin icon, and rely on drag and drop.
This solves a massive performance issue with the page, which is
traceable to the Fluxon dropdowns, particularly the Class.merge logic
used to merge Tailwind classes
2026-03-08 13:21:33 +00:00
Claudio Ortolina
d76471b03e
Use MDEx to consolidate Markdown handling
2026-03-08 09:31:09 +00:00
Claudio Ortolina
e4d03a19e4
Compute in advance all needed assigns in record_set_card
...
Theory is that this makes change tracking easier, and therefore
rendering more performant.
2026-03-07 23:52:32 +00:00
Claudio Ortolina
52815bde2f
When doing markdown to HTML, sanitize HTML
...
Closes #101
Closes #102
2026-03-07 19:05:37 +00:00
Claudio Ortolina
2e3732e38b
Apply all necessary exclusions to sobelow findings
2026-03-07 18:37:24 +00:00
Claudio Ortolina
effcc3966c
Fix id in record set show page
2026-03-06 20:20:48 +00:00
Claudio Ortolina
c9ee94bd4a
Key record set item ids during rendering
...
Makes live render faster by 20%
2026-03-06 20:02:58 +00:00
Claudio Ortolina
436274a8ef
Extract internal record set card component
2026-03-06 17:02:19 +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
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
88e09a6ad8
Handle errors when storing assets
2026-03-03 08:27:05 +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
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
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
e9b9717b08
Inline templates inside LV modules
2026-02-24 17:20:21 +00:00
Claudio Ortolina
65a2305f47
Move database backup action to maintenance page
2026-02-24 16:53:44 +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
8d38512712
Fix review blockers in record chat
...
- Add Task.Supervisor to app supervision tree
- Use tagged tuples instead of rescue for error handling
- Pass embedding_text from parent LiveView as prop
- Remove dead Completion struct fields
- Extract socket assigns before Task closure
- Log errors server-side, show generic user message
- Make build_system_prompt private, remove thin wrapper
- Extract do_send_message for retry reuse
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 10:20:58 +00:00
Claudio Ortolina
6e6e419801
Add record chat sheet with OpenAI streaming
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 10:13:05 +00:00
Claudio Ortolina
5868fa0219
Display purchased on in record sets record picker
2026-02-21 21:52:46 +00:00
Claudio Ortolina
dd20aaf60d
Replace px units
2026-02-19 10:40:44 +00:00
Claudio Ortolina
c19ca503e5
Remove TODOs around replacing components
2026-02-17 08:09:00 +00:00
Claudio Ortolina
713fef2c81
Use grids for record set items, and fix some button issues
2026-02-15 20:06:09 +00:00
Claudio Ortolina
23d6e736e7
Uniform ux/ui of adding a new record to a set
2026-02-15 14:24:02 +00:00
Claudio Ortolina
14e709033c
Fix size of record set add button
2026-02-15 14:00:21 +00:00
Claudio Ortolina
ee08961d40
Fix margins around record set descriptions
2026-02-15 13:56:10 +00:00