Claudio Ortolina
f5d3d90043
Use correct fixture for test
2026-03-26 11:55:44 +00:00
Claudio Ortolina
dec564b840
Move test in correct describe block
2026-03-26 11:55:27 +00:00
Claudio Ortolina
88b575ee95
Remove duplicated test
2026-03-26 11:55:05 +00:00
Claudio Ortolina
170a52b3e4
Fix test descriptions for consistency
2026-03-26 11:54:47 +00:00
Claudio Ortolina
69983d9dac
Fix incorrect tests
2026-03-26 11:53:49 +00:00
Claudio Ortolina
09c5ba8fb5
Make sure Brave API tests run fast
2026-03-26 09:41:30 +00:00
Claudio Ortolina
0ccaf46ebd
Standardize fetch_* to refresh_* in Artists context
...
Closes #132
2026-03-25 11:52:43 +00:00
Claudio Ortolina
c9283d7f28
Compute artist play count from db
2026-03-24 15:07:50 +00:00
Claudio Ortolina
d5be6e6182
Remove on tour tracking functionality (source unreliable)
2026-03-24 15:01:16 +00:00
Claudio Ortolina
0f9a2d28cb
Add test coverage for ScrobbleActivity
...
Closes #127
2026-03-23 07:45:49 +00:00
Claudio Ortolina
0edd5f317c
Extract biography helpers from ArtistLive.Show
...
Closes #124
2026-03-22 08:07:06 +00:00
Claudio Ortolina
b18a544156
Add test coverage for BarcodeScan context
...
Closes #126
2026-03-22 07:56:44 +00:00
Claudio Ortolina
59ce580b99
Can filter records by release year
2026-03-21 09:21:21 +00:00
Claudio Ortolina
5a27fc46ac
Add Top 20 Release Years widget
2026-03-21 09:02:25 +00:00
Claudio Ortolina
56d9d6bfd7
Use MDEx streaming to render chat content
2026-03-20 23:42:10 +00:00
Claudio Ortolina
ccc929e939
Deduplicate tracks in ListeningStats queries
...
When multiple records share MusicBrainz release IDs, the left joins in
ListeningStats fan out — producing duplicate rows per scrobbled track.
Fix by grouping release subqueries on release_id with MIN(record_id)
before joining, so each release maps to exactly one record.
2026-03-20 12:48:40 +00:00
Claudio Ortolina
715a1e1f69
Consolidate handling of artist joinphrases
2026-03-19 15:09:34 +00:00
Claudio Ortolina
1001610472
First pass at having a chat count in the entity pages
2026-03-19 12:28:58 +00:00
Claudio Ortolina
63c95ff1e2
Move all chat related code under chats
2026-03-17 14:30:24 +00:00
Claudio Ortolina
8fd8dde73d
Persist chat history
2026-03-17 13:50:01 +00:00
Claudio Ortolina
f1e3b22f91
Make online store templates searchable
2026-03-16 11:56:39 +00:00
Claudio Ortolina
654b172ddb
Fix UI inconsistencies across templates
...
- Replace .separator with .dropdown_separator in 4 dropdown menus
- Change gray-* to zinc-* color classes in online store templates
- Wrap hardcoded page titles in gettext() in online store templates
- Add consistent dark:text-zinc-200 to maintenance h3 subsections
- Add text-zinc-900 dark:text-zinc-200 to scrobble section headers
- Fix heading hierarchy (h1/h2 → h2/h3) in record set items
- Align artist form modal header to text-lg font-semibold
- Use size="xs" prop instead of class override on format badge
- Add external link icon to wishlist online store buttons
2026-03-16 11:37:29 +00:00
Claudio Ortolina
028f111300
Stabilize rate limiter tests by using dependency injection
2026-03-16 11:21:24 +00:00
Claudio Ortolina
5752d1fe27
Add tests for scrobble rules search/sort
2026-03-16 08:06:48 +00:00
Claudio Ortolina
43b054b34a
Search scrobble rules, improved layout
2026-03-16 07:58:21 +00:00
Claudio Ortolina
abb6a5f8f4
Update dependencies
...
fluxon 2.3.4 => 2.3.5
Includes a test fix due to some internal changes in Fluxon.
2026-03-15 10:18:07 +00:00
Claudio Ortolina
4d1ac9652c
Link the scrobbled count in stats
2026-03-14 09:59:09 +00:00
Claudio Ortolina
9e1dbfd530
Re-enable Credo ModuleDoc check
...
Closes #108
2026-03-13 10:52:01 +00:00
Claudio Ortolina
4977f4631c
Show grouped records in records on this day email
2026-03-12 17:23:22 +00:00
Claudio Ortolina
dbc6d029b4
Move collected artist IDs query to Collection context
...
Closes #112
2026-03-12 16:58:31 +00:00
Claudio Ortolina
d057f29ba1
Split ScrobbleActivity into focused modules
...
Move track CRUD/listing to ListeningStats and diagnostics
to Maintenance, leaving ScrobbleActivity for scrobbling only.
Closes #111
2026-03-12 16:51:33 +00:00
Claudio Ortolina
ee4d2555ee
Move scrobble queries from Records to ListeningStats
...
Closes #110
2026-03-12 16:32:10 +00:00
Claudio Ortolina
24efa3986c
Route artist search queries through Artists context
...
Closes #113
2026-03-12 16:21:04 +00:00
Claudio Ortolina
1a62360b21
Group records in records on this day widget
2026-03-12 09:09:25 +00:00
Claudio Ortolina
d516c6a815
Improve tests for scrobble show page
2026-03-10 21:04:19 +00:00
Claudio Ortolina
fa535393e0
Fix toggling/scrobbling event handlers in scrobble anything show view
2026-03-10 20:04:39 +00:00
Claudio Ortolina
43dc81d051
Assert that generated PDF file always has one page
2026-03-10 15:09:33 +00:00
Claudio Ortolina
95302e069b
Improve column detection heuristics
2026-03-10 14:56:25 +00:00
Claudio Ortolina
04955bff84
Fix notification skipping
2026-03-10 08:44:27 +00:00
Claudio Ortolina
8347bd04e8
Skip notifications for muted errors
2026-03-10 08:22:21 +00:00
Claudio Ortolina
f86800368d
Streamline test suite
...
record_set_live/index_test.exs — Removed 3 describe blocks ("Delete set", "Remove record from set", "Drag-and-drop reorder") that were duplicated in ShowTest. Removed 3 tests.
record_set_live/show_test.exs — Replaced context-level assertion in "Remove record" with UI assertion (refute has_element?). Removed redundant assert_raise from "Delete set" (kept assert_redirect).
scrobble_rules_live/index_test.exs — Removed "Form validation" describe block (2 tests duplicated in "saves new scrobble_rule" and changeset tests). Kept the "updates form labels" test, moved into "Index"
block. Replaced ScrobbleRules.get_scrobble_rule! assertions in toggle test with UI assertions checking button text.
online_store_template_live/index_test.exs — Replaced context-level assertions with UI assertions in Create, Edit, Delete, and Toggle tests. Removed OnlineStoreTemplates alias.
scrobbled_tracks_live/index_test.exs — Collapsed 3 search tests into 1. Removed 2 tests.
2026-03-09 18:55:07 +00:00
Claudio Ortolina
c352ad4809
Can print an individual medium tracklist
2026-03-09 14:52:26 +00:00
Claudio Ortolina
4c6baa6e13
Improve printout PDF layout
...
Support multiple columns in case the tracklist is long, or there's
multiple media.
2026-03-09 14:44:28 +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
1bc01a2346
Fix flaky collection live index test
2026-03-09 13:38:24 +00:00
Claudio Ortolina
4584b7bcb8
Remove drop down from record set items
...
Have just a bin icon, and rely on drag and drop.
This solves a massive performance issue with the page, which is
traceable to the Fluxon dropdowns, particularly the Class.merge logic
used to merge Tailwind classes
2026-03-08 13:21:33 +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
f75485e5db
Small optimizations to speed up the test suite
...
Shaves off 1 second on M1
2026-03-07 09:13:02 +00:00
Claudio Ortolina
6a89d31d4c
Don't extract dominant colors if provided in params
...
This as the side effect of massively speeding up the test suite: on M1,
it goes from 24 seconds to 14.
2026-03-07 09:05:44 +00:00
Claudio Ortolina
a23f772c04
Re-enable Credo CyclomaticComplexity check
2026-03-06 10:08:25 +00:00