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
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
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
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
c537ea0d21
Backlog cleanup
2026-05-20 13:15:11 +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
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
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
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
a2bb98679c
ML-168.4: perform async messages audit
2026-05-19 07:38:37 +01:00
Claudio Ortolina
af62cf38a6
ML-187: done
2026-05-18 16:11:57 +01:00
Claudio Ortolina
795e511fc1
ML-187: smarter precommit hook (plan)
2026-05-18 15:55:15 +01:00
Claudio Ortolina
122c07836b
ML-182.5: migrate blocked LiveView tests
...
Replace direct LiveView PID and isolated component test patterns with PhoenixTest-backed page flows while keeping narrow unwrap bridges where PhoenixTest cannot express the component interaction.
Precommit: mise run dev:precommit
2026-05-17 21:24:29 +01:00
Claudio Ortolina
aab16b2c66
ML-186: improve presto redraw performance with partial updates
2026-05-16 21:29:02 +01:00
Claudio Ortolina
d61dd6c7b8
[presto] Update tests/references to medium cover size
2026-05-16 21:28:09 +01:00
Claudio Ortolina
9f5a26198f
ML-182.4: convert tests to phoenix_test
2026-05-16 16:30:42 +01:00
Claudio Ortolina
07d65fe78f
ML-182.3: finish wave-3 of conversion LiveViewTest to PhoenixTest
2026-05-16 15:23:53 +01:00
Claudio Ortolina
3a7a89002a
ML-185.2: use API-sized Presto covers
2026-05-15 22:56:22 +01:00
Claudio Ortolina
b4710e10c8
ML-185.1: expose named cover sizes in collection API
2026-05-15 22:49:06 +01:00
Claudio Ortolina
f1b33fdc5f
ML-185: simplify presto artwork handling (requirements)
2026-05-15 22:41:17 +01:00
Claudio Ortolina
6a3e9695db
ML-184: add Presto smoke test harness
...
Add a headless smoke-test harness for the Presto microPython app using
pimoroni-emulator mock modules. A PRESTO_TEST_MODE=1 guard prevents
main() from running at import time so draw functions can be called
directly from tests.
- presto/main.py: wrap main() with PRESTO_TEST_MODE guard
- presto/tests/: conftest with emulator fixtures, 7 smoke tests
- presto/mise.toml: add [tasks.test]
- presto/README.md, presto/AGENTS.md: add Testing section
- .gitignore: exclude test __pycache__, pytest_cache, fixture pngs
2026-05-15 10:53:08 +01:00
Claudio Ortolina
8c19ff7406
Restructure commit hooks task draft
2026-05-15 09:56:38 +01:00
Claudio Ortolina
3775a62865
[presto] Show scrobbled albums task draft
2026-05-15 09:56:18 +01:00
Claudio Ortolina
2ec19f3a88
ML-184: presto testing harness (plan)
2026-05-15 09:54:18 +01:00
Claudio Ortolina
7338825606
ML-183: scale Presto full-res layout
2026-05-15 08:22:27 +01:00