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
Claudio Ortolina
54f19cd9a2
Fix ArtistInfo.country/1 crash when area is missing
2026-03-06 09:51:56 +00:00
Claudio Ortolina
f9b381570f
Extract artist infos fixtures
2026-03-06 08:58:59 +00:00
Claudio Ortolina
3819afca4d
Extract fixture
2026-03-06 08:53:25 +00:00
Claudio Ortolina
c3cb510892
Convert phoenix_test assertions to simplified syntax
2026-03-06 06:41:06 +00:00
Claudio Ortolina
08f7565d44
Replace inspect(reason) with friendly error messages
...
Closes #81
2026-03-05 20:25:13 +00:00
Claudio Ortolina
d4376e5fa0
Extract DB queries from MaintenanceLive into context
2026-03-05 18:01:50 +00:00
Claudio Ortolina
4b1f6bb245
Fix inconsistent toast arity in form components
...
Closes #94
2026-03-05 17:06:23 +00:00
Claudio Ortolina
42a51b9539
Add test coverage for ScrobbleLive Index and Show
2026-03-05 14:52:58 +00:00
Claudio Ortolina
fb7ccad6f9
Add meaningful tests for ArtistChat and RecordChat
...
Closes #96
2026-03-05 14:43:50 +00:00
Claudio Ortolina
f109057be5
Persist telemetry data in local sqlite database
2026-03-05 13:39:38 +00:00
Claudio Ortolina
478832249b
Send record of the day email
2026-03-05 10:37:04 +00:00
Claudio Ortolina
3671250cee
Update redirect test to account for Cloudflare proxying
2026-03-05 06:57:43 +00:00
Claudio Ortolina
9f0579bafd
Prod test for scanners
2026-03-05 06:56:21 +00:00
Claudio Ortolina
c831b20317
Move error tracker notifier files to correct namespace
2026-03-04 19:39:36 +00:00
Claudio Ortolina
ad9bcd8481
Inline error tracker notification code
...
As we don't need the Discord functionality which brings quite a lot of
extra libraries/code
2026-03-04 17:19:14 +00:00
Claudio Ortolina
7ec3e68e58
Relax assertions on colors
...
As dominant colors are not stable on different environments
2026-03-03 16:13:23 +00:00
Claudio Ortolina
6d451481b7
Remove obsolete color extraction strategies
2026-03-03 16:01:25 +00:00
Claudio Ortolina
de14ec3e25
Consolidate completely stateless tests into doctests
...
Removing dupes
2026-03-03 11:30:52 +00:00
Claudio Ortolina
6ef5f0a000
Add metrics to rate limiter
2026-03-02 19:23:27 +00:00