SmallTalk è un messenger Android minimale, moderno, incentrato sugli amici e sulla famiglia. Fortemente ispirato a Whatsapp e Signal, è alimentato da Matrix. https://noblogo.org/filippodb/mai-piu-notifiche-da-google-guida-a-unified-push-su-mastodon-matrix-e-telegram
Go to file
2022-10-17 20:49:04 +01:00
.github
.idea
app porting notifications to chat engine 2022-10-12 20:52:02 +01:00
chat-engine fixing images causing decryption errors 2022-10-17 20:47:04 +01:00
core porting messenger tests to the engine module 2022-10-12 19:57:16 +01:00
design-library adding error views to profile, messenger and settings screens 2022-10-09 15:53:26 +01:00
domains request notification permission on android 13 when showing home content 2022-10-12 22:59:31 +01:00
external
fastlane/metadata/android/en-US
features fixing images causing decryption errors 2022-10-17 20:47:04 +01:00
gradle/wrapper
matrix removing unused time fields 2022-10-17 20:49:04 +01:00
matrix-chat-engine fixing images causing decryption errors 2022-10-17 20:47:04 +01:00
test-harness Merge pull request #198 from ouchadam/dependabot/gradle/app.cash.turbine-turbine-0.12.0 2022-10-17 19:34:50 +01:00
tools auto rebasing isn't working correctly, reverting to merges 2022-10-04 19:17:46 +01:00
.gitignore
build.gradle Bump kotlinVer from 1.6.10 to 1.7.20 2022-10-08 09:59:32 +00:00
dependencies.gradle Merge pull request #204 from ouchadam/dependabot/gradle/org.jetbrains.kotlinx-kotlinx-serialization-json-1.4.1 2022-10-17 19:46:18 +01:00
gradle.properties
gradlew
gradlew.bat
LICENSE
README.md
settings.gradle starting engine migration 2022-10-09 16:52:33 +01:00
version.json updating version for release 2022-10-06 20:06:46 +01:00

SmallTalk Assemble codecov License

SmallTalk is a minimal, modern, friends and family focused Android messenger. Heavily inspired by Whatsapp and Signal, powered by Matrix.

header




Project mantra

  • Tiny app size - currently 1.80mb~ when provided via app bundle.
  • Focused on reliability and stability.
  • Bare-bones feature set.

Feature list

  • Login with Matrix ID/Password
  • Combined Room and DM interface
  • End to end encryption
  • Message bubbles, supporting text, replies and edits
  • Push notifications (DMs always notify, Rooms notify once)
  • Importing of E2E room keys from Element clients
  • UnifiedPush
  • FOSS variant

Planned

  • Device verification (technically supported but has no UI)
  • Invitations (technically supported but has no UI)
  • Room history
  • Message media
  • Cross signing
  • Google drive backups
  • Markdown subset (bold, italic, blocks)
  • Changing user name/avatar
  • Room settings and information
  • Exporting E2E room keys
  • Local search
  • Registration

Technical details

  • Built on Jetpack compose and kotlin multiplatform libraries ktor and sqldelight (although the project is not currently setup to be multiplatform until needed).
  • Greenfield matrix SDK implementation, focus on separation, testability and parallelisation.
  • Heavily optimised build script, clean cacheless builds are sub 10 seconds with a warmed up gradle daemon.
  • Avoids code generation where possible in favour of build speed, this mainly means manual DI.
  • A pure kotlin test harness to allow for critical flow assertions Smoke Tests, currently Linux x86-64 only.

Building

Debug .apk
./gradlew assembleDebug
Release (signed with debug key) .apk
./gradlew assembleRelease
Unsigned release .apk
./gradlew assembleRelease -Punsigned
Unsigned release (FOSS) .apk
./gradlew assembleRelease -Punsigned -Pfoss

Join the conversation @ https://matrix.to/#/#small-talk:iswell.cool