fractal issueshttps://gitlab.gnome.org/World/fractal/-/issues2024-03-06T16:35:40Zhttps://gitlab.gnome.org/World/fractal/-/issues/12Sound notifications2024-03-06T16:35:40ZSlavi PantaleevSound notificationsIt would be nice if receiving a message would play a sound notification.
As this would likely be very annoying to some people (always or in certain situations), this should probably be configurable.It would be nice if receiving a message would play a sound notification.
As this would likely be very annoying to some people (always or in certain situations), this should probably be configurable.https://gitlab.gnome.org/World/fractal/-/issues/54Keep unsent message contents across room switches (message composer draft tex...2023-11-25T20:36:22ZMathieu BridonKeep unsent message contents across room switches (message composer draft text is not per-room)Steps to reproduce:
1. Open Fractal
2. Enter a room
3. Type something in the input entry, but **do not send it**
4. Switch to another room
The entered message follows you, and is ready to be sent in the second room.
This can lead to a...Steps to reproduce:
1. Open Fractal
2. Enter a room
3. Type something in the input entry, but **do not send it**
4. Switch to another room
The entered message follows you, and is ready to be sent in the second room.
This can lead to awkward (or worse) situations where you send something somewhere it shouldn't have been.
Instead, the not-yet-sent message should probably stay in the input entry **for the room it was typed in**, presenting you with a clean entry in other rooms, but keeping it for when you switch back to the room you had typed in.
## Development Tasks
* [ ] make unsent messages specific to rooms
## QA Tasks
* [ ] unsent messages don't persist across roomshttps://gitlab.gnome.org/World/fractal/-/issues/108Search the conversation log2023-11-26T21:47:30ZdczSearch the conversation logThere's an issue with looking up recent conversations - a search feature would be useful. Currently, looking for an old topic or even reading backlogs is made difficult because of no search and difficult to use loading of previous messag...There's an issue with looking up recent conversations - a search feature would be useful. Currently, looking for an old topic or even reading backlogs is made difficult because of no search and difficult to use loading of previous messages.
Possible inspirations: Konversation presents a search box when the user selects ctrl+f, scrolls and highlights the search term.
See also #907+https://gitlab.gnome.org/World/fractal/-/issues/114Incoming messages hard to find2022-02-22T23:12:44ZdczIncoming messages hard to findThe way Fractal handles incoming messages makes them hard to find afterwards.
They can cause 3 actions:
- display system notification
- mark the message in red
- display a number next to the relevant channel
These actions are not enoug...The way Fractal handles incoming messages makes them hard to find afterwards.
They can cause 3 actions:
- display system notification
- mark the message in red
- display a number next to the relevant channel
These actions are not enough to find the urgent messages. Even if all three things happen, the user still has to manually match the contents of each incoming message to the channel log. It's easy to miss them if there's more than a couple, especially when the log needs to be scrolled up.
This is compounded by the inconsistency of the three conditions:
- if the message comes on the currently selected channel, no notification is displayed and no number is displayed. Once it's scrolled up out of view, user may never be aware of it.
- `@room` messages aren't always highlighted
A possible first step would be to address the inconsistency - by always displaying system notifications when Fractal is unfocused and by always highlighting "interesting" messages.
A more general solution could be to keep a list of "interesting" messages that would take user to the relevant point in the conversation.https://gitlab.gnome.org/World/fractal/-/issues/116Add voice conversations2023-12-29T11:06:41ZdczAdd voice conversationsThis one is a little far-fetched, but hey!This one is a little far-fetched, but hey!https://gitlab.gnome.org/World/fractal/-/issues/165Ability to save (export) parts of a discussion as a plaintext log file2023-11-25T23:20:39ZJeff FortinAbility to save (export) parts of a discussion as a plaintext log fileBe it for archival purposes, accountability or for sharing with other people in projects I'm working on, I save logs of every important discussion. Plaintext is the only format I trust in that regard.
I would love for Fractal to handle ...Be it for archival purposes, accountability or for sharing with other people in projects I'm working on, I save logs of every important discussion. Plaintext is the only format I trust in that regard.
I would love for Fractal to handle this usecase better than xchat-gnome (or hexchat) did. If you use xchat-gnome/hexchat's menu item to save a log of the current discussion, it does not allow you to set a beginning and an end, does not go into the backlog.
Still, most of the time, if you ask xchat-gnome to save a log file, it ends up corrupting it. Go figure how it manages to do that... so anyway I end up just copy-pasting from the chat window to gedit, and saving manually.
The way I see it, Fractal can handle this two ways:
- Rely on the user manually copy-pasting text. Besides the fact that this isn't even possible in Fractal right now (you can't select more than one line), this has disadvantages in general:
* Selections are a bit tricky to operate with long scrolled text areas: you have to start a selection, scroll to the other end, then press & hold the Shift key, then click the endpoint of the selection. Very tricky to achieve without being offtarget.
* As other people in the chatroom continue to chat, your scrolling area/scrollbar will change.
- A tailored log save feature. We could imagine that calling this feature would allow you to place a "start point" and an "end point" markers before you can save to a plaintext logfile (with the current timestamp and channel name as the default filename). This needs to be able to go back even in the backlog from the previous connection or Fractal run, just like a normal ctrl+C.
The 2nd approach (a dedicated plaintext save/export feature) would be best in my view, because the copy-paste approach creates somewhat messy output, as the nicknames are not clearly identified and do not repeat. Instead, this is the kind of clean chatlog syntax I would like to see exported:
<bob> Oh hi
<bob> I'm in ur IRC channel
<alice> flooding ur logshttps://gitlab.gnome.org/World/fractal/-/issues/170Focus search entry when closing room with ESC when room list is filtered2023-11-26T23:32:27ZnotafileFocus search entry when closing room with ESC when room list is filteredWhen sidebar room list is filtered (and search entry is displayed), <kbd>Esc</kbd> in a room should set focus back to the search entry so that filter can be cleared by pressing <kbd>Esc</kbd> again. This is the current behaviour in Teleg...When sidebar room list is filtered (and search entry is displayed), <kbd>Esc</kbd> in a room should set focus back to the search entry so that filter can be cleared by pressing <kbd>Esc</kbd> again. This is the current behaviour in Telegram.https://gitlab.gnome.org/World/fractal/-/issues/191Add link previews2023-11-26T23:32:53ZTobias BernardAdd link previewsMatrix supports link previews natively, so we should make use of that.
Here's a mockup:
![image](/uploads/d98e4d7bcffd3d769e819ef9b3fb989d/image.png)
## Development Tasks
* [ ] Add Link previews after messages containing URLs
## QA...Matrix supports link previews natively, so we should make use of that.
Here's a mockup:
![image](/uploads/d98e4d7bcffd3d769e819ef9b3fb989d/image.png)
## Development Tasks
* [ ] Add Link previews after messages containing URLs
## QA Tasks
* [ ] Link previews look and behave as expectedhttps://gitlab.gnome.org/World/fractal/-/issues/213Make sidebar resizable2021-08-16T06:52:20ZRobert GrieselMake sidebar resizableAdjusting the sidebar (possible in most apps) I can make the app look more balanced with my prefered window size.
Am I right in guessing that resizing has been disabled because of the split headerbar? It's actually not that hard to sync...Adjusting the sidebar (possible in most apps) I can make the app look more balanced with my prefered window size.
Am I right in guessing that resizing has been disabled because of the split headerbar? It's actually not that hard to sync both paneds, just hard to find. Here's how it's done in a UI-file (like GEdit):
`<object class="GtkPaned" id="PANEDINHEADERBARNAME">
<property name="position" bind-source="CONTENTPANEDNAME" bind-property="position" bind-flags="bidirectional|sync-create"/>`
It can also be done with `g_object_bind_property`.https://gitlab.gnome.org/World/fractal/-/issues/217Warn about potential homograph attacks2018-04-30T05:41:53ZGhost UserWarn about potential homograph attacks[Homograph attacks](https://en.wikipedia.org/wiki/IDN_homograph_attack) exploit visual similarities of Unicode characters to fool users about which named entity they are communicating with.
For example, it might seem that
```
@user:mat...[Homograph attacks](https://en.wikipedia.org/wiki/IDN_homograph_attack) exploit visual similarities of Unicode characters to fool users about which named entity they are communicating with.
For example, it might seem that
```
@user:matrix.org
```
and
```
@usеr:matrix.org
```
are identical; however, in the second instance the latin character `e` in `user` has been replaced by Cyrillic Ye, which is a homograph of `e` in most Unicode fonts. Therefore, a malicious entity might trick others into thinking they are talking to `user` when in reality they are not.
[Unicode Technical Standard 39](https://www.unicode.org/reports/tr39/) describes an algorithm for detecting such "confusables". Fractal could apply this algorithm to the set of users in the current room and display a warning if any of their names are "confusable".
To my knowledge, no chat client on any platform currently implements such a feature, although similar algorithms are implemented in some web browsers.https://gitlab.gnome.org/World/fractal/-/issues/223Feedback for file upload2022-03-31T16:09:22ZAlexandre FrankeFeedback for file uploadWhen one sends a file, there is no feedback and one can only wait for it to appear in the conversation. Progress should be displayed.When one sends a file, there is no feedback and one can only wait for it to appear in the conversation. Progress should be displayed.Tobias BernardTobias Bernardhttps://gitlab.gnome.org/World/fractal/-/issues/228Background running, notifications with window closed2024-03-18T14:51:03ZJohnBackground running, notifications with window closedIt would be great to have an option to have the option keep some sort of daemon running in the background to deliver push notifications even while Fractal isn't openedIt would be great to have an option to have the option keep some sort of daemon running in the background to deliver push notifications even while Fractal isn't openedhttps://gitlab.gnome.org/World/fractal/-/issues/239stickers support2023-06-01T18:15:23ZDaniel Garcia Morenostickers supportRiot just added stickers support:
https://medium.com/@RiotChat/stickers-are-here-introducing-riot-im-0-15-for-web-desktop-284c32b93acc
We can provide a basic support for this in fractal, maybe adding another button in the bottom line f...Riot just added stickers support:
https://medium.com/@RiotChat/stickers-are-here-introducing-riot-im-0-15-for-web-desktop-284c32b93acc
We can provide a basic support for this in fractal, maybe adding another button in the bottom line for integrations.
## Design Tasks
* [ ] Design interface to add new stickers group
* [ ] Design interface to send stickers to the room
## Development Tasks
* [ ] implement the api needed
* [ ] implement the interface to add stickers group
* [ ] implement the interface to send stickers to the room
## QA Tasks
* [ ] Test that stickers group are listed
* [ ] Test that we can add/remove stickers groups
* [ ] Test that we can send an sticker
## Protocol spec
https://github.com/matrix-org/matrix-doc/issues/1236
There's no official documentation for this so we need to investigate to know how to do this. For integrations we need to talk to the scalar.vector.im server and this is what I've found that Riot web does for stickers:
### scalar.vector.im register scalar.vector.im
```
POST https://scalar.vector.im/api/register -> scalar_token
access_token fiibjEKTNOTXUrBhlrAqBnAj
expires_in 3600
matrix_server_name matrix.org
token_type Bearer
```
### List stickers
```
GET https://scalar.vector.im/api/widgets/assets?widget_type=m.stickerpicker&scalar_token=136e979f779cc9bfbebe7d1a9d7665865a5e08ea
```
### Add an sticker group
```
GET https://scalar.vector.im/api/widgets/purchase_asset?widget_id=faf418e3-7002-4907-8093-781643aae82e&widget_type=m.stickerpicker&asset_type=stickman&scalar_token=3ae890b5079d398f10e0d42cb58651df06e1c8b6
```
### Get my stickers
```
https://scalar.vector.im/api/widgets/assets?widget_type=m.stickerpicker&widget_id=faf418e3-7002-4907-8093-781643aae82e&filter_unpurchased=true
```
### Sent event:
```json
{
"origin_server_ts": 1526641314211,
"sender": "@unicode:matrix.org",
"event_id": "$15266413142367505GWuzS:matrix.org",
"unsigned": {
"age": 1074,
"transaction_id": "m1526641255019.0"
},
"content": {
"body": "A hastily-rendered stick figure stands with arms in the air beneath three blue-and-white juggling balls apparently in motion. We cannot tell whether the figure is juggling competently or has simply thrown all three balls into the air and is awaiting the inevitable. The figure's mouth is formed into an enigmatic 'o'.",
"info": {
"mimetype": "image/png",
"thumbnail_info": {
"mimetype": "image/png",
"h": 200,
"w": 88,
"size": 30170
},
"h": 200,
"thumbnail_url": "mxc://matrix.org/mQEotjwsEKeZivqIfZjxNfgC",
"w": 88,
"size": 30170
},
"url": "mxc://matrix.org/mQEotjwsEKeZivqIfZjxNfgC"
},
"type": "m.sticker",
"room_id": "!sGOkpwYmpDsHcrwVwG:matrix.org"
}
```https://gitlab.gnome.org/World/fractal/-/issues/247Improve emoji support2022-02-22T10:44:23ZGhost UserImprove emoji support* Provide a means to insert emoji via the keyboard (i.e. Riot uses ":keyword" to initiate a search -- appears Gitlab does as well)
* Enable support for full-color emoji font icons like EmojiOne (currently I see a small line drawing)
* Po...* Provide a means to insert emoji via the keyboard (i.e. Riot uses ":keyword" to initiate a search -- appears Gitlab does as well)
* Enable support for full-color emoji font icons like EmojiOne (currently I see a small line drawing)
* Possibly display emojis at a bigger size
Proposed Mockups:
I find that Riot is a good example for this particular case.
## Tasks
* [ ] emoji input with :keywords and autocompletion (should this be done in GTK?)
* [x] use a full-color emoji font
* [x] increase the font size to about 30px if messages contain only emoji (#367)
## QA Tasks
* [ ] :keyword emoji input works
* [x] emoji are full-color
* [x] large emoji work and look as expectedhttps://gitlab.gnome.org/World/fractal/-/issues/278Video chat support2023-12-16T21:47:43ZGhost UserVideo chat supportObviously this requires a lot of work, but support for webrtc audio or video conferences like already present in riot would be very nice.Obviously this requires a lot of work, but support for webrtc audio or video conferences like already present in riot would be very nice.https://gitlab.gnome.org/World/fractal/-/issues/303click image in image viewer to close2023-11-25T11:47:52Znotafileclick image in image viewer to closeYou can open an Image in fractal with one tap, it would be good to be able to close it with a tap again too.You can open an Image in fractal with one tap, it would be good to be able to close it with a tap again too.https://gitlab.gnome.org/World/fractal/-/issues/313Cache room search results2023-04-08T00:53:30Zmathieu lovato stumpf guntzCache room search resultsOn matrix.org searching for room is extremely slow. That is rather frustrating, but having to perform the search again after joining a room is all the more painful. Couldn't we cache result of last research in Fractal?
That is, let's sa...On matrix.org searching for room is extremely slow. That is rather frustrating, but having to perform the search again after joining a room is all the more painful. Couldn't we cache result of last research in Fractal?
That is, let's say I am searching "gnome", I join a first room, then when I go back to the search view again I still have the list of previously fetched rooms, with a possibility to refresh it if I want.
## Design Tasks
* [ ] determine where and how would the "refresh" feature should be proposed?
## Development Tasks
* [ ] implement the cache
* [ ] implement the ability to flush the cache
## QA Tasks
(no idea)https://gitlab.gnome.org/World/fractal/-/issues/330Unable to fetch history by scrolling when log has many redacted events2023-05-18T16:33:52ZAlexandre FrankeUnable to fetch history by scrolling when log has many redacted eventsSince redacted messages are hidden I can’t seem to scroll back in rooms that are full of them. When I scroll up, the throbber shows for a fraction of a second then disappears. If I repeat the action it just keeps doing the same, but I ne...Since redacted messages are hidden I can’t seem to scroll back in rooms that are full of them. When I scroll up, the throbber shows for a fraction of a second then disappears. If I repeat the action it just keeps doing the same, but I never get earlier non-redacted events.https://gitlab.gnome.org/World/fractal/-/issues/352Split App Into Discussions and Messages2018-10-26T02:00:55ZChristopher DavisSplit App Into Discussions and MessagesWe plan to split Fractal into two apps. One focuses on small groups and 1-1 chat, and the other focused on large IRC-like rooms. This split is inspired by the "Banquet" and "Barbecue" use cases outline in [Tobias Bernard's blog post](htt...We plan to split Fractal into two apps. One focuses on small groups and 1-1 chat, and the other focused on large IRC-like rooms. This split is inspired by the "Banquet" and "Barbecue" use cases outline in [Tobias Bernard's blog post](https://blogs.gnome.org/tbernard/2018/05/16/banquets-and-barbecues/).
The current blockers are:
* [ ] Cleaning up the main .ui file
* [ ] Port widgets to libhandy
If you know of other blockers please list them.Barbecue | Banquet splithttps://gitlab.gnome.org/World/fractal/-/issues/387Allow zoom past 100% in image viewer2022-10-03T10:44:07ZAlexandre FrankeAllow zoom past 100% in image viewerIt is currently not possible to zoom in more than 100% in the image viewer. It should be possible.It is currently not possible to zoom in more than 100% in the image viewer. It should be possible.