Claudio Ortolina
7b697827fd
Don't scrobble releases with zero duration
2025-10-23 10:27:08 +01:00
Claudio Ortolina
35aec967fe
Simplify tests using PhoenixTest
2025-10-22 10:52:22 +01:00
Claudio Ortolina
40143df96d
Add tests for universal search
2025-10-22 09:23:54 +01:00
Claudio Ortolina
d38089d82d
Show similarity in % points
2025-10-12 20:46:01 +02:00
Claudio Ortolina
ee199272b1
Use sqlite vector
2025-10-12 13:36:42 +02:00
Claudio Ortolina
14934b25d9
Load the sqlite-vec extension
2025-10-11 21:47:02 +02:00
Claudio Ortolina
9cae972bc5
Add similar records
...
Initial stab by Claude
2025-10-11 21:39:59 +02:00
Claudio Ortolina
d39829c5ca
Add tests for MusicBrainz.ExternalLink
2025-10-08 18:58:45 +02:00
Claudio Ortolina
57dfd3d33d
Remove ErrorTracker
...
Doesn't work with recent LiveView releases, and seems to be maintained
very slowly despite incoming PRs to fix the issues.
2025-10-03 10:15:23 +03:00
Claudio Ortolina
621fe385e3
Show record status markers in scrobbled tracks index
2025-09-29 11:04:35 +03:00
Claudio Ortolina
cc84c3a429
Remove unused functions
2025-09-26 15:26:44 +03:00
Claudio Ortolina
90b3fa1fdc
Refactor Records.Cover to Assets.Image
2025-09-20 07:42:38 +03:00
Claudio Ortolina
e158345674
Change /covers to /assets
2025-09-18 21:26:16 +03:00
Claudio Ortolina
aa72692eaf
Cache transformations
2025-09-17 16:54:47 +03:00
Claudio Ortolina
b0f4e18ef7
Fix API collection record cover URLs
2025-09-17 11:24:14 +03:00
Claudio Ortolina
0996b78c7b
Use Transforms to serve covers at the right size
2025-09-17 10:26:38 +03:00
Claudio Ortolina
dc9c8fca8e
Add Asset.Transform module
...
Allows building URLs with embedded transformation options
2025-09-17 09:33:13 +03:00
Claudio Ortolina
d932498c11
Rename tests for consistency
2025-09-17 09:12:07 +03:00
Claudio Ortolina
e7c2b92a3b
Remove track count from scrobbled tracks list
2025-09-17 09:11:03 +03:00
Claudio Ortolina
f42f050de0
Simplify scrobbled tracks layout
...
Remove no results view
2025-09-16 21:01:44 +03:00
Claudio Ortolina
a0647ab91a
Remove buggy tests
2025-09-16 13:15:23 +03:00
Claudio Ortolina
eec097dd43
Address warnings
2025-09-16 13:15:16 +03:00
Claudio Ortolina
a265f2ae52
Address Credo warnings
2025-09-16 12:57:03 +03:00
Claudio Ortolina
dae334b1b7
Scrobbled tracks CRUD
...
- Failing tests
- Warnings
2025-09-16 12:45:36 +03:00
Claudio Ortolina
6c98b164eb
Update more MusicBrainz fixtures
2025-09-15 14:31:55 +03:00
Claudio Ortolina
b2283a3e5e
Fix fixture path
2025-09-15 14:20:43 +03:00
Claudio Ortolina
2ef4eb2d2e
Refresh fixtures
2025-09-15 14:02:53 +03:00
Claudio Ortolina
1b89f244f8
Change test to avoid timing-related failures
...
When inserting twice, the second insertion is a no-op, due to the fact
that we use `on_conflict: :nothing` in the `Repo.insert/2` call.
This means that for fields generated client side like timestamps we
don't get the stored values, but the client side values (which haven't
been persisted).
In case of the test crossing the second boundary, the second asset would
be different because of the timestamps, and the test would fail.
This test is better. It tests that no matter how many times we insert
the same thing we always have one stored.
2025-09-15 07:42:03 +03:00
Claudio Ortolina
57deea2f4c
Use healthcheck to test deployment is up
2025-09-15 07:28:42 +03:00
Claudio Ortolina
ecb830b2fd
Render [[Example]] links as links to the collection search
2025-09-13 15:35:02 +03:00
Claudio Ortolina
5aaa7708ee
Add tests for On This Day functionality
2025-09-10 17:52:11 +03:00
Claudio Ortolina
0cb46e4ec7
Capture warning location
2025-09-04 08:31:44 +03:00
Claudio Ortolina
408899747e
Add module to format numbers
2025-09-02 08:26:59 +03:00
Claudio Ortolina
dc77d337c0
Migrate from embedded covers to assets
2025-09-01 16:20:41 +03:00
Claudio Ortolina
cbf567a502
Support assets upserts
2025-09-01 15:06:00 +03:00
Claudio Ortolina
bd12454884
Serve covers from assets
2025-09-01 14:44:17 +03:00
Claudio Ortolina
49c3a5cba2
Serve images from assets table
2025-09-01 13:46:32 +03:00
Claudio Ortolina
db843bf061
Add convenience to store images
2025-09-01 11:59:16 +03:00
Claudio Ortolina
a605610c9d
Add base infra to store assets
2025-09-01 11:59:16 +03:00
Claudio Ortolina
df4ca83aeb
Add ability to rotate dominant colors
2025-08-27 21:11:13 +03:00
Claudio Ortolina
c20e901d21
Show total results inside add record modal
2025-08-27 09:49:18 +03:00
Claudio Ortolina
a934fad58d
Setup CI healthcheck after deploy
2025-08-24 20:16:48 +03:00
Claudio Ortolina
eec746e4ab
Fix prod tests (Coolify returns a 302 for http->https)
2025-08-24 19:54:09 +03:00
Claudio Ortolina
1ca1dcf0f3
Fix signature of LastFm.Feed.update/1
2025-08-11 11:59:44 +03:00
Claudio Ortolina
64fdea7e9d
Use LazyHTML to escape markup in test
2025-08-05 09:06:58 +03:00
Claudio Ortolina
f37719f272
Rename ScrobbleRules.Worker to Worker.ApplyScrobbleRules
2025-07-07 20:14:32 +01:00
Claudio Ortolina
aee08cc2bb
Use Enum for scrobble rule type
2025-07-04 14:23:19 +01:00
Claudio Ortolina
93e10bc5d9
Remove excessively defensive coding
2025-07-03 21:18:21 +01:00
Claudio Ortolina
b2bc5f07f7
Remove unnecessary code
2025-07-03 21:10:59 +01:00
Claudio Ortolina
024ba38b63
Use Ecto.UUID instead of hand-rolled type
2025-07-03 21:07:42 +01:00