briar issueshttps://code.briarproject.org/groups/briar/-/issues2020-04-12T14:36:08Zhttps://code.briarproject.org/briar/briar-gtk/-/issues/45Disconnect from socket listener signals when leaving main window2020-04-12T14:36:08ZNicoDisconnect from socket listener signals when leaving main windowhttps://code.briarproject.org/briar/briar-gtk/blob/c345f861eac8dcd871d3a880ea0c6e4098d1478e/briar-gtk/briar_gtk/containers/main_window.py#L153
```python
def _load_content(self):
self._contacts = Contacts(APP().api)
se...https://code.briarproject.org/briar/briar-gtk/blob/c345f861eac8dcd871d3a880ea0c6e4098d1478e/briar-gtk/briar_gtk/containers/main_window.py#L153
```python
def _load_content(self):
self._contacts = Contacts(APP().api)
self._load_contacts()
# TODO: Disconnect if no more needed
APP().api.socket_listener.connect("ContactAddedEvent",
self._refresh_contacts_async)
APP().api.socket_listener.connect("ConversationMessageReceivedEvent",
self._refresh_contacts_async)
```GTK 0.1.0-alpha1NicoNicohttps://code.briarproject.org/briar/briar/-/issues/978Add preference for using tor only when having power2019-02-21T10:34:01ZGreg TroxelAdd preference for using tor only when having power(Sorry if this is a dup; I searched but am not confident.)
I just built and installed Briar after being absent for a while. I see there's a preference for using tor never, on wifi, and on cellular. That's great for some, but doesn't a...(Sorry if this is a dup; I searched but am not confident.)
I just built and installed Briar after being absent for a while. I see there's a preference for using tor never, on wifi, and on cellular. That's great for some, but doesn't address my problem. I realize there is tension with UX and complicated config, but given that having a HS is very very costly power wise, and outbound tor is somewhat costly, I'd like to see a config for "Use Tor when not charging" that is "no, outbound only, outbound and inbound". This would probably let me start running briar, and I suspect would let others do so as well.Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar-gtk/-/issues/46Re-select contact with open chat after refreshing list2020-04-12T14:36:05ZNicoRe-select contact with open chat after refreshing listEach time a new message arrives, the contact list gets reloaded. Currently, this results in the selection of contacts being removed.
https://code.briarproject.org/briar/briar-gtk/blob/c345f861eac8dcd871d3a880ea0c6e4098d1478e/briar-gtk/b...Each time a new message arrives, the contact list gets reloaded. Currently, this results in the selection of contacts being removed.
https://code.briarproject.org/briar/briar-gtk/blob/c345f861eac8dcd871d3a880ea0c6e4098d1478e/briar-gtk/briar_gtk/containers/main_window.py#L170
```python
def _refresh_contacts(self):
# TODO: Keep selected contact with open chat
self._clear_contact_list()
self._load_contacts()
```GTK 0.1.0-alpha1NicoNicohttps://code.briarproject.org/briar/briar/-/issues/979Removing contact fails after sharing blog2017-07-21T10:27:48ZakwizgranRemoving contact fails after sharing blogAfter sharing an RSS blog with a contact, both users get the following exception when trying to remove the contact:
```
07-07 17:46:07.045 7863-7923/org.briarproject.briar.beta W/ConversationActivity: org.briarproject.bramble.api.db.DbE...After sharing an RSS blog with a contact, both users get the following exception when trying to remove the contact:
```
07-07 17:46:07.045 7863-7923/org.briarproject.briar.beta W/ConversationActivity: org.briarproject.bramble.api.db.DbException
org.briarproject.bramble.api.db.DbException
at org.briarproject.briar.sharing.SharingManagerImpl.getSession(SharingManagerImpl.java:161)
at org.briarproject.briar.sharing.SharingManagerImpl.removingShareable(SharingManagerImpl.java:451)
at org.briarproject.briar.sharing.BlogSharingManagerImpl.removingBlog(BlogSharingManagerImpl.java:70)
at org.briarproject.briar.blog.BlogManagerImpl.removeBlog(BlogManagerImpl.java:224)
at org.briarproject.briar.blog.BlogManagerImpl.removingContact(BlogManagerImpl.java:119)
at org.briarproject.bramble.contact.ContactManagerImpl.removeContact(ContactManagerImpl.java:175)
at org.briarproject.bramble.contact.ContactManagerImpl.removeContact(ContactManagerImpl.java:137)
at org.briarproject.briar.android.contact.ConversationActivity$19.run(ConversationActivity.java:810)
at org.briarproject.briar.android.controller.DbControllerImpl$1.run(DbControllerImpl.java:37)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
```
This is on the 977-crash-when-opening-rss-blog branch with freshly created accounts.Android Beta 1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar-gtk/-/issues/49briar-gtk flatpak on librm5_devkit2020-12-16T09:21:16Zfphemeralbriar-gtk flatpak on librm5_devkithere the (admitteldy hacky) steps to reproduce
getting briar-gtk alpha flatpak to work on librm5_devkit aarch64
## patched briar headless
cloned briar repo
applied two patches:
```diff
+++ b/bramble-core/src/main/java/org/briarproject...here the (admitteldy hacky) steps to reproduce
getting briar-gtk alpha flatpak to work on librm5_devkit aarch64
## patched briar headless
cloned briar repo
applied two patches:
```diff
+++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorPlugin.java
@@ -192,7 +192,7 @@ abstract class TorPlugin implements DuplexPlugin, EventHandler, EventListener {
// Load the settings
settings = callback.getSettings();
// Install or update the assets if necessary
- if (!assetsAreUpToDate()) installAssets();
+ //if (!assetsAreUpToDate()) installAssets();
if (cookieFile.exists() && !cookieFile.delete())
LOG.warning("Old auth cookie not deleted");
// Start a new Tor process
+++ b/bramble-java/src/main/java/org/briarproject/bramble/plugin/tor/UnixTorPluginFactory.java
@@ -82,13 +82,13 @@ public class UnixTorPluginFactory implements DuplexPluginFactory {
@Override
public DuplexPlugin createPlugin(PluginCallback callback) {
// Check that we have a Tor binary for this architecture
- String architecture = null;
- if (isLinux()) {
- String arch = System.getProperty("os.arch");
- if (arch.equals("amd64")) {
- architecture = "linux-x86_64";
- }
- }
+ String architecture = "linux-aarch64";
+ //if (isLinux()) {
+ // String arch = System.getProperty("os.arch");
+ // if (arch.equals("amd64")) {
+ // architecture = "linux-x86_64";
+ // }
+ //}
if (architecture == null) {
LOG.info("Tor is not supported on this architecture");
return null;
```
compiled briar-headless
as also described in
http://4g375hpowkjyopwa7c5lm7f4ovzhceezvscm342uklflfpl3mcxxhxyd.onion/briar_headless_on_librem5_devkit.html
## briar-gtk build flatpak
git cloned:
https://code.briarproject.org/briar/briar-gtk
`git submodule update --init`
built flatpak as advertised via:
`flatpak-builder --install-deps-from=flathub --user --install --force-clean --ccache flatpak-builddir app.briar.gtk.json`
## run shell in flatpak container
`flatpak run --command=sh app.briar.gtk`
first replacing briar headless with the patched version for aarch64
`cp /home/purism/dl/briar/briar-headless/build/libs/briar-headless.jar /home/purism/.local/share/flatpak/app/app.briar.gtk/aarch64/master/active/files/briar/briar-headless.jar`
starting briar headless inside the flatpak
`java -jar /app/briar/briar-headless.jar`
which complains about the not visible (from flatpak perspective) distro tor dependencies.
so copy dependencies into flatpak as well:
libevent-2.1.so.6:
`cp /usr/lib/aarch64-linux-gnu/libevent-2.1.so.6.0.2 /home/purism/.local/share/flatpak/runtime/org.gnome.Platform/aarch64/3.36/active/files/lib/aarch64-linux-gnu/libevent-2.1.so.6`
libzstd.so.1:
`cp /usr/lib/aarch64-linux-gnu/libzstd.so.1.3.8 /home/purism/.local/share/flatpak/runtime/org.gnome.Platform/aarch64/3.36/active/files/lib/aarch64-linux-gnu/libzstd.so.1`
with that briar-headless runs fine.
## briar-gtk python key error
python key error, so I disabled the two lines of code:
remove/comment-out lines 30 and 31 of
/home/purism/.local/share/flatpak/app/app.briar.gtk/aarch64/master/active/files/lib/python3.7/site-packages/briar_wrapper/models/contacts.pyhttps://code.briarproject.org/briar/briar/-/issues/617Protocol versioning2018-05-03T16:43:58ZakwizgranProtocol versioningAll protocols should include version information, and implementations should respond appropriately to versions they don't know how to handle.All protocols should include version information, and implementations should respond appropriately to versions they don't know how to handle.Android 1.0akwizgranakwizgranhttps://code.briarproject.org/briar/briar-gtk/-/issues/50fatal TLS alert on uri2020-05-11T08:04:46Zsysterfatal TLS alert on uria user tryn to install briar GTK reports the following issue:
I get "error: Can't load uri https://flatpak.dorfbrunnen.eu/repo/appstream/app.briar.gtk.flatpakref: Peer sent fatal TLS alert: Error in protocol version" when I try to flatp...a user tryn to install briar GTK reports the following issue:
I get "error: Can't load uri https://flatpak.dorfbrunnen.eu/repo/appstream/app.briar.gtk.flatpakref: Peer sent fatal TLS alert: Error in protocol version" when I try to flatpak it
original report is here: https://mastodon.social/@fav/104128177572053077https://code.briarproject.org/briar/briar/-/issues/982Crash when creating parent stack on Android 4.0.42017-08-01T16:58:38ZakwizgranCrash when creating parent stack on Android 4.0.4The Sony Xperia Tipo (Android 4.0.4) crashed with the following stacktrace when a blog invitation was received:
```
07-14 10:41:01.999 3782-3782/org.briarproject.briar.beta E/ACRA: ACRA caught a IllegalArgumentException for org.briarpro...The Sony Xperia Tipo (Android 4.0.4) crashed with the following stacktrace when a blog invitation was received:
```
07-14 10:41:01.999 3782-3782/org.briarproject.briar.beta E/ACRA: ACRA caught a IllegalArgumentException for org.briarproject.briar.beta
java.lang.IllegalArgumentException: android.content.pm.PackageManager$NameNotFoundException: ComponentInfo{org.briarproject.briar.beta/org.briarproject.briar.beta.android.navdrawer.NavDrawerActivity}
at android.support.v4.app.TaskStackBuilder.addParentStack(TaskStackBuilder.java:247)
at android.support.v4.app.TaskStackBuilder.addParentStack(TaskStackBuilder.java:226)
at org.briarproject.briar.android.AndroidNotificationManagerImpl.updateContactNotification(AndroidNotificationManagerImpl.java:315)
at org.briarproject.briar.android.AndroidNotificationManagerImpl.access$1200(AndroidNotificationManagerImpl.java:78)
at org.briarproject.briar.android.AndroidNotificationManagerImpl$3.run(AndroidNotificationManagerImpl.java:268)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:817)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.content.pm.PackageManager$NameNotFoundException: ComponentInfo{org.briarproject.briar.beta/org.briarproject.briar.beta.android.navdrawer.NavDrawerActivity}
at android.app.ApplicationPackageManager.getActivityInfo(ApplicationPackageManager.java:223)
at android.support.v4.app.NavUtils.getParentActivityName(NavUtils.java:301)
at android.support.v4.app.NavUtils.getParentActivityIntent(NavUtils.java:262)
at android.support.v4.app.TaskStackBuilder.addParentStack(TaskStackBuilder.java:240)
at android.support.v4.app.TaskStackBuilder.addParentStack(TaskStackBuilder.java:226)
at org.briarproject.briar.android.AndroidNotificationManagerImpl.updateContactNotification(AndroidNotificationManagerImpl.java:315)
at org.briarproject.briar.android.AndroidNotificationManagerImpl.access$1200(AndroidNotificationManagerImpl.java:78)
at org.briarproject.briar.android.AndroidNotificationManagerImpl$3.run(AndroidNotificationManagerImpl.java:268)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
```
It makes sense to get a `NameNotFoundException` for `org.briarproject.briar.beta.android.navdrawer.NavDrawerActivity` because the package name is wrong - it should be `org.briarproject.briar.android.navdrawer.NavDrawerActivity` (without the `beta`). So it looks like this crash could be related to setting the package name in `build.gradle`.Android Beta 1akwizgranakwizgranhttps://code.briarproject.org/briar/briar-gtk/-/issues/51Support copying content in messages2020-07-18T16:43:57ZnomaneSupport copying content in messagesNot sure if specific to OS, but after testing in Qubes-Whonix workstation I noticed copying messages was not working/supportedNot sure if specific to OS, but after testing in Qubes-Whonix workstation I noticed copying messages was not working/supportedGTK 0.1.0-alpha2NicoNicohttps://code.briarproject.org/briar/briar-gtk/-/issues/52Indicate delivery state of messages2020-10-10T19:55:23ZNicoIndicate delivery state of messagesExample from Briar Android:
![manual_messaging-cropped](/uploads/cf1e8dcb77a834f675fd211a457f87d7/manual_messaging-cropped.png)Example from Briar Android:
![manual_messaging-cropped](/uploads/cf1e8dcb77a834f675fd211a457f87d7/manual_messaging-cropped.png)GTK 0.1.0-beta2NicoNicohttps://code.briarproject.org/briar/briar-gtk/-/issues/53Only show username in chat history when author of message block changes2020-09-09T13:02:11ZNicoOnly show username in chat history when author of message block changesExample screenshot visualizing the problem:
![Screenshot_from_2020-06-02_17-40-52](/uploads/c0fc495e5467695d8a5c99406ada9e0b/Screenshot_from_2020-06-02_17-40-52.png)
On the other side, this is how Fractal does it:
![fractal-4.0-screen...Example screenshot visualizing the problem:
![Screenshot_from_2020-06-02_17-40-52](/uploads/c0fc495e5467695d8a5c99406ada9e0b/Screenshot_from_2020-06-02_17-40-52.png)
On the other side, this is how Fractal does it:
![fractal-4.0-screenshot](/uploads/69fc73064ba10da4db585e991a196995/fractal-4.0-screenshot.png)
Note the two messages at the top. Two messages share the same author, therefore the author name is omitted the second time.GTK 0.1.0-beta1NicoNicohttps://code.briarproject.org/briar/briar/-/issues/965Forum empty state message still refers to pen icon2018-03-28T11:39:17ZakwizgranForum empty state message still refers to pen iconThe forum empty state message says "Use the pen icon at the top to compose the first post". The pen icon no longer exists so this text should be removed.The forum empty state message says "Use the pen icon at the top to compose the first post". The pen icon no longer exists so this text should be removed.Android Beta 2akwizgranakwizgranhttps://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-beta1NicoNicohttps://code.briarproject.org/briar/briar/-/issues/964Buttons on private group messages are cropped2018-11-15T11:39:12ZakwizgranButtons on private group messages are croppedOn the Galaxy Nexus, but not on the Moto G 4G or Moto E3, the buttons on private group messages are cropped so the text isn't fully visible:
![Screenshot_2017-05-31-23-50-57](/uploads/34f209c7540486a337fb144dc59b4c1a/Screenshot_2017-05-...On the Galaxy Nexus, but not on the Moto G 4G or Moto E3, the buttons on private group messages are cropped so the text isn't fully visible:
![Screenshot_2017-05-31-23-50-57](/uploads/34f209c7540486a337fb144dc59b4c1a/Screenshot_2017-05-31-23-50-57.png)Sponsor 2.1Torsten GroteTorsten Grotehttps://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/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/-/issues/986Logging wrapper2018-05-24T09:59:19ZakwizgranLogging wrapperCreate a wrapper around the system logger that will allow us to log information without exposing it to the system logs, and read that information back in the case of a crash without requiring the READ_LOGS permission.Create a wrapper around the system logger that will allow us to log information without exposing it to the system logs, and read that information back in the case of a crash without requiring the READ_LOGS permission.Android 1.1akwizgranakwizgranhttps://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/58Tell Python from where to import dependencies2020-08-31T06:35:25ZNicoTell Python from where to import dependenciesA user had huge problems installing Briar GTK as .debs, because they also had installed previous versions of `briar_wrapper` with _pip_. They installed the latest versions of all .debs, but nevertheless got a warning due to an outdated v...A user had huge problems installing Briar GTK as .debs, because they also had installed previous versions of `briar_wrapper` with _pip_. They installed the latest versions of all .debs, but nevertheless got a warning due to an outdated version of `briar_wrapper`. Instead of using the newer .deb version in _/usr/lib/python3/dist-packages/briar_wrapper_, Briar GTK imported `briar_wrapper` from _/usr/**local**/lib/python3.8/dist-packages/briar_wrapper_, which was the old version from *pip*.https://code.briarproject.org/briar/briar/-/issues/961Minor UX issue with reblogs and contact messaging2019-02-27T10:25:16ZErnir ErlingssonMinor UX issue with reblogs and contact messagingMargins are missing in the bottom area between the screen border and between the input area and button. Button also seems wider than the input area which is probably missing a shadow due to elevation
See screenshots:
![Screenshot_2...Margins are missing in the bottom area between the screen border and between the input area and button. Button also seems wider than the input area which is probably missing a shadow due to elevation
See screenshots:
![Screenshot_2017-05-31-11-14-05](/uploads/4bb202defb5e3589d521318eb200d48a/Screenshot_2017-05-31-11-14-05.png)
![Screenshot_2017-05-31-11-22-04](/uploads/d37e09cf19b5ad2bc194c7a561289039/Screenshot_2017-05-31-11-22-04.png)