Compare commits

..

4 Commits

Author SHA1 Message Date
renovate-bot dcf40b24f8 chore(deps): update dependency eslint to v10
renovate/stability-days Updates have met minimum release age requirement
CI / Test (pull_request) Failing after 54s
2026-05-25 10:19:00 +00:00
renovate-bot 2b3a93d6b2 chore(deps): update https://gitea.t000-n.de/t.behrendt/actions action to v0.2.4 (#118)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [https://gitea.t000-n.de/t.behrendt/actions](https://gitea.t000-n.de/t.behrendt/actions) | action | patch | `0.2.3` → `0.2.4` |

---

### Release Notes

<details>
<summary>t.behrendt/actions (https://gitea.t000-n.de/t.behrendt/actions)</summary>

### [`v0.2.4`](https://gitea.t000-n.de/t.behrendt/actions/compare/0.2.3...0.2.4)

[Compare Source](https://gitea.t000-n.de/t.behrendt/actions/compare/0.2.3...0.2.4)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41LjQiLCJ1cGRhdGVkSW5WZXIiOiI0My41LjQiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImFjdGlvbiIsImRlcHMiXX0=-->

Reviewed-on: #118
Reviewed-by: t.behrendt <t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-05-19 10:41:03 +02:00
t.behrendt d6d9c63b3d fix: disconnection issue by adding a persistent ping (#121)
CD / Test (push) Successful in 19s
CD / Create tag (push) Successful in 18s
CD / Build and push (amd64) (push) Successful in 34s
CD / Build and push (arm64) (push) Successful in 1m38s
CD / Create manifest (push) Successful in 8s
Fixes the frequent disconnection issue, by adding a ping.
The "version" call works without authentication and is lightweight. Passing the "true" flag, prevents delivery of cached results.
This keeps the socket always connected. Feature may be removed in the future if the upstream library has a proper fix for the issue.

Reviewed-on: #121
Co-authored-by: Timo Behrendt <t.behrendt@t00n.de>
Co-committed-by: Timo Behrendt <t.behrendt@t00n.de>
2026-05-09 14:38:52 +02:00
t.behrendt eb9b335789 chore: add compose local test setup (#120)
Reviewed-on: #120
Co-authored-by: Timo Behrendt <t.behrendt@t00n.de>
Co-committed-by: Timo Behrendt <t.behrendt@t00n.de>
2026-05-09 14:18:49 +02:00
7 changed files with 62 additions and 3 deletions
+6
View File
@@ -0,0 +1,6 @@
*
!package.json
!bun.lockb
!src/
!tsconfig.json
+1 -1
View File
@@ -94,7 +94,7 @@ jobs:
with: with:
token: ${{ secrets.GITEA_TOKEN }} token: ${{ secrets.GITEA_TOKEN }}
prerelease: ${{ github.event_name == 'workflow_dispatch' }} prerelease: ${{ github.event_name == 'workflow_dispatch' }}
- uses: https://gitea.t000-n.de/t.behrendt/actions/release-git-tag@47a1c635cfc76cfb4eeee3db0d0b89bf19007c7a # 0.2.3 - uses: https://gitea.t000-n.de/t.behrendt/actions/release-git-tag@38c1bbd8bad3e7965744d03de85faa4a5b808d1b # 0.2.4
with: with:
tag: ${{ steps.tag.outputs.new-tag }} tag: ${{ steps.tag.outputs.new-tag }}
- name: Set output - name: Set output
+3
View File
@@ -130,3 +130,6 @@ dist
.yarn/install-state.gz .yarn/install-state.gz
.pnp.* .pnp.*
# Local docker test setup
gotify_data/
ts3_data/
BIN
View File
Binary file not shown.
+47
View File
@@ -0,0 +1,47 @@
services:
ts3gotify:
build:
context: .
dockerfile: Dockerfile
environment:
LOG_LEVEL: debug
TS3_HOST: ts3
TS3_QUERY_PORT: 10011
TS3_SERVER_PORT: 9987
TS3_USERNAME: serveradmin
TS3_PASSWORD: Qx7uUh4i
TS3_NICKNAME: ts3gotify
GOTIFY_URL: http://gotify:80
GOTIFY_TOKEN: ApvIy.aFpN3.QlQ
GOTIFY_TITLE: ts3gotify
MODE: '["connect", "disconnect", "moved", "message"]'
gotify:
image: ghcr.io/gotify/server:latest
ports:
- 8080:80
environment:
TZ: "Europe/Amsterdam"
GOTIFY_DEFAULTUSER_PASS: "admin"
volumes:
- "./gotify_data:/app/data"
ts3:
image: docker.io/library/teamspeak:latest
ports:
- name: voice
target: 9987
published: 9987
protocol: udp
- name: query
target: 10011
published: 10011
protocol: tcp
- name: filetransfer
target: 30033
published: 30033
protocol: tcp
environment:
TS3SERVER_LICENSE: accept
volumes:
- "./ts3_data:/var/ts3server/"
+1 -1
View File
@@ -9,7 +9,7 @@
"@typescript-eslint/eslint-plugin": "5.62.0", "@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0", "@typescript-eslint/parser": "5.62.0",
"cspell": "10.0.0", "cspell": "10.0.0",
"eslint": "8.57.1", "eslint": "10.4.0",
"typescript": "6.0.3", "typescript": "6.0.3",
"@types/bun": "latest" "@types/bun": "latest"
}, },
+4 -1
View File
@@ -43,7 +43,8 @@ export function ts3gotifyFactory(
ts3Client: TeamSpeak, ts3Client: TeamSpeak,
gotifyClient: Gotify, gotifyClient: Gotify,
gotifyConfig: GotifyConfig, gotifyConfig: GotifyConfig,
logger: Logger logger: Logger,
pingInterval = 2_500
) { ) {
let reconnectInProgress = false; let reconnectInProgress = false;
@@ -108,6 +109,8 @@ export function ts3gotifyFactory(
} }
} }
setInterval(() => ts3Client.version(true), pingInterval);
ts3Client.on("close", async () => { ts3Client.on("close", async () => {
await reconnectWithBackoff(); await reconnectWithBackoff();
}); });