briar issueshttps://code.briarproject.org/groups/briar/-/issues2018-07-25T13:33:31Zhttps://code.briarproject.org/briar/briar/-/issues/1336NPE in ShowQrCodeFragment2018-07-25T13:33:31ZakwizgranNPE in ShowQrCodeFragment* Android version: 8.0.0
* Phone model: Samsung SM-N950U (greatqltesq)
* Briar version: 1.0.9 (841c31e)
* User feedback: "Couldn't add contact."
Stacktrace:
```
java.lang.NullPointerException: Attempt to invoke virtual method 'android.v...* Android version: 8.0.0
* Phone model: Samsung SM-N950U (greatqltesq)
* Briar version: 1.0.9 (841c31e)
* User feedback: "Couldn't add contact."
Stacktrace:
```
java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.WindowManager android.app.Activity.getWindowManager()' on a null object reference
at org.briarproject.briar.android.keyagreement.ShowQrCodeFragment.getScreenRotationDegrees(ShowQrCodeFragment.java:189)
at org.briarproject.briar.android.keyagreement.ShowQrCodeFragment.reset(ShowQrCodeFragment.java:247)
at org.briarproject.briar.android.keyagreement.ShowQrCodeFragment.lambda$keyAgreementFailed$5$ShowQrCodeFragment(ShowQrCodeFragment.java:351)
at org.briarproject.briar.android.keyagreement.ShowQrCodeFragment$$Lambda$5.run(Unknown Source:2)
at org.briarproject.briar.android.fragment.BaseFragment.lambda$runOnUiThreadUnlessDestroyed$0$BaseFragment(BaseFragment.java:89)
at org.briarproject.briar.android.fragment.BaseFragment$$Lambda$0.run(Unknown Source:6)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6940)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
```Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1334Resource compression differs between original APK and reproduced APK2018-07-04T17:22:43ZakwizgranResource compression differs between original APK and reproduced APKWhen trying to reproduce the release-1.0.11 APK, we saw differences in the Gradle output between the original build and the reproducer.
Original:
```
Removed unused resources: Binary resource data reduced from 11278KB to 11276KB: Remove...When trying to reproduce the release-1.0.11 APK, we saw differences in the Gradle output between the original build and the reproducer.
Original:
```
Removed unused resources: Binary resource data reduced from 11278KB to 11276KB: Removed 0%
```
Reproducer:
```
Removed unused resources: Binary resource data reduced from 11278KB to 11278KB: Removed 0%
```
Some XML resources with names starting with `abc_` have their contents replaced with an empty `<x/>` tag in the original APK, but not in the reproduced APK.
Subtask of #1272.Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1332Wrong date seems to make contact exchanges very slow2021-07-23T11:12:52ZJulian DehmWrong date seems to make contact exchanges very slowI observed the following during a contact exchange:
Device A (Galaxy S3-LTE i9350), Device B (Galaxy S5 mini):
Device A had a completely wrong clock (2012-01-1 6 AM).
The contact exchange worked super fast on Device A while Device B was ...I observed the following during a contact exchange:
Device A (Galaxy S3-LTE i9350), Device B (Galaxy S5 mini):
Device A had a completely wrong clock (2012-01-1 6 AM).
The contact exchange worked super fast on Device A while Device B was stuck at "Exchanging contact details"
for at least 1 minute. Eventually it would finish and show the contact in the contact list.
Log from device A: https://code.briarproject.org/snippets/63
Log device B: https://code.briarproject.org/snippets/64
After the contact exchange I tried if the devices can connect to each other but it didn't seem to work:
Log A:https://code.briarproject.org/snippets/65
Log B:https://code.briarproject.org/snippets/66
The contact exchange seemed to work pretty normal once I changed the time to the current.Android 1.3https://code.briarproject.org/briar/briar/-/issues/1329TorPlugin: Authentication cookie did not match expected value2018-06-29T15:38:25ZTorsten GroteTorPlugin: Authentication cookie did not match expected valueWhen working on #1267 restarted Briar several times to check Tor connections. In one of those times, the `TorPlugin` did not start with this trace:
```
06-25 16:05:18.114 W/PluginManagerImpl: Plugin org.briarproject.bramble.tor did not ...When working on #1267 restarted Briar several times to check Tor connections. In one of those times, the `TorPlugin` did not start with this trace:
```
06-25 16:05:18.114 W/PluginManagerImpl: Plugin org.briarproject.bramble.tor did not start
org.briarproject.bramble.api.plugin.PluginException: net.freehaven.tor.control.TorControlError: Error reply: Authentication failed: Authentication cookie did not match expected value.
org.briarproject.bramble.api.plugin.PluginException: net.freehaven.tor.control.TorControlError: Error reply: Authentication failed: Authentication cookie did not match expected value.
at org.briarproject.bramble.plugin.tor.TorPlugin.start(TorPlugin.java:266)
at org.briarproject.bramble.plugin.PluginManagerImpl$PluginStarter.run(PluginManagerImpl.java:213)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856)
Caused by: net.freehaven.tor.control.TorControlError: Error reply: Authentication failed: Authentication cookie did not match expected value.
at net.freehaven.tor.control.TorControlConnection.sendAndWaitForResponse(TorControlConnection.java:204)
at net.freehaven.tor.control.TorControlConnection.authenticate(TorControlConnection.java:492)
at org.briarproject.bramble.plugin.tor.TorPlugin.start(TorPlugin.java:251)
at org.briarproject.bramble.plugin.PluginManagerImpl$PluginStarter.run(PluginManagerImpl.java:213)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856)
```
Starting Briar again fixed it, but this should probably still not happen.Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1328When providing a wifi hotspot, choose port deterministically or in advance2020-06-26T16:19:58ZakwizgranWhen providing a wifi hotspot, choose port deterministically or in advanceAll the Android devices we've tested use the same IP address when providing a wifi hotspot (192.168.43.1). The port number we use when listening on this address should be chosen deterministically or in advance so that contacts connecting...All the Android devices we've tested use the same IP address when providing a wifi hotspot (192.168.43.1). The port number we use when listening on this address should be chosen deterministically or in advance so that contacts connecting to the hotspot can connect to our port without having to receive new transport properties via another transport.
Related to #1193.akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1327AssertionError when pressing back in contact list after setup2019-04-02T13:12:30ZakwizgranAssertionError when pressing back in contact list after setupLooks like SetupActivity was still on the back stack.
```
06-22 14:51:17.259 3107-3107/? E/ACRA: ACRA caught a AssertionError for org.briarproject.briar.android.debug
java.lang.AssertionError
at org.briarproject.briar.androi...Looks like SetupActivity was still on the back stack.
```
06-22 14:51:17.259 3107-3107/? E/ACRA: ACRA caught a AssertionError for org.briarproject.briar.android.debug
java.lang.AssertionError
at org.briarproject.briar.android.login.SetupActivity.onCreate(SetupActivity.java:42)
at android.app.Activity.performCreate(Activity.java:4470)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
at android.app.ActivityThread.access$600(ActivityThread.java:123)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
at android.os.Handler.dispatchMessage(Handler.java:99)
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)
```Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1324Make easy to know which roster have pending notifications2018-09-24T13:02:56ZsBsMake easy to know which roster have pending notificationsAssume that notifications in the main screen are disabled for contacts, groups, forums, and blog. When a notification is shown through the notification dot of Briar icon, the user must visit the contacts, groups, forums and blogs rosters...Assume that notifications in the main screen are disabled for contacts, groups, forums, and blog. When a notification is shown through the notification dot of Briar icon, the user must visit the contacts, groups, forums and blogs rosters looking for the source of the notification. This is not very handy.
I would say that, when in Briar screens, the user should have some indicator showing in which rosters there are pending notifications. At least, some indicator in the menu would be of great help. For instance, the roster icon in the menu can be switched to green if there are pending notifications or, even better, a notification dot that includes the number of pending notifications can appear attached to the icon when needed.https://code.briarproject.org/briar/briar/-/issues/1323Demultiplexer for mailbox downloads2020-10-26T11:55:49ZakwizgranDemultiplexer for mailbox downloadsA connection from a mailbox's owner to the mailbox may carry multiple downloads in parallel - one containing sync records from the mailbox to the owner, and one per contact containing an encrypted stream uploaded by the contact.
Impleme...A connection from a mailbox's owner to the mailbox may carry multiple downloads in parallel - one containing sync records from the mailbox to the owner, and one per contact containing an encrypted stream uploaded by the contact.
Implement a component that demultiplexes these downloads.Mailbox Prototypehttps://code.briarproject.org/briar/briar/-/issues/1322Multiplexer for mailbox uploads2020-10-26T11:56:13ZakwizgranMultiplexer for mailbox uploadsA connection from a mailbox's owner to the mailbox may carry multiple uploads in parallel - one containing sync records from the owner to the mailbox, and one per contact containing an encrypted stream to be downloaded by the contact.
I...A connection from a mailbox's owner to the mailbox may carry multiple uploads in parallel - one containing sync records from the owner to the mailbox, and one per contact containing an encrypted stream to be downloaded by the contact.
Implement a protocol for multiplexing these uploads over a single connection.Mailbox Prototypehttps://code.briarproject.org/briar/briar/-/issues/1319Add backpressure to simplex outgoing sync sessions2022-05-26T12:52:47ZakwizgranAdd backpressure to simplex outgoing sync sessionsSimplexOutgoingSession reads acks and messages from the database as quickly as possible and queues them for transmission. If the DB is faster than the transport, this will result in all sendable acks and messages being queued. This uses ...SimplexOutgoingSession reads acks and messages from the database as quickly as possible and queues them for transmission. If the DB is faster than the transport, this will result in all sendable acks and messages being queued. This uses an unbounded amount of memory and increases the risk of acks or messages being lost before they're transmitted, leading to unnecessary retransmissions.
Add a backpressure mechanism that limits the amount of queued data and delays DB reads when the queue is full.Mailbox: Manage mailbox connectionsakwizgranakwizgran2022-10-31https://code.briarproject.org/briar/briar/-/issues/1318Shut down ACRA process when Briar exits2021-02-19T12:08:36ZakwizgranShut down ACRA process when Briar exitsThe :acra and :briar_error_handler processes keep running after the main process has exited. Find out whether we can shut them down when the main process exits cleanly.The :acra and :briar_error_handler processes keep running after the main process has exited. Find out whether we can shut them down when the main process exits cleanly.https://code.briarproject.org/briar/briar/-/issues/1317Notification Dot is Always Shown on Android 82021-02-18T17:03:30ZTorsten GroteNotification Dot is Always Shown on Android 8Android 8 launchers show a notification dot on the application icon, if the app has an open notification. Our permanent foreground service notification causes the dot to be shown as well. However, Signal's foreground notification does no...Android 8 launchers show a notification dot on the application icon, if the app has an open notification. Our permanent foreground service notification causes the dot to be shown as well. However, Signal's foreground notification does not cause the dot to be shown.akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1316Use of string "Make introduction" in two contexts should be avoided2018-06-18T14:20:41ZsBsUse of string "Make introduction" in two contexts should be avoidedThe string "Make introduction" (https://code.briarproject.org/akwizgran/briar/blob/master/briar-android/src/main/res/values/strings.xml#L150) is used in two distinct contexts:
1. In file https://code.briarproject.org/akwizgran/briar/bl...The string "Make introduction" (https://code.briarproject.org/akwizgran/briar/blob/master/briar-android/src/main/res/values/strings.xml#L150) is used in two distinct contexts:
1. In file https://code.briarproject.org/akwizgran/briar/blob/master/briar-android/src/main/res/layout/introduction_message.xml:
app:buttonText="@string/introduction_button"
In this case, the string is used as the label of a button. The user just defined two contacts to be presented. The app shows clearly which two contacts are going to be introduced. The button referred is used to finally trigger the introduction process. Thus, it has an imperative and final meaning: "do introduce each other the contacts shown in the image". The user has followed all the introduction process to arrive here. Then, it can be assumed that it's clear what he is going to do.
1. In file https://code.briarproject.org/akwizgran/briar/blob/master/briar-android/src/main/res/menu/conversation_actions.xml:
android:title="@string/introduction_button"
In this case, the string is an entry of the vertical dots menu bound to a contact conversation screen. The meaning is more in the sense of "introduce him [the current contact] to another contact". The user is beginning the process of presentation. A more explicit description would be more intuitive.
In catalan l10n both cases would be better differentiated. In the first case, a plain imperative sentence (Presenta'ls) would be optimal. In the second case, it would be more interesting a description of the action (Presenta aquest contacte a un altre, Presenta'l a un altre contacte). However, being a single string this translation scheme cannot be applied.
I suggest to use distinct strings to cases 1 and 2.
PS: spanish translator added a comment in the same senseAndroid 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1314Missing or repeated flags in emoji chooser2018-09-03T12:12:48ZakwizgranMissing or repeated flags in emoji chooser* Android version: 6.0.1
* Briar version: 1.0.1
* User feedback: "In icon section, some flags are missing and most of them are repeated several times."* Android version: 6.0.1
* Briar version: 1.0.1
* User feedback: "In icon section, some flags are missing and most of them are repeated several times."Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1309IllegalStateException when creating account2018-06-14T17:17:17ZakwizgranIllegalStateException when creating account* Android version: 8.0.0
* Phone model: Motorola XT1650 (griffin)
* Briar version: 1.0.2 (e516c32)
Stacktrace:
```
java.lang.IllegalStateException
at org.briarproject.briar.android.login.SetupControllerImpl.createAccount(SetupControll...* Android version: 8.0.0
* Phone model: Motorola XT1650 (griffin)
* Briar version: 1.0.2 (e516c32)
Stacktrace:
```
java.lang.IllegalStateException
at org.briarproject.briar.android.login.SetupControllerImpl.createAccount(SetupControllerImpl.java:88)
at org.briarproject.briar.android.login.SetupControllerImpl.createAccount(SetupControllerImpl.java:82)
at org.briarproject.briar.android.login.DozeFragment.onClick(DozeFragment.java:109)
at android.view.View.performClick(View.java:6259)
at android.view.View$PerformClick.run(View.java:24732)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6592)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:769)
```
This comes from an old Briar version and the code in question has changed. The exception is thrown because the author name or password is null, but those values are now stored in the activity rather than the controller, and they're saved and restored on screen rotation. So this bug may already have been fixed. The ticket can be closed if we don't get any more reports.Android 1.1https://code.briarproject.org/briar/briar/-/issues/1307Display log file in a reader-friendly way2018-12-19T12:23:22ZmicressorDisplay log file in a reader-friendly wayI miss the possibility to display the Briar logfile in a reader-friendly way.
In the menu **Settings -> User Feedback** the logfile is not really easy to read.
Fade in from the right side, similar to Orbot would be nice.
Or a separate lo...I miss the possibility to display the Briar logfile in a reader-friendly way.
In the menu **Settings -> User Feedback** the logfile is not really easy to read.
Fade in from the right side, similar to Orbot would be nice.
Or a separate logfile menu in the settings.akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1306Share access to Play Store reviews2018-08-24T17:49:56ZakwizgranShare access to Play Store reviewsAllow team members other than @akwizgran to respond to Play Store reviews. I'm assuming there's a mechanism for this, we just need to find out what it is.Allow team members other than @akwizgran to respond to Play Store reviews. I'm assuming there's a mechanism for this, we just need to find out what it is.https://code.briarproject.org/briar/briar/-/issues/1305Share access to crash reports and feedback2018-08-24T17:50:57ZakwizgranShare access to crash reports and feedbackAllow team members other than @akwizgran to read crash reports and feedback and create tickets from them. This involves sharing access to the reports and establishing a workflow for avoiding duplicate tickets. Each member should be able ...Allow team members other than @akwizgran to read crash reports and feedback and create tickets from them. This involves sharing access to the reports and establishing a workflow for avoiding duplicate tickets. Each member should be able to search past reports to find reports that relate to the same issue.
The private key for decrypting reports should not be stored on a server. To protect the confidentiality of future reports, we should either replace the encryption key pair when a member leaves the team, or re-encrypt the reports to another key pair that can be replaced when a member leaves.https://code.briarproject.org/briar/briar/-/issues/1304Share access to contact email account2018-08-24T17:51:17ZakwizgranShare access to contact email accountAllow team members other than @akwizgran to read and respond to contact emails. This involves sharing access to the account and establishing a workflow for avoiding duplicate responses, such as moving messages into a folder before dealin...Allow team members other than @akwizgran to read and respond to contact emails. This involves sharing access to the account and establishing a workflow for avoiding duplicate responses, such as moving messages into a folder before dealing with them.https://code.briarproject.org/briar/briar/-/issues/1301LAN plugin isn't activated when starting wifi hotspot2018-10-03T15:40:05ZakwizgranLAN plugin isn't activated when starting wifi hotspotA user reported that the wifi icon doesn't become green when starting a wifi hotspot while Briar is running, but if the hotspot is started before running Briar, the icon is green.
* Android version: 6.0.1
* Phone model: Fairphone FP2
* ...A user reported that the wifi icon doesn't become green when starting a wifi hotspot while Briar is running, but if the hotspot is started before running Briar, the icon is green.
* Android version: 6.0.1
* Phone model: Fairphone FP2
* Briar version: 1.0.4 (f31219d)
```
"Mobile data status" : "Available, enabled, connected",
"Wi-Fi Direct" : "Supported",
"Wi-Fi address" : "0.0.0.0",
"Wi-Fi status" : "Available, not enabled, not connected"
```
(It's not clear however whether the wifi hotspot was running when the report was sent.)akwizgranakwizgran