android | ||
assets | ||
ios | ||
lib | ||
linux | ||
macos | ||
test | ||
web | ||
windows | ||
_config.yml | ||
.gitignore | ||
.gitlab-ci.yml | ||
.metadata | ||
analysis_options.yaml | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
Gemfile | ||
Gemfile.lock | ||
l10n.yaml | ||
LICENSE | ||
PRIVACY.md | ||
pubspec.lock | ||
pubspec.yaml | ||
README.md |
Open
FluffyChat in the browser -
Join
the community -
Follow me on
Mastodon -
Translate
FluffyChat -
Translate
the website -
FAQ
-
Website
-
Download
latest APK
Features
- Single and group chats
- Send images and files
- Voice messages
- Offline chat history
- Push Notifications
- Account settings
- Display user avatars
- Themes, chat wallpapers and dark mode
- Device management
- Edit chat settings and permissions
- Kick, ban and unban users
- Display and edit chat topics
- Change chat & user avatars
- Archived chats
- Discover public chats on the user’s homeserver
- Registration
- Disable account
- Change password
- End-To-End-Encryption
How to build
Clone the repo:
git clone --recurse-submodules https://gitlab.com/ChristianPauly/fluffychat-flutter
cd fluffychat-flutter
Choose your target platform below and enable support for it.
Debug with:
flutter run
Android
Install CMake from the SDK Manager
Install ninja:
sudo apt install ninja-build
- Outcomment the Google Services plugin at the end of the file
android/app/build.gradle
:
// apply plugin: "com.google.gms.google-services"
- Build with:
flutter build apk
iOS / iPadOS
- With xcode you can’t build a release version without our cert. :-/
Use
flutter run --profile
to have a working version on your iOS device.
Web
Enable web support in Flutter: https://flutter.dev/docs/get-started/web
Build with:
flutter build web --release
Desktop (Linux, Windows, macOS)
Enable Desktop support in Flutter: https://flutter.dev/desktop
Build with one of these:
flutter build linux --release
flutter build windows --release
flutter build macos --release
How to add translations for your language
You can use Weblate to translate the app to your language:
https://hosted.weblate.org/projects/fluffychat/
- Replace the non-translated string in the codebase:
Text("Hello world"),
with a method call:
Text(L10n.of(context).helloWorld),
and add the following import if missing:
import 'package:flutter_gen/gen_l10n/l10n.dart';
- Add the string to
/lib/l10n/l10n_en.arb
:
(The following example need to be sorounded by the usual json
{}
and after the @@locale
key)
Example A:
"helloWorld": "Hello World!",
"@helloWorld": {
"description": "The conventional newborn programmer greeting"
}
Example B:
"hello": "Hello {userName}",
"@hello": {
"description": "A message with a single parameter",
"placeholders": {
"userName": {
"type": “String”,
“example”: “Bob”
}
}
}
- For testing just run a regular build without extras
Special thanks to
Fabiyamada is a graphics designer from Brasil and has made the fluffychat logo and the banner. Big thanks for her great designs.
Advocatux has made the Spanish translation with great love and care. He always stands by my side and supports my work with great commitment.
Thanks to MTRNord and Sorunome for developing.
Thanks to Mark for all his support and the chat background.
Also thanks to all translators and testers! With your help, fluffychat is now available in more than 12 languages.