forked from Henry-Hiles/nexus
121 lines
4.1 KiB
Markdown
121 lines
4.1 KiB
Markdown
# Nexus Client
|
|
|
|
> [!WARNING]
|
|
> Nexus Client is still heavily in development, and is not ready for use!
|
|
|
|
## Description
|
|
|
|
A simple and user-friendly Matrix client made with Flutter and the Matrix Dart SDK.
|
|
|
|
## Screenshots
|
|
|
|
| Dark Mode | Light Mode |
|
|
| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------: |
|
|
|  |  |
|
|
|
|
## Progress
|
|
|
|
- [ ] Platform Support
|
|
- [x] Linux
|
|
- [x] Windows (untested, if you are interested in helping to test, open an issue)
|
|
- [ ] MacOS
|
|
- [ ] Android
|
|
- [ ] iOS
|
|
- [ ] Web (may not be possible)
|
|
- [x] Login
|
|
- [x] Username / password auth
|
|
- [ ] OAuth / OIDC
|
|
- [x] Rooms / Spaces
|
|
- [x] Displaying and choosing
|
|
- [x] Reading, showing unread
|
|
- [ ] Mark as read button on rooms and spaces
|
|
- [ ] Searching
|
|
- [ ] Creating (Rooms, Spaces, and DMs)
|
|
- [ ] Joining
|
|
- [ ] Using alias
|
|
- [ ] From space
|
|
- [ ] Exploring
|
|
- [x] Leaving
|
|
- [x] Subspaces
|
|
- [x] Messages
|
|
- [x] Sending
|
|
- [x] Plain text
|
|
- [x] HTML/Markdown
|
|
- [x] Replies
|
|
- [ ] Attachments
|
|
- [x] Mentions
|
|
- [x] Users
|
|
- [x] Rooms
|
|
- [ ] Custom emojis/stickers
|
|
- [ ] GIFs, maybe through Tenor or something
|
|
- [ ] Encrypted messages
|
|
- [x] Recieving
|
|
- [x] Plain text
|
|
- [x] HTML
|
|
- [x] Replies
|
|
- [x] Viewing
|
|
- [ ] Jump to original message
|
|
- [x] Edits
|
|
- [x] Attachments
|
|
- [ ] Downloading attachments
|
|
- [ ] Opening attachments in their own view
|
|
- [x] Mentions
|
|
- [x] Users
|
|
- [x] Rooms
|
|
- [ ] Plain text
|
|
- [x] Matrix URIs
|
|
- [x] Matrix.to links
|
|
- [x] Custom emojis/stickers
|
|
- [ ] Encrypted messages
|
|
- [x] History loading
|
|
- [x] Backwards
|
|
- [ ] Forwards
|
|
- [ ] Editing
|
|
- [x] Deleting
|
|
- [ ] Reactions: Waiting on https://github.com/flyerhq/flutter_chat_ui/pull/838
|
|
- [ ] Pins
|
|
- [ ] Displaying
|
|
- [ ] Creating
|
|
- [ ] Threads
|
|
- [ ] Profile popouts
|
|
- [x] Copy link to [room, space]
|
|
- [x] Reporting
|
|
- [ ] Notifications using UnifiedPush
|
|
- [ ] Group calls using [MSC4195](https://github.com/matrix-org/matrix-spec-proposals/pull/4195)
|
|
- [ ] Invites
|
|
- [ ] Viewing / accepting
|
|
- [ ] Spam filtering
|
|
- [ ] Settings
|
|
- [ ] Light/Dark mode
|
|
- [ ] Dynamic Theming
|
|
- [ ] Devices
|
|
- [ ] Viewing devices
|
|
- [ ] Verifying devices
|
|
- [ ] URL preview: Server / Client / None
|
|
- [ ] Account changes
|
|
- [ ] Display name
|
|
- [ ] Profile picture
|
|
- [ ] Timezone
|
|
- [ ] Pronouns
|
|
- [ ] Password
|
|
- [ ] About
|
|
- [x] Log Out
|
|
|
|
## Development
|
|
|
|
Fork and clone the project, then:
|
|
|
|
- With Nix: Either use direnv, or `nix flake develop`
|
|
- Without Nix: Install Flutter, Rust, the libsecret dev package for your distro (must be in `PKG_CONFIG_PATH`), and sqlite (must be in `LD_LIBRARY_PATH`).
|
|
|
|
Build generated files, and watch for new changes:
|
|
|
|
```sh
|
|
flutter pub run build_runner watch --delete-conflicting-outputs
|
|
```
|
|
|
|
Run `flutter run` to run the app.
|
|
|
|
## Community
|
|
|
|
Come chat in the [Federated Nexus Community](https://matrix.to/#/#space:federated.nexus) for questions or help with developing or using Nexus Client.
|