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
Claudio Ortolina
419b093101
First pass at record sets
2026-02-05 11:46:52 +00:00
Claudio Ortolina
5a4b67119f
Fix bg color and padding for records on this day
2026-02-03 19:18:29 +00:00
Claudio Ortolina
09a9d02c25
Use more idiomatic tailwind class
2026-01-27 21:21:33 +00:00
Claudio Ortolina
7dd35c2745
Remove unused component
2026-01-27 21:20:30 +00:00