Commit Graph

  • 2550722446 feat: include version number in server startup message gronod 2026-05-17 17:51:59 +01:00
  • 716d98e531 merge: develop into main for v1.1.1 release v1.1.1 release/1.1.1 gronod 2026-05-17 17:44:09 +01:00
  • 27648c78b3 chore: bump version to 1.1.1 gronod 2026-05-17 17:44:01 +01:00
  • fa72cfb5ec fix: healthcheck respects TLS_ENABLED at runtime gronod 2026-05-17 17:42:55 +01:00
  • b3edd442f5 merge: develop into main for v1.1.0 release v1.1.0 release/1.1.0 gronod 2026-05-17 17:31:47 +01:00
  • e4be334ad4 chore: bump version to 1.1.0 gronod 2026-05-17 17:31:26 +01:00
  • bdd78407bb fix: use --surface for episode tooltip background (--card-bg was undefined) gronod 2026-05-17 17:27:13 +01:00
  • 37c8229061 fix: read episodeNumber from nested episode object in Sonarr records gronod 2026-05-17 17:19:39 +01:00
  • d1496a76e2 feat: show episode info on download and history cards gronod 2026-05-17 17:03:23 +01:00
  • 80d43fbaa8 Merge pull request 'feat: Recently Completed downloads history, tab UI, and light theme refresh' (#7) from develop into main Gandalf 2026-05-17 13:55:07 +01:00
  • c1fb55c5b8 merge: resolve ARCHITECTURE.md conflict, keep develop version (Mermaid + history docs) gronod 2026-05-17 13:49:50 +01:00
  • 742f34f6eb ci: remove v2-develop branch from build pipeline gronod 2026-05-17 13:25:50 +01:00
  • 2b089871a0 design(light-theme): replace purple scheme with logo-aligned teal palette, WCAG AA compliant gronod 2026-05-17 13:12:58 +01:00
  • e8ffd7f7dd feat(ui): split downloads and history into tabs gronod 2026-05-17 13:09:01 +01:00
  • dd7e3e2a90 fix(history): add tagBadges to history items in showAll mode gronod 2026-05-17 13:05:23 +01:00
  • 557137421d fix(history): reload history when showAll toggle changes gronod 2026-05-17 13:02:15 +01:00
  • 71880c6298 ci: add v2-develop branch to build pipeline (tags as sofarr:v2-develop) gronod 2026-05-17 12:50:23 +01:00
  • 6b995a136d chore: remove legacy .env.example (superseded by .env.sample) gronod 2026-05-17 12:06:38 +01:00
  • fa3c625fb8 docs: update ARCHITECTURE.md and README for history feature (v2) gronod 2026-05-17 12:05:53 +01:00
  • 57b3254f70 test(history): add unit and integration tests for historyFetcher and /api/history/recent gronod 2026-05-17 12:05:45 +01:00
  • eb321312dc feat(history): add Recently Completed section to frontend dashboard gronod 2026-05-17 12:05:39 +01:00
  • ddcfbda0c2 feat(history): add /api/history/recent endpoint with Sonarr/Radarr history fetching, tag filtering, and 5-min cache gronod 2026-05-17 12:05:30 +01:00
  • ffd9e84a00 docs: merge Mermaid diagram migration from develop gronod 2026-05-17 12:04:00 +01:00
  • 2a674c6bcd docs: replace ASCII art diagrams with Mermaid (renders natively in Gitea) gronod 2026-05-17 12:03:49 +01:00
  • da0898f52a feat: native HTTPS support with bundled snakeoil default cert gronod 2026-05-17 10:50:38 +01:00
  • 5d7b126c5e Diagrams etc. (#5) Gandalf 2026-05-17 10:47:50 +01:00
  • 224ec33a14 docs: migrate all diagrams from PlantUML to Mermaid gronod 2026-05-17 10:37:35 +01:00
  • cc8de12740 ci: render PlantUML diagrams [skip ci] gitea-actions[bot] 2026-05-17 09:31:59 +00:00
  • a05aaf8d71 fix(diagrams): replace par/and/end with group in seq-polling gronod 2026-05-17 10:28:46 +01:00
  • 9751dbf98d docs(diagrams): review + fix all .puml files; touch all to trigger render gronod 2026-05-17 10:20:52 +01:00
  • 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