The cutest instant messenger in the [matrix]
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
moni-chan 26b05d0b26 Translated using Weblate (Romanian)
Currently translated at 3.2% (12 of 367 strings)

Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ro/
4 years ago
android feat: Handle matrix: URIs as per MSC2312 4 years ago
assets feat: Enhanced configuration 4 years ago
docs Update docs/_includes/footer.html 4 years ago
ios feat: Add languages to iOS 4 years ago
lib Translated using Weblate (Romanian) 4 years ago
linux fix: Change size 4 years ago
macos Krille/macos sandbox fixes 4 years ago
scripts chore: Update linux version 4 years ago
snap Revert "fix: Snapcraft" 4 years ago
test feat: Handle matrix: URIs as per MSC2312 4 years ago
web update sql-wasm 5 years ago
windows feat: Next version 4 years ago
.gitignore chore: Add website to main repo 4 years ago
.gitlab-ci.yml ci: Disable broken snap jobs 4 years ago
.metadata Initial commit 5 years ago
CHANGELOG.md update changelog 4 years ago
CONTRIBUTING.md Fix typo in CONTRIBUTING.md 4 years ago
Gemfile Add license and gitlab pages stuff 5 years ago
Gemfile.lock chore: Add website to main repo 4 years ago
LICENSE Add license and gitlab pages stuff 5 years ago
PRIVACY.md Update PRIVACY.md 4 years ago
README.md docs: Add famedly contact link 4 years ago
_config.yml Add license and gitlab pages stuff 5 years ago
analysis_options.yaml Soru/moor 5 years ago
config.sample.json feat: Bring back config.json 4 years ago
l10n.yaml fix(l10n): Make en the default fallback language. 4 years ago
pubspec.lock fix: cross file picker 4 years ago
pubspec.yaml Update pubspec.yaml 4 years ago

README.md


Open FluffyChat in the browser - Join the community - Follow me on Mastodon - Translate FluffyChat - Translate the website - Website - Download latest APK - Famedly Matrix SDK - Server hosting and professional support



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

  1. Install flutter

  2. Clone the repo:

git clone --recurse-submodules https://gitlab.com/famedly/fluffychat
cd fluffychat
  1. Choose your target platform below and enable support for it.

  2. Debug with: flutter run

Android

  • Install CMake from the SDK Manager

  • Install ninja:

sudo apt install ninja-build
  • 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

  • Optionally edit the file lib/app_config.dart. If you e.g. only want to change the default homeserver, then only modify the defaultHomeserver key.

  • Build with:

./scripts/prepare-web.sh
flutter clean
flutter pub get
flutter build web --release --verbose
  • Optionally configure by serving a config.json at the same path as fluffychat. An example can be found at config.sample.json. None of these values have to exist, the ones stated here are the default ones. If you e.g. only want to change the default homeserver, then only modify the default_homeserver key.

Desktop (Linux, Windows, macOS)

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/

  1. 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';
  1. 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”
    }
  }
}
  1. 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.