-
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