A native Workspace client for Android: organizations and projects, channels and direct conversations, topics, messages, attachments, notifications, and encrypted chats. The app uses Kotlin and Jetpack Compose. It combines server REST APIs with an event stream; the server remains the source of truth.
| Document | Contents |
|---|---|
| Architecture | Components, dependencies, state, HTTP, events, storage, and security boundaries |
| Development | Environment setup, builds, conventions, and change workflow |
| Features | Implemented user flows and limitations |
| Testing | Test levels, regression map, and acceptance criteria |
| Encrypted chats | Wire format, cryptography, keys, and lifecycle |
| Specialized test procedures | Loopback scenarios, UI, release smoke tests, and Android fixtures |
| Web cryptography interoperability | Bidirectional checks using real crypto providers |
| Agent instructions | Test locations and quality requirements |
Prepare JDK 21, the Android SDK, a local google-services.json for the required
flavor, and the Gradle wrapper as described in the
development guide. Run commands from the repository root:
./gradlew :app:testExordosDebugUnitTest
./gradlew :app:assembleExordosDebug
./gradlew :app:lintExordosDebugFor Genesis, replace Exordos with Genesis. Run
:app:connectedExordosDebugAndroidTest on a dedicated device or emulator selected
with ANDROID_SERIAL. The full UI suite requires a clean test installation;
do not clear a user's saved accounts to meet that requirement.
| Flavor | Application ID |
|---|---|
genesis |
ru.genesiscorporation.workspace.beta |
exordos |
com.exordos.workspace |
Both variants share source code and the namespace
ru.genesiscorporation.workspace.beta. SDK and application versions are defined
in app/build.gradle.kts; library versions are in the
version catalog.
The documentation describes implemented code. A screen, SDK, or DTO alone does not establish a complete feature; the feature catalog identifies those boundaries.