FoxTalk
Docs/Introduction

Introduction

FoxTalk is a Flutter client built on top of TangSengDaoDao. From the chat list to audio/video calls, everything is rewritten in Flutter with pixel-perfect parity to the original iOS app.

TangSengDaoDao ships separate iOS (Objective-C) and Android (Java) implementations. FoxTalk chose to rewrite in Flutter because one Dart codebase delivers a native-grade experience on both iOS and Android, letting us focus on the IM product itself rather than maintaining two UI codebases.

Architecture

On the client side FoxTalk uses a three-layer architecture, top to bottom:

Layer 03
UI layer
widget · page · navigation · animation
Layer 02
App layer
business model · service · local cache · KV persistence
Layer 01
IM SDK layer
TCP/WebSocket connection · protocol codec · local DB

Core design principle: the UI layer never calls the SDK directly — it always goes through an app-layer service. This keeps things testable and makes swapping the IM protocol or adding mocks easy later.

last updated · 2026-06Found an issue? Open an issue on GitHub