Claudio Ortolina
4fb148e9db
Simplify signatures of scrobbling functions
2026-03-14 22:22:41 +00:00
Claudio Ortolina
7cdd502701
Streamline print/scrobble buttons
2026-03-14 08:51:19 +00:00
Claudio Ortolina
3d66d7a6d7
Remove unnecessary spacing in the application footer
2026-03-14 07:17:08 +00:00
Claudio Ortolina
1dd7974cc7
Use socket assigns instead of threading IDs via JS.push
...
Extends the same optimization from the previous commit to
all remaining show page handlers across collection, wishlist,
and artist LiveViews. Also simplifies bare JS.push() calls
to plain phx-click strings.
2026-03-13 16:48:12 +00:00
Claudio Ortolina
1a62360b21
Group records in records on this day widget
2026-03-12 09:09:25 +00:00
Claudio Ortolina
c352ad4809
Can print an individual medium tracklist
2026-03-09 14:52:26 +00:00
Claudio Ortolina
4569c6727e
Add function to download a record's tracklist for printing
2026-03-09 13:39:12 +00:00
Claudio Ortolina
d76471b03e
Use MDEx to consolidate Markdown handling
2026-03-08 09:31:09 +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
a23f772c04
Re-enable Credo CyclomaticComplexity check
2026-03-06 10:08:25 +00:00
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
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
88e09a6ad8
Handle errors when storing assets
2026-03-03 08:27:05 +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
2f57ce2e67
Display static changed banner instead of toast
2026-02-28 10:30:44 +00:00
Claudio Ortolina
49b7c3c955
Extract common elements from record detail pages
2026-02-28 09:46:31 +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
c6d778c1cd
Render debug information in side sheet with highlighting
2026-02-26 11:16:55 +00:00
Claudio Ortolina
0f2ace4920
Account for search errors in the add record component
2026-02-25 08:04:20 +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
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
eea451417f
Render chat as markdown, better layout
2026-02-22 10:31:10 +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
1dfb2d2a6f
Use Wikipedia data for record similarity and raise similarity threshold
2026-02-19 15:51:12 +00:00
Claudio Ortolina
dd20aaf60d
Replace px units
2026-02-19 10:40:44 +00:00
Claudio Ortolina
facb7359c1
Improve formatting of release label
2026-02-19 10:38:17 +00:00
Claudio Ortolina
c19ca503e5
Remove TODOs around replacing components
2026-02-17 08:09:00 +00:00
Claudio Ortolina
49723c97b0
Use non-pixel measurements
2026-02-15 20:06:34 +00:00
Claudio Ortolina
d473e1f8a4
Hide external links if there are none
2026-02-14 19:51:51 +00:00
Claudio Ortolina
9775f192a4
Replace dominant color squares with equalizer animation
...
Swap the static colored squares on record show pages for an animated
equalizer where each bar is tinted with a dominant color, adding a
music-themed visual.
2026-02-14 10:11:12 +00:00
Claudio Ortolina
6e655cd866
Add button to retry fetching release tracks
2026-02-14 09:35:46 +00:00
Claudio Ortolina
48c7d16c89
Consolidate a few components
2026-02-10 19:32:28 +00:00
Claudio Ortolina
25a0cd83c1
Update footer credits
2026-02-09 19:45:48 +00:00
Claudio Ortolina
4b03102aa7
Display size for image search previews
2026-02-09 19:02:12 +00:00
Claudio Ortolina
ddc4691522
EXP: cover search via Brave API
2026-02-09 18:51:47 +00:00
Claudio Ortolina
33ab914650
Use Fluxon input for genres
2026-02-09 18:34:26 +00:00
Claudio Ortolina
e418395b23
Edit record genres
2026-02-09 08:53:16 +00:00
Claudio Ortolina
a7056aa8d9
Extract some reused components
2026-02-07 17:23:13 +00:00
Claudio Ortolina
ecd87ee2c6
Add universal search support for record sets
2026-02-07 16:11:48 +00:00
Claudio Ortolina
abb1ab332a
Can order record sets
2026-02-07 10:23:35 +00:00