Commit Graph

2831 Commits

Author SHA1 Message Date
Claudio Ortolina 7b5b7e68dd Harden OpenAI api layer
- Support rate limiting
- Add proper error handling (don't rely on exceptions)

Closes #147
2026-04-05 16:01:29 +01:00
Claudio Ortolina a5df68c7ad Don't suppress errors when fetching artist Last.fm data
Closes #149
2026-04-05 15:47:36 +01:00
Claudio Ortolina 501ff18733 Can copy a chat message 2026-04-05 14:35:03 +01:00
Claudio Ortolina 40ea3aaa2a Add fallback error images for scrobble activity 2026-04-05 08:35:23 +01:00
Claudio Ortolina 4be9db6417 Refactor DefaultPrompt into Chats.Prompt with build/2 2026-04-05 08:32:03 +01:00
Claudio Ortolina f9155f8c52 Try and control the chat responses style 2026-04-04 23:35:46 +01:00
Claudio Ortolina ec12be613b Extract a default prompt 2026-04-04 23:35:30 +01:00
Claudio Ortolina 86fd3134f1 Reduce repetitive LLM chat responses (#146)
Replace "always provide a link" with conditional linking and add
instructions to vary response style and avoid restating information
already covered in the conversation.

Co-authored-by: Claude <noreply@anthropic.com>
2026-04-04 18:32:57 +01:00
Claudio Ortolina 690846021e Update architecture documentation 2026-04-04 15:07:55 +01:00
Claudio Ortolina b9be62a500 Async barcode scan batch import for 2+ new records
When barcode scan results contain at least 2 new records,
enqueue individual Oban jobs instead of importing synchronously.
Wishlisted/collected/not_found results still process synchronously.
2026-04-04 10:20:50 +01:00
Claudio Ortolina 74f514afc1 Update architecture documentation 2026-04-04 08:34:10 +01:00
Claudio Ortolina 2f9460d2cb Regenerate embeddings only when the test representation changes 2026-04-04 08:32:29 +01:00
Claudio Ortolina cd52890f86 Move release status badge inside group 2026-04-03 17:48:13 +01:00
Claudio Ortolina 4bfe27e6c8 Cancel refresh cover job if image is not available 2026-04-03 12:43:50 +01:00
Claudio Ortolina 0339f7f11b EXP: add task to manage worktrees 2026-04-03 11:41:37 +01:00
Claudio Ortolina c30158732c Update lumis from 0.1.2 to 0.2.0 2026-04-03 07:59:19 +01:00
Claudio Ortolina 64c546a8af Update esbuild from 0.27.7 to 0.28.0 2026-04-02 22:01:35 +01:00
Claudio Ortolina 4f56c3b241 Update production infrastructure documentation 2026-04-02 19:32:57 +01:00
Claudio Ortolina edd38eb5f2 Revert "Reduce repo cache size"
This reverts commit b3af5be00d.
2026-04-02 19:31:55 +01:00
Claudio Ortolina 1f86c704c5 Update esbuild from 0.27.5 to 0.27.7 2026-04-02 18:36:27 +01:00
Claudio Ortolina 9d0170dad3 Hide universal search shortcuts on mobile 2026-04-02 17:15:31 +01:00
Claudio Ortolina 555e7065dc Fix display of metadata in universal search results 2026-04-02 17:15:04 +01:00
Claudio Ortolina 90538e7890 Move status tooltip badge 2026-04-02 16:22:57 +01:00
Claudio Ortolina 42d0ccf0d0 Update project conventions 2026-04-02 16:10:59 +01:00
Claudio Ortolina a1fd891ed1 Update production-infrastructure documentation 2026-04-02 16:10:42 +01:00
Claudio Ortolina a28f5dea3e Update dependencies
lazy_html 0.1.10 => 0.1.11
2026-04-02 16:07:17 +01:00
Claudio Ortolina 851bbd54af Setup swoosh sandbox 2026-04-02 15:26:15 +01:00
Claudio Ortolina 2396321e26 Update dependencies
swoosh 1.24.0 => 1.25.0
2026-04-02 15:18:03 +01:00
Claudio Ortolina fb6e657214 Use container names 2026-04-02 13:23:06 +01:00
Claudio Ortolina a390a992cc Remove tooltip (fails for unknown reasons) 2026-04-02 13:21:51 +01:00
Claudio Ortolina 98c2f85258 Use a tooltip for release status 2026-04-02 11:57:41 +01:00
Claudio Ortolina 3f7da55e50 Add a release tracked badge to records in lists 2026-04-02 11:52:07 +01:00
Claudio Ortolina b3af5be00d Reduce repo cache size
As assets are self-contained in their own table, and shielded with heavy
CDN + in-memory caching, there's no point in keeping a very large cache.
2026-04-02 10:40:03 +01:00
Claudio Ortolina 4cf9ff01a4 Update esbuild from 0.27.4 to 0.27.5 2026-04-02 06:52:42 +01:00
Claudio Ortolina 5be889ba58 Remove rounding from selected release in release list 2026-04-01 21:42:08 +01:00
Claudio Ortolina 4e8f1fd6f0 Fix cover image distortion in scrobble activity 2026-04-01 21:14:18 +01:00
Claudio Ortolina 6e1a4aa49c Remove unnecessary benchmark (problem is solved) 2026-04-01 20:14:20 +01:00
Claudio Ortolina 67817533c2 Remove stray design document 2026-04-01 20:11:45 +01:00
Claudio Ortolina ceb8745dcb Update npm dependencies
barcode-detector 3.1.1 => 3.1.2
2026-04-01 19:57:08 +01:00
Claudio Ortolina b5e934e36f Remove unnecessary padding (fixes text overflow) 2026-04-01 11:13:23 +01:00
Claudio Ortolina 9bdefa9f6d Fix stats section title sizes on iPad mini 2026-04-01 11:08:29 +01:00
Claudio Ortolina dcd83e673a Update production-infrastructure documentation 2026-04-01 09:44:23 +01:00
Claudio Ortolina 7f406ce455 Replace deprecated {:discard, _} with {:cancel, _} 2026-04-01 09:38:05 +01:00
Claudio Ortolina 320a131370 Increase cooldown for Discogs requests 2026-04-01 09:30:39 +01:00
Claudio Ortolina 553ad2bbb9 Discard worker when no wikipedia entry is present 2026-04-01 08:52:28 +01:00
Claudio Ortolina e3a6c0563b Do not invert order of artist sections on mobile 2026-04-01 07:51:29 +01:00
Claudio Ortolina 6fcca38e27 Make sure to pull artists info when record is updated
Catches the scenario when a new artist is added
2026-04-01 07:11:47 +01:00
Claudio Ortolina 7d65a7d4ab Make sure create record returns updated record 2026-04-01 07:06:33 +01:00
Claudio Ortolina f2def32571 Increase MusicBrainz api_cooldown to 1000ms 2026-04-01 06:44:37 +01:00
Claudio Ortolina e0a277e215 Always open chat links in new tabs 2026-03-31 19:17:58 +01:00