Commit Graph
168 Commits
Author SHA1 Message Date
zwitschi d8cf853842 chore(release): 1.1.0
Release / release (push) Successful in 1m15s
CI / test (push) Successful in 2m53s
CI / docker (push) Successful in 2m0s
- playout: run-scoped R2 manifest URIs (candidate a rewrite via rewriteManifestToRun)
- tests: playlist_rewrite_test.go (rewrite + publish integration + slate guard)
- docs: STREAMING, cloudflare-workers-setup, architecture (incl. Level-2 diagram)
- release housekeeping: TODO->DONE, CHANGELOG 1.1.0, version bump
1.1.0
2026-09-03 09:27:38 +02:00
zwitschi 8c5e70959b feat(cloudflare): add linearvoid-media edge worker for R2 HLS delivery
Replace the ad-hoc `worker.js` with a self-contained `linearvoid-media`
worker under `infrastructure/cloudflare/` that owns `media.linearvoid.tv`.
It serves HLS objects from the R2 bucket, enforcing immutable Cache-Control
on segments, a short TTL on live manifests, plus HLS CORS, OPTIONS
preflight, Range support, and a `/health` probe. Includes wrapper config
with production domain, Vitest unit tests, Miniflare R2 integration tests,
automated deploy workflow, and docs updates.
2026-09-03 08:52:31 +02:00
zwitschi 5f1f796a20 chore(cd): publish nginx on port 8082 to avoid Coolify port conflicts
CI / test (push) Successful in 3m4s
CI / docker (push) Successful in 34s
2026-09-02 21:07:06 +02:00
zwitschi 11d48c8e0d chore(env): update PLAYOUT_PORT to 8081 and normalize line endings
CI / test (push) Successful in 3m3s
CI / docker (push) Successful in 24s
2026-09-02 20:59:57 +02:00
zwitschi 242fc8da67 chore(env): update PLAYOUT_PORT to 8081 and normalize line endings 2026-09-02 20:38:22 +02:00
zwitschi 33b6296c5e Refactor load testing scripts to support Bash and PowerShell
CI / test (push) Successful in 2m50s
CI / docker (push) Successful in 5m12s
- Updated README.md to reflect changes in load testing commands and added usage examples for Bash scripts.
- Converted PowerShell load testing scripts to Bash equivalents for better cross-platform compatibility.
- Added new Bash scripts: run-loadtests.sh, summarize-artillery.sh, and summarize-k6.sh to mirror existing PowerShell functionality.
- Updated admin-api.js and ws-chat.yml for consistency and improved performance metrics reporting.
- Enhanced error handling and output formatting in summary scripts for better readability.
2026-09-02 19:47:34 +02:00
zwitschi 9f60087a4c feat(docs): add Coolify deployment guide and integrate into setup documentation
CI / test (push) Successful in 1m39s
CI / docker (push) Successful in 5m25s
feat(scripts): add environment verification scripts for deployment checks
2026-08-30 20:00:28 +02:00
zwitschi 474da7418e fix(frontend): consolidate chat sidebar and modal auth flow
CI / test (push) Successful in 1m55s
CI / docker (push) Successful in 28s
2026-08-16 13:40:16 +02:00
zwitschi d267173e30 fix(admin): render service health details as structured HTML
CI / test (push) Successful in 1m32s
CI / docker (push) Successful in 33s
2026-08-16 11:57:58 +02:00
zwitschi e7bff8b9c0 fix(admin): render service health details as structured HTML
CI / test (push) Successful in 1m53s
CI / docker (push) Successful in 36s
2026-08-16 11:12:21 +02:00
zwitschi 9a0511b36b fix(admin): use absolute API URL for cross-origin admin fetches
CI / test (push) Successful in 1m39s
CI / docker (push) Successful in 33s
2026-08-16 10:44:01 +02:00
zwitschi c2f9f9ed62 perf(playout): parallelize playlist validation with dedup and worker pool
CI / test (push) Successful in 1m52s
CI / docker (push) Successful in 55s
2026-08-16 10:30:15 +02:00
zwitschi bde3dc3a46 fix(infrastructure): add nginx map_hash_bucket_size directive for CORS origin map
CI / test (push) Successful in 1m40s
CI / docker (push) Successful in 33s
2026-08-16 09:59:35 +02:00
zwitschi 21a70dcf0f fix(ops): increase post-deploy service stabilization wait from 20s to 30s
CI / test (push) Successful in 1m40s
CI / docker (push) Successful in 1m51s
2026-08-16 09:49:18 +02:00
zwitschi 4fe09a0a3d fix(auth): set SameSite=None for viewer session cookie over HTTPS and update docs 2026-08-16 09:45:58 +02:00
zwitschi 85454610f4 fix(infrastructure): add dynamic CORS origin mapping and preflight handling for admin API endpoints
CI / test (push) Successful in 1m31s
CI / docker (push) Successful in 25s
2026-08-16 09:41:06 +02:00
zwitschi 5585a6ecc3 fix(frontend): prefix auth API requests with VITE_PUBLIC_APP_URL for cross-origin Workers hosting
CI / test (push) Successful in 1m32s
CI / docker (push) Successful in 54s
2026-08-16 09:26:35 +02:00
zwitschi 53a0c3c825 fix(ops): increase playout health check retry interval from 5s to 10s 2026-08-16 08:59:30 +02:00
zwitschi 9e56ff7859 feat(ops): replace Cloudflare Pages with Workers for frontend hosting
CI / test (push) Successful in 2m55s
CI / docker (push) Successful in 46s
2026-08-16 08:17:23 +02:00
zwitschi 9ac1a8b79d fix(chat): use configured API base URL and include credentials for auth and DM search fetch calls 2026-08-16 07:47:51 +02:00
zwitschi 6950bba85d feat(playout): replace time-based R2 retention with run-count and size caps
CI / test (push) Successful in 1m33s
CI / docker (push) Successful in 51s
2026-08-15 18:59:26 +02:00
zwitschi 06b277e9c1 docs: reorganize TODO, DONE, and BACKLOG task tracking
CI / test (push) Successful in 1m44s
CI / docker (push) Successful in 2m22s
2026-08-15 18:21:52 +02:00
zwitschi 1cc44282bc docs: clean up TODO and DONE, updating BACKLOG 2026-08-15 16:36:17 +02:00
zwitschi b6705e6dbd fix(chat): prevent stale websocket close handler from triggering reconnect loop 2026-08-15 16:28:32 +02:00
zwitschi cef002862e feat(chat): add transient presence flash and 5s reconnect grace period
CI / test (push) Successful in 1m33s
CI / docker (push) Successful in 2m10s
2026-08-13 20:45:52 +02:00
zwitschi 4eb88a4594 fix(frontend): reduce system message font size and padding
CI / test (push) Successful in 1m38s
CI / docker (push) Successful in 30s
2026-08-13 18:54:25 +02:00
zwitschi 9cf3956c28 fix(frontend): add chat log table class and compact filter/table styles 2026-08-13 18:52:36 +02:00
zwitschi a15a9f2df0 refactor(frontend): standardize HTML formatting and update font families
CI / test (push) Successful in 1m42s
CI / docker (push) Successful in 32s
2026-08-13 18:40:03 +02:00
zwitschi 76397d52d7 fix(frontend): restore chat DOM structure and guard addMessage against null
CI / test (push) Successful in 1m39s
CI / docker (push) Successful in 49s
2026-08-13 14:57:18 +02:00
zwitschi 70a5159f81 fix(backend): serialize SQLite test connections and await async normalize
CI / test (push) Successful in 1m44s
CI / docker (push) Successful in 2m45s
2026-08-13 13:40:03 +02:00
zwitschi 568112b85a test(frontend): simplify fetch mock signatures in auth tests
CI / test (push) Failing after 2m49s
CI / docker (push) Skipped
2026-08-13 13:24:56 +02:00
zwitschi 02ff53229c test(frontend): expand admin and viewer test coverage for auth, typing, reconnect, and playlist badges 2026-08-13 13:22:08 +02:00
zwitschi 68a4d35334 chore: update todo list 2026-08-13 13:14:39 +02:00
zwitschi 7afab6658b chore: bump version to 1.0.13
CI / test (push) Failing after 13s
CI / docker (push) Skipped
2026-08-13 13:12:35 +02:00
zwitschi 121fdbacdc feat: runtime config, Matomo analytics, chat accounts, DM history/search, and Prometheus retention 2026-08-13 13:12:35 +02:00
zwitschi 06ab5b4655 feat: add automatic media normalization, R2 retention cleanup, and seamless playout loops 2026-08-13 11:59:46 +02:00
zwitschi e15d89edfe fix(playout): differentiate FFmpeg crashes from clean exits and enrich health metrics
CI / test (push) Successful in 1m44s
CI / docker (push) Successful in 56s
2026-08-12 14:26:18 +02:00
zwitschi 044851a43e Add Grafana dashboards for monitoring various services
- Created a new dashboard for NGINX monitoring with panels for status, active connections, request rates, and connection drop ratio.
- Added a Node dashboard to monitor CPU usage, memory usage, disk I/O, and network traffic.
- Introduced a Playout dashboard to track service status, mode, FFmpeg restarts, and scrape duration.
- Implemented a PostgreSQL dashboard featuring active connections, database size, transaction rates, and cache hit ratio.
- Developed a Prometheus dashboard to visualize scrape duration, targets status, and rule evaluation metrics.
- Established a Redis dashboard to monitor connected clients, memory usage, command latency, and keyspace statistics.
2026-08-12 13:55:23 +02:00
zwitschi 926d70dc3c fix: rename R2 object key prefix from live/ to hls/ for consistency
CI / test (push) Successful in 1m37s
CI / docker (push) Successful in 48s
2026-08-11 17:21:53 +02:00
zwitschi cca8d77325 chore: bump version to 1.0.12
CI / test (push) Successful in 1m40s
CI / docker (push) Successful in 19s
Release / release (push) Successful in 22s
1.0.12
2026-08-11 15:57:10 +02:00
zwitschi 528a7fffc0 chore: remove obsolete DEVELOPMENT.md and consolidate task tracking docs 2026-08-11 15:54:00 +02:00
zwitschi 3742859489 docs: align CD env vars with deployment guide and add gitea secrets reference
CI / test (push) Successful in 1m38s
CI / docker (push) Successful in 25s
2026-08-11 15:01:55 +02:00
zwitschi 27c74f1663 chore: move feature list from TODO to BACKLOG and reorg admin/chat analytics items
CI / test (push) Successful in 3m45s
CI / docker (push) Successful in 1m8s
2026-08-11 14:46:58 +02:00
zwitschi 2a718e4652 fix: guard all R2 operations behind nil client checks for local dev support 2026-08-11 14:46:50 +02:00
zwitschi 1019972e25 docs: fix filename typo and add Cloudflare Pages deploy details across docs 2026-08-11 11:10:33 +02:00
zwitschi 7be66a703c docs: update gitea-cloudflare pages deploy snippet to inline manifest as form arg
CI / test (push) Successful in 1m31s
CI / docker (push) Successful in 20s
2026-08-10 21:35:37 +02:00
zwitschi 4d627e13b9 fix: inline manifest JSON into form args instead of uploading as separate file 2026-08-10 21:35:02 +02:00
zwitschi c0356a26f6 chore: add debug logging for Cloudflare Pages deploy form arguments
CI / test (push) Successful in 1m30s
CI / docker (push) Successful in 21s
2026-08-10 21:22:30 +02:00
zwitschi 4aac5f9009 fix: remove explicit multipart content-type header from Cloudflare Pages deploy step
CI / test (push) Successful in 1m49s
CI / docker (push) Successful in 23s
2026-08-10 21:18:03 +02:00
zwitschi af2e94aa46 fix: switch Cloudflare Pages deploy from tar+octet-stream to multipart+manifest API
CI / test (push) Successful in 1m49s
CI / docker (push) Successful in 21s
2026-08-10 21:11:00 +02:00