briar issueshttps://code.briarproject.org/briar/briar/-/issues2021-06-15T17:52:53Zhttps://code.briarproject.org/briar/briar/-/issues/2074contackt working but there is no green2021-06-15T17:52:53ZWuukocontackt working but there is no greenunable to make new contacts even rhough both persons are online at thr same timeunable to make new contacts even rhough both persons are online at thr same timehttps://code.briarproject.org/briar/briar/-/issues/2073Improve usability of error reporting2021-06-11T12:00:46ZSebastianImprove usability of error reportingWhen an error occurs and the form for reporting errors is shown to the user, it can now happen that the hint "Enter your feedback" on the input field won't be seen by the user as it may already pre-populated with the error message that m...When an error occurs and the form for reporting errors is shown to the user, it can now happen that the hint "Enter your feedback" on the input field won't be seen by the user as it may already pre-populated with the error message that made the user open the report form.
It might make sense to change that behavior in a way that the user is still made aware of being able to enter some additional feedback.https://code.briarproject.org/briar/briar/-/issues/2072Grable version 6 error..., The Android plugin interferes with compilation.2021-06-11T09:05:04ZMaxim Kopylovichmaxim380k@mail.ruGrable version 6 error..., The Android plugin interferes with compilation.For several days I tried to install android studio to compile the project.
But constantly faced with an error, the Android studio can not install Grable version 6 ... The
update autoloader constantly wants to download all the latest appl...For several days I tried to install android studio to compile the project.
But constantly faced with an error, the Android studio can not install Grable version 6 ... The
update autoloader constantly wants to download all the latest applicable in the android studio, but the Briar project contains a lot of components and commands that may not be compatible with the compilation changes.
In order to compile the Briar from the project to github, you need to pay more attention to the installation.https://code.briarproject.org/briar/briar/-/issues/2071Remove ContactIds from RemovableDriveManager's task management2021-07-06T09:41:47ZTorsten GroteRemove ContactIds from RemovableDriveManager's task managementRemove `ContactId`s from `RemovableDriveManager`'s task management, so we just have one writer and one reader task globally.
* For writer tasks we'll still need to pass a `ContactId` when creating the task, but not when checking for an ...Remove `ContactId`s from `RemovableDriveManager`'s task management, so we just have one writer and one reader task globally.
* For writer tasks we'll still need to pass a `ContactId` when creating the task, but not when checking for an existing task.
* For reader tasks, we don't provide any progress information. We can just remove the progress monitoring stuff from the reader task, and have it post a single progress update when it's complete (success or error).Transfer content securely via SD cards and USB memory sticksakwizgranakwizgran2021-07-31https://code.briarproject.org/briar/briar/-/issues/2070Unit test for transport key agreement validator2021-06-23T14:08:44ZakwizgranUnit test for transport key agreement validatorTransfer content securely via SD cards and USB memory sticksTorsten GroteTorsten Grote2021-07-31https://code.briarproject.org/briar/briar/-/issues/2069Integration test for transport key agreement client2021-07-02T11:11:31ZakwizgranIntegration test for transport key agreement clientTransfer content securely via SD cards and USB memory sticksTorsten GroteTorsten Grote2021-07-31https://code.briarproject.org/briar/briar/-/issues/2068Unsuccessful connect via BT2021-08-18T15:33:37ZIvanaUnsuccessful connect via BT| Step | Pixel2 | Nokia3.1 |
| ---- | ------ | ------ |
| 1 | Existing contact – added by 'nearby method' ('Andy') | ditto ('Belle')|
| 2 | No messages from this contact yet | No messages from this contact yet |
| 3 | No other contacts y...| Step | Pixel2 | Nokia3.1 |
| ---- | ------ | ------ |
| 1 | Existing contact – added by 'nearby method' ('Andy') | ditto ('Belle')|
| 2 | No messages from this contact yet | No messages from this contact yet |
| 3 | No other contacts yet | No other contacts yet |
| 4 | Initial Briar settings | Initial Briar settings |
| 5 | BT ON | BT ON |
| 6 | Wifi OFF | Wifi OFF |
| 7 | Internet OFF | Internet OFF |
| 8 | Switch BT OFF | keep BT ON |
| 9 | Contacts see each other as offline | Contacts see each other as offline |
| 10 | go to 'Belle' > menu > select 'Connect via BT' | go to 'Andy' > menu > select 'Connect via BT' |
| 11 | Msg:Your contact needs to be nearby...“Start” at the same time | ditto |
| 12 | Press Start | Press Start |
| 13 | Msg:Briar debug ...for 120 seconds | Msg:Briar debug ...for 120 seconds |
| 14 | Allow | Allow |
| 15 | Brief msg 'Connecting via Bluetooth' | Brief msg 'Connecting via Bluetooth' |
| 16 | Brief msg 'Successfully connected via BT' | Brief msg 'Successfully connected via BT' |
| 17 | Contacts see each other as online | Contacts see each other as online |
| 18 | Contacts can send each other messages | Contacts can send each other messages |
| 19 | Repeat steps 4-18 | Repeat steps 4-18 |
| 20 | Repeat steps 4-18 | Repeat steps 4-18 |
| 21 | Repeat steps 4-18 | Repeat steps 4-18 |
Repeating these steps a few times in a row - connecting via BT works OK. But then, I delete contact on one phone, and re-add it via nearby method and things begin to look different. I performed the following steps:
| Step | Pixel2 | Nokia3.1 |
| ---- | ------ | ------ |
| 22 | Delete contact 'Belle' | Keep contact 'Andy' |
| 23 | Re-add contact Belle, using nearby method | re-add contact Andy using nearby method |
| 24 | Contacts is added | Contact is not added as it already exists = OK|
| 25 | Contacts see each other as offline | Contacts see each other as offline|
Is this correct behaviour? That contacts should see each other as offline when re-added successfully via nearby method?
| Step | Pixel2 | Nokia3.1 |
| ---- | ------ | ------ |
| 26 | This process turns the wifi and BT to ON (in Briar app) | ditto |
| 27 | BT = ON, WiFi= ON in Briar app | BT = ON, WiFi= ON in Briar app |
| 28 | Repeat steps 10-15 | Repeat steps 10-15 |
Expeced result: BT connection should be established, contacts shoudl see each other online and be able to send each other messages.
Actual result: Message: successfully connected via BT on both devices,
However, **the contacts see each other as offline, and cannot send messages **
If I try to send a message from one to the other (Nokia to Pixel) message is not delivered to Pixel.
Trying to Reconnect again via BT, as in steps 10-14, there is a brief message at the bottom of the Pixel2 screen 'connecting via BT', and then 'unable to connect via BT', but no equivalent messages at all on Nokia screen - they just don't show.
Contacts still see each other offline and cannot send each other messages.
Android Studio log for PIxel 2 attached - the first file covers all the user actions up to the 'actual results'
[unsuccessful_connect_via_bT_log_08062021.txt](/uploads/6feb65977e516ed2cedc7c913d1450d9/unsuccessful_connect_via_bT_log_08062021.txt)
This file covers only the last attempt to reconnect after the 'actual results'
[Culd_not_connect_via_BT_0862021.txt](/uploads/6bf8b104b6d5d6b888551633853f7fe5/Culd_not_connect_via_BT_0862021.txt)IvanaIvanahttps://code.briarproject.org/briar/briar/-/issues/2067Add version/build info to settings dialog2022-07-11T15:13:46ZNorbert 80Add version/build info to settings dialogI cannot find a version string somewhere in the Briar app. I suggest to add build info at the bottom of the settings screen.I cannot find a version string somewhere in the Briar app. I suggest to add build info at the bottom of the settings screen.Android 1.4https://code.briarproject.org/briar/briar/-/issues/2066Error: NoSuchGroupException2021-06-07T16:08:35ZNorbert 80Error: NoSuchGroupExceptionOn Briar 1.3.4 Android I ALWAYS get an "Error: NoSuchGroupException" when deleting groups.
(Additional info: I just created test groups with no other participants. I don't know at the moment if this error only happens in this particular...On Briar 1.3.4 Android I ALWAYS get an "Error: NoSuchGroupException" when deleting groups.
(Additional info: I just created test groups with no other participants. I don't know at the moment if this error only happens in this particular case.)
Another issue:https://code.briarproject.org/briar/briar/-/issues/2065Implement UI of transfer data feature2021-07-06T09:41:34ZTorsten GroteImplement UI of transfer data featureTransfer content securely via SD cards and USB memory sticksTorsten GroteTorsten Grote2021-07-31https://code.briarproject.org/briar/briar/-/issues/2064Image quality is very low when sending and receiving images.2022-07-08T11:19:20ZAman AroraImage quality is very low when sending and receiving images.Trying sending hd images but it's size getting compressed to few kbs only from mbs.
Event not able to read text from images. Please fix thisTrying sending hd images but it's size getting compressed to few kbs only from mbs.
Event not able to read text from images. Please fix thisMulti-block messageshttps://code.briarproject.org/briar/briar/-/issues/2063Allow messages to be resent before they expire2021-07-06T09:41:53ZakwizgranAllow messages to be resent before they expireWhen sending data via removable drives, the strategy of waiting for one maximum round-trip time (twice the maximum latency of the transport) before allowing messages to be resent is likely to cause problems. For example:
* Alice exports...When sending data via removable drives, the strategy of waiting for one maximum round-trip time (twice the maximum latency of the transport) before allowing messages to be resent is likely to cause problems. For example:
* Alice exports messages to a removable drive. Before sending the drive to Bob, Alice realises that she accidentally used a drive belonging to her elderly mother, Carol, who uses the drive to store episodes of Desperate Housewives that she watches on the long bus ride to San Pedro de Atacama (Carol doesn't enjoy the austere beauty of the Atacama Desert, for reasons that are beyond the scope of this user story). Alice deletes the file and exports her messages again, using the right drive this time. Alice may expect that the new file contains all messages not seen by Bob, but in fact it doesn't contain any messages. The messages in the deleted file won't be sendable again for one max round-trip time
* Alice exports messages to a removable drive. Before sending the drive to Bob, Alice writes another message and wants to send this too. So she exports messages to the drive again. Alice may expect that if she overwrites the file she created the first time, the new file will contain all messages not seen by Bob. But in fact it will only contain the most recent message. The messages in the overwritten file won't be sendable again for one max round-trip time
* Alice exports messages to a removable drive and attaches it to a carrier pigeon. Knowing that the Atacama Desert is a harsh environment for pigeons, Alice also exports messages to a second drive, which she attaches to a carrier tortoise as a backup in case the pigeon succumbs to the arid climate. Alice may expect that the second drive contains the same messages as the first one, but in fact it doesn't contain any messages. The messages attached to the unfortunate pigeon won't be sendable again for one max round-trip time
To address these user stories we should send all unacked messages when syncing via removable drives. When syncing via mailboxes we should continue to use the current strategy of sending only messages that have not been sent before, or that were last sent more than one max round-trip time ago.Transfer content securely via SD cards and USB memory sticksakwizgranakwizgran2021-07-31https://code.briarproject.org/briar/briar/-/issues/2062Show connectivity status in ongoing notification2021-06-02T18:43:53ZakwizgranShow connectivity status in ongoing notificationA user asked for the app's connectivity status to be included in the ongoing notification so it can be checked easily.A user asked for the app's connectivity status to be included in the ongoing notification so it can be checked easily.https://code.briarproject.org/briar/briar/-/issues/2061inform user if connection does not work because time is out of synch2021-08-27T11:41:52Zsysterinform user if connection does not work because time is out of synchIf the time is out of sync with the time of a contact, one cannot connect with them over bluetooth (haven't checked it with wifi/internet)
There is no further information in the app, why the connection fails and so it difficult for a u...If the time is out of sync with the time of a contact, one cannot connect with them over bluetooth (haven't checked it with wifi/internet)
There is no further information in the app, why the connection fails and so it difficult for a user to detect and correct the issue.
Time out of sync might happen often through the following:
- battery empty
- battery unplugged
- user has a spare phone that they haven't used since long and they just start it to test briar
If connection does not work because time is out of sync, the user should receive an inapp information.Transfer content securely via SD cards and USB memory sticksIvanaIvana2021-07-31https://code.briarproject.org/briar/briar/-/issues/2060[delete]2022-02-25T15:01:48ZLucy Lu[delete]https://code.briarproject.org/briar/briar/-/issues/2059NoSuchGroupException toast is shown when private group is removed2021-06-14T14:58:58ZakwizgranNoSuchGroupException toast is shown when private group is removed* Android version: 4.4.2
* Phone model: LGE LG-D150 (w35_global_com)
* Briar version: 1.3.4 (76b7e6f)
* User feedback: "NoSuchGroupException"
Log:
```
05-23 22:32:59.452 I/GroupListViewModel: Private group removed
05-23 22:32:59.453 I/T...* Android version: 4.4.2
* Phone model: LGE LG-D150 (w35_global_com)
* Briar version: 1.3.4 (76b7e6f)
* User feedback: "NoSuchGroupException"
Log:
```
05-23 22:32:59.452 I/GroupListViewModel: Private group removed
05-23 22:32:59.453 I/ThreadListViewModel: Group removed
05-23 22:32:59.456 I/BaseActivity: Pausing GroupActivity
05-23 22:32:59.467 I/BaseActivity: Starting NavDrawerActivity
05-23 22:32:59.467 I/BaseActivity: Resuming NavDrawerActivity
05-23 22:32:59.950 I/BaseActivity: Stopping GroupActivity
05-23 22:32:59.954 I/BaseActivity: Destroying GroupActivity
05-23 22:32:59.967 W/DbViewModel: org.briarproject.bramble.api.db.NoSuchGroupException
org.briarproject.bramble.api.db.NoSuchGroupException
at org.briarproject.bramble.db.DatabaseComponentImpl.mergeGroupMetadata(DatabaseComponentImpl.java:784)
at org.briarproject.bramble.client.ClientHelperImpl.mergeGroupMetadata(ClientHelperImpl.java:224)
at org.briarproject.bramble.client.ClientHelperImpl.lambda$mergeGroupMetadata$7(ClientHelperImpl.java:218)
at org.briarproject.bramble.client.ClientHelperImpl.lambda$mergeGroupMetadata$7$ClientHelperImpl(ClientHelperImpl.java)
at org.briarproject.bramble.client.-$$Lambda$ClientHelperImpl$7us-EF4vPLR_8c0LCNvGmtb6d4I.run(lambda)
at org.briarproject.bramble.db.DatabaseComponentImpl.transaction(DatabaseComponentImpl.java:200)
at org.briarproject.bramble.client.ClientHelperImpl.mergeGroupMetadata(ClientHelperImpl.java:218)
at org.briarproject.briar.client.MessageTrackerImpl.storeMessageId(MessageTrackerImpl.java:92)
at org.briarproject.briar.android.threaded.ThreadListViewModel.lambda$storeMessageId$1(ThreadListViewModel.java:222)
at org.briarproject.briar.android.threaded.ThreadListViewModel.lambda$storeMessageId$1$ThreadListViewModel(ThreadListViewModel.java)
at org.briarproject.briar.android.threaded.-$$Lambda$ThreadListViewModel$8pSkGFRn7z9NtDqesywkHNLVqgk.run(lambda)
at org.briarproject.briar.android.viewmodel.DbViewModel.lambda$runOnDbThread$0(DbViewModel.java:77)
at org.briarproject.briar.android.viewmodel.DbViewModel.lambda$runOnDbThread$0$DbViewModel(DbViewModel.java)
at org.briarproject.briar.android.viewmodel.-$$Lambda$DbViewModel$WFnJ2C0vmjF_vFVS_futFODEXKA.run(lambda)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
```
What seems to be happening is that ThreadListViewModel is asynchronously storing the list position, and it gets a NoSuchGroupException because the group has recently been removed. The exception is harmless and should probably be logged rather than shown in the UI.Android 1.3Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/2058Disabled settings are difficult to read2021-06-08T12:56:08ZakwizgranDisabled settings are difficult to read* Briar version: 1.3.4
* User feedback: "The greyed out options in the settings are a bit to difficult to read (for me).
A bit more contrast could still signal it's greyed out, but offer better readability."* Briar version: 1.3.4
* User feedback: "The greyed out options in the settings are a bit to difficult to read (for me).
A bit more contrast could still signal it's greyed out, but offer better readability."https://code.briarproject.org/briar/briar/-/issues/2057AssertionError when selecting image to send2023-09-14T12:55:21ZakwizgranAssertionError when selecting image to send* Android version: 9
* Phone model: Honor KIW-L24 (lineage_kiwi)
* Briar version: 1.3.3 (c647c52)
Log snippet:
```
05-26 19:25:27.225 I/BaseActivity: Pausing NavDrawerActivity
05-26 19:25:27.302 I/BaseActivity: Creating ConversationActi...* Android version: 9
* Phone model: Honor KIW-L24 (lineage_kiwi)
* Briar version: 1.3.3 (c647c52)
Log snippet:
```
05-26 19:25:27.225 I/BaseActivity: Pausing NavDrawerActivity
05-26 19:25:27.302 I/BaseActivity: Creating ConversationActivity
05-26 19:25:27.389 I/ConversationViewModel: PrivateMessageFormat loaded: TEXT_IMAGES_AUTO_DELETE
05-26 19:25:27.536 I/BaseActivity: Starting ConversationActivity
05-26 19:25:27.540 I/BaseActivity: Resuming ConversationActivity
05-26 19:25:27.737 I/ConversationActivity: Eagerly loading text for latest message
05-26 19:25:27.850 I/BaseActivity: Pausing ConversationActivity
05-26 19:25:27.992 I/BaseActivity: Creating ConversationActivity
05-26 19:25:28.024 I/ConversationViewModel: PrivateMessageFormat loaded: TEXT_IMAGES_AUTO_DELETE
05-26 19:25:28.157 I/BaseActivity: Starting ConversationActivity
05-26 19:25:28.163 I/BaseActivity: Resuming ConversationActivity
05-26 19:25:28.816 I/ConversationActivity: Eagerly loading text for latest message
05-26 19:25:28.819 I/BaseActivity: Stopping ConversationActivity
05-26 19:25:28.831 I/BaseActivity: Destroying ConversationActivity
05-26 19:25:30.983 I/BaseActivity: Pausing ConversationActivity
05-26 19:25:31.214 I/BaseActivity: Stopping NavDrawerActivity
05-26 19:25:31.698 I/BaseActivity: Stopping ConversationActivity
```
Stacktrace:
```
java.lang.AssertionError
at org.briarproject.briar.android.view.TextAttachmentController.onImageReceived(TextAttachmentController.java:166)
at org.briarproject.briar.android.conversation.ConversationActivity.onActivityResult(ConversationActivity.java:319)
at android.app.Activity.dispatchActivityResult(Activity.java:7462)
at android.app.ActivityThread.deliverResults(ActivityThread.java:4391)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:4440)
at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6718)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
```Android 1.4https://code.briarproject.org/briar/briar/-/issues/2056IllegalArgumentException: pointerIndex out of range2021-08-27T11:46:15ZakwizgranIllegalArgumentException: pointerIndex out of range* Android version: 11
* Phone model: Redmi Note 5
* Briar version: 1.3.4 (76b7e6f)
* User feedback: "Sent a picture, then click on it to show it."
Log snippet:
```
05-28 06:43:28.401 I/BaseActivity: Pausing ConversationActivity
05-28 06...* Android version: 11
* Phone model: Redmi Note 5
* Briar version: 1.3.4 (76b7e6f)
* User feedback: "Sent a picture, then click on it to show it."
Log snippet:
```
05-28 06:43:28.401 I/BaseActivity: Pausing ConversationActivity
05-28 06:43:28.416 I/BaseActivity: Creating ImageActivity
05-28 06:43:28.441 I/BaseActivity: Starting ImageActivity
05-28 06:43:28.444 I/BaseActivity: Resuming ImageActivity
05-28 06:43:28.894 I/BaseActivity: Stopping ConversationActivity
```
Stacktrace:
```
java.lang.IllegalArgumentException: pointerIndex out of range
at android.view.MotionEvent.nativeGetAxisValue(Native Method)
at android.view.MotionEvent.getX(MotionEvent.java:2401)
at androidx.viewpager.widget.ViewPager.onInterceptTouchEvent(ViewPager.java:2072)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2664)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799)
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:488)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1873)
at android.app.Activity.dispatchTouchEvent(Activity.java:4125)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:446)
at android.view.View.dispatchPointerEvent(View.java:14568)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6022)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5825)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5316)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5373)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5339)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5491)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5347)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5548)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5320)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5373)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5339)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5347)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5320)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:8086)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:8037)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7998)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:8209)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:220)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:335)
at android.os.Looper.loop(Looper.java:183)
at android.app.ActivityThread.main(ActivityThread.java:7660)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
```
[Looks like](https://stackoverflow.com/a/13000343) this is a [very longstanding bug](https://issuetracker.google.com/issues/36931456) in the support library/AndroidX that was fixed recently. We may be able to fix the issue by upgrading the ViewPager library. Alternatively, various people on StackOverflow suggest workarounds that wrap the ViewPager to catch the exception.Android 1.3IvanaIvanahttps://code.briarproject.org/briar/briar/-/issues/2055Hide hotspot offline sharing feature behind feature flag2021-07-06T09:38:53ZTorsten GroteHide hotspot offline sharing feature behind feature flagInstall via Bluetooth or Wi-FiSebastianSebastian2021-07-31