briar issueshttps://code.briarproject.org/briar/briar/-/issues2018-08-20T19:41:39Zhttps://code.briarproject.org/briar/briar/-/issues/1349Implement zero-state UX2018-08-20T19:41:39ZAnxhelo LushkaImplement zero-state UXAs discussed, we have created some mockups for zero-state views for the app that need to be implemented.
![image](/uploads/52f36e770f2b9718c2a63f0e8233ca8d/image.png)
Below you'll find the mockups created in Figma: https://www.figma.com...As discussed, we have created some mockups for zero-state views for the app that need to be implemented.
![image](/uploads/52f36e770f2b9718c2a63f0e8233ca8d/image.png)
Below you'll find the mockups created in Figma: https://www.figma.com/file/YSI5sO2Bwkm1hLy56THbo2Rt/UX-Redesign-July---October-2018Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1348Briar does not care if bluetooth is used by other apps2020-11-16T10:36:46ZmicressorBriar does not care if bluetooth is used by other appsI have
* [X] searched for open and closed issues
----
**Steps to reproduce:**
1. Listen to music via bluetooth
2. Select logoff on Briar
**Current behavior:**
Briar switches off the Bluetooth on the device.
**Expected behavior:**
Br...I have
* [X] searched for open and closed issues
----
**Steps to reproduce:**
1. Listen to music via bluetooth
2. Select logoff on Briar
**Current behavior:**
Briar switches off the Bluetooth on the device.
**Expected behavior:**
Briar should not shutdown bluetooth, if it is used by other apps.Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1344Briar app for mobile linux devices2022-01-07T16:45:59ZIdRather NotBriar app for mobile linux devicesConsidering the Librem 5, that purism is currently developing, is coming early 2019, are there plans on making an app for it?
[Infos on the Librem 5](https://puri.sm/posts/librem5-progress-report-14/)
(may be connected to/the same as #1...Considering the Librem 5, that purism is currently developing, is coming early 2019, are there plans on making an app for it?
[Infos on the Librem 5](https://puri.sm/posts/librem5-progress-report-14/)
(may be connected to/the same as #1254)https://code.briarproject.org/briar/briar/-/issues/1343Use vanniktech's library for emojis2018-09-03T12:12:25ZNicoUse vanniktech's library for emojisSo I was working on [updating to the latest emojis](https://code.briarproject.org/briar/briar/issues/940) in https://code.briarproject.org/briar/spritegen/merge_requests/1 but [did not have success generating updated sprites](https://cod...So I was working on [updating to the latest emojis](https://code.briarproject.org/briar/briar/issues/940) in https://code.briarproject.org/briar/spritegen/merge_requests/1 but [did not have success generating updated sprites](https://code.briarproject.org/briar/spritegen/merge_requests/1#note_28391). The process is currently [quite complicated](https://code.briarproject.org/briar/spritegen/merge_requests/1/diffs#8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d_0_7) involving several dependencies and many steps in order to generate the emoji sprites.
In https://code.briarproject.org/briar/briar/issues/940 I mentioned there's a [library by vanniktech](https://github.com/vanniktech/Emoji/blob/master/README.md) which serves exactly the functionality Briar wants to have:
> A simple library to add Emoji support to your Android app. In a PopupWindow Emojis can be chosen.
One can choose from four different emoji providers, where Briar likely wants to use Google's one (https://code.briarproject.org/briar/briar/issues/940#note_28412):
> It's true that we can't provide the same icons for all users, but we can reduce the number of users who see different icons by using the latest Android icons.
This issue is for discussing and implementing the switch from Briar's current way of implementing emojis to vanniktech's library. Interesting for this task are [all commits with 'emoji' in their name](https://code.briarproject.org/briar/briar/commits/master?utf8=%E2%9C%93&search=emoji).Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1341AccountManager: Refactor authentication and account management code2018-08-20T19:47:46ZTorsten GroteAccountManager: Refactor authentication and account management codeRefactor the authentication and account management code into an `AccountManager` component in the core. At the moment the logic's spread across various parts of the UI.
It might be nice, for example, if we had a single method that would...Refactor the authentication and account management code into an `AccountManager` component in the core. At the moment the logic's spread across various parts of the UI.
It might be nice, for example, if we had a single method that would return an enum for the account state (no account, creating account, signing in, signed in, signing out, signed out), which we could then extend with new states (locked, unlocking).
Sub-ticket of #1247Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1340Use Onionoo to check the health of bridges2018-10-15T21:10:14ZakwizgranUse Onionoo to check the health of bridgesUse [Onionoo](https://metrics.torproject.org/onionoo.html) to check the health of bridges we're planning to distribute or have already distributed.
Unhealthy bridges should not be distributed. If an already distributed bridge becomes un...Use [Onionoo](https://metrics.torproject.org/onionoo.html) to check the health of bridges we're planning to distribute or have already distributed.
Unhealthy bridges should not be distributed. If an already distributed bridge becomes unhealthy, we may need to distribute a new list.
Subtask of #647.Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1339Option to notify when the device starts if you want to log into Briar2018-07-11T14:49:03ZTrollOption to notify when the device starts if you want to log into BriarOption to notify when the device starts if you want to log into Briar.
Sometimes you forget to connect/decrypt your database and you miss messages if someone writes to you.Option to notify when the device starts if you want to log into Briar.
Sometimes you forget to connect/decrypt your database and you miss messages if someone writes to you.https://code.briarproject.org/briar/briar/-/issues/1338Clear a chat2018-07-11T14:46:01ZTrollClear a chatIt would be nice to be able to reset, clear the discussion history. Or delete some messages.It would be nice to be able to reset, clear the discussion history. Or delete some messages.https://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/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.1akwizgranakwizgran