Commit Graph

3097 Commits

Author SHA1 Message Date
Claudio Ortolina 4fb1bf5079 Remove duplication in implementation 2026-04-25 21:34:11 +01:00
Claudio Ortolina d4132d8851 Uniform interface of lastfm refresh async function 2026-04-25 21:30:06 +01:00
Claudio Ortolina 9f8ef6c329 Use larger image for Last.fm artists 2026-04-25 21:22:18 +01:00
Claudio Ortolina 9113df5879 ML-146: honour API retry headers 2026-04-25 07:39:49 +01:00
Claudio Ortolina d588e5738f Remove redundant tests 2026-04-25 06:57:03 +01:00
Claudio Ortolina ab4eaa8890 Use if instead of case -> nil 2026-04-25 06:37:02 +01:00
Claudio Ortolina ed2e91400c Update documentation for ML-21, ML-9, and Erlang 28.5
- architecture.md: document new ErrorResponse behaviour, HttpError, and
  Worker.ErrorHandler modules plus per-API ErrorResponse pattern
- project-conventions.md: capture API-failure → Oban tuple convention and
  mix_audit CI/pre-commit run
- production-infrastructure.md: bump builder image Erlang to 28.5 and
  note mix_audit in the lint step
2026-04-24 14:29:35 +01:00
Claudio Ortolina 4418fbc377 Remove unnecessary specs
Function is private, and AsyncResult doesn't expose `t()`
2026-04-24 14:13:04 +01:00
Claudio Ortolina e2a0b7aebc Update to erlang 28.5 2026-04-24 14:09:08 +01:00
Claudio Ortolina ade31b50a8 Update dependencies
db_connection 2.9.0 => 2.10.0
2026-04-24 14:05:34 +01:00
Claudio Ortolina a1c665b490 ML-21: Classify API errors as transient vs permanent 2026-04-24 14:02:15 +01:00
Claudio Ortolina be4f4686f8 ML-146: Honour rate-limit headers for precise snoozing 2026-04-24 12:13:56 +01:00
Claudio Ortolina b9bc96b9a4 ML-21: reframe for correctness 2026-04-24 12:13:33 +01:00
Claudio Ortolina 2e38412a84 ML-10: break compile cycle via Artists → Collection edge 2026-04-24 10:49:47 +01:00
Claudio Ortolina 252caf31ce ML-11: Improve performance of Telemetry.Storage with in-memory buffer 2026-04-24 10:30:28 +01:00
Claudio Ortolina 2a688e2309 Cleanup old tasks 2026-04-24 09:58:09 +01:00
Claudio Ortolina 3852340479 ML-13: Tighten ecto_sqlite3 dep constraints 2026-04-24 09:54:05 +01:00
Claudio Ortolina 815b34c024 ML-9: add mix_audit for CVE scanning (warn-only) 2026-04-24 08:13:42 +01:00
Claudio Ortolina f79e1e4ddf Update project conventions around backlog.md and GH issues 2026-04-24 08:09:24 +01:00
Claudio Ortolina 90db113845 ML-5: document Last.fm OAuth callback trust boundary
Closes GitHub issue #178.
2026-04-24 08:05:07 +01:00
Claudio Ortolina 38b53592c5 ML-1: archive as not needed 2026-04-24 07:59:49 +01:00
Claudio Ortolina 7ad09736cf ML-144: enrich issue description and add done requirements 2026-04-24 07:52:22 +01:00
Claudio Ortolina 6322428c83 Update dependencies
spitfire 0.3.10 => 0.3.11
2026-04-24 06:36:40 +01:00
Claudio Ortolina 0784fc5e0c Fix page title for scrobble anything release page 2026-04-23 21:06:32 +01:00
Claudio Ortolina 1bd5707cb4 Fix page title for scrobble anything index and release group route 2026-04-23 21:06:12 +01:00
Claudio Ortolina 8911afad94 Add tests for Top Albums component 2026-04-23 16:41:44 +01:00
Claudio Ortolina d03e288353 Make sure top_by_period components have a proper ID 2026-04-23 16:41:18 +01:00
Claudio Ortolina ed7dd8de03 Update architecture docs for scrobble route restructure 2026-04-23 15:26:08 +01:00
Claudio Ortolina aaf62db467 Merge branch 'ml-145-scrobble-route-restructure' 2026-04-23 15:18:16 +01:00
Claudio Ortolina 43297ecfde ML-145: done
Archives ML-142.1 as a consequence
2026-04-23 15:16:17 +01:00
Claudio Ortolina 62586c9ae5 Restore flex context for sheet selection bar 2026-04-23 15:12:58 +01:00
Claudio Ortolina ca9cc7687c Hide release-actions dropdown when empty 2026-04-23 15:06:45 +01:00
Claudio Ortolina 779708e62e Hide print tracklist on scrobble release page 2026-04-23 15:05:05 +01:00
Claudio Ortolina 72818bfaf2 Validate release-group shape before parsing 2026-04-23 15:00:49 +01:00
Claudio Ortolina c7c7e1fe4e Navigate from scrobble search to release-group page 2026-04-23 14:47:50 +01:00
Claudio Ortolina 0dcd6eab83 Replace /scrobble/:release_id with nested route 2026-04-23 14:39:26 +01:00
Claudio Ortolina d8041dc0dd Add /scrobble/:rg_id release-group page 2026-04-23 14:35:58 +01:00
Claudio Ortolina 4c48bda7b2 Refactor Release component to take release_id 2026-04-23 14:19:11 +01:00
Claudio Ortolina 120380865b Update dependencies
live_debugger 0.8.0 => 1.0.0
2026-04-23 11:52:17 +01:00
Claudio Ortolina 0d1f580379 Refactor TracklistPdf to take release alone 2026-04-23 07:48:53 +01:00
Claudio Ortolina 8631b97b4d Add joinphrase to Release.Artist; parse from MB 2026-04-23 07:42:06 +01:00
Claudio Ortolina e1fe51972c ML-145: Restructure /scrobble routes; reuse Release component on scrobble page 2026-04-23 07:12:19 +01:00
dependabot[bot] 08907cd62a Bump mdex from 0.12.1 to 0.12.2
Bumps [mdex](https://github.com/leandrocp/mdex) from 0.12.1 to 0.12.2.
- [Release notes](https://github.com/leandrocp/mdex/releases)
- [Changelog](https://github.com/leandrocp/mdex/blob/main/CHANGELOG.md)
- [Commits](https://github.com/leandrocp/mdex/compare/v0.12.1...v0.12.2)

---
updated-dependencies:
- dependency-name: mdex
  dependency-version: 0.12.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-23 05:58:22 +01:00
Claudio Ortolina 71936f6173 Update project conventions and infrastructure docs 2026-04-22 21:01:52 +01:00
Claudio Ortolina f7f38d580e Enable unaliased modules ex_slop check 2026-04-22 20:37:09 +01:00
Claudio Ortolina 5c1beede53 Update dependencies
ex_slop 0.2.0 => 0.3.0 (minor)
2026-04-22 20:25:36 +01:00
Claudio Ortolina 8179b4317c ML-142: forgot to support timezones 2026-04-22 18:14:14 +01:00
Claudio Ortolina 1b782d910b ML-142.1: capture task 2026-04-22 17:31:23 +01:00
Claudio Ortolina 0776700170 ML-142: Improve scrobble UI in the release component
- Sticky bar for easier track-based scrobbling
- Support setting custom finish time
2026-04-22 17:19:35 +01:00
Claudio Ortolina 70b51b3790 ML-142: Accepted mockup and plan 2026-04-22 16:45:52 +01:00