feat: implement TS3 protocol layer, session management, and ServerQuery client
CI/CD / Test (ubuntu-latest) (push) Successful in 2m3s
CI/CD / Build Frontend (push) Failing after 11s
CI/CD / Test (macos-latest) (push) Has been cancelled
CI/CD / Test (windows-latest) (push) Has been cancelled
CI/CD / Build Desktop (linux) (push) Has been cancelled
CI/CD / Build Desktop (macos) (push) Has been cancelled
CI/CD / Build Desktop (windows) (push) Has been cancelled
CI/CD / Release (push) Has been cancelled

- Add real X25519 ECDH key exchange for initivexpand2 bootstrap
- Add P-256 identity key generation with TeamSpeak tomcrypt format
- Add session event loop with tokio::select! for packet/command handling
- Add ServerQuery TCP client with typed parsing (channels, clients, permissions)
- Add Tauri commands: connect (session-based), join_channel, send_message, disconnect
- Add frontend ServerQuery snapshot panel
- Fix CI: Node 22, rustup setup, npm install, workspace checks
- Add mock UDP handshake tests through initserver
- 54 tests passing across shared, tscore, tsaudio, tsdb
This commit is contained in:
ReTeamSpeak
2026-05-12 17:24:02 +09:00
parent ea08823c97
commit 2b3ae9ae15
45 changed files with 3287 additions and 446 deletions
+22 -12
View File
@@ -32,9 +32,15 @@ jobs:
- uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-action/setup@v1
with:
targets: ${{ matrix.target }}
shell: bash
run: |
if ! command -v rustup >/dev/null 2>&1; then
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
export PATH="$HOME/.cargo/bin:$PATH"
fi
rustup toolchain install stable --profile minimal --target ${{ matrix.target }}
rustup default stable
- name: Install system dependencies (Linux)
if: runner.os == 'Linux'
@@ -63,7 +69,7 @@ jobs:
- name: Check
working-directory: src
run: cargo check --workspace
run: cargo check -p shared -p tscore -p tsaudio -p tsdb
- name: Test
working-directory: src
@@ -71,7 +77,7 @@ jobs:
- name: Clippy
working-directory: src
run: cargo clippy --workspace -- -D warnings
run: cargo clippy -p shared -p tscore -p tsaudio -p tsdb -- -D warnings
continue-on-error: true
# Build frontend
@@ -84,13 +90,11 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: src/tauri-app/frontend/package-lock.json
node-version: '22'
- name: Install dependencies
working-directory: src/tauri-app/frontend
run: npm ci
run: npm install
- name: Build
working-directory: src/tauri-app/frontend
@@ -128,9 +132,15 @@ jobs:
- uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-action/setup@v1
with:
targets: ${{ matrix.target }}
shell: bash
run: |
if ! command -v rustup >/dev/null 2>&1; then
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
export PATH="$HOME/.cargo/bin:$PATH"
fi
rustup toolchain install stable --profile minimal --target ${{ matrix.target }}
rustup default stable
- name: Install system dependencies (Linux)
if: matrix.platform == 'linux'