zwitschi
6b9830de05
feat: add comprehensive Streaming Pipeline documentation
CI / docker (push) Successful in 23s
CD / deploy (push) Successful in 2m24s
CI / test (push) Successful in 1m45s
2026-08-08 14:41:10 +02:00
zwitschi
914a518f20
fix: downgrade Go version to 1.25.0 in playout go.mod
CD / deploy (push) Successful in 45s
CI / test (push) Successful in 1m42s
CI / docker (push) Successful in 1m39s
2026-08-07 17:31:58 +02:00
zwitschi
8064e459f2
fix: playout Dockerfile use existing go.mod instead of init
CI / test (push) Successful in 1m43s
CI / docker (push) Failing after 24s
CD / deploy (push) Successful in 1m1s
2026-08-07 16:24:21 +02:00
zwitschi
587561f9fc
fix: data race in PushChatHistory WebSocket writes
CD / deploy (push) Successful in 57s
CI / test (push) Successful in 1m34s
CI / docker (push) Failing after 25s
2026-08-07 16:20:14 +02:00
zwitschi
887023a491
fix: remove unused panel variable in main.test.ts
CD / deploy (push) Successful in 50s
CI / test (push) Failing after 1m38s
CI / docker (push) Skipped
2026-08-07 16:12:17 +02:00
zwitschi
994c433fc8
chore: bump version to 1.0.10
Release / release (push) Failing after 27s
CD / deploy (push) Successful in 45s
CI / test (push) Failing after 8s
CI / docker (push) Skipped
2026-08-07 16:06:59 +02:00
zwitschi
6632df0bc7
test(frontend): add vitest test suite and apply code formatting
2026-08-07 16:05:02 +02:00
zwitschi
e4ffa0b356
feat: adding formatter
2026-08-07 16:04:00 +02:00
zwitschi
e8a43b8a79
test(chat,playout): enable test suite, coverage gate, switch to pure-Go SQLite driver
2026-08-07 14:06:30 +02:00
zwitschi
b3a10ba3ef
refactor: modularize chat backend, update docs for .m4s segments
2026-08-07 13:16:44 +02:00
zwitschi
46e878bef6
chore: update URL to linearvoid.tv
2026-08-07 09:42:39 +02:00
zwitschi
39cca5d235
fix: adding MEMORY.md to gitignore
2026-08-07 09:42:16 +02:00
zwitschi
2ed89760d6
docs: align CI/CD and release policy wording
CI / test (push) Successful in 51s
CD / deploy (push) Successful in 58s
CI / docker (push) Successful in 21s
2026-08-07 09:14:32 +02:00
zwitschi
a8df164cc2
fix: seed correct monitoring volumes and verify monitoring deployment
CD / deploy (push) Successful in 2m16s
CI / test (push) Successful in 2m48s
CI / docker (push) Successful in 37s
2026-08-07 09:01:12 +02:00
zwitschi
0a8221cf83
fix: ignore reorg
2026-08-07 08:58:29 +02:00
zwitschi
e7fc921d6a
fix: force-recreate containers on deploy to pick up volume changes
Release / release (push) Successful in 33s
CI / test (push) Successful in 55s
CI / docker (push) Successful in 26s
CD / deploy (push) Successful in 47s
2026-08-06 22:42:08 +02:00
zwitschi
04bb783a12
fix: docker login on remote host before pull private images
CD / deploy (push) Successful in 50s
CI / test (push) Successful in 58s
Release / release (push) Successful in 36s
CI / docker (push) Successful in 25s
2026-08-06 22:22:27 +02:00
zwitschi
68bd241f2c
fix: use named volume for prometheus config, populate on remote host
Release / release (push) Successful in 29s
CI / test (push) Successful in 53s
CI / docker (push) Successful in 22s
CD / deploy (push) Failing after 10s
2026-08-06 22:13:24 +02:00
zwitschi
4c02ab9d55
fix: parallel CD trigger, remove env blocker, cleanup release pipeline
CD / deploy (push) Failing after 10s
CI / test (push) Successful in 52s
CI / docker (push) Successful in 21s
Release / release (push) Successful in 26s
2026-08-06 22:01:29 +02:00
zwitschi
74bf7e19db
chore: add BACKLOG.md to gitignore
2026-08-06 21:45:50 +02:00
zwitschi
92e074b6d0
chore: remove BACKLOG.md
Release / release (push) Successful in 25s
2026-08-06 21:39:25 +02:00
zwitschi
a70bad1528
chore: release v1.0.9 - monitoring provisioning + cleanup tracking files
CI / test (push) Successful in 56s
Release / release (push) Successful in 3m20s
CI / release (push) Skipped
CI / docker (push) Successful in 2m52s
2026-08-06 21:28:53 +02:00
zwitschi
b47f2621e1
docs: update backlog
2026-08-06 20:46:54 +02:00
zwitschi
7244c1d658
feat: enhance chat service with Redis pub/sub for multi-instance message handling, add instance ID for deduplication
2026-08-06 20:44:29 +02:00
zwitschi
d991d6b6c7
chore: changelog 1.0.8 — doc polish
CI / test (push) Successful in 51s
CI / docker (push) Successful in 22s
CI / release (push) Skipped
2026-08-06 20:01:11 +02:00
zwitschi
db3bf96847
docs: complete API error codes, deploy troubleshooting, monitoring/security rewrite, L2+L3 building blocks
2026-08-06 20:00:45 +02:00
zwitschi
0f81a81029
feat: monitoring exporters, alerting, rate limiting, backups, incident runbook
...
CI / docker (push) Successful in 2m22s
CI / release (push) Skipped
CI / test (push) Successful in 58s
- Add 4 Prometheus exporters: nginx (9113), redis (9121), postgres (9187), node (9100)
- Create 8 alerting rules in monitoring/prometheus/alerts.yml
- Update prometheus.yml with all scrape targets + rule_files
- WS connection rate limiting: max 5/IP/60s (Redis INCR)
- Admin login rate limiting: max 5/IP/5min (Redis INCR)
- 3 backup scripts: daily to R2 (14d), weekly full (8w), verify with restore test
- docs/incident-runbook.md with 5-tier triage + escalation
- Update CD workflow: full prometheus config + alerts seeding
2026-08-06 19:31:40 +02:00
zwitschi
b5710548b1
fix: botched edit
CI / test (push) Successful in 2m21s
CI / docker (push) Successful in 3m2s
CI / release (push) Skipped
Release / release (push) Successful in 26s
2026-08-06 18:08:23 +02:00
zwitschi
d2e5b64ece
fix: chat build syntax errors, disable GitHub cache on Gitea runner
...
CI / test (push) Failing after 57s
CI / docker (push) Skipped
CI / release (push) Skipped
- Fix 3 orphaned function bodies in main.go (handleAdminSchedule,
handleAdminSystemSummary, probeMediaDurationSeconds) caused by
insertions that split function headers from bodies
- Remove cache: true from setup-go and cache: npm from setup-node
(Gitea runner times out 135s trying to reach GitHub cache API)
- Add go vet ./... step replacing placeholder echo
- Remove || echo fallback from lint (tsc --noEmit is working)
2026-08-06 18:01:34 +02:00
zwitschi
5b5cdc4cd8
chore: release v1.0.7
...
CI / test (push) Successful in 9m11s
CI / docker (push) Failing after 2m39s
CI / release (push) Skipped
Release / release (push) Canceled after 2m11s
Playout: slate fallback, strict ffprobe validation, Prometheus metrics
Chat: history on join, DM offline delivery, env-config rate limits,
Redis auto-reconnect, heartbeat, ban/mute enforcement, DM metrics
Viewer: presence indicators, schedule overlay, public /api/schedule
Admin: playlist drag-reorder, schedule overrides CRUD, user actions,
inline mod buttons, CSV export, config editor, restart buttons,
upload normalization gate, analytics time range
nginx: CORS preflight, JSON health, stub_status
Docs: test-lab vs production distinction across all configs/docs
Infra: Redis maxmemory, CD health IP-agnostic, slate volume mount
2026-08-06 17:41:52 +02:00
zwitschi
17ac04856b
feat: redesign color system to monochrome palette with sharp corners
Release / release (push) Successful in 1m0s
CI / test (push) Successful in 11m6s
CI / docker (push) Successful in 41s
CI / release (push) Skipped
2026-08-05 17:26:30 +02:00
zwitschi
69df0e51b8
release version 1.0.6
CI / test (push) Successful in 9m23s
CI / docker (push) Successful in 3m14s
CI / release (push) Skipped
2026-08-05 17:09:03 +02:00
zwitschi
9a06dc389d
feat: update css with new color scheme
CI / test (push) Successful in 7m11s
CI / docker (push) Successful in 51s
CI / release (push) Skipped
2026-08-05 16:31:18 +02:00
zwitschi
51f3e98816
feat: CI pipeline improvements
...
CI / test (push) Successful in 7m17s
CI / docker (push) Successful in 7m49s
CI / release (push) Skipped
- remove image build duplication
- update workflows to use caching
2026-08-05 16:10:15 +02:00
zwitschi
68ba3a25b9
fix: deployment health check
CI / test (push) Successful in 1m52s
CI / docker (push) Successful in 3m20s
CI / release (push) Skipped
2026-08-05 12:44:40 +02:00
zwitschi
7e9308c48a
fix: move admin pages
CI / test (push) Successful in 10m45s
CI / docker (push) Successful in 3m20s
CI / release (push) Skipped
2026-08-05 12:18:44 +02:00
zwitschi
21a34a4bd5
Release version 1.0.5
...
CI / test (push) Successful in 10m42s
CI / release (push) Skipped
CI / docker (push) Successful in 4m43s
Chat Message Admin Improvements: 3 API endpoints, 9 page HTML split, chat-log UI with delete/confirm/pagination/filter/bulk delete
CI/CD Improvements: Go cache fix, lint script, Vite env cleanup, chat start_period 30s, nginx health check, log dump on fail
2026-08-05 11:44:46 +02:00
zwitschi
ee16441b79
docs: update agent instructions
2026-08-05 11:29:52 +02:00
zwitschi
74133ec589
feat: add chat log admin management and refactor admin panel to lazy-load tab content
2026-08-05 11:29:11 +02:00
zwitschi
f650a3a94e
docs: enhance architecture documentation with detailed sections on requirements, quality goals, context, and scaling strategy
2026-08-05 10:20:33 +02:00
zwitschi
c10d98f3b4
Refactor code structure for improved readability and maintainability
CI / test (push) Successful in 3m51s
CI / docker (push) Successful in 6m16s
CI / release (push) Skipped
2026-08-04 21:19:49 +02:00
zwitschi
207401b5fb
docs: expand architecture documentation with scaling strategy, API surface reference, and video normalization spec
2026-08-04 20:57:33 +02:00
zwitschi
d4d7806189
feat: implement dark mode theme and refactor viewer layout for improved responsiveness
2026-08-04 20:51:22 +02:00
zwitschi
497f7743f2
fix: increase nginx client_max_body_size for resumable admin uploads
CI / test (push) Successful in 1m39s
CI / docker (push) Successful in 4m27s
CI / release (push) Skipped
2026-08-04 20:35:24 +02:00
zwitschi
2c06265d11
feat: implement resumable chunked media upload with progress indicators in admin UI
CI / test (push) Successful in 1m38s
CI / docker (push) Successful in 3m11s
CI / release (push) Skipped
2026-08-04 20:21:53 +02:00
zwitschi
930cdfdff9
chore: moving AGENTS.md to parent folder
2026-08-04 19:52:58 +02:00
zwitschi
ab3fab3e68
fix: minor optimization of build
2026-08-04 19:49:07 +02:00
zwitschi
dd5789fcd9
feat: implement lazy loading for hls.js and enhance video player initialization
CI / test (push) Successful in 6m9s
CI / docker (push) Successful in 3m11s
CI / release (push) Skipped
2026-08-04 19:43:39 +02:00
zwitschi
fca4286d87
Refactor frontend: Enhance chat UI and player initialization
...
- Updated main.ts to streamline player and chat initialization, removing Alpine.js dependency.
- Improved message rendering with new CSS classes for better styling and layout.
- Added a function to simulate "now playing" titles at regular intervals.
- Revamped style.css with a new design system using CSS variables for better maintainability.
- Removed tailwind.config.js as Tailwind CSS is no longer used.
2026-08-04 19:36:11 +02:00
zwitschi
7cfddfc7ef
feat: enhance media management with CRUD operations and runtime tracking in admin UI
CI / test (push) Successful in 1m39s
CI / docker (push) Successful in 3m9s
CI / release (push) Skipped
2026-08-04 19:28:23 +02:00
zwitschi
47740e3f4a
debug: adding debug output to workflow
CI / test (push) Successful in 1m36s
CI / release (push) Skipped
CI / docker (push) Successful in 3m4s
2026-08-04 18:04:37 +02:00
zwitschi
693b4a42f6
fix: improve CI workflows and README documentation
2026-08-04 16:58:05 +02:00
zwitschi
8f1e227d50
fix: Dockerfile parameter
CI / test (push) Successful in 1m35s
CI / docker (push) Successful in 3m12s
CI / release (push) Skipped
2026-08-04 13:44:00 +02:00
zwitschi
0891606321
fix: context
CI / test (push) Successful in 1m35s
CI / docker (push) Successful in 2m46s
CI / release (push) Skipped
2026-08-04 13:17:13 +02:00
zwitschi
c6f28ff7af
fix: rearrange steps again
CI / test (push) Successful in 1m35s
CI / docker (push) Failing after 30s
CI / release (push) Skipped
2026-08-04 13:00:23 +02:00
zwitschi
072a91961f
fix: rearrange steps again
CI / test (push) Successful in 6m3s
CI / docker (push) Failing after 28s
CI / release (push) Skipped
2026-08-04 12:51:34 +02:00
zwitschi
7184240dd4
fix: move copy step up
CI / test (push) Successful in 1m34s
CI / docker (push) Failing after 15s
CI / release (push) Skipped
2026-08-04 12:46:47 +02:00
zwitschi
9cd0419c0c
fix: only one media folder
CI / test (push) Successful in 6m5s
CI / docker (push) Failing after 1m52s
CI / release (push) Skipped
2026-08-04 12:37:11 +02:00
zwitschi
d3266f8feb
fix: reorder copy steps
CI / test (push) Successful in 1m36s
CI / docker (push) Failing after 29s
CI / release (push) Skipped
2026-08-04 12:33:05 +02:00
zwitschi
b532507374
fix: adjust copy
CI / test (push) Successful in 1m32s
CI / docker (push) Failing after 15s
CI / release (push) Skipped
2026-08-04 12:27:44 +02:00
zwitschi
5c1a8cbe4f
reorder copy steps
CI / test (push) Successful in 1m40s
CI / docker (push) Failing after 24s
CI / release (push) Skipped
2026-08-04 12:19:17 +02:00
zwitschi
502fefff33
fix: move demodata into playout build context, revert root media changes
CI / test (push) Successful in 1m30s
CI / docker (push) Failing after 30s
CI / release (push) Skipped
2026-08-04 12:10:38 +02:00
zwitschi
bc3a950d99
fix: use repo root as build context for playout to include demodata
CI / test (push) Failing after 13s
CI / docker (push) Skipped
CI / release (push) Skipped
2026-08-04 12:01:03 +02:00
zwitschi
1af9e59a56
rename data directory for initial demo data
CI / test (push) Failing after 2m26s
CI / docker (push) Skipped
CI / release (push) Skipped
2026-08-04 11:54:44 +02:00
zwitschi
13d25a7ae0
remove empty line
CI / test (push) Failing after 16s
CI / release (push) Skipped
CI / docker (push) Skipped
2026-08-04 11:49:49 +02:00
zwitschi
fc799da000
copy full folder instead of playlist.txt
CI / test (push) Failing after 2m25s
CI / docker (push) Skipped
CI / release (push) Skipped
2026-08-04 11:46:21 +02:00
zwitschi
2b091adce8
move demo-data to its own folder
CI / test (push) Failing after 2m24s
CI / docker (push) Skipped
CI / release (push) Skipped
2026-08-04 11:40:22 +02:00
zwitschi
c54210434e
feat: bundle demo media and playlist in playout image for out-of-the-box HLS
CI / test (push) Failing after 2m30s
CI / docker (push) Skipped
CI / release (push) Skipped
2026-08-04 11:34:20 +02:00
zwitschi
fcb68cfd8d
fix: add curl to chat runtime image for healthcheck
CI / test (push) Successful in 1m39s
CI / docker (push) Successful in 3m9s
CI / release (push) Skipped
2026-08-04 11:00:49 +02:00
zwitschi
cdecdd2d4a
fix: add curl to chat runtime image for healthcheck
2026-08-04 11:00:00 +02:00
zwitschi
47ffae5dea
fix: make playlist volume rw so playout can create demo playlist
CD / deploy (push) Successful in 37s
CI / test (push) Successful in 6m2s
CI / docker (push) Successful in 2m54s
CI / release (push) Skipped
2026-08-04 10:30:02 +02:00
zwitschi
43c1a31660
fix: nginx build context, playout health check retry loop
CI / test (push) Successful in 1m39s
CI / docker (push) Successful in 3m4s
CI / release (push) Skipped
CD / deploy (push) Failing after 1m17s
2026-08-04 10:21:18 +02:00
zwitschi
afb9a41404
fix: use docker exec for playout health check in CD workflow
CI / docker (push) Failing after 2m42s
CI / release (push) Skipped
CD / deploy (push) Failing after 23s
CI / test (push) Successful in 6m6s
2026-08-04 10:12:38 +02:00
zwitschi
1f2082e0fb
fix: use named volume for prometheus config, seed in CD workflow
CD / deploy (push) Failing after 26s
CI / test (push) Successful in 6m2s
CI / docker (push) Failing after 2m41s
CI / release (push) Skipped
2026-08-04 10:05:59 +02:00
zwitschi
7ce6a24a77
reinstated indentation for env
CD / deploy (push) Failing after 25s
CI / test (push) Successful in 5m59s
CI / docker (push) Failing after 2m43s
CI / release (push) Skipped
2026-08-04 09:45:58 +02:00
zwitschi
450a93150c
ci: fix indentation in .env generation step of CD workflow
CI / test (push) Successful in 6m4s
CI / docker (push) Failing after 3m6s
CI / release (push) Skipped
2026-08-04 09:08:52 +02:00
zwitschi
dc53bce6c9
ci: remove GitHub Actions cache configuration from Docker build steps
CD / deploy (push) Failing after 1m8s
CI / test (push) Successful in 7m49s
CI / docker (push) Failing after 2m49s
CI / release (push) Skipped
2026-08-04 08:59:45 +02:00
zwitschi
32f2b7c7ab
ci: use ubuntu-latest runner for docker and release jobs
CD / deploy (push) Failing after 1m54s
CI / test (push) Successful in 1m59s
CI / docker (push) Failing after 3m41s
CI / release (push) Skipped
2026-08-04 08:24:12 +02:00
zwitschi
72422f4336
feat: add Prometheus and Grafana configurations and document Alpine Docker setup
CD / deploy (push) Failing after 34s
CI / test (push) Successful in 1m40s
CI / docker (push) Canceled after 0s
CI / release (push) Canceled after 0s
2026-08-03 22:02:09 +02:00
zwitschi
78508ed16e
ci: configure CD workflow to deploy to remote Docker host and document test environment
CI / test (push) Successful in 1m33s
CD / deploy (push) Failing after 15s
CI / docker (push) Canceled after 0s
CI / release (push) Canceled after 0s
2026-08-03 19:57:58 +02:00
zwitschi
8fd80c1a4c
ci: generate production .env dynamically in CD workflow and update secrets documentation
CI / test (push) Successful in 1m59s
CD / deploy (push) Failing after 16s
CI / docker (push) Canceled after 0s
CI / release (push) Canceled after 0s
2026-08-03 19:37:35 +02:00
zwitschi
5fc9bc6191
build: integrate frontend build into Nginx Dockerfile, remove separate frontend image
CD / deploy (push) Failing after 1m38s
CI / test (push) Successful in 2m7s
CI / docker (push) Canceled after 0s
CI / release (push) Canceled after 0s
2026-08-03 19:17:53 +02:00
zwitschi
3c2b29ad26
refactor: rename Gitea environment variables to CI registry prefix
...
CI / test (push) Successful in 1m36s
CI / docker (push) Canceled after 0s
CI / release (push) Canceled after 0s
CD / deploy (push) Failing after 17s
update SETUP.md and .env.example
2026-08-03 19:02:30 +02:00
zwitschi
6b494a34fe
feat: add admin login page and authentication API
...
CI / test (push) Successful in 1m54s
CI / docker (push) Canceled after 0s
CI / release (push) Canceled after 0s
CD / deploy (push) Failing after 27s
- Created a new login page for admin access at frontend/admin/login/index.html.
- Implemented form submission with error handling for login credentials.
- Updated frontend/index.html to mute the video player and removed unnecessary Alpine.js data binding.
- Enhanced manifest URL resolution in frontend/src/main.ts to include cache-busting parameters.
- Modified vite.config.ts to include the new admin login page in the build process.
- Updated nginx.conf to handle admin login routing, authentication, and API proxying for admin actions.
2026-08-03 17:19:05 +02:00
zwitschi
1ae0ad121b
update environment configuration for local development, enhance database initialization, and improve Nginx routing for admin access
2026-08-03 14:26:11 +02:00
zwitschi
2e061dff28
update environment configuration, enhance setup guide, and align documentation with new domain structure
2026-08-03 14:09:51 +02:00
zwitschi
c484b463e3
add brand research documentation for "Linear Void" trademark and SEO strategy
2026-08-03 14:09:02 +02:00
zwitschi
3fbd0b7ba2
switch CI/CD workflows to use GitHub-hosted runners
CD / deploy (push) Failing after 34s
CI / test (push) Failing after 55s
CI / docker (push) Skipped
CI / release (push) Skipped
2026-08-02 18:19:02 +02:00
zwitschi
80c1f4acce
update CI/CD workflows, fix YAML formatting, and enhance documentation with ADR references
CI / test (push) Canceled after 0s
CI / docker (push) Canceled after 0s
CI / release (push) Canceled after 0s
CD / deploy (push) Canceled after 0s
2026-08-02 18:17:08 +02:00
zwitschi
6995763ccb
add CI/CD workflows, production docker-compose, and update dev compose with Gitea registry and monitoring improvements
CD / deploy (push) Failing after 5s
CI / test (push) Canceled after 0s
CI / release (push) Canceled after 0s
CI / docker (push) Canceled after 0s
2026-08-02 17:45:14 +02:00
zwitschi
df7a1b33cc
update setup guide with repo URL, Gitea registry config, and production deployment instructions
2026-08-02 17:44:48 +02:00
zwitschi
b80c7c4743
remove CI workflow
2026-08-02 17:44:16 +02:00
zwitschi
cb36cfa18d
add setup guide
CI / test (push) Failing after 1m33s
2026-08-02 17:29:32 +02:00
zwitschi
15043cb4d1
Add CI workflow, admin frontend, Prometheus/Grafana monitoring, Cloudflare cache rules and worker, Nginx config, CONTRIBUTING.md and update docker-compose.yml
2026-08-02 16:50:46 +02:00
zwitschi
15a2aaa1a1
Add complete playout service, chat backend, frontend with HLS player and live chat, Docker integration with health checks, updated CHANGELOG and architecture docs
2026-08-02 16:43:12 +02:00
zwitschi
0785260689
Add Docker setup, .env.example, updated .gitignore/CHANGELOG and ADRs 004-007 + arc42 template
2026-08-02 16:05:18 +02:00
zwitschi
dafcec1303
Initial commit: Project scaffolding + architecture documentation
...
- arc42 template fully populated in docs/architecture/README.md with Mermaid diagrams, quality goals, deployment view, cross-cutting concepts, risks and glossary
- Consolidated ADR-001 (merged all previous root ADR drafts)
- ADR-002: Module/folder structure decision and rationale
- ADR-003: Technology stack, language choices per module (TypeScript, Go, Bash/Python), Docker-first approach, and explicit implicit assumptions
- Updated root README.md with comprehensive Project Structure section and links to all ADRs
- Created .github/instructions/TODO.md with detailed tracking (architecture phase marked complete)
- Folder structure created matching ADR-002 (frontend/, backend/playout/, backend/chat/, backend/shared/, infrastructure/, scripts/, monitoring/)
- Git repository initialized with main branch
This establishes the foundation defined in the arc42 documentation and the three ADRs.
2026-08-02 15:31:33 +02:00