fractal issueshttps://gitlab.gnome.org/World/fractal/-/issues2021-11-10T12:50:58Zhttps://gitlab.gnome.org/World/fractal/-/issues/860Document supported matrix versions, and introduce compatibility modes for old...2021-11-10T12:50:58ZJonathan de JongDocument supported matrix versions, and introduce compatibility modes for older onesMatrix now has a quarterly release cadence, starting with [v1.1](https://matrix.org/blog/2021/11/09/matrix-v-1-1-release), it'd be nice to make Fractal compatible with older matrix versions in a easily understandable way. (So that users ...Matrix now has a quarterly release cadence, starting with [v1.1](https://matrix.org/blog/2021/11/09/matrix-v-1-1-release), it'd be nice to make Fractal compatible with older matrix versions in a easily understandable way. (So that users may check compatibility for themselves)
### Action items
- [ ] Document the matrix versions supported (https://github.com/badges/shields/issues/7245)
- [ ] Document this within the client (for if users are running versions on their own servers)
- [ ] Show user-facing error when server and client supported versions mismatch
("Cannot communicate with server, your client supports versions v1.1 and v1.2, but the server only supports v1.0")
### Additional context
I've also created https://github.com/matrix-org/matrix-rust-sdk/issues/404, which should take care of some of the other details.https://gitlab.gnome.org/World/fractal/-/issues/835Create widget for User-Interactive Authentication2023-07-18T13:21:09ZJulian Sparberjulian@sparber.netCreate widget for User-Interactive AuthenticationSince Matrix has a User-Interactive Authentication system we should implement it in a way that it can be reused in multiple places.
Authentication types we will need to support eventually:
- [x] m.login.password
- [ ] m.login.recaptcha
...Since Matrix has a User-Interactive Authentication system we should implement it in a way that it can be reused in multiple places.
Authentication types we will need to support eventually:
- [x] m.login.password
- [ ] m.login.recaptcha
- [x] m.login.sso
- [ ] m.login.email.identity
- [ ] m.login.msisdn
- [x] m.login.dummy
- [ ] m.login.registration_token
- [x] Fallback
- [x] ~~Custom (Not in scope)~~
- [x] ~~m.login.token ([Removed from the spec](https://github.com/matrix-org/matrix-doc/pull/2609))~~
- [x] ~~m.login.oauth2 ([Removed from the spec](https://github.com/matrix-org/matrix-doc/pull/2609))~~https://gitlab.gnome.org/World/fractal/-/issues/827URL should be turned into a link2021-11-28T11:08:58ZAlexandre FrankeURL should be turned into a linkIt is expected that URL are clickable, but in fractal-next they aren’t (yet).It is expected that URL are clickable, but in fractal-next they aren’t (yet).https://gitlab.gnome.org/World/fractal/-/issues/810Offline support2023-12-04T15:15:28ZJulian Sparberjulian@sparber.netOffline supportFractal should do a few things when offline, whether it is for lack of network access on the computer, because of connectivity issues with the homeserver, or because [an account has been disabled](#1063):
* [ ] save the previous timelin...Fractal should do a few things when offline, whether it is for lack of network access on the computer, because of connectivity issues with the homeserver, or because [an account has been disabled](#1063):
* [ ] save the previous timeline content (sometimes called logs) and make it available to read.
* [ ] #831+
* [ ] #1069+
* [x] !1123+https://gitlab.gnome.org/World/fractal/-/issues/797Add spellcheck support2023-11-04T10:46:28ZAlexandre FrankeAdd spellcheck supportMessages being typed in the entry should be checked for spelling errors, using [libspelling](https://gitlab.gnome.org/chergert/libspelling).
* [ ] Report (underline) incorrectly spelt words
* [ ] Load saved setting for each room (curren...Messages being typed in the entry should be checked for spelling errors, using [libspelling](https://gitlab.gnome.org/chergert/libspelling).
* [ ] Report (underline) incorrectly spelt words
* [ ] Load saved setting for each room (currently stored as `org.gnome.fractal.language` in the room account data)
* [ ] Save settings to room account data if changedhttps://gitlab.gnome.org/World/fractal/-/issues/794Support account registration2022-03-31T13:23:18ZThibault MartinSupport account registrationIn order to get a Matrix account, users need to register against the homeserver of their choice. The Matrix specifications [allows homeserver to accept registrations](https://matrix.org/docs/spec/client_server/latest#post-matrix-client-r...In order to get a Matrix account, users need to register against the homeserver of their choice. The Matrix specifications [allows homeserver to accept registrations](https://matrix.org/docs/spec/client_server/latest#post-matrix-client-r0-register).
The user first needs to enter the homeserver URL they want to register against. Then, they need to enter the following information:
* Desired username
* Desired password
The client itself needs to specify additional technical parameters in the request as described by the specification linked above.
Note: #791 is a similar but different issue about _guest_ registration
Proposed Mockups:
* left to design team to edit
## Design Tasks
* [ ] left to design team to edit
## Development Tasks
* [ ] Implement User Interactive Authentication #835
* [ ] left to project manager and developers to edit
## QA Tasks
* [ ] Register a user against a server with open registrations
* [ ] Register a user against a server with closed registrations
* [ ] Register a user against a server with an already existing username (i.e. trying to register with the same username twice)
* [ ] Spam the registration endpoint from a machine to trigger rate limiting, then try to register a userhttps://gitlab.gnome.org/World/fractal/-/issues/793Profile pics not displaying correctly2024-01-29T13:03:35ZGiuseppe De PalmaProfile pics not displaying correctlyIn fractal next the profile pictures in chat have some noise going on,
maybe they are not correctly down-scaled?
![Screenshot_from_2021-06-17_12-44-25](/uploads/84c609ee2d658f7aadc1e347c062f328/Screenshot_from_2021-06-17_12-44-25.png)In fractal next the profile pictures in chat have some noise going on,
maybe they are not correctly down-scaled?
![Screenshot_from_2021-06-17_12-44-25](/uploads/84c609ee2d658f7aadc1e347c062f328/Screenshot_from_2021-06-17_12-44-25.png)https://gitlab.gnome.org/World/fractal/-/issues/791Allow guest account registration2021-06-17T16:02:25ZThibault MartinAllow guest account registrationNot every entity wants to keep open registrations on their instance, since it can leave the room to abuse. The Matrix specifications [allows homeserver to accept guests registrations](https://matrix.org/docs/spec/client_server/latest#pos...Not every entity wants to keep open registrations on their instance, since it can leave the room to abuse. The Matrix specifications [allows homeserver to accept guests registrations](https://matrix.org/docs/spec/client_server/latest#post-matrix-client-r0-register). Those are temporary accounts created without a password. The user do not chose their username at registration, they are assigned a username by the homeserver and can change their _display name_ later.
> When registering a guest account, all parameters in the request body with the exception of initial_device_display_name MUST BE ignored by the server. The server MUST pick a device_id for the account regardless of input.
This makes those accounts ideally very temporary, since the user will not be able to use it from another device, or to log in again.
Proper warnings should probably be issued to the user when registering a guest account. Regular reminders about the fragility of the account should also probably be issued when the user keep using them for long.
The spec also says:
> guest accounts [...] may have limited permissions and may not be supported by all servers.
It does not seem possible to ask the server whether it supports guest accounts registration or not, but when attempting to register a guest account it looks like the server will answer with a 403 response if guest registration is not supported
> ### Status code 403:
> The homeserver does not permit registering the account. This response can be used to identify that a particular kind of account is not allowed, or that registration is generally not supported by the homeserver.
Proposed Mockups:
* left to design team to edit
## Design Tasks
* [ ] left to design team to edit
## Development Tasks
* [ ] left to project manager and developers to edit
## QA Tasks
* [ ] Register a guest user against a server that supports it
* [ ] Register a guest user against a server that does not support it
* [ ] Spam the registration endpoint from a machine to trigger rate limiting, then try to register a user
Guest users [cannot call all the endpoints](https://matrix.org/docs/spec/client_server/latest#guest-access) a regular user could. Guest users also [might not be able to join rooms](https://matrix.org/docs/spec/client_server/latest#id114) depending on how they were configured.
This issue being about guest registration and not guest account support, I refrain from adding QA tasks about it.https://gitlab.gnome.org/World/fractal/-/issues/761Improve sync filter2021-11-27T20:28:58ZJulian Sparberjulian@sparber.netImprove sync filterWe use lazy loading but don't filter any events, we don't care about e.g. call events.
We should create a filter on the homeserver and use it afterwards.We use lazy loading but don't filter any events, we don't care about e.g. call events.
We should create a filter on the homeserver and use it afterwards.https://gitlab.gnome.org/World/fractal/-/issues/727Add tests2023-11-26T23:14:31ZJulian Sparberjulian@sparber.netAdd testsThe `matrix-rust-sdk` uses [mockito](https://docs.rs/mockito/0.29.0/mockito/) for testing the sdk. I think we can and should do something similar.The `matrix-rust-sdk` uses [mockito](https://docs.rs/mockito/0.29.0/mockito/) for testing the sdk. I think we can and should do something similar.https://gitlab.gnome.org/World/fractal/-/issues/724allow use of other-than-default keyring2021-02-13T17:22:26ZScrooge McDuckallow use of other-than-default keyringIn some cases, the use of the default keyring is undesirable.
Matrix, in particular, revolves around secure communication and those with the need for a little bit extra security don't want their communications to become unlocked automati...In some cases, the use of the default keyring is undesirable.
Matrix, in particular, revolves around secure communication and those with the need for a little bit extra security don't want their communications to become unlocked automatically on login.
I propose adding a config-field/environment variable/parameter for using another than the default keyring.
For example: `FRACTAL_KEYRING=work_related fractal`
Currently, fractal creates a new keyring if there is no default keyring yet.
I can imagine it making sense to create a new keyring with a certain alias as well.https://gitlab.gnome.org/World/fractal/-/issues/717Implement e2ee support2024-03-26T22:05:19ZJulian Sparberjulian@sparber.netImplement e2ee supportI created this issue to track the progress of e2ee support, obviously we will need most of the features that the current stable Fractal has. In addition to current available features we will need:
- [x] Fully use and integrate matrix-rus...I created this issue to track the progress of e2ee support, obviously we will need most of the features that the current stable Fractal has. In addition to current available features we will need:
- [x] Fully use and integrate matrix-rust-sdk (We need especially the persistent store)
- [x] Device (Session) Management:
- [x] List of active sessions
- [x] Logout (delete) from active sessions
- [x] View Session ID
- [x] Public Name
- [x] Last Seen
- [ ] Conversation Encryption and Decryption:
- [x] Allow sending and receiving messages.
- [ ] Change conversation encryption settings (#904).
- [ ] Show encryption info in conversations (#903).
- [x] Cross-signing:
- [x] User Verification (#905).
- [x] Session Verification (#850).
- [x] Cross-signing keys backup in secret storage (#902).
- [ ] General encryption settings (#906).
- [x] Room keys backup:
- [x] Import and export keys locally.
- [x] Use the server-side key backups (#1189)
- [ ] Encrypted Room Search (#907).https://gitlab.gnome.org/World/fractal/-/issues/706Display presence2021-01-11T17:39:07ZAlexandre FrankeDisplay presenceMatrix supports presence. It is currently disabled on matrix.org, but on smaller servers it is available. Element will display as a grey dot for offline contacts and a green one for online contacts. The presence dot is displayed in the b...Matrix supports presence. It is currently disabled on matrix.org, but on smaller servers it is available. Element will display as a grey dot for offline contacts and a green one for online contacts. The presence dot is displayed in the bottom right corner of the avatar in two places: for 1-1 chats in the room list, and for all rooms in the member list.
## Design Tasks
* [ ] decide how and where it is displayed
## Development Tasks
* [ ] implement designhttps://gitlab.gnome.org/World/fractal/-/issues/700DevicePanel: Lookup City of IP2022-09-26T15:49:28ZJulian Sparberjulian@sparber.netDevicePanel: Lookup City of IPThe matrix server doesn't give us much information about user devices.
We can implement a city lookup using [`geoip`](https://dev.maxmind.com/geoip/geoip2/geolite2/).
The database is released under the `Creative Commons Attribution-Shar...The matrix server doesn't give us much information about user devices.
We can implement a city lookup using [`geoip`](https://dev.maxmind.com/geoip/geoip2/geolite2/).
The database is released under the `Creative Commons Attribution-ShareAlike 4.0 International License` and is updated once a week. Since the lookup is done locally we won't have privacy issues. Unfortunately Maxmind requires an account to download the database, but we could eventually redistributed the database via GNOME Gitlab.
There is also a rust crate for reading the database: https://crates.io/crates/maxminddb
Related: https://gitlab.gnome.org/GNOME/fractal/-/issues/452
CC: @bertobhttps://gitlab.gnome.org/World/fractal/-/issues/698cache management2023-04-22T15:55:17ZDavid Heidelbergcache managementBeing in room, where people often posts images or videos (5-50 MBs) it gets your fractal folder filled quickly ( `.cache/fractal/medias` ).
Proposed Mockups:
None
## Design Tasks
* [ ] show, how much space does Fractal data occupy
*...Being in room, where people often posts images or videos (5-50 MBs) it gets your fractal folder filled quickly ( `.cache/fractal/medias` ).
Proposed Mockups:
None
## Design Tasks
* [ ] show, how much space does Fractal data occupy
* [ ] add field for limiting usage of cache
* [ ] design screen, where are shown biggest downloaded content and offer view/deletion
## Development Tasks
* [ ] develop screen, which will offer cache management
## QA Tasks
* [ ] quality assurance taskshttps://gitlab.gnome.org/World/fractal/-/issues/689“Back” mouse button to go back everywhere2023-08-12T11:57:37ZAlexandre Franke“Back” mouse button to go back everywhereSome mice have a “navigation back” button that should be used consistently accross the application to “go back”. If there is a back button widget (with the symbolic “<” icon), then the back mouse button should do the same thing. It shoul...Some mice have a “navigation back” button that should be used consistently accross the application to “go back”. If there is a back button widget (with the symbolic “<” icon), then the back mouse button should do the same thing. It should do the same thing we do with <kbd>Esc</kbd>.
* [ ] From a room to “No room selected”
* [ ] From the media viewer to the room the media was opened from
* [x] ~~From the room details to the room~~ This is now a dialog
* [x] ~~From Account settings to main view~~ This is now a dialog
* [ ] From Room directory to main viewhttps://gitlab.gnome.org/World/fractal/-/issues/678Composer focus behaves in unexpected ways on mobile devices2023-12-05T20:55:04ZMax SandholmComposer focus behaves in unexpected ways on mobile devicesWhen using Fractal on a mobile touch device such as a PinePhone, opening a room causes the on-screen keyboard to immediately open (focus on the message text box), and after sending a message the focus is removed and the keyboard gets clo...When using Fractal on a mobile touch device such as a PinePhone, opening a room causes the on-screen keyboard to immediately open (focus on the message text box), and after sending a message the focus is removed and the keyboard gets closed. Based on what I'm used to from all other mobile messaging apps I've used, I expected both of these things to work the opposite way (some apps open the room with the text input focused but without opening the keyboard automatically, while others don't focus it at all until you tap it, and all of them keep the input focused and keyboard open after sending a message).
I realize that focusing the input by default is the desired behavior on desktops and other devices with physical keyboards, so I think if it's possible, it would be best to open the room with the text input focused but without opening the on-screen keyboard if it exists.https://gitlab.gnome.org/World/fractal/-/issues/675UnifiedPush support (for phones & battery duration)2023-05-24T14:12:31ZDavid HeidelbergUnifiedPush support (for phones & battery duration)Having ~~[OpenPush](https://bubu1.eu/openpush/) (unmaintained, superseded)~~ [UnifiedPush](https://unifiedpush.org/) support is essential to prolong battery life on mobile phones.Having ~~[OpenPush](https://bubu1.eu/openpush/) (unmaintained, superseded)~~ [UnifiedPush](https://unifiedpush.org/) support is essential to prolong battery life on mobile phones.https://gitlab.gnome.org/World/fractal/-/issues/664Ctrl+PgDn should switch to the first room if none is selected2020-09-07T13:58:32ZHassan El-MehalawiCtrl+PgDn should switch to the first room if none is selectedCurrently, the user can change the selected room in fractal with Ctrl+PgUp and Ctrl+PgDn. This does not work if no room is selected.
In the case when no room is selected, Ctrl+PgDn should select the first room in the room list.Currently, the user can change the selected room in fractal with Ctrl+PgUp and Ctrl+PgDn. This does not work if no room is selected.
In the case when no room is selected, Ctrl+PgDn should select the first room in the room list.https://gitlab.gnome.org/World/fractal/-/issues/655Local builds are not translated2023-02-14T09:58:58ZAlexandre FrankeLocal builds are not translatedFractal stable is translated just fine, but when I run the nightly flatpak, or when I build myself via Builder, it is all in English.
* [x] nightly build is translated
* [ ] local build is translatedFractal stable is translated just fine, but when I run the nightly flatpak, or when I build myself via Builder, it is all in English.
* [x] nightly build is translated
* [ ] local build is translated