Import bookmarks and identities from the TeamSpeak 3 client
The official client keeps what a myTeamSpeak account synchronises as protobuf Item_Data blobs in the ProtobufItems table of settings.db. Decode them, adopt them on first run when we have no identity yet, and offer a re-import from Manage Bookmarks and Identities. The settings.db reader moves from contacts to a new teamspeak package. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -76,6 +76,14 @@ frontend supplies its own UI and audio backend while reusing `core` unchanged.
|
||||
- **Identity management** (Tools → Identities) — keep several identities, mark one
|
||||
as the default, pick one per server or per bookmark, rename, raise an identity's
|
||||
security level, and import/export TeamSpeak-compatible `.ini` identity files.
|
||||
- **Import from TeamSpeak 3 / myTeamSpeak** — the official client keeps its bookmarks
|
||||
and identities (the data a myTeamSpeak account synchronises) as protobuf
|
||||
`Item_Data` blobs in the `ProtobufItems` table of its `settings.db`. On first run,
|
||||
when this client has no identity of its own yet, it adopts all of them — identities,
|
||||
the default identity and its nickname, and the bookmarks with the identities they
|
||||
connect with; "Import from TeamSpeak 3…" in Manage Bookmarks and in Identities
|
||||
re-imports at any time (additive: known identities and bookmarks are left alone).
|
||||
The schema was recovered from the descriptors embedded in the client binary.
|
||||
- **Contacts** (Tools → Contacts) — TeamSpeak's friend/blocked list: mark a client as
|
||||
**Friend**, **Blocked** or **Neutral** from its context menu (or drag it into the
|
||||
window), give it a custom and a phonetic nickname, choose how the name is shown
|
||||
@@ -190,6 +198,12 @@ core/ com.ts3client
|
||||
├── config.Settings persisted prefs (~/.ts3jclient/settings.properties)
|
||||
├── config.Bookmarks persisted server bookmarks (with per-server identity)
|
||||
├── config.IdentityStore managed identities (~/.ts3jclient/identities/*.ini)
|
||||
├── teamspeak the official client's own data files
|
||||
│ ├── TeamSpeakSettingsDb locates settings.db; reads Contacts and the ProtobufItems sync store
|
||||
│ ├── SqliteReader minimal read-only SQLite 3 file reader (no driver)
|
||||
│ ├── SyncItem a synced bookmark / identity / folder (Item_Data)
|
||||
│ ├── SyncItemDecoder protobuf wire decoding of Item_Data, via ProtobufReader
|
||||
│ └── TeamSpeakImporter merges synced items into IdentityStore / Bookmarks
|
||||
├── audio abstractions + reusable DSP (no platform code)
|
||||
│ ├── AudioBackend factory for a platform's VoiceInput/VoiceOutput
|
||||
│ ├── VoiceInput capture source (extends ts3j Microphone) + gating controls
|
||||
|
||||
Reference in New Issue
Block a user