This website requires JavaScript.
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