Claudio Ortolina
611ca7e386
Rename vertical_bar_chart -> horizontal_bar_chart
2026-05-31 21:13:53 +03:00
Claudio Ortolina
88d75afa3e
Work around Discogs TLS chain issue
2026-05-31 16:52:53 +03:00
Claudio Ortolina
3617f0e7b3
Update backlog.md
2026-05-31 07:30:18 +03:00
Claudio Ortolina
3e7a71f522
Update dependencies
...
mix:
yaml_elixir 2.12.1 => 2.12.2
2026-05-30 23:28:11 +03:00
Claudio Ortolina
7a2c3e2d0d
Update dependencies
...
mix:
swoosh 1.25.3 => 1.26.0
2026-05-30 11:16:07 +03:00
Claudio Ortolina
de576f49e9
Update dependencies
...
phoenix_live_view 1.1.30 => 1.1.31
2026-05-29 19:10:41 +03:00
Claudio Ortolina
75e2ec5c70
ML-199: extract shared record show logic
2026-05-29 08:50:27 +03:00
Claudio Ortolina
f4648ce5d9
Scrobble entire release from wishlist show page
2026-05-29 08:22:14 +03:00
Claudio Ortolina
33474c1472
Allow scrobbling wishlisted records
2026-05-29 08:09:55 +03:00
Claudio Ortolina
dd24258f33
Make stats formats and types counters sync
2026-05-27 23:45:29 +03:00
Claudio Ortolina
aeca27d83d
Use partitioned tests in precommit
2026-05-27 23:35:11 +03:00
Claudio Ortolina
fed7f97b8e
Increase partitioned test setup to 4 partitions
2026-05-27 23:32:17 +03:00
Claudio Ortolina
53652644b2
Update gh
2026-05-27 23:25:42 +03:00
Claudio Ortolina
b895c9817f
Remove duplicated usage_rules blocks in AGENTS.md
2026-05-27 23:16:21 +03:00
Claudio Ortolina
f75e34211b
Update dependencies
...
mix:
decimal 3.1.0 => 3.1.1
oban 2.22.1 => 2.23.0
2026-05-27 20:36:16 +03:00
Claudio Ortolina
87d2a59c3b
Link included release groups to MusicBrainz
...
Render each included release group in the record detail page as a
link to its MusicBrainz release group page, opening in a new tab.
2026-05-27 13:00:45 +03:00
Claudio Ortolina
0adf6c6e6f
Research image compression and optimization avenues
2026-05-27 11:31:01 +03:00
Claudio Ortolina
d19a4a838c
Add documentation writing guidelines
2026-05-27 07:40:32 +03:00
Claudio Ortolina
65f472c980
Convert screenshots to JPG
2026-05-27 07:27:25 +03:00
Claudio Ortolina
57866f4cad
ML-198: document timezone plan
2026-05-27 01:11:07 +03:00
Claudio Ortolina
69101114ee
Slightly compress screenshots
2026-05-27 01:05:17 +03:00
Claudio Ortolina
1d9fe12ca5
Update dependencies
...
mix:
oban_web 2.12.4 => 2.12.5
swoosh 1.25.2 => 1.25.3
2026-05-27 00:26:10 +03:00
Claudio Ortolina
45c52ee614
Tighten setup instructions
2026-05-26 18:48:12 +03:00
Claudio Ortolina
9939b53aa2
Fix compose variable name
2026-05-26 14:55:44 +03:00
Claudio Ortolina
19e097e514
ML-197: add Elm-style Presto application
2026-05-26 08:59:01 +03:00
Claudio Ortolina
631053b87e
ML-197: track Elm-style Presto application
2026-05-26 08:45:04 +03:00
Claudio Ortolina
c0af66190c
[presto] Update dependencies
2026-05-25 23:02:09 +03:00
Claudio Ortolina
0d6d2fdc32
Ignore application and router in cover config
2026-05-25 22:15:31 +03:00
Claudio Ortolina
65b2f3e1f2
Update dependencies
...
ex_slop 0.4.1 => 0.4.2
Introduces a new check around misusing the `length/1` function which
require widespread fixes.
2026-05-25 19:45:33 +03:00
Claudio Ortolina
bfcdfc1b90
ML-169.7: record audit findings
2026-05-25 12:52:01 +03:00
Claudio Ortolina
118171ed8a
ML-169.8: restore formats/types stats position after counters
...
Formats and types stats should appear directly after the record counters,
before the TopArtists/TopAlbums/OnThisDay grid. The refactor had
accidentally moved them below.
2026-05-25 11:32:48 +03:00
Claudio Ortolina
d75a683df0
Update README features section
...
Add missing features: collection chat, markdown notes, store templates, scrobbled tracks browsing, tracklist PDF, daily email, maintenance dashboard, cart-style import, color extraction, and search syntax details. Group into sub-sections for readability.
2026-05-25 10:06:47 +03:00
Claudio Ortolina
9f6848f1ab
Fix gh actions to use mise lock as cache key
2026-05-25 09:54:19 +03:00
Claudio Ortolina
2d8989a8d0
ML-169.8: keep latest record query synchronous
...
get_latest_record is a single fast ORDER BY LIMIT 1 query --
no reason to async-load it. Removes the <.async_result> wrapper
and the now-unnecessary render_async() from its test.
2026-05-25 09:42:14 +03:00
Claudio Ortolina
a3701de90e
Backlog cleanup
2026-05-25 09:33:08 +03:00
Claudio Ortolina
f347f56218
ML-169.8: reduce Stats mount sync queries to 3
...
Move 7 non-critical queries out of synchronous mount into assign_async
and start_async tasks with skeleton loading placeholders.
Only scalar badge counters (collection count, wishlist count, scrobble
count) remain synchronous. All async sections use <.async_result> with
loading and failed slots. Scrobble activity preserves LiveView streams
via handle_async. On-this-day date changes use AsyncResult.ok/2.
2026-05-25 09:31:43 +03:00
Claudio Ortolina
6f5c959238
Show timezone settings in maintenance page
2026-05-25 09:16:56 +03:00
Claudio Ortolina
2503b5e46e
Sync docs: Elixir 1.20.0-rc.6, updated Docker tags, busy_timeout
2026-05-25 08:33:09 +03:00
Claudio Ortolina
5c80a6d6ad
ML-169.11: archive as invalid
2026-05-23 20:23:01 +01:00
Claudio Ortolina
1ccd9ccc91
ML-182: finish audit and subsequent improvements
2026-05-23 07:18:25 +01:00
Claudio Ortolina
27d3a9f285
Try and reduce test flakiness
2026-05-23 06:56:52 +01:00
Claudio Ortolina
8127eccd41
Reduce sensitive paths guard to paths in actual use in this application
2026-05-22 23:47:20 +01:00
Claudio Ortolina
69245d8d15
ML-156: extend and improve plan
2026-05-22 23:46:04 +01:00
Claudio Ortolina
484e9297b7
Update git-commit skill to instruct the LLM to skip manual run of precommit tasks
2026-05-22 16:28:55 +01:00
Claudio Ortolina
3f2e5f2e27
ML-169.10: drop socket-internals delete tests
...
Remove 12 unit tests that accessed socket internals via :sys.get_state
and called handle_async directly — these leak implementation details and
error/exit paths can't be reached through the DOM.
Keep the 3 integration delete tests that use pure DOM assertions: visit,
assert_has, click, refute_has, render_async, DB verification.
2026-05-22 16:27:42 +01:00
Claudio Ortolina
b10be7ba3c
ML-169.10: async delete actions with initial implementation
2026-05-22 16:19:54 +01:00
Claudio Ortolina
9f02e12414
ML-169.10: refine implementation plan
2026-05-22 15:37:09 +01:00
Claudio Ortolina
ee4eecd1c6
ML-169.9: archive invalid stream pagination task
...
Pagination is page-based (not load-more), so reset: true on each
page navigation is correct. Using at: -1 would accumulate records
across pages, breaking the pagination model.
2026-05-22 15:29:07 +01:00
Claudio Ortolina
67a2e6eac6
ML-196: add application-task pi prompt template
...
Introduces /application-task for working on Backlog.md tasks end-to-end:
- Pre-flight: read docs, load task plan, load relevant skills
- Execution: present plan, short loops, log progress, handle scope
- Done vs Complete: finalize without archiving, per Backlog.md workflow
2026-05-22 15:17:12 +01:00
Claudio Ortolina
f1c9069c35
Expand enrichment query scope and streamline selected release
2026-05-22 13:40:40 +01:00