Commit graph

33 commits

Author SHA1 Message Date
c460694e3a ci: sync from joshii-h fork instead of upstream
joshii-h/ts6-viewer tracks upstream but lands custom fixes here first,
so syncing from the fork gives us both upstream changes and the fixes
without waiting for upstream merge.
2026-04-20 14:16:11 +02:00
3741aa3ae5 fix: route channellist/clientlist/serverinfo through Exec() for reconnect-on-EOF
Some checks failed
Build ts6-viewer / build (push) Failing after 16s
These callers used unexported ssh.exec() directly, bypassing execSafe()
and its reconnect-on-connection-error logic. When TS6 closed the
persistent SSH session, every HTTP request returned EOF until container
restart. The exported Exec() wraps each call in execSafe which retries
once on isConnectionError with a fresh session.
2026-04-20 14:10:33 +02:00
847969b3fc Fix: use docker-ce-cli 2026-03-15 18:53:36 +01:00
83380ec06a Fix: use docker-ce-cli
Some checks failed
Build ts6-viewer / build (push) Failing after 15s
2026-03-15 18:53:19 +01:00
070c307cf3 Retrigger build 2026-03-15 18:47:28 +01:00
5b7140373c Use docker.io CLI-only 2026-03-15 18:41:29 +01:00
a6d262ad14 Use docker.io CLI-only, ignore sync file changes
Some checks failed
Build ts6-viewer / build (push) Failing after 31s
2026-03-15 18:41:25 +01:00
98ef2a0b4e Fix: use docker/ org paths
Some checks failed
Build ts6-viewer / build (push) Failing after 10m53s
2026-03-15 18:26:28 +01:00
cade275747 Fix: push to docker/ org registry
Some checks failed
Build ts6-viewer / build (push) Has been cancelled
2026-03-15 18:26:24 +01:00
7962e95b18 Remove original GitHub workflow
All checks were successful
Build ts6-viewer / build (push) Successful in 1m10s
2026-03-15 14:16:17 +01:00
230c0c0006 Fix clone URL
All checks were successful
Build ts6-viewer / build (push) Successful in 1m12s
2026-03-15 14:04:22 +01:00
ddabe2e0a1 Fix clone URL
Some checks are pending
Build ts6-viewer / build (push) Waiting to run
2026-03-15 14:04:21 +01:00
c5d3e375f3 Add GitHub sync workflow (every 6h)
All checks were successful
Build ts6-viewer / build (push) Successful in 1m3s
2026-03-15 13:20:20 +01:00
3c3c9a3ed1 Simplify workflow - no actions/checkout
All checks were successful
Build ts6-viewer / build (push) Successful in 1m18s
2026-03-15 13:09:35 +01:00
ddd0e8f470 Trigger build v2
Some checks failed
Build and Push Docker Image / build (push) Failing after 1s
2026-03-15 13:05:45 +01:00
6572a04bd0 Trigger build
Some checks failed
Build and Push Docker Image / build (push) Failing after 18s
2026-03-15 13:02:52 +01:00
699a96ecb7 Fix workflow: use ubuntu-latest with Docker socket
Some checks are pending
Build and Push Docker Image / build (push) Has started running
2026-03-15 12:57:27 +01:00
c0ece4d6a0 Add CI/CD workflow for Docker image build
Some checks failed
Build and Push Docker Image / build (push) Failing after 15s
2026-03-15 12:53:37 +01:00
Maxallica
8020114908 Optimized documentation 2026-03-10 19:43:38 +01:00
Maxallica
12c0144fb4
Merge pull request #4 from joshii-h/fix/ssh-buffer-and-reconnect
fix: prevent bufio panics and goroutine leaks in SSH client
2026-03-10 19:19:43 +01:00
Maxallica
418f2817f8 Updated compose.yml 2026-03-10 00:11:19 +01:00
Maxallica
e23a206c98 Added comments into docker-image.yml 2026-03-09 22:27:28 +01:00
Maxallica
64876c703f
Update Docker CI workflow to build and push image 2026-03-09 22:09:08 +01:00
Maxallica
459719218e
Add Docker Image CI workflow 2026-03-09 21:30:24 +01:00
c6acfbc94b fix: prevent bufio panics and goroutine leaks in SSH client
The default bufio.Reader buffer (4096 bytes) is too small for large
ServerQuery responses (channellist, clientlist), causing runtime panics
that leave the viewer in an unrecoverable state.

Changes:
- Increase SSH read buffer from 4096 to 64KB to handle large responses
- Add done channel to SSHClient for clean keepAlive goroutine shutdown
- Stop orphaned keepAlive goroutines after reconnect to prevent leaks
- Add panic recovery in exec() so panics are handled as errors
- Treat recovered panics as connection errors to trigger reconnect
- Wrap HTTP handlers with recovery middleware as a safety net
2026-03-04 10:00:02 +01:00
Maxallica
cdbfe86d32 Added fontawesome
Added detail client info (voice)
Added host connection link
Added compose.yml
Adjusted Dockerfile
Adjusted entrypoint.sh
Adjusted README.md
2026-02-12 18:16:00 +01:00
Maxallica
b678f8c4bf Use session storage instead of local storage 2026-02-06 17:47:48 +01:00
Maxallica
57fc006a26 Split app into api, domain, view data
Optimized api handling
Store refresh counter into local storage
2026-02-06 00:36:44 +01:00
Maxallica
369d9c192d fix: center banner url correctly 2026-02-02 21:08:55 +01:00
Maxallica
ee384ccd65 Optimized styling 2026-02-02 20:41:58 +01:00
Maxallica
f48d509d51 Optimized layout for desktop and mobil 2026-02-02 20:31:10 +01:00
Maxallica
b283df4073 Added complete TS6 Viewer implementation 2026-02-02 01:37:18 +01:00
Maxallica
b1ffb3b5b8 Initial commit 2026-02-02 01:17:28 +01:00