briar issueshttps://code.briarproject.org/briar/briar/-/issues2023-03-09T10:55:41Zhttps://code.briarproject.org/briar/briar/-/issues/1187Incognito Keyboard2023-03-09T10:55:41ZTorsten GroteIncognito KeyboardSignal has a feature called Incognito Keyboard which seems to request to disable personalized learning from user input which some proprietary keyboard apps do. This might be a useful feature for us as well. Signal does it like this:
htt...Signal has a feature called Incognito Keyboard which seems to request to disable personalized learning from user input which some proprietary keyboard apps do. This might be a useful feature for us as well. Signal does it like this:
https://github.com/signalapp/Signal-Android/blob/ba849bce2c90287e820a3008e9dc9a1b14de19fc/src/org/thoughtcrime/securesms/components/ComposeText.java#L154-L156
So it seems to be a quick change.https://code.briarproject.org/briar/briar/-/issues/1183Key manager blocks startup by holding DB lock2020-11-18T22:40:15ZakwizgranKey manager blocks startup by holding DB lock`KeyManagerImpl#startService()` uses a read-write transaction to load contacts, store transports, and start key rotation. When there are many contacts this transaction can hold the DB lock for several seconds, preventing the contact list...`KeyManagerImpl#startService()` uses a read-write transaction to load contacts, store transports, and start key rotation. When there are many contacts this transaction can hold the DB lock for several seconds, preventing the contact list from being loaded.
Move the transaction off the critical path, and if possible break it up into smaller transactions.https://code.briarproject.org/briar/briar/-/issues/1179Handshake protocol2020-11-18T22:39:28ZakwizgranHandshake protocolTo enable account backups (#110) and simplify the introduction protocol (#474) it would be useful to have a way of bootstrapping from static keys, suitable for storing in a backup or exchanging in an introduction, to forward secret trans...To enable account backups (#110) and simplify the introduction protocol (#474) it would be useful to have a way of bootstrapping from static keys, suitable for storing in a backup or exchanging in an introduction, to forward secret transport keys.https://code.briarproject.org/briar/briar/-/issues/1175Delete private group messages2020-11-18T22:38:48ZakwizgranDelete private group messagesUser feedback: "Will be good if you make function "delete message" and "delete message for all" into group chat. Its really important."
Related to #68, #85.User feedback: "Will be good if you make function "delete message" and "delete message for all" into group chat. Its really important."
Related to #68, #85.https://code.briarproject.org/briar/briar/-/issues/1172Briar doesn't use Tor when connected via Bluetooth dial-up networking2020-11-18T22:38:10ZakwizgranBriar doesn't use Tor when connected via Bluetooth dial-up networkingUser feedback: "On my Android device I use dial up network (DUN) via a BlueTooth connection to a phone. With no mobile network and no WiFi, Briar doesn't find the internet connection and doesn't use it for Tor, while all other apps inclu...User feedback: "On my Android device I use dial up network (DUN) via a BlueTooth connection to a phone. With no mobile network and no WiFi, Briar doesn't find the internet connection and doesn't use it for Tor, while all other apps including OrBot do."https://code.briarproject.org/briar/briar/-/issues/1170IllegalArgumentException when reloading activity2022-06-13T15:08:29ZakwizgranIllegalArgumentException when reloading activity* Android version: 7.0
* Phone model: Motorola Moto G (4) (athene)
* Briar version: 0.16.17 (347c2f2)
* User feedback: "Received new message notification. Tried to view it, and got white screen, instead of prior message list loading, als...* Android version: 7.0
* Phone model: Motorola Moto G (4) (athene)
* Briar version: 0.16.17 (347c2f2)
* User feedback: "Received new message notification. Tried to view it, and got white screen, instead of prior message list loading, also at bottom of screen was a place to type message... I've noticed it takes longer and longer for old message list to load."
Stacktrace:
```
java.lang.IllegalArgumentException: reportSizeConfigurations: ActivityRecord not found for: Token{c80ad01 ActivityRecord{dc4d2e8 u0 org.briarproject.briar.beta/org.briarproject.briar.android.contact.ConversationActivity t2562 f}}
at android.os.Parcel.readException(Parcel.java:1687)
at android.os.Parcel.readException(Parcel.java:1636)
at android.app.ActivityManagerProxy.reportSizeConfigurations(ActivityManagerNative.java:6982)
at android.app.ActivityThread.reportSizeConfigurations(ActivityThread.java:2789)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2728)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4524)
at android.app.ActivityThread.-wrap19(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1479)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6123)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)
```
Log extract:
```
02-09 16:24:47.098 I/Adreno (30469): DequeueBuffer: dequeueBuffer failed
02-09 16:24:47.099 I/Adreno (30469): DequeueBuffer: dequeueBuffer failed
02-09 16:24:47.099 I/Adreno (30469): DequeueBuffer: dequeueBuffer failed
02-09 16:24:47.099 I/Adreno (30469): DequeueBuffer: dequeueBuffer failed
02-09 16:24:47.103 W/OpenGLRenderer(30469): swapBuffers encountered EGL error 12301 on 0xa48967c0, halting rendering...
02-09 16:24:47.116 I/BriarRecyclerView(30469): Adding Handler Callback
02-09 16:24:47.116 I/ConversationActivity(30469): Loading contact took 0 ms
02-09 16:24:47.121 I/BriarRecyclerView(30469): Removing Handler Callback
02-09 16:24:47.171 I/BriarRecyclerView(30469): Adding Handler Callback
02-09 16:24:47.195 E/ACRA (30469): ACRA caught a IllegalArgumentException for org.briarproject.briar.beta
```
Looks like the activity may have failed to load due to an OpenGL error, and the crash happened when Android tried to relaunch the activity.https://code.briarproject.org/briar/briar/-/issues/1167Non-ASCII characters in RSS post are rendered wrongly2020-11-18T22:36:02ZakwizgranNon-ASCII characters in RSS post are rendered wrongly![device-2018-02-19-174413](/uploads/4b42bb8e8a3dda0c0c5ddc6df24b20eb/device-2018-02-19-174413.png)![device-2018-02-19-174413](/uploads/4b42bb8e8a3dda0c0c5ddc6df24b20eb/device-2018-02-19-174413.png)https://code.briarproject.org/briar/briar/-/issues/1166Stickers2021-10-13T14:08:14ZakwizgranStickersUser feedback: "I am so used to stickers in Telegram that I really missed them here."User feedback: "I am so used to stickers in Telegram that I really missed them here."https://code.briarproject.org/briar/briar/-/issues/1165Optionally send message by pressing enter2020-11-19T04:34:07ZakwizgranOptionally send message by pressing enterA user asked for a setting to send messages when the enter key is pressed, which is possible in other apps.A user asked for a setting to send messages when the enter key is pressed, which is possible in other apps.https://code.briarproject.org/briar/briar/-/issues/1161Don't trigger notifications every two seconds when syncing a lot of messages2020-11-19T04:34:55ZakwizgranDon't trigger notifications every two seconds when syncing a lot of messagesWhile syncing a forum with 100+ posts, which takes a few minutes, a notification is triggered every two seconds. This gets annoying pretty quickly. We should consider using a longer interval and/or some kind of backoff.While syncing a forum with 100+ posts, which takes a few minutes, a notification is triggered every two seconds. This gets annoying pretty quickly. We should consider using a longer interval and/or some kind of backoff.https://code.briarproject.org/briar/briar/-/issues/1158FLAG_SECURE not applying to settings dialogs (when Chromecasted)2020-11-19T04:35:35ZakwizgranFLAG_SECURE not applying to settings dialogs (when Chromecasted)User feedback: "Setting popups are still seen in mirrored screen, the rest is black but the popup where you can select 1 of the 2 options is still mirrored."User feedback: "Setting popups are still seen in mirrored screen, the rest is black but the popup where you can select 1 of the 2 options is still mirrored."https://code.briarproject.org/briar/briar/-/issues/1155NPE when selecting text with Xposed Framework2020-11-19T04:35:57ZakwizgranNPE when selecting text with Xposed FrameworkA user reported this crash when selecting text. The stacktrace doesn't show any Briar classes but shows some Xposed Framework classes, so it may not be our bug.
```
java.lang.NullPointerException: Attempt to invoke virtual method 'void ...A user reported this crash when selecting text. The stacktrace doesn't show any Briar classes but shows some Xposed Framework classes, so it may not be our bug.
```
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Editor$SelectionStartHandleView.showAtLocation(int)' on a null
object reference
at android.widget.Editor$SelectionModifierCursorController.onTouchEvent(Editor.java:5084)
at android.widget.Editor.onTouchEvent(Editor.java:1389)
at android.widget.TextView.onTouchEvent(TextView.java:8305)
at android.view.View.dispatchTouchEvent(View.java:9377)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at com.android.internal.policy.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2410)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1744)
at android.app.Activity.dispatchTouchEvent(Activity.java:2805)
at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:68)
at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:68)
at com.android.internal.policy.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2371)
at android.view.View.dispatchPointerEvent(View.java:9597)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4234)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4100)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3646)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3699)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3665)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3791)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3673)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3848)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3646)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3699)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3665)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3673)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3646)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5926)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5900)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5861)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6029)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:331)
at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:334)
at android.os.MessageQueue.next(<Xposed>)
at android.os.Looper.loop(Looper.java:218)
at android.app.ActivityThread.main(ActivityThread.java:5526)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:102)
```
* Android version: 6.0.1
* Phone model: Sony D6633
* Briar version: 0.16.16 (459538e)
* User feedback: "Copied long base64 encoded string into forum send box, tried selecting text again, Briar crashed."https://code.briarproject.org/briar/briar/-/issues/1153Messages export.2022-02-17T19:28:24ZSearosoMessages export.Feature request.
Copy is limited to one message. Need to paste a conversation. Should be possible to copy any piece of chat, and paste it with names and time codes.
Thank you!!Feature request.
Copy is limited to one message. Need to paste a conversation. Should be possible to copy any piece of chat, and paste it with names and time codes.
Thank you!!https://code.briarproject.org/briar/briar/-/issues/1150Show name of user's identity somehwere2020-11-19T10:01:54ZWikinautShow name of user's identity somehwereThe own username is not shown in the Briar app. Apparently nobody has noticed that yet.
When you have several devices with several identities, it appears to be absolutely necessary to print the own username elsewhere in the app in order...The own username is not shown in the Briar app. Apparently nobody has noticed that yet.
When you have several devices with several identities, it appears to be absolutely necessary to print the own username elsewhere in the app in order not to lose "orientation".https://code.briarproject.org/briar/briar/-/issues/1147Support Bluetooth discovery for adding contacts2022-01-26T13:50:35ZakwizgranSupport Bluetooth discovery for adding contactsThe local Bluetooth address is no longer available on the Nexus 5X running Android 8.1. `BluetoothAdapter#getAddress()` returns the fake address 02:00:00:00:00:00, and `Settings.Secure.getString(ctx, "bluetooth_address")` returns null.
...The local Bluetooth address is no longer available on the Nexus 5X running Android 8.1. `BluetoothAdapter#getAddress()` returns the fake address 02:00:00:00:00:00, and `Settings.Secure.getString(ctx, "bluetooth_address")` returns null.
This means we can no longer include our Bluetooth address in the QR code when adding a contact. Instead we'll need to make the device temporarily discoverable, and indicate in the QR code that the contact should use discovery to find us. The contact will need the ACCESS_COARSE_LOCATION permission for discovery.
The contact will need to store our Bluetooth address for future connection attempts. We don't currently have a way for plugins to store local per-contact information, but we can add one.https://code.briarproject.org/briar/briar/-/issues/1144Secret Questions for Forgot Password2020-11-19T04:44:21ZSaurabh DayamaSecret Questions for Forgot PasswordIf the user forgets his password, there is no way to retrieve it. Would it make sense to have 3/5 secret questions that if answered correctly would enable the user to retrieve/reset the password?If the user forgets his password, there is no way to retrieve it. Would it make sense to have 3/5 secret questions that if answered correctly would enable the user to retrieve/reset the password?https://code.briarproject.org/briar/briar/-/issues/1140Button to update RSS feeds2020-11-19T04:47:28ZakwizgranButton to update RSS feedsA user asked for a button to manually update RSS feeds.A user asked for a button to manually update RSS feeds.https://code.briarproject.org/briar/briar/-/issues/1139Progress wheels are invisible on Sony Xperia Z3 Compact2020-11-19T04:48:02ZakwizgranProgress wheels are invisible on Sony Xperia Z3 CompactWhen signing in or adding a contact, the progress wheels are invisible on the Sony Xperia Z3 Compact (Android 6.0.1).When signing in or adding a contact, the progress wheels are invisible on the Sony Xperia Z3 Compact (Android 6.0.1).https://code.briarproject.org/briar/briar/-/issues/1130Message Delivery Issues with 20 Bluetooth Devices2020-11-19T04:48:46ZsunxiaolongMessage Delivery Issues with 20 Bluetooth DevicesI got 20 android smartphones with briar and create a private group to share messages in it. Then i find something strange, which some users can receve messages in the private group, but some users can't. Is any limits when use the privat...I got 20 android smartphones with briar and create a private group to share messages in it. Then i find something strange, which some users can receve messages in the private group, but some users can't. Is any limits when use the private group to share message? By the way, i use bluetooth as the communication bearer.https://code.briarproject.org/briar/briar/-/issues/1128Group calendars2020-11-19T04:50:43ZakwizgranGroup calendarsA user asked for the ability to create group calendars.A user asked for the ability to create group calendars.