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
Krille-chan 6e6b39746e
Merge pull request #2799 from krille-chan/dependabot/pub/device_info_plus-12.4.0
build: (deps): bump device_info_plus from 12.3.0 to 12.4.0
2 weeks ago
.github Merge pull request #2799 from krille-chan/dependabot/pub/device_info_plus-12.4.0 2 weeks ago
.vscode refactor: Replace import_sorter with directives_ordering lint 2 months ago
android chore: Follow up android deep link 2 months ago
assets build: Follow up vodozemac web 12 months ago
integration_test chore: Add integration tests 3 weeks ago
ios fix: share dialog on iOS 2 weeks ago
lib chore: iOS push token with newest fcm shared isolate 2 weeks ago
linux fix: Open deep links 3 months ago
macos build: Update macos podfile 2 weeks ago
scripts fix: add prepare-web.sh support for both python and go yq versions 1 month ago
snap build: Add changelog for 2.6.0 2 weeks ago
test refactor: Avoid redundant async 3 months ago
web refactor: Remove native imaging and enable web worker 5 months ago
windows refactor: Remove unused dependencies and add CI check 2 months ago
.gitignore refactor: Remove native imaging and enable web worker 5 months ago
.mailmap add a .mailmap 4 years ago
.metadata build: Use gradle in kotlin 11 months ago
.tool_versions.yaml build: Update to flutter 3.41.9 3 weeks ago
CHANGELOG.md chore: no longer send deprecated score when reporting an event 2 weeks ago
CONTRIBUTING.md refactor: Replace import_sorter with directives_ordering lint 2 months ago
Dockerfile build: Update dockerfile to build vodozemac 11 months ago
LICENSE Add license and gitlab pages stuff 6 years ago
PRIVACY.md chore: Update privacy policy links 6 months ago
README.md refactor: Switch from maestro to flutter integration tests 2 months ago
SECURITY.md chore: Add security.md file 4 months ago
analysis_options.yaml refactor: Enable lint use_build_context_synchronously 2 months ago
config.sample.json feat(chat): make messagePreviewMaxLines configurable, with default 128 2 months ago
dart_dependency_validator.yaml refactor: Remove unused dependencies and add CI check 2 months ago
devtools_options.yaml refactor: Update to Matrix Dart SDK 0.29.9 2 years ago
l10n.yaml build: Upgrade to flutter 3.22 1 year ago
licenses.yaml chore: Override sqlcipher license 6 months ago
pubspec.lock build: (deps): bump device_info_plus from 12.3.0 to 12.4.0 2 weeks ago
pubspec.yaml build: (deps): bump device_info_plus from 12.3.0 to 12.4.0 2 weeks ago
recommended_homeservers.json chore: Implement pick SSO provider from dialog and add tchncs.de 3 months ago

README.md

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

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 lld
  • 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