briar issueshttps://code.briarproject.org/groups/briar/-/issues2018-11-27T10:00:48Zhttps://code.briarproject.org/briar/briar/-/issues/1455NPE when getting stream context2018-11-27T10:00:48ZakwizgranNPE when getting stream context* Android version: 8.1.0
* Phone model: Xiaomi Redmi Note 4 (lineage_mido)
* Briar version: 1.1.4 (d02b30e)
Stacktrace:
```
java.lang.NullPointerException
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResul...* Android version: 8.1.0
* Phone model: Xiaomi Redmi Note 4 (lineage_mido)
* Briar version: 1.1.4 (d02b30e)
Stacktrace:
```
java.lang.NullPointerException
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:187)
at org.briarproject.bramble.transport.KeyManagerImpl.getStreamContext(KeyManagerImpl.java:152)
at org.briarproject.bramble.plugin.ConnectionManagerImpl$ManageIncomingDuplexConnection.run(ConnectionManagerImpl.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
```Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1456Adaptive icons2020-11-16T10:33:14ZakwizgranAdaptive iconsA user asked us to add support for [adaptive icons](https://www.androidcentral.com/adaptive-icons).A user asked us to add support for [adaptive icons](https://www.androidcentral.com/adaptive-icons).Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1459IllegalArgumentException when activating keys2021-08-27T11:37:48ZakwizgranIllegalArgumentException when activating keys* Android version: 8.0
* Phone model: Huawei P8 Lite 2017 (HWPRA-H)
* Briar version: 1.1.1 and 1.1.3
Google Play has 12 occurrences of this crash across a three-day period: eight crashes on 1.1.3 and four on 1.1.1. The crashes on 1.1.3 ...* Android version: 8.0
* Phone model: Huawei P8 Lite 2017 (HWPRA-H)
* Briar version: 1.1.1 and 1.1.3
Google Play has 12 occurrences of this crash across a three-day period: eight crashes on 1.1.3 and four on 1.1.1. The crashes on 1.1.3 and 1.1.1 are interleaved in time, suggesting they come from two or more devices.
Stacktrace:
```
java.lang.IllegalArgumentException:
at org.briarproject.bramble.transport.TransportKeyManagerImpl.activateKeys (TransportKeyManagerImpl.java:206)
at org.briarproject.bramble.transport.KeyManagerImpl.activateKeys (KeyManagerImpl.java:123)
at org.briarproject.briar.introduction.IntroduceeProtocolEngine.onRemoteActivate (IntroduceeProtocolEngine.java:501)
at org.briarproject.briar.introduction.IntroduceeProtocolEngine.onActivateMessage (IntroduceeProtocolEngine.java:215)
at org.briarproject.briar.introduction.IntroduceeProtocolEngine.onActivateMessage (IntroduceeProtocolEngine.java:53)
at org.briarproject.briar.introduction.IntroductionManagerImpl.handleMessage (IntroductionManagerImpl.java:235)
at org.briarproject.briar.introduction.IntroductionManagerImpl.incomingMessage (IntroductionManagerImpl.java:193)
at org.briarproject.briar.client.BdfIncomingMessageHook.incomingMessage (BdfIncomingMessageHook.java:60)
at org.briarproject.bramble.sync.ValidationManagerImpl.deliverMessage (ValidationManagerImpl.java:334)
at org.briarproject.bramble.sync.ValidationManagerImpl.storeMessageContext (ValidationManagerImpl.java:295)
at org.briarproject.bramble.sync.ValidationManagerImpl.lambda$storeMessageContextAsync$3$ValidationManagerImpl (ValidationManagerImpl.java:259)
at org.briarproject.bramble.sync.ValidationManagerImpl$$Lambda$5.run (Unknown Source:10)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
at java.lang.Thread.run (Thread.java:784)
```Android 1.3akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1460Introduction to existing contact shows wrong message2018-11-27T10:00:12ZakwizgranIntroduction to existing contact shows wrong messageWhen an existing contact is introduced, the text of the introduction request doesn't change as it should.When an existing contact is introduced, the text of the introduction request doesn't change as it should.Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1461Conversation UI uses java.util.Objects, which requires API 192018-11-15T11:12:12ZakwizgranConversation UI uses java.util.Objects, which requires API 19ConversationActivity and ConversationViewModel use Objects.requireNonNull(), which was added in Java 7 and requires API 19 on Android.
Strangely, although the tooltip in Android Studio shows the API 19 requirement, the IDE and compiler ...ConversationActivity and ConversationViewModel use Objects.requireNonNull(), which was added in Java 7 and requires API 19 on Android.
Strangely, although the tooltip in Android Studio shows the API 19 requirement, the IDE and compiler don't complain about the missing method. The method works as expected: if null is passed, it throws a NullPointerException. But the stacktrace starts at the caller, not at Objects.requireNonNull().
It seems the method's being inlined at some point, perhaps by ProGuard or desugar. Setting `-dontoptimize` in the ProGuard config, which should disable inlining, doesn't make a difference.
I think we should probably remove calls to this method, as we don't know where it's being inlined, and if it stopped being inlined in the future the app would fail to start on API < 19.Android 1.1Julian DehmJulian Dehmhttps://code.briarproject.org/briar/briar/-/issues/1462How to change username?2019-11-04T15:38:10ZThibault LemaireHow to change username?Hello, I'm playing around with Briar for now (I understand it's still not production ready yet). Great features so far!
So I'll play dumb on this one: __How can I change my username?__
I understand my identity is represented by a publi...Hello, I'm playing around with Briar for now (I understand it's still not production ready yet). Great features so far!
So I'll play dumb on this one: __How can I change my username?__
I understand my identity is represented by a public key, so I should be able to change my username without losing my contacts, right?
I haven't found any screen where I could do that.https://code.briarproject.org/briar/briar/-/issues/1463Delete blog posts2018-12-19T12:27:18ZThibault LemaireDelete blog postsI've posted some blogs that I'm not proud of, e.g.
> ALL HAIL OUR GOD THE FLYING SPAGHETTI MONSTER
and I'd like to delete them, so they don't get broadcast to every new contact I add.I've posted some blogs that I'm not proud of, e.g.
> ALL HAIL OUR GOD THE FLYING SPAGHETTI MONSTER
and I'd like to delete them, so they don't get broadcast to every new contact I add.https://code.briarproject.org/briar/briar/-/issues/1464Introduction request message status is always sent and seen2018-11-27T09:58:27ZTorsten GroteIntroduction request message status is always sent and seenIntroduce to fake (or offline) contacts to each other. Observe the double check marks that say even after reloading the conversation even though the message was neither sent nor seen.Introduce to fake (or offline) contacts to each other. Observe the double check marks that say even after reloading the conversation even though the message was neither sent nor seen.Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1467Improve Conversation Scrolling Behaviour2019-06-17T10:10:29ZTorsten GroteImprove Conversation Scrolling BehaviourCurrently, we scroll down after loading the list of messages (after each activity start). We also scroll down when loading a message text or image asynchronously.
This is problematic, because the user can't scroll up right after a large...Currently, we scroll down after loading the list of messages (after each activity start). We also scroll down when loading a message text or image asynchronously.
This is problematic, because the user can't scroll up right after a large conversation is displayed and because when looking at older photos, the user forcibly gets scrolled to the end of the conversation and needs to find where she was.
Subtask of #1242Android 1.3Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1468Restrict size of image attachments2021-06-28T08:08:18ZTorsten GroteRestrict size of image attachmentsWe can not process images of arbitrary size, because the device may lack the memory to load the entire image into it or because the maximum texture size is smaller than the image.
* [x] don't read entire images in memory
* [x] scale ful...We can not process images of arbitrary size, because the device may lack the memory to load the entire image into it or because the maximum texture size is smaller than the image.
* [x] don't read entire images in memory
* [x] scale full screen images down to screen size to avoid exceeding max texture size
* [x] add tests for [MarkEnforcingInputStream](https://github.com/bumptech/glide/blob/ad33b8d503024c8a3a6a3da60ce28c4d7732ae58/library/src/main/java/com/bumptech/glide/util/MarkEnforcingInputStream.java)
* [x] tests for our own code that handles the various image types and edge cases
* [x] limit our supported mime types to image/gif, image/jpeg and image/png
* [x] limit the size of images that can be sent
Subtask of #1237.Android 1.3Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1469Screen "flashing" when Briar runs in background2019-05-16T13:03:08ZmanuelScreen "flashing" when Briar runs in backgroundWhen running Briar in background my phone "flashes" the screen (like when doing screenshots) at random times.
I was not able to observe this behavior when running logcat.When running Briar in background my phone "flashes" the screen (like when doing screenshots) at random times.
I was not able to observe this behavior when running logcat.Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1471remotely added contacts: cannot send messages2018-11-24T07:32:10ZWikinautremotely added contacts: cannot send messagesI installed the Briar Test apk on two devices (Huawei P8 Lite and Y6) and added the contacts remotely (by exchanging the keys manually using "Zxing Barcode Scanner" app). Both contacts show "green" light. but no messages can be sent.
A...I installed the Briar Test apk on two devices (Huawei P8 Lite and Y6) and added the contacts remotely (by exchanging the keys manually using "Zxing Barcode Scanner" app). Both contacts show "green" light. but no messages can be sent.
After closing and restarting the Briar Test Apps, the contacts are not even marked "green" any more.https://code.briarproject.org/briar/briar/-/issues/1473Implement UX for displaying multiple image attachments2018-12-18T18:21:59ZTorsten GroteImplement UX for displaying multiple image attachmentsSubtask of #1237.Subtask of #1237.Android 1.3Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1475Resolve issues with image attachment transitions2019-03-19T10:43:04ZTorsten GroteResolve issues with image attachment transitions* [x] Use a counter as the transition name in `AttachmentItem`.
* [x] Tapping partly covered images makes them pop up from under the cover which looks glitchy
* [ ] Under mysterious circumstances messages can overlap each other (or leave...* [x] Use a counter as the transition name in `AttachmentItem`.
* [x] Tapping partly covered images makes them pop up from under the cover which looks glitchy
* [ ] Under mysterious circumstances messages can overlap each other (or leave gaps) after a return transition to the conversation
* [x] On Moto G 4G (API 22), the exit transition still uses sliding
* [x] Fix shared element exit transition when the list position is lost (activity was stopped or made into fullscreen)
* [ ] ~~Change shared element of return transition when fullscreen view was swiped to another image when returning~~
* [x] Return transition lands slightly below thumbnail when status bar is hidden
Subtask of #1237.
![device-2018-11-28-175203](/uploads/62e4bbd7bc0af62196bc04c3d8433337/device-2018-11-28-175203.png)
![device-2018-11-28-175149](/uploads/e9f3124a919ca57370ece56e894f3ad6/device-2018-11-28-175149.png)Android 1.3Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1476Design UX for finding out whether contacts support image attachments2018-12-17T18:14:27ZakwizgranDesign UX for finding out whether contacts support image attachmentsWhen the user upgrades to a version of Briar that supports image attachments, it may not be possible to send images to a given contact until the contact has also upgraded to a suitable version.
We need to let the user know whether it's ...When the user upgrades to a version of Briar that supports image attachments, it may not be possible to send images to a given contact until the contact has also upgraded to a suitable version.
We need to let the user know whether it's possible to send images to each contact, and if not, what needs to change before it will be possible, and how the user will know when it's changed.
Subtask of #1241.Android 1.3Elio Qoshielio@ura.designElio Qoshielio@ura.designhttps://code.briarproject.org/briar/briar/-/issues/1477Implement UX for finding out whether contacts support image attachments2019-02-21T10:34:38ZakwizgranImplement UX for finding out whether contacts support image attachmentsImplement the design from #1476 for finding out whether each contact supports image attachments.
Subtask of #1438.Implement the design from #1476 for finding out whether each contact supports image attachments.
Subtask of #1438.Android 1.3Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1478Crash due to illegal slide direction2018-12-18T18:21:46ZakwizgranCrash due to illegal slide directionCurrent master crashes on the emulator running API 21 when opening ConversationActivity.
Looks like an RTL lint warning that was recently fixed was spurious.
Stacktrace:
```
java.lang.RuntimeException: Unable to start activity Componen...Current master crashes on the emulator running API 21 when opening ConversationActivity.
Looks like an RTL lint warning that was recently fixed was spurious.
Stacktrace:
```
java.lang.RuntimeException: Unable to start activity ComponentInfo{org.briarproject.briar.android.debug/org.briarproject.briar.android.conversation.ConversationActivity}: java.lang.IllegalArgumentException: Invalid slide direction
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.IllegalArgumentException: Invalid slide direction
at android.transition.Slide.setSlideEdge(Slide.java:165)
at android.transition.Slide.<init>(Slide.java:112)
at org.briarproject.briar.android.conversation.ConversationActivity.onCreate(ConversationActivity.java:200)
at android.app.Activity.performCreate(Activity.java:5937)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
```Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1479Hard to find photo with ACTION_OPEN_DOCUMENT dialog2022-04-19T11:34:40ZakwizgranHard to find photo with ACTION_OPEN_DOCUMENT dialogThe ACTION_OPEN_DOCUMENT intent opens a system dialog to choose a file. On the Nexus 5X I had trouble using this dialog to find a photo I'd recently taken. It wasn't shown in the list of recent items (which I think is the screen that's s...The ACTION_OPEN_DOCUMENT intent opens a system dialog to choose a file. On the Nexus 5X I had trouble using this dialog to find a photo I'd recently taken. It wasn't shown in the list of recent items (which I think is the screen that's shown the first time you use this dialog), and I had to navigate to Menu > Nexus 5X > DCIM > Camera to find it.
The Downloads app on the same phone has a nav drawer item for Images, but the ACTION_OPEN_DOCUMENT dialog (which uses the same styling) doesn't.
![device-2018-12-07-145131](/uploads/b22cb8924c82ae22c36db110f00d3c33/device-2018-12-07-145131.png) ![device-2018-12-07-145140](/uploads/dcac6513445922c42e22122a8d6ee0b6/device-2018-12-07-145140.png)
Subtask of #1473.Android 1.4https://code.briarproject.org/briar/briar/-/issues/1482IllegalStateException when loading contact2022-05-26T15:42:20ZakwizgranIllegalStateException when loading contactThree users reported this crash.
* Android version: 7.0, 7.0, 6.0.1
* Phone model: Huawei VNS-L31, Motorola Moto G (5) Plus, Xiaomi Redmi 3S (land)
* Briar version: 1.1.5 (8f4c3c4)
Stacktrace:
```
java.lang.IllegalStateException
...Three users reported this crash.
* Android version: 7.0, 7.0, 6.0.1
* Phone model: Huawei VNS-L31, Motorola Moto G (5) Plus, Xiaomi Redmi 3S (land)
* Briar version: 1.1.5 (8f4c3c4)
Stacktrace:
```
java.lang.IllegalStateException
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:99)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:540)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:83)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:143)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:187)
at org.briarproject.bramble.contact.ContactManagerImpl.getContact(ContactManagerImpl.java:89)
at org.briarproject.briar.android.conversation.ConversationViewModel.lambda$loadContact$1(ConversationViewModel.java:76)
at org.briarproject.briar.android.conversation.-$$Lambda$ConversationViewModel$84zBaMmuwR5dlD6GPJnSkh4Cf4w.run(lambda)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:776)
```Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1483IllegalArgumentException when adding member to private group2023-01-17T11:21:09ZakwizgranIllegalArgumentException when adding member to private group* Android version: 6.0.1
* Phone model: Neffos Y5L (TP801A)
* Briar version: 1.1.1 (9476782)
* User feedback: "Crash while trying to add person to a group."
Stacktrace:
```
java.lang.IllegalArgumentException
at org.briarproject....* Android version: 6.0.1
* Phone model: Neffos Y5L (TP801A)
* Briar version: 1.1.1 (9476782)
* User feedback: "Crash while trying to add person to a group."
Stacktrace:
```
java.lang.IllegalArgumentException
at org.briarproject.briar.privategroup.invitation.SessionParserImpl.parseCreatorSession(SessionParserImpl.java:54)
at org.briarproject.briar.privategroup.invitation.GroupInvitationManagerImpl.isInvitationAllowed(GroupInvitationManagerImpl.java:482)
at org.briarproject.briar.android.privategroup.creation.CreateGroupControllerImpl.isDisabled(CreateGroupControllerImpl.java:121)
at org.briarproject.briar.android.contactselection.ContactSelectorControllerImpl.lambda$loadContacts$0$ContactSelectorControllerImpl(ContactSelectorControllerImpl.java:51)
at org.briarproject.briar.android.contactselection.ContactSelectorControllerImpl$$Lambda$0.run(Unknown Source)
at org.briarproject.briar.android.controller.DbControllerImpl.lambda$runOnDbThread$0$DbControllerImpl(DbControllerImpl.java:35)
at org.briarproject.briar.android.controller.DbControllerImpl$$Lambda$0.run(Unknown Source)
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)
```Android 1.4Torsten GroteTorsten Grote