Claudio Ortolina
cccd28a9f9
ML-165: implementation
2026-05-05 13:43:18 +01:00
Claudio Ortolina
5888324cc7
Run prettier on all relevant files
2026-05-05 10:45:25 +01:00
Claudio Ortolina
7c6760d7db
ML-158: force single-line log output in production
...
Three-layer architecture:
- Logster v2 handles HTTP request and LiveView socket telemetry in logfmt format
- Custom formatter as safety net escaping any remaining embedded newlines
- Config flag (single_line_logging) gating Logster attachment to prod only
Dev environment retains multi-line format for readability.
2026-05-04 15:01:10 +01:00
Claudio Ortolina
51bd24d5b4
ML-162: enable /api/v1/errors endpoint
2026-05-04 13:14:40 +01:00
Claudio Ortolina
b8b3b24ffa
ML-151: document Assets.Cache TTL and invalidation strategy
...
Expand @moduledoc with cache key structure, 7-day TTL via
@one_week_seconds, periodic pruning by PruneAssetCache (every 12h),
and rationale for TTL-only invalidation (content-addressable immutable
assets). Update architecture.md entry accordingly.
2026-04-30 13:07:06 +01:00
Claudio Ortolina
c489fde1cc
ML-152: add /api/v1/ version prefix to all API routes
2026-04-30 11:57:43 +01:00
Claudio Ortolina
9113df5879
ML-146: honour API retry headers
2026-04-25 07:39:49 +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
252caf31ce
ML-11: Improve performance of Telemetry.Storage with in-memory buffer
2026-04-24 10:30:28 +01:00
Claudio Ortolina
ed7dd8de03
Update architecture docs for scrobble route restructure
2026-04-23 15:26:08 +01:00
Claudio Ortolina
8d004d39cc
Extract shared cart sidebar component
2026-04-20 15:57:44 +01:00
Claudio Ortolina
fd93aaed30
Update architecture docs
2026-04-20 15:15:29 +01:00
Claudio Ortolina
9fa94714c8
Update architecture docs
2026-04-15 15:03:21 +01:00
Claudio Ortolina
e43bccb9bc
Extract shared index logic into LiveHelpers.IndexActions
...
Closes #150
2026-04-13 23:09:22 +01:00
Claudio Ortolina
a1b775f0ae
Fix architecture docs to reflect gpt-5.1 for CollectionChat
2026-04-13 13:15:10 +01:00
Claudio Ortolina
50407f154e
Update architecture docs for Collection Chat
2026-04-13 12:17:27 +01:00
Claudio Ortolina
a983698c72
Document SQLite query optimization conventions
2026-04-11 23:46:23 +01:00
Claudio Ortolina
d3da4e4559
Update architecture docs for embedding ownership
2026-04-11 21:48:59 +01:00
Claudio Ortolina
90a0491924
Update architecture docs with QueryReporter
2026-04-10 10:31:21 +01:00
Claudio Ortolina
eeb0763466
Deduplicate and consolidate project docs
...
Remove redundant sections from production-infrastructure.md that
duplicated architecture.md (Oban queues/plugins/cron, external API
integrations, SQLite extensions, scheduled maintenance). Absorb API
rate limits into architecture.md's integration table. Replace tool
versions table with pointer to mise.toml. Add two conventions from
project history: scoped test setup and single-path shared components.
2026-04-09 15:19:32 +01:00
Claudio Ortolina
67c01ab1fa
Update architecture and infrastructure docs
2026-04-09 15:09:32 +01:00
Claudio Ortolina
4be9db6417
Refactor DefaultPrompt into Chats.Prompt with build/2
2026-04-05 08:32:03 +01:00
Claudio Ortolina
ec12be613b
Extract a default prompt
2026-04-04 23:35:30 +01:00
Claudio Ortolina
690846021e
Update architecture documentation
2026-04-04 15:07:55 +01:00
Claudio Ortolina
74f514afc1
Update architecture documentation
2026-04-04 08:34:10 +01:00
Claudio Ortolina
3f7da55e50
Add a release tracked badge to records in lists
2026-04-02 11:52:07 +01:00
Claudio Ortolina
24f061646e
Fix migration strategy docs to match production
...
Coolify runs migrations post-deploy via rel/overlays/bin/migrate,
not on boot. Update both architecture and infrastructure docs.
Closes #141
2026-03-30 14:15:23 +01:00
Claudio Ortolina
c39202c5eb
Update documentation
2026-03-30 10:59:14 +01:00
Claudio Ortolina
76b2ce6eea
Update documentation
2026-03-29 23:11:36 +01:00
Claudio Ortolina
4db7442ad5
Update architecture docs
2026-03-28 10:26:46 +00:00
Claudio Ortolina
5c5a523fe6
Move scrobble refresh infra to Oban
2026-03-28 09:00:18 +00:00
Claudio Ortolina
47f8eddff1
Move BackfillScrobbledTracks worker under MusicLibrary namespace
2026-03-28 08:05:02 +00:00
Claudio Ortolina
4e2e0605ed
Update architecture docs for ListeningStats refactor
2026-03-27 23:18:23 +00:00
Claudio Ortolina
fa20428989
Update documentation
2026-03-26 23:04:53 +00:00
Claudio Ortolina
7342256afe
Update documentation
2026-03-24 15:14:18 +00:00
Claudio Ortolina
58d1fc62c2
Update architecture and infrastructure docs
2026-03-22 17:19:50 +00:00
Claudio Ortolina
3639043882
Update architecture docs
2026-03-22 08:18:32 +00:00
Claudio Ortolina
b12e70f471
Refactor charts to use plain HTML
...
More responsive, less edge cases, and simpler to maintain.
2026-03-21 18:00:06 +00:00
Claudio Ortolina
47b6f44273
Update architecture and infrastructure docs
2026-03-21 09:31:03 +00:00
Claudio Ortolina
56d9d6bfd7
Use MDEx streaming to render chat content
2026-03-20 23:42:10 +00:00
Claudio Ortolina
1ee4d3465a
Move /dev/maintenance to /maintenance
2026-03-18 07:44:22 +00:00
Claudio Ortolina
49aef5a4cb
Update architecture docs
2026-03-17 14:31:52 +00:00
Claudio Ortolina
8fd8dde73d
Persist chat history
2026-03-17 13:50:01 +00:00
Claudio Ortolina
bcef30eb52
Document production oban plugins
2026-03-17 11:55:36 +00:00
Claudio Ortolina
cd062c84f2
Update architecture docs
2026-03-16 12:53:32 +00:00
Claudio Ortolina
00037f0aa8
Update architecture docs
2026-03-16 08:07:09 +00:00
Claudio Ortolina
891f6e0849
Update architecture docs
2026-03-12 21:17:58 +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
420614c490
Update architecture and project conventions docs
2026-03-11 10:49:41 +00:00
Claudio Ortolina
4569c6727e
Add function to download a record's tracklist for printing
2026-03-09 13:39:12 +00:00