Commit Graph

  • 3e8b8153b6 Bruno requests master Alexander 2026-05-11 19:52:55 +02:00
  • 69752bd6a2 Update flow diagrams for event bus architecture, cancel cleanup, and SubscribeEvents Alexander 2026-05-11 15:54:32 +02:00
  • 93821ab214 Add streaming, subscribe, cancel cleanup, and recovery component tests Alexander 2026-05-11 15:54:25 +02:00
  • be859e87c0 Add DeleteTorrent to torrent client interface for cancel cleanup Alexander 2026-05-11 15:54:17 +02:00
  • e5bdf2c4ce Add SubscribeEvents RPC, AlbumEvent message, deprecate unary MonitorAlbum Alexander 2026-05-11 15:54:09 +02:00
  • 5a5660bf21 Refactor MonitorAlbumStream: EventPublisher interface, background workflows, DB-before-qBit save order Alexander 2026-05-11 15:54:01 +02:00
  • 52e81faedd Add workflow registry for background goroutine lifecycle management Alexander 2026-05-11 15:53:52 +02:00
  • 7582279077 Add in-process event bus with ring buffer for workflow event broadcasting Alexander 2026-05-11 15:53:43 +02:00
  • f52e9abb0a Add WorkflowRun and AlbumEvent repositories with download cancel support Alexander 2026-05-11 15:53:35 +02:00
  • 7d11b729a5 Add DB migration for workflow_runs, album_events tables and cancelled download state Alexander 2026-05-11 15:53:27 +02:00
  • eab92dd40b Add SearchArtists and GetArtistAlbums proxy RPCs to music-agregator service Alexander 2026-05-11 10:30:18 +02:00
  • ad03caa3f4 Add streaming flow diagrams, update existing flows with streaming references Alexander 2026-05-11 10:26:45 +02:00
  • 24f355c5ae Add MonitorAlbumStream bidirectional streaming RPC with automatic and manual interaction modes Alexander 2026-05-11 10:26:37 +02:00
  • f5e2f764b5 Optimize GetArtists: parallel artist processing, batch album upserts, batch download lookups, retry on metadata calls Alexander 2026-05-10 00:06:58 +02:00
  • 6320f37240 Deduplicate GetAlbum response: merge release info into AlbumDetail, track release into TrackDetail Alexander 2026-05-09 23:23:34 +02:00
  • 2740585261 Add album/track releases with audio analysis, AnalyzeAlbumRelease RPC, Docker path auto-resolution, release parsing decision tree Alexander 2026-05-09 23:16:59 +02:00
  • 1e8506f146 Deduce bit depth, sample rate, and bitrate from file sizes; add comprehensive parser tests Alexander 2026-05-09 22:09:17 +02:00
  • 7fa859e815 Remove rutracker parser, replace with GenericParser for all indexer results Alexander 2026-05-09 21:50:55 +02:00
  • ef75b9bfba Share single torrent client across all services, eliminate triple qBittorrent login on startup Alexander 2026-05-09 21:42:53 +02:00
  • 758a4b909a Leftovers Alexander 2026-05-09 21:31:24 +02:00
  • 31ec3f9826 Add MonitorAlbum component tests: 21 cases covering all flow diagrams (bufconn + testcontainers + hand-rolled mocks) Alexander 2026-05-09 21:31:09 +02:00
  • 6f31698006 Fix monitor state: never downgrade on upsert, explicitly set monitored on MonitorAlbum Alexander 2026-05-09 20:26:38 +02:00
  • 3ce6e23421 Fix duplicate download insert: handle NULL columns in download scan, check by torrent ID, enrich MonitorAlbum response, recover orphaned downloads on startup Alexander 2026-05-09 20:13:43 +02:00
  • cca404bcc0 Enrich MonitorAlbum response, prevent duplicate downloads, recover orphaned jobs on startup Alexander 2026-05-09 20:01:53 +02:00
  • 5257ed0f1b Fix album persistence by passing artist DB ID directly to PersistAlbum Alexander 2026-05-09 11:18:52 +02:00
  • 8c60fe5e35 Add GetAlbum RPC with track details and persist metadata on discovery Alexander 2026-05-09 10:47:06 +02:00
  • e61e58be72 Expand GetArtists with album details, download info, and generic MonitorState enum Alexander 2026-05-08 23:00:42 +02:00
  • e49cc25372 Add GetArtists RPC with artist monitor state (monitored/unmonitored/excluded) Alexander 2026-05-08 22:27:56 +02:00
  • 60c94935b2 Persist metadata to DB, poll download worker, metadata service layer Alexander 2026-05-08 11:00:04 +02:00
  • 66264e1314 Add database schema, ERD, and repository layer Alexander 2026-05-08 10:03:28 +02:00
  • 84a6fe8ec7 Refactor MonitorAlbum into focused methods Alexander 2026-05-07 23:28:35 +02:00
  • 8ad2734964 Implement MonitorAlbum: search, parse, filter by quality, add best to qbittorrent Alexander 2026-05-07 23:21:21 +02:00
  • 79f3f145de Add indexer cache with River queue for scheduled refresh Alexander 2026-05-07 21:41:17 +02:00
  • 2041c154cf Add the proxing to metadata-agregator Alexander 2026-05-07 12:00:37 +02:00
  • 97a57c10fd Added add endpoint Alexander 2026-05-07 10:27:20 +02:00
  • 6071bc7980 Implement the list endpoint for qbittorrent Alexander 2026-05-06 22:53:55 +02:00
  • 36416081c1 Create torrent proto stub Alexander 2026-05-06 22:26:40 +02:00
  • 3249bdc35c Add gRPC observability: logging, metrics, recovery interceptors Alexander 2026-05-06 21:58:24 +02:00
  • 67f46f740b Remove HTTP/REST server, keep gRPC only Alexander 2026-05-06 21:45:48 +02:00
  • 5fa46b2890 Add attr to differentiate trackers for future Alexander 2026-05-06 21:42:05 +02:00
  • b8fcbacb07 Update rutracker categories Alexander 2026-05-06 21:27:03 +02:00
  • 2400c6345a Refactor return type of the search Alexander 2026-05-05 14:41:45 +02:00
  • b41ea7d023 More parser tests + fixes Alexander 2026-05-04 23:17:38 +02:00
  • bfef1b6c79 Implement Jackett search entpoint Alexander 2026-05-04 22:48:14 +02:00
  • 8ffa92276e Add Jacket indexer with capabilities implemented Alexander 2026-05-04 18:40:31 +02:00
  • 32eb8c931e Create indexer proto Alexander 2026-05-04 16:45:22 +02:00
  • f8040ec088 Default values for config Alexander 2026-05-04 16:27:04 +02:00
  • 268ee57913 Grpc hello service implementation Alexander 2026-05-04 14:56:05 +02:00
  • 6baa895c6c Configure routing Alexander 2026-05-03 16:10:24 +02:00
  • 58aa4ef23b Added config, added logging Alexander 2026-05-03 15:49:35 +02:00
  • 46c2f6541f More removing old code Alexander 2026-05-03 13:46:21 +02:00
  • 8067cd93c5 Start from the beginning Alexander 2026-04-29 17:31:07 +02:00
  • 945aab82c2 WIP Alexander 2026-04-29 17:29:58 +02:00
  • 3ecc6aee62 feat: add download tracking endpoints (sections 4.1, 4.2, 4.3, 4.4) Alexander 2026-04-29 13:44:01 +02:00
  • c307c68d88 feat: add album management endpoints (sections 2.1, 2.2, 2.3) Alexander 2026-04-29 13:34:20 +02:00
  • ff49403fd5 feat: add edit artist endpoint (section 1.4) Alexander 2026-04-29 13:22:14 +02:00
  • b08a0b1646 feat: add refresh and delete artist endpoints (sections 1.2, 1.3) Alexander 2026-04-29 13:08:53 +02:00
  • 25deaf4621 test: add e2e tests for Add Artist flow (section 1.1) Alexander 2026-04-29 11:25:30 +02:00
  • 41fb033d30 refactor: rewrite project from Rust to Go Alexander 2026-04-29 10:45:05 +02:00
  • f24543f401 feat: add PostgreSQL persistence and unified sync endpoint Alexander 2026-04-29 10:06:01 +02:00
  • 3aaeade4d3 feat: add artist sync flow and stub torrent client Alexander 2026-04-28 21:40:11 +02:00
  • 925c7c3703 feat: add CLI args, health endpoint, and fix torznab search Alexander 2026-04-28 19:16:22 +02:00
  • 5afcbd68ad feat: add metadata-agregator gRPC client integration Alexander 2026-04-28 18:58:31 +02:00
  • 1aaaab4640 feat: add indexer and torrent REST controllers with service layer Alexander 2026-04-28 18:53:50 +02:00
  • f77806ba46 feat: add torrent client interface with qbittorrent support Alexander 2026-04-28 18:05:36 +02:00
  • ff9ca7ecce feat: add rest api for music tracks Alexander 2026-04-28 18:05:32 +02:00
  • 7c55e5cddd chore: initialize rust project with axum Alexander 2026-04-28 18:05:27 +02:00
  • 98dcc63c9b chore: add nix flake configuration Alexander 2026-04-28 18:05:23 +02:00