Briar GTK issueshttps://code.briarproject.org/briar/briar-gtk/-/issues2021-03-07T12:13:21Zhttps://code.briarproject.org/briar/briar-gtk/-/issues/93Current contact not always highlighted2021-03-07T12:13:21ZNicoCurrent contact not always highlightedSometimes the chat is open but no contact is highlighted in the sidebar.Sometimes the chat is open but no contact is highlighted in the sidebar.GTK 0.1.0-beta3NicoNicohttps://code.briarproject.org/briar/briar-gtk/-/issues/92Support sending messages with numpad enter2021-03-07T12:32:57ZNicoSupport sending messages with numpad enterCurrently only the "main" enter key leads to messages being sent.
Currently:
* https://code.briarproject.org/briar/briar-gtk/-/blob/a46245005fdd2d65bb05b6766325d025dd70544a/briar-gtk/briar_gtk/private_chat/private_chat_presenter.py#L193...Currently only the "main" enter key leads to messages being sent.
Currently:
* https://code.briarproject.org/briar/briar-gtk/-/blob/a46245005fdd2d65bb05b6766325d025dd70544a/briar-gtk/briar_gtk/private_chat/private_chat_presenter.py#L193
* https://code.briarproject.org/briar/briar-gtk/-/blob/a46245005fdd2d65bb05b6766325d025dd70544a/briar-gtk/briar_gtk/private_chat/private_chat_presenter.py#L273
Formerly: https://code.briarproject.org/briar/briar-gtk/-/blob/0.1.0-beta2/briar-gtk/briar_gtk/containers/main_window.py#L187GTK 0.1.0-beta3NicoNicohttps://code.briarproject.org/briar/briar-gtk/-/issues/89Stay at top when entering second line in chat input2021-03-07T13:24:23ZNicoStay at top when entering second line in chat inputCurrently it scrolls down, hiding the first line.Currently it scrolls down, hiding the first line.GTK 0.1.0-beta3NicoNicohttps://code.briarproject.org/briar/briar-gtk/-/issues/88Revise contributing guide2021-02-04T09:28:42ZNicoRevise contributing guideThere's at least an error with the `component` thing in merge requests. Might have other issues, too.There's at least an error with the `component` thing in merge requests. Might have other issues, too.GTK 0.1.0-beta3NicoNicohttps://code.briarproject.org/briar/briar-gtk/-/issues/84Use Briar blue instead of theme selected color2020-12-16T14:02:59ZNicoUse Briar blue instead of theme selected colorCurrently we use [`@theme_selected_bg_color`](https://code.briarproject.org/briar/briar-gtk/-/blob/154be3dcfe2c93f5cf66f25f1b356e54653175a1/briar-gtk/data/ui/application.css#L67) for things like usernames. This is mostly blue, but on e.g...Currently we use [`@theme_selected_bg_color`](https://code.briarproject.org/briar/briar-gtk/-/blob/154be3dcfe2c93f5cf66f25f1b356e54653175a1/briar-gtk/data/ui/application.css#L67) for things like usernames. This is mostly blue, but on e.g. Linux Mint it's green. There, the difference between own and their usernames is not visible that much, because both names are colored in green. We should use the Briar blue code instead, so that we have blue-green on all platforms.GTK 0.1.0-beta3x0lootsx0lootshttps://code.briarproject.org/briar/briar-gtk/-/issues/81Improve line wrapping in messages2021-01-06T14:41:28ZNicoImprove line wrapping in messagesA user reported a bug I had in mind once but forgot about: messages consisting of one very large "word" don't get wrapped in the chat history. By sending a very large sequence of characters without spaces etc. you can essentially explode...A user reported a bug I had in mind once but forgot about: messages consisting of one very large "word" don't get wrapped in the chat history. By sending a very large sequence of characters without spaces etc. you can essentially explode your window width.
Seems like this is really easy to fix: in [_briar-gtk/briar_gtk/widgets/private_message.py#L121_](https://code.briarproject.org/briar/briar-gtk/-/blob/154be3dcfe2c93f5cf66f25f1b356e54653175a1/briar-gtk/briar_gtk/widgets/private_message.py#L121) all we have to do is to add a new code line calling [`body_content.set_line_wrap_mode()`](https://lazka.github.io/pgi-docs/#Gtk-3.0/classes/Label.html#Gtk.Label.set_line_wrap_mode) with [`Pango.WrapMode.WORD_CHAR `](https://lazka.github.io/pgi-docs/#Pango-1.0/enums.html#Pango.WrapMode.WORD_CHAR).GTK 0.1.0-beta3https://code.briarproject.org/briar/briar-gtk/-/issues/76Handle error when adding pending contact2021-03-09T10:34:35ZNicoHandle error when adding pending contactFound by @grote in https://code.briarproject.org/briar/python-briar-wrapper/-/issues/19.
We should definitely fix this in the next release. For now, all we seem to be able to do is tell users about the failure. Once https://code.briarpr...Found by @grote in https://code.briarproject.org/briar/python-briar-wrapper/-/issues/19.
We should definitely fix this in the next release. For now, all we seem to be able to do is tell users about the failure. Once https://code.briarproject.org/briar/briar/-/issues/1825 is done, we can offer ways to fix the error.
When implementing this issue, we have to keep in mind that attackers might want to know if a user already has a contact, i.e. exploring the contacts relationships of the targeted user.
In general Briar GTK should start to properly handle errors. When doing this, the documentation of Briar Headless should be improved, too.GTK 0.1.0-beta3NicoNicohttps://code.briarproject.org/briar/briar-gtk/-/issues/75Split translation file of Briar GTK and its metadata2020-10-06T17:45:43ZNicoSplit translation file of Briar GTK and its metadataIn order to being able to focus more on the translation of Briar GTK's core components, I though about splitting up the translation file into a Python/UI part and a metadata part.
We currently have 90 strings to translate for Briar GTK,...In order to being able to focus more on the translation of Briar GTK's core components, I though about splitting up the translation file into a Python/UI part and a metadata part.
We currently have 90 strings to translate for Briar GTK, and roughly half of it are coming from its [metainfo file](https://code.briarproject.org/briar/briar-gtk/-/blob/0e83afe95a9ca1df7c4084d0de68eabe8ad6f85e/briar-gtk/data/app.briar.gtk.metainfo.xml.in). This file is used by programs like [GNOME Software](https://wiki.gnome.org/Apps/Software) to generate a beautiful application page. However, especially the changelog part I don't see as critical as the core program and therefore suggest to split it up. It's just a matter of changing one line of code in [_tools/generate_data.sh_](https://code.briarproject.org/briar/briar-gtk/-/blob/0e83afe95a9ca1df7c4084d0de68eabe8ad6f85e/tools/generate_data.sh#L35) and doing some configuration in Transifex. Since I'm now a maintainer there, I can do this all on my own.
Once we have things split up, we can start to [prioritize core components](https://docs.transifex.com/projects/categorizing-and-prioritizing-resources) of Briar. I suggest to make the Android and GTK parts "Urgent", the manual "High" and GTK's metadata "Normal".
CC @akwizgran @groteGTK 0.1.0-beta2NicoNicohttps://code.briarproject.org/briar/briar-gtk/-/issues/71Allow multiple lines in input field2020-12-31T12:05:29ZNicoAllow multiple lines in input fieldDino.im handles it in a way I like personally.Dino.im handles it in a way I like personally.GTK 0.1.0-beta3NicoNicohttps://code.briarproject.org/briar/briar-gtk/-/issues/70Limit input width just like message texts width2020-12-31T12:05:26ZNicoLimit input width just like message texts widthWhile we limit the width of messages in the chat history, the input is stretched from one end to another.
I guess we need to put the `Gtk.Entry` in a `Handy.Leaflet`, just like Fractal:
![fractal-4.0-screenshot](/uploads/92eb9f5cdc4dfb...While we limit the width of messages in the chat history, the input is stretched from one end to another.
I guess we need to put the `Gtk.Entry` in a `Handy.Leaflet`, just like Fractal:
![fractal-4.0-screenshot](/uploads/92eb9f5cdc4dfb083d2bf72e5414ffa6/fractal-4.0-screenshot.png)GTK 0.1.0-beta3NicoNicohttps://code.briarproject.org/briar/briar-gtk/-/issues/68Providing context in translation strings requires Python 3.82020-10-02T09:14:47ZNicoProviding context in translation strings requires Python 3.8In https://code.briarproject.org/briar/briar-gtk/-/merge_requests/67 I tried to react to the issues in Transifex by adding context to some strings. This required using `gettext.pgettext` which is a new feature in Python 3.8.
Python 3.8 ...In https://code.briarproject.org/briar/briar-gtk/-/merge_requests/67 I tried to react to the issues in Transifex by adding context to some strings. This required using `gettext.pgettext` which is a new feature in Python 3.8.
Python 3.8 isn't available in Debian stable and it's still a year (?) until a new version of Debian is released.
With @grote I was discussing whether requiring Python 3.8 is worth only for providing context, because it excludes users on Debian stable.
Reading [L10n Lab's Developer Guidelines](https://www.localizationlab.org/roles-guidelines#developer) I learned that there is an "Instructions field in the Web Editor to provide translators with context when possible". I don't seem to be able to use it since I'm only a Translator on Briar's project.
@akwizgran What's your opinion on that? Maybe we can also get Lab peoples' opinion on this?
Before reverting that changes and making yet another update to the source files, I wanted to hear your opinions on this topic.GTK 0.1.0-beta2NicoNicohttps://code.briarproject.org/briar/briar-gtk/-/issues/67Don't allow sending empty messages2020-09-23T08:14:36ZNicoDon't allow sending empty messagesLooks really weird and empty messages get filtered out anyway on the other side.Looks really weird and empty messages get filtered out anyway on the other side.GTK 0.1.0-beta2NicoNicohttps://code.briarproject.org/briar/briar-gtk/-/issues/63Ask before deleting contacts2020-09-10T12:05:06ZNicoAsk before deleting contactsCurrently, when clicking on "Delete contact", it gets deleted immediately. We should at least confirm that or make it possible to undo the deletion (#64).Currently, when clicking on "Delete contact", it gets deleted immediately. We should at least confirm that or make it possible to undo the deletion (#64).GTK 0.1.0-beta1NicoNicohttps://code.briarproject.org/briar/briar-gtk/-/issues/62Refresh contact list when sending messages2020-09-09T11:47:03ZNicoRefresh contact list when sending messagesAlthough after sending a message that contact should be at the top of the list, it's currently not.Although after sending a message that contact should be at the top of the list, it's currently not.GTK 0.1.0-beta1NicoNicohttps://code.briarproject.org/briar/briar-gtk/-/issues/61Use 24h format for times in messages2020-09-08T17:03:18ZNicoUse 24h format for times in messagesCurrently we leave that out, making it unclear whether it's a.m./p.m.Currently we leave that out, making it unclear whether it's a.m./p.m.GTK 0.1.0-beta1https://code.briarproject.org/briar/briar-gtk/-/issues/60Contacts don't get deleted reliably2020-09-08T17:17:27ZNicoContacts don't get deleted reliablySteps to reproduce:
* Open private chat with contact
* Click to delete them
* Click + to add new contact
Expected:
* Contact gets deleted
Actually:
```bash
(Briar:3): Handy-CRITICAL **: 17:49:00.203: hdy_stackable_box_set_visible_child...Steps to reproduce:
* Open private chat with contact
* Click to delete them
* Click + to add new contact
Expected:
* Contact gets deleted
Actually:
```bash
(Briar:3): Handy-CRITICAL **: 17:49:00.203: hdy_stackable_box_set_visible_child: assertion 'contains_child' failed
Traceback (most recent call last):
File "/app/share/briar-gtk/briar_gtk/widgets/undo_notification.py", line 57, in _on_destroy
action()
File "/app/share/briar-gtk/briar_gtk/containers/main_window.py", line 99, in _timeout_action
self.show_sidebar()
File "/app/share/briar-gtk/briar_gtk/containers/main_window.py", line 85, in show_sidebar
self.chat_view.hide()
AttributeError: 'NoneType' object has no attribute 'hide'
```
Maybe we shouldn't do this "Undo" thing at all...GTK 0.1.0-beta1NicoNicohttps://code.briarproject.org/briar/briar-gtk/-/issues/57Set window flag on incoming message2020-09-02T08:30:24ZNicoSet window flag on incoming messageFrom the [FreeDesktop specifications](https://specifications.freedesktop.org/wm-spec/wm-spec-latest.html#URGENCY):
> Windows expecting immediate user action should indicate this using the urgency bit in the WM_HINTS.flags property, as d...From the [FreeDesktop specifications](https://specifications.freedesktop.org/wm-spec/wm-spec-latest.html#URGENCY):
> Windows expecting immediate user action should indicate this using the urgency bit in the WM_HINTS.flags property, as defined in the ICCCM.
Alternatively, we could use `_NET_WM_STATE_DEMANDS_ATTENTION`.
Sub issue of #31.GTK 0.1.0-beta1https://code.briarproject.org/briar/briar-gtk/-/issues/56Don't expect messages to always have text2020-07-18T16:43:57ZTorsten GroteDon't expect messages to always have textSome messages are notices that don't carry any text (responses to forum invitations for example).
```
Traceback (most recent call last):
File "/usr/share/briar-gtk/briar_gtk/containers/private_chat.py", line 101, in _add_message
m...Some messages are notices that don't carry any text (responses to forum invitations for example).
```
Traceback (most recent call last):
File "/usr/share/briar-gtk/briar_gtk/containers/private_chat.py", line 101, in _add_message
message_widget = PrivateMessageWidget(self._contact_name, message)
File "/usr/share/briar-gtk/briar_gtk/widgets/private_message.py", line 18, in __init__
self._setup_view(contact_name, message)
File "/usr/share/briar-gtk/briar_gtk/widgets/private_message.py", line 34, in _setup_view
message["text"])
KeyError: 'text'
```GTK 0.1.0-alpha2NicoNicohttps://code.briarproject.org/briar/briar-gtk/-/issues/55Contact's name not showing in private messages2020-07-18T16:43:57ZNicoContact's name not showing in private messagesThe [following code](https://code.briarproject.org/briar/briar-gtk/-/blob/f9c25591c9f7b5db8c214ea88364aa17138be974/briar-gtk/briar_gtk/containers/main_window.py#L116) is buggy:
```python
def _get_contact_name(self, contact_id):
...The [following code](https://code.briarproject.org/briar/briar-gtk/-/blob/f9c25591c9f7b5db8c214ea88364aa17138be974/briar-gtk/briar_gtk/containers/main_window.py#L116) is buggy:
```python
def _get_contact_name(self, contact_id):
name = ""
for contact in self.contacts_list:
if contact["contactId"] is contact_id:
name = contact["author"]["name"]
if "alias" in contact:
name = contact["alias"]
break
return name
```
It's fixed by doing
```diff
def _get_contact_name(self, contact_id):
name = ""
for contact in self.contacts_list:
- if contact["contactId"] is contact_id:
+ if contact["contactId"] == contact_id:
name = contact["author"]["name"]
if "alias" in contact:
name = contact["alias"]
break
return name
```GTK 0.1.0-alpha2NicoNicohttps://code.briarproject.org/briar/briar-gtk/-/issues/54Warn users of closure2020-09-10T13:07:31ZNicoWarn users of closureWhen the Briar GTK window is closed, everything around Briar is shutdown. It's equal to signing out off Briar Android. Users might not be aware of this and its consequences, i.e. no more receiving nor sending of messages.
Therefore, we ...When the Briar GTK window is closed, everything around Briar is shutdown. It's equal to signing out off Briar Android. Users might not be aware of this and its consequences, i.e. no more receiving nor sending of messages.
Therefore, we should show a warning dialog (using libhandy, if possible), asking the user whether they really want to sign out/close the window.
On Briar Android, nothing is shown on sign out. Maybe we should therefore show the dialog only on the first closure.GTK 0.1.0-beta1NicoNico