💬 | Application for Uchar homeserver [maintainer=@sud0pacman]
  • Dart 92.7%
  • Shell 2.1%
  • C++ 1.7%
  • CMake 1.2%
  • Nix 0.8%
  • Other 1.3%
Find a file
Muhammad 237ba87fe0
Some checks failed
Main Deploy Workflow / deploy_web (push) Has been cancelled
Merge pull request #109 from 3nln/fix/cached-username
Fix/cached username
2026-05-14 23:44:39 +05:00
.github fix: branch in main deploy and downgrade v6 to v4 actions 2026-05-08 01:38:17 +05:00
.vscode refactor: Replace import_sorter with directives_ordering lint 2026-03-21 13:09:45 +01:00
android fix: add additional locale support in locale_config.xml 2026-05-05 14:28:21 +05:00
assets feat: uchar rebranding 2025-12-20 17:52:15 +05:00
docs feat: written windows build 2026-03-31 18:33:33 +05:00
integration_test Refactor ElementCallWidget: Comment out code and update member actions 2026-04-23 16:55:07 +05:00
ios fix: replace fluffychat to uchar in whole project next 2026-05-12 11:33:42 +05:00
lib fix: empty cchat ui 2026-05-14 12:06:47 +05:00
linux fix: replace fluffychat to uchar in whole project next 2026-05-12 11:33:42 +05:00
macos fix: replace fluffychat to uchar in whole project next 2026-05-12 11:33:42 +05:00
nix chore: pubspec.lock.json changed for new packages 2026-04-23 18:58:28 +05:00
scripts fix: update FcmPushService path in add-firebase-messaging.sh ucharmessenger 2026-05-05 15:49:37 +05:00
snap fix: replace fluffychat to uchar in whole project next 2026-05-13 00:37:24 +05:00
test Fix regression after new linter rules 2025-12-01 09:20:15 +02:00
web fix: replace fluffychat to uchar in whole project 2026-05-12 11:02:38 +05:00
windows fix: replace fluffychat to uchar in whole project next 2026-05-13 00:37:24 +05:00
.envrc chore: nix and working web 2025-11-06 15:39:40 +05:00
.gitignore fix: upload image file problem, 2026-04-11 15:06:30 +05:00
.mailmap add a .mailmap 2022-01-01 15:08:15 +02:00
.metadata fix: build phase 2026-02-26 12:03:05 +05:00
.tool_versions.yaml build: Update to flutter 3.41.7 2026-04-22 17:27:20 +09:00
.zed feat: add initial task configuration for Flutter Run 2026-04-21 11:15:59 +05:00
analysis_options.yaml refactor: Enable lint use_build_context_synchronously 2026-03-27 11:57:04 +01:00
CHANGELOG.md build: Add changelog for 2.5.1 2026-03-27 08:17:51 +01:00
config.sample.json fix: replace fluffychat to uchar in whole project 2026-05-12 11:02:38 +05:00
CONTRIBUTING.md refactor: Replace import_sorter with directives_ordering lint 2026-03-21 13:09:45 +01:00
devtools_options.yaml refactor: Update to Matrix Dart SDK 0.29.9 2024-05-29 11:20:32 +02:00
Dockerfile build: Update dockerfile to build vodozemac 2025-06-20 14:02:27 +02:00
firebase.json feat: semi ready to publish 2025-12-12 11:06:58 +05:00
flake.lock chore: completed 2026-04-23 16:14:41 +05:00
flake.nix refactor: web vodozemac path is fixed 2026-04-09 17:07:13 +05:00
flake.nix.bak refactor: use nixpkgs derived flake 2026-02-24 20:30:18 +05:00
flutter_launcher_icons.yaml feat: uchar rebranding 2025-12-20 17:52:15 +05:00
l10n.yaml build: Upgrade to flutter 3.22 2025-05-21 08:06:52 +02:00
LICENSE Add license and gitlab pages stuff 2020-01-02 13:42:49 +00:00
licenses.yaml chore: Override sqlcipher license 2025-12-03 08:09:08 +01:00
PRIVACY.md chore: Update privacy policy links 2025-11-25 09:37:49 +01:00
pubspec.lock fix: add used dependecy 2026-05-05 15:19:30 +05:00
pubspec.yaml fix: comment check unused 2026-05-05 15:39:22 +05:00
README.md chore: update dependencies and version bump to 2.5.0 2026-04-01 18:09:43 +05:00
SECURITY.md chore: Add security.md file 2026-01-12 09:01:32 +01:00
tasks.json feat: add initial task configuration for Flutter Run 2026-04-21 11:15:59 +05:00
web_dev_config.yaml fix: upload image file problem, 2026-04-11 15:06:30 +05:00

