Commit Graph

3449 Commits

Author SHA1 Message Date
Claudio Ortolina ca01e94d47 ML-194: add selective smoke coverage
Add smoke tests for bulk cron workers, CSP browser header, and
on_mount hooks (GetTimezone/StaticAssets). 9 tests across 4 files,
all passing alongside 135 existing related tests.
2026-05-21 12:01:32 +01:00
Claudio Ortolina ec6980eea0 ML-193: add secondary parser, search, and API coverage tests
Add ~80 focused tests across 10 files covering:

- Record set search by name, description, contained record title, artist name
- Navigation events for records, artists, record sets, links, and view-all actions
- MusicBrainz.ReleaseGroup parser (artist credits, included RGs, release IDs, types)
- MusicBrainz.ReleaseSearchResult edge cases (missing RG, unknown formats)
- LastFm.Session XML edge cases (non-subscriber, missing nodes)
- MusicLibrary.HttpError default status-kind mapping
- Discogs.API.ErrorResponse fallback message and retry-delay behavior
- ArtistRefreshWikipediaData {:cancel, :no_english_wikipedia} worker path
- StatsComponents grouped on-this-day records and anniversary labels
2026-05-21 10:45:29 +01:00
Claudio Ortolina e99597dc7e No need to load checks again, they're compiled 2026-05-21 08:50:00 +01:00
Claudio Ortolina ff42f24972 ML-195: Add credo check for put_toast/put_toast! usage in live components 2026-05-21 08:08:11 +01:00
Claudio Ortolina 66fb688b2a Fix toasts not appearing for notes and barcode scan 2026-05-21 07:49:36 +01:00
Claudio Ortolina e46d890143 Extend testing skill for cross-process req stub instructions 2026-05-21 06:38:55 +01:00
Claudio Ortolina 2983313426 ML-192: add high value missing tests
- Record editing + cover search
- Barcode scan errors + cart editing
- Notes
- Scrobble rules application over set of tracks
- Image conversion
2026-05-21 06:38:02 +01:00
Claudio Ortolina 07f43e59bb ML-192: plan refinement 2026-05-20 22:55:34 +01:00
Claudio Ortolina 6af942db7c Update dependencies
server_sent_events 1.0.0 => 1.1.0
2026-05-20 22:32:14 +01:00
Claudio Ortolina ab48d4b13a Add testing coverage backlog tasks 2026-05-20 18:22:08 +01:00
Claudio Ortolina 23960b5b23 ML-169.10.1: Add delete coverage
Cover current delete behavior across LiveView index and show paths, and strengthen existing delete tests with persistence assertions.\n\nValidation: mise run dev:precommit
2026-05-20 18:04:29 +01:00
Claudio Ortolina 981099511f Update dependencies
mix:
  req 0.5.17 => 0.5.18
2026-05-20 17:23:12 +01:00
Claudio Ortolina c537ea0d21 Backlog cleanup 2026-05-20 13:15:11 +01:00
Claudio Ortolina b28309ceb9 Make dev:lint work by default only changed files 2026-05-20 13:14:18 +01:00
Claudio Ortolina 004d2a2318 ML-169.10: refine implementation plan 2026-05-20 11:20:33 +01:00
Claudio Ortolina 760c44ccb5 ML-169.10: rescope to list pages and use async handling 2026-05-20 10:42:35 +01:00
Claudio Ortolina d2def9d0d3 ML-169.8: tighten task scope 2026-05-20 07:55:36 +01:00
Claudio Ortolina f6792e08aa Update dependencies
quokka 2.13.0 => 2.13.1
2026-05-19 21:56:45 +01:00
Claudio Ortolina 4a6c80f7a9 ML-191: avoid VACUUM / scrobble refresh write collision
Set busy_timeout: 5_000 on MusicLibrary.Repo so SQLite waits up to
5 seconds on lock contention instead of throwing SQLITE_BUSY
immediately (default is 0).

