Commit Graph

  • 29d7bdb536 Merge pull request 'release/1.0.0' (#4) from release/1.0.0 into main Gandalf 2026-05-17 10:16:24 +01:00
  • 6c847a26d3 merge: fix BOT_TOKEN secret name release/1.0.0 Gronod 2026-05-17 10:12:57 +01:00
  • 7b4ba86435 merge: fix BOT_TOKEN secret name Gronod 2026-05-17 10:12:53 +01:00
  • 28f2aa17d8 ci: rename secret GITEA_TOKEN → BOT_TOKEN (GITEA_ prefix is reserved) Gronod 2026-05-17 10:12:51 +01:00
  • aa8a6a49f4 merge: add render-diagrams workflow Gronod 2026-05-17 10:10:05 +01:00
  • 341c619d3d merge: add render-diagrams workflow Gronod 2026-05-17 10:10:02 +01:00
  • 0ffe62e1ca ci: add render-diagrams workflow (.puml → .png committed back to repo) Gronod 2026-05-17 10:09:59 +01:00
  • 925d0c7735 merge: develop into release/1.0.0 (doc + UI fixes) Gronod 2026-05-17 10:06:46 +01:00
  • f88c81cc59 merge: develop into main (1.0.x doc + UI fixes) Gronod 2026-05-17 10:06:44 +01:00
  • 121c49b35b docs: update ARCHITECTURE.md and README for 1.0.x fixes Gronod 2026-05-17 10:06:43 +01:00
  • a4004f5e7a fix: progress bar width collapsed by pill display:inline-flex Gronod 2026-05-17 09:56:41 +01:00
  • fd0d5cf6ec fix: progress bar not rendering — replace float:left with position:absolute Gronod 2026-05-17 09:53:55 +01:00
  • 1f293ae70b ui: compact pill layout for detail items; red availability warning Gronod 2026-05-17 09:51:04 +01:00
  • 352118b4af merge: cookie secure fix from release/1.0.0 Gronod 2026-05-17 09:43:11 +01:00
  • e33f1debc0 merge: cookie secure fix from release/1.0.0 Gronod 2026-05-17 09:43:08 +01:00
  • f41d14b2a9 fix: gate cookie secure flag on TRUST_PROXY not NODE_ENV Gronod 2026-05-17 09:42:56 +01:00
  • f5ef2c5991 merge: release/1.0.0 fixes into main Gronod 2026-05-17 09:38:11 +01:00
  • 240fc0d3b6 merge: release/1.0.0 fixes into develop Gronod 2026-05-17 09:38:09 +01:00
  • c3ae3a80de fix: correct upgradeInsecureRequests in index.js (the actual production config) Gronod 2026-05-17 09:36:26 +01:00
  • 94fe0dea4d fix: only emit upgrade-insecure-requests when TRUST_PROXY is set Gronod 2026-05-17 09:34:52 +01:00
  • 3c3382401c fix: remove nonce from <link> tags — breaks CSS on mobile/caching proxies Gronod 2026-05-17 09:28:44 +01:00
  • c86694fc8f release: 1.0.0 v1.0.0 Gronod 2026-05-17 09:19:45 +01:00
  • dcf613446e docs: final 1.0.0 documentation pass Gronod 2026-05-17 09:19:35 +01:00
  • 0d4b169c79 ci: downgrade upload-artifact to v3 (v4+ not supported on Gitea GHES) Gronod 2026-05-17 09:11:18 +01:00
  • 972c1b81ec ci: lower coverage thresholds to match CI numbers after SSE addition Gronod 2026-05-17 09:06:21 +01:00
  • 7ff29b669c fix(ui): status panel empty on login / requires double-click to open Gronod 2026-05-17 09:02:00 +01:00
  • 0dbf0e0899 fix: set timing bar widths via JS DOM assignment after innerHTML Gronod 2026-05-17 08:59:21 +01:00
  • 67a8610843 fix: use CSS custom property for timing bar width to bypass CSP blocking Gronod 2026-05-17 08:55:06 +01:00
  • cafa608e8c fix: allow inline style= attributes via CSP style-src-attr Gronod 2026-05-17 08:53:07 +01:00
  • 35d50fad0a debug: log task timing data in status panel to diagnose full bars Gronod 2026-05-17 08:50:13 +01:00
  • 4af36fc926 fix: correct status panel cache stats and static asset caching Gronod 2026-05-17 08:46:55 +01:00
  • 0ea9b769a3 fix(ui): normalise status panel timing bars against slowest task not totalMs Gronod 2026-05-17 08:38:57 +01:00
  • abdd0da306 feat: replace client polling with Server-Sent Events (SSE) Gronod 2026-05-17 08:35:22 +01:00
  • 80a6d559c9 chore: merge develop into main for v0.2.0 release v0.2.0 release/0.2.0 Gronod 2026-05-17 08:12:31 +01:00
  • 55e4aedfca chore: bump version to 0.2.0 Gronod 2026-05-17 08:12:23 +01:00
  • 82f8fbccae fix(ci): remove per-file coverage thresholds — V8 counts vary across Node versions Gronod 2026-05-17 08:09:37 +01:00
  • 8c829f9651 docs: audit and update all documentation to reflect current codebase Gronod 2026-05-17 08:05:08 +01:00
  • a510fdb83c fix(ci): lower requireAuth.js coverage threshold to match CI Node V8 counting Gronod 2026-05-17 07:52:56 +01:00
  • 5fd55b4e1a test: add comprehensive test suite (115 tests, Vitest + supertest + nock) Gronod 2026-05-17 07:45:33 +01:00
  • cc1e8af761 fix: proxy cover art through server to satisfy CSP img-src 'self' Gronod 2026-05-17 07:24:15 +01:00
  • 251c7376c9 fix: logger.js hardcoded server.log path breaks non-root container user Gronod 2026-05-17 07:21:43 +01:00
  • 8ba1ee4f56 fix: restore missing dotenv dependency Gronod 2026-05-17 07:16:08 +01:00
  • 37c1b64982 fix(docker): replace better-sqlite3 with pure-JS JSON token store Gronod 2026-05-17 07:13:56 +01:00
  • 49327cf9ae fix(docker): switch alpine to node:22-slim for pre-built better-sqlite3 Gronod 2026-05-17 07:10:41 +01:00
  • 898ca9199b fix(docker): compile better-sqlite3 native addon in build stage Gronod 2026-05-17 07:03:06 +01:00
  • 2522bb3514 fix: rebuild package-lock for Node 22; upgrade dev environment Gronod 2026-05-17 07:00:32 +01:00
  • bdbbcabfbc feat(security): production hardening for external deployment Gronod 2026-05-17 06:47:25 +01:00
  • 8eb49f64b6 Merge develop into main for v0.1.5 v0.1.5 release/v0.1.5 Gronod 2026-05-16 17:18:11 +01:00
  • 6b8c215497 chore: bump version to 0.1.5 Gronod 2026-05-16 17:18:05 +01:00
  • 11749a428c fix: splash screen hangs after login, never dismisses Gronod 2026-05-16 17:16:31 +01:00
  • e83afde5ef feat: add 'Keep me logged in' checkbox to login form Gronod 2026-05-16 17:15:28 +01:00
  • 031877e6a0 fix(ci): upgrade nodemon to ^3 to resolve semver ReDoS vulnerability Gronod 2026-05-16 17:11:24 +01:00
  • 663826e295 chore: add COOKIE_SECRET to .env, .env.example, .env.sample Gronod 2026-05-16 17:07:43 +01:00
  • 14de5e4644 fix(security #17): add npm audit to CI pipeline and package scripts Gronod 2026-05-16 16:27:33 +01:00
  • 44cff5bf41 fix(security #15): read API keys from process.env at request time Gronod 2026-05-16 16:26:53 +01:00
  • bdfb042527 fix(security #13,#14): revoke Emby token on logout; stable DeviceId prevents unbounded sessions Gronod 2026-05-16 16:25:05 +01:00
  • b608fa0337 fix(security #12): add helmet security response headers Gronod 2026-05-16 16:23:47 +01:00
  • 1f41114482 fix(security #11): remove unused node-cron dependency Gronod 2026-05-16 16:22:36 +01:00
  • 8fa20c6990 fix(security #10): sanitize error details to prevent API key leakage Gronod 2026-05-16 16:22:11 +01:00
  • d8584d0511 fix(security #7,#8,#9): signed cookies, isAdmin tamper-proof, schema validation Gronod 2026-05-16 16:20:37 +01:00
  • 1eadb30481 fix(security #6): add rate limiting to POST /api/auth/login Gronod 2026-05-16 16:18:34 +01:00
  • 8f96a5f296 fix(security #5): remove plaintext logging of Emby auth response and user object Gronod 2026-05-16 16:17:43 +01:00
  • 6675e5dcfe docs: update architecture docs and diagrams for recent changes Gronod 2026-05-16 15:41:23 +01:00
  • 54647ab7cf feat: add favicon from sofarr-logoonly.png Gronod 2026-05-16 15:34:24 +01:00
  • 8b81f16dac fix: proper multi-user tag badges using full Emby user list Gronod 2026-05-16 15:29:50 +01:00
  • 1f4aa19a72 fix: extractUserTag now correctly finds the tag matching the current user Gronod 2026-05-16 15:24:12 +01:00
  • 43839fd8e3 fix: always show matched user tag badge, not just in showAll mode Gronod 2026-05-16 15:16:44 +01:00
  • 24b7797b60 feat: multi-tag badges for showAll — amber for unmatched, accent for matched Gronod 2026-05-16 15:14:33 +01:00
  • de8563704a security: ensure log files excluded recursively from git and Docker builds (issue #16) Gronod 2026-05-16 15:08:44 +01:00
  • 83049786eb security: fix issues #1-4 from security audit Gronod 2026-05-16 15:07:50 +01:00
  • 2137f65766 Merge develop into main for v0.1.4 v0.1.4 release/0.1.4 Gronod 2026-05-16 14:58:39 +01:00
  • 0ddb7a407e chore: bump version to 0.1.4 Gronod 2026-05-16 14:58:17 +01:00
  • 5ed547579d fix: improve mobile layout and prevent text overflow on small screens Gronod 2026-05-16 14:55:43 +01:00
  • 2bef9f9dee Merge main back into develop (v0.1.3) Gronod 2026-05-16 00:32:24 +01:00
  • fdecdd979b chore: bump version to 0.1.3 release/0.1.3 Gronod 2026-05-16 00:32:05 +01:00
  • e97bd3c67b docs: comprehensive architecture documentation with PlantUML diagrams Gronod 2026-05-16 00:30:38 +01:00
  • 0c8d5d8a4a Revert "perf: split into fast poll + slow-cached library fetches" Gronod 2026-05-16 00:21:46 +01:00
  • 268238215e perf: split into fast poll + slow-cached library fetches Gronod 2026-05-16 00:20:11 +01:00
  • 31ff973eff perf: drop includeSeries/includeMovie from history fetches Gronod 2026-05-16 00:16:31 +01:00
  • 1327c8e466 perf: reduce history page sizes and drop includeEpisode Gronod 2026-05-16 00:14:12 +01:00
  • c10d20d9f5 fix: crash from stale references to removed sonarrSeries/radarrMovies Gronod 2026-05-16 00:11:24 +01:00
  • d50a6fe19c perf: eliminate full Sonarr Series + Radarr Movies library fetches Gronod 2026-05-16 00:05:14 +01:00
  • 6e3a98ae75 feat: status page shows effective refresh mode across all active clients Gronod 2026-05-16 00:00:08 +01:00
  • 57e1db18e2 feat: live-updating status panel with per-task poll timings Gronod 2026-05-15 23:58:10 +01:00
  • c03e4620ea feat: add admin-only status page with cache stats Gronod 2026-05-15 23:52:32 +01:00
  • e5b2fc8ea4 docs: add POLL_INTERVAL to README, .env.sample, and .env.example Gronod 2026-05-15 23:48:46 +01:00
  • 85bac5994e feat: make background polling disablable with on-demand fallback Gronod 2026-05-15 23:46:51 +01:00
  • f28d94d9a3 perf: background poller for near-instant dashboard responses Gronod 2026-05-15 23:42:38 +01:00
  • 1574cce788 perf: reduce history page size from 100 to 20 Gronod 2026-05-15 23:36:43 +01:00
  • b48332f075 perf: persist qBittorrent clients between requests Gronod 2026-05-15 23:35:16 +01:00
  • 3edc98b8d6 perf: cache slow-changing data (series, movies, tags) with 60s TTL Gronod 2026-05-15 23:32:45 +01:00
  • c6b5aaf3de feat: show import-pending red lozenge when Sonarr/Radarr has issues Gronod 2026-05-15 23:23:25 +01:00
  • c0478ed1b2 feat: revise login screen with logo and smooth transition to splash Gronod 2026-05-15 23:16:10 +01:00
  • b146a180d0 feat: add splash screen with logo on app load and after login Gronod 2026-05-15 23:14:16 +01:00
  • bafa03aac2 fix: handle Ombi-mangled tags for email-style usernames Gronod 2026-05-15 21:46:43 +01:00
  • 59b096a60a feat: link series/movie titles to Sonarr/Radarr for admin users Gronod 2026-05-15 21:34:01 +01:00
  • d09b0ab40a fix: show full download path (content_path) for qBittorrent Gronod 2026-05-15 21:29:16 +01:00
  • 137d40affe ci: remove arm builds, amd64 only for now Gronod 2026-05-15 21:14:40 +01:00
  • 84e4201dc1 ci: build develop tag on every push to develop branch Gronod 2026-05-15 21:10:03 +01:00
  • b75cd18580 feat: show download/target paths for admin users Gronod 2026-05-15 21:07:19 +01:00