Screenshot

FluffyChat is an open source, nonprofit and cute [matrix] client written in Flutter. The goal of the app is to create an easy to use instant messenger which is open source and accessible for everyone.

Buy Me a Coffee at ko-fi.com

Screenshots:

Features

  • 📩 Send all kinds of messages, images and files
  • 🎙️ Voice messages
  • 📍 Location sharing
  • 🔔 Push notifications
  • 💬 Unlimited private and public group chats
  • 📣 Public channels with thousands of participants
  • 🛠️ Feature rich group moderation including all matrix features
  • 🔍 Discover and join public groups
  • 🌙 Dark mode
  • 🎨 Material You design
  • 📟 Hides complexity of Matrix IDs behind simple QR codes
  • 😄 Custom emotes and stickers
  • 🌌 Spaces
  • 🔄 Compatible with Element, Nheko, NeoChat and all other Matrix apps
  • 🔐 End to end encryption
  • 🔒 Encrypted chat backup
  • 😀 Emoji verification & cross signing

... and much more.

Installation

Please visit the website for installation instructions:

How to build

  1. To build FluffyChat you need Flutter and Rust

  2. Clone the repo:

git clone https://github.com/krille-chan/fluffychat.git
cd fluffychat
  1. Choose your target platform below and enable support for it. 3.1 If you want, enable Googles Firebase Cloud Messaging:

./scripts/add-firebase-messaging.sh

  1. Debug with: flutter run

Android

  • Build with: flutter build apk

iOS / iPadOS

  • Have a Mac with Xcode installed, and set up for Xcode-managed app signing
  • If you want automatic app installation to connected devices, make sure you have Apple Configurator installed, with the Automation Tools (cfgutil) enabled
  • Set a few environment variables
    • FLUFFYCHAT_NEW_TEAM: the Apple Developer team that your certificates should live under
    • FLUFFYCHAT_NEW_GROUP: the group you want App IDs and such to live under (ie: com.example.fluffychat)
    • FLUFFYCHAT_INSTALL_IPA: set to 1 if you want the IPA to be deployed to connected devices after building, otherwise unset
  • Run ./scripts/build-ios.sh
  • Then set your team ID in ios/Config/Secret.xcconfig

Web

  • Build with:
./scripts/prepare-web.sh # To install Vodozemac
flutter build web --release
  • Optionally configure by serving a config.json at the same path as fluffychat. An example can be found at config.sample.json. All values there are optional. Please only the values, you really need. If you e.g. only want to change the default homeserver, then only modify the defaultHomeserver key.

Desktop (Linux, Windows, macOS)

Install custom dependencies (Linux)

sudo apt install libjsoncpp1 libsecret-1-dev libsecret-1-0 librhash0 libwebkit2gtk-4.0-dev
  • Build with one of these:
flutter build linux --release
flutter build windows --release
flutter build macos --release

How to run integration tests

You need to have docker installed locally! Run the preparation script before every test run:

./scripts/prepare_integration_test.sh

Then run all tests with:

flutter test integration_test/mobile_test.dart

Special thanks

  • Fabiyamada is a graphics designer 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.

  • Also thanks to all translators and testers! With your help, fluffychat is now available in more than 12 languages.

  • WoodenBeaver sound theme for the notification sound.

  • The Matrix Foundation for making and maintaining the emoji translations used for emoji verification, licensed Apache 2.0