Move RepoVacuum from 0 3 to 3 3 (3:03 AM London) to avoid the
deterministic collision with RefreshScrobbles which fires on the
every-5-min cadence at the hour mark.
2026-05-19 16:46:37 +01:00
Claudio Ortolina d8b0dd2327 Update ui-framework skill with LV stream gotcha 2026-05-19 15:18:00 +01:00
Claudio Ortolina 78670268d5 ML-169.5: cancel task as it breaks functionality 2026-05-19 15:16:55 +01:00
Claudio Ortolina be371cbf4e ML-169.11: add correlated subquery fix task 2026-05-19 12:51:36 +01:00
Claudio Ortolina ab8062ddc6 ML-169.9: add pagination stream reset fix task 2026-05-19 12:51:29 +01:00
Claudio Ortolina e42e28992a ML-169.10: add optimistic delete UI fix task 2026-05-19 12:51:19 +01:00
Claudio Ortolina 96248231fa ML-169.7: add scrobble stream reset fix task 2026-05-19 12:51:05 +01:00
Claudio Ortolina c9f00c9360 ML-169.8: add StatsLive TTFB performance fix task 2026-05-19 12:50:56 +01:00
Claudio Ortolina e458f605c5 ML-169.6: add redundant stream reload fix task 2026-05-19 12:50:36 +01:00
Claudio Ortolina 0ec4b989c9 ML-169.5: add display toggle performance fix task 2026-05-19 12:50:09 +01:00
Claudio Ortolina f1fde63d42 ML-189: simplify release-component notifications
- Use a tagged type
- Leave skipping responsibility to subscribed process
2026-05-19 12:18:07 +01:00
Claudio Ortolina 73046bb0f5 ML-190: fix record subscription lifecycle 2026-05-19 12:10:34 +01:00
Claudio Ortolina e204e555bd ML-188: guard PubSub record updates during edit mode
Add live_action guard to handle_info({:update, record}) in both
CollectionLive.Show and WishlistLive.Show. When the user is editing,
background worker updates are skipped and a warning toast is shown
instead of overwriting the socket. Normal show-mode updates and
mismatched-ID no-ops are unchanged.

6 tests added covering all three code paths.
2026-05-19 11:38:42 +01:00
Claudio Ortolina 2fca0bb106 ML-190: fix redundant unsubscribe (plan) 2026-05-19 10:38:41 +01:00
Claudio Ortolina 0f529daa4e ML-189: fix dynamic tag type (plan) 2026-05-19 10:21:45 +01:00
Claudio Ortolina 5ee1d0b82a ML-188: race condition in background update (plan) 2026-05-19 10:03:58 +01:00
Claudio Ortolina 70dfce1346 Move audit tasks to done (should have done that earlier) 2026-05-19 09:51:14 +01:00
Claudio Ortolina 0881971635 Backlog cleanup 2026-05-19 09:48:55 +01:00
Claudio Ortolina 54b682a663 ML-190: add same-record reconnect optimization task
From audit doc-25 (Phase 2), Recommendation #2.
2026-05-19 09:46:31 +01:00
Claudio Ortolina b858c27f52 ML-189: add Release component tag type-safety task
From audit doc-24 (Phase 1), Recommendation #1.
2026-05-19 09:46:22 +01:00
Claudio Ortolina 8baaa7df27 ML-188: add form edit + background update race fix task
From audit doc-26 (Phase 3), Recommendation #1.
2026-05-19 09:46:11 +01:00
Claudio Ortolina 762b64659b ML-169: performed all audits 2026-05-19 08:47:08 +01:00
Claudio Ortolina 8de5d88c14 ML-169.2: performed performance audit 2026-05-19 08:45:58 +01:00
Claudio Ortolina faafe8792f Default dev port to 4003 2026-05-19 08:41:39 +01:00
Claudio Ortolina 2a108660ae ML-169.1: performed concurrent state change safety audit 2026-05-19 08:33:55 +01:00
Claudio Ortolina 2d4b82e7bb ML-169.3: performed pubsub audit 2026-05-19 08:20:11 +01:00
Claudio Ortolina c7f194cf6c Do not autoformat AGENTS.md as it contains generated blocks 2026-05-19 08:06:39 +01:00
Claudio Ortolina a2bb98679c ML-168.4: perform async messages audit 2026-05-19 07:38:37 +01:00
Claudio Ortolina 2dcf431a50 Update dependencies
quokka 2.12.1 => 2.13.0
2026-05-19 07:21:31 +01:00
Claudio Ortolina 3cba43236b Add format hint to record form release date 2026-05-18 16:25:49 +01:00
Claudio Ortolina af62cf38a6 ML-187: done 2026-05-18 16:11:57 +01:00
Claudio Ortolina e763c54787 ML-187: fall back to all checks when run outside git hook 2026-05-18 16:11:24 +01:00