briar issueshttps://code.briarproject.org/groups/briar/-/issues2021-10-26T10:41:07Zhttps://code.briarproject.org/briar/briar/-/issues/2141Private group crash after re-adding contact2021-10-26T10:41:07ZGhost UserPrivate group crash after re-adding contactHello, recently I was testing private groups in Briar and I encountered a bug.
Both accounts were just created and here are the steps to reproduce the bug:
1. Person A and Person B add each other to contacts.
2. Person A created the grou...Hello, recently I was testing private groups in Briar and I encountered a bug.
Both accounts were just created and here are the steps to reproduce the bug:
1. Person A and Person B add each other to contacts.
2. Person A created the group.
3. Person B joins the group.
4. Person A and Person B remove each other from contacts.
5. Person A and Person B add each other to contacts again.
6. Person A clicks on "share" button in the group.
7. Person A device crashes.
I also sent Briar Crash Report (with description: "issue #2141") with following informations attached:
- Basic information
- Stacktrace
- Build configuration
- App log
I didn't want to include all device informations but these may be useful:
- AndroidApi: 29
- AndroidVersion: 10
- Product: lineage_tissot (LineageOS 17.1 27.07.2021)
If any additional informations are needed then let me know.
EDIT:
I noticed that for some reason Person A still sees that Person B is in the group even after Person B left which in my opinion is some problem with synchronization because Person B had no contacts in the group at the time of leaving.
EDIT 2:
I removed unecessary step because Person B doesn't have to leave the group to reproduce the crash.https://code.briarproject.org/briar/briar/-/issues/2033Accept Monero donations2021-10-26T15:52:00ZMihai PerepiolcaAccept Monero donationsHi, it would be nice to have a Monero address on the project's webpage to which people could send donations anonymously.Hi, it would be nice to have a Monero address on the project's webpage to which people could send donations anonymously.https://code.briarproject.org/briar/briar/-/issues/2176Polish translation2021-10-26T18:35:01ZPanda CoderPolish translationI found mistake in Polish translation and I applied to join Polish language group on Transifex but unfortunately didn't approved since almost a week. Are there any requirements that I don't meet? I would really like to help in translatin...I found mistake in Polish translation and I applied to join Polish language group on Transifex but unfortunately didn't approved since almost a week. Are there any requirements that I don't meet? I would really like to help in translating Briar.https://code.briarproject.org/briar/briar/-/issues/834Optionally sign out when battery is low or power saving mode is enabled2021-10-27T14:09:40ZakwizgranOptionally sign out when battery is low or power saving mode is enabledListen for power manager events (ACTION_BATTERY_LOW, ACTION_POWER_SAVE_MODE_CHANGED) and [manufacturer-specific events](http://stackoverflow.com/a/25103642) and optionally sign out if the battery is low or power saving mode is enabled an...Listen for power manager events (ACTION_BATTERY_LOW, ACTION_POWER_SAVE_MODE_CHANGED) and [manufacturer-specific events](http://stackoverflow.com/a/25103642) and optionally sign out if the battery is low or power saving mode is enabled and the user's not currently interacting with Briar.https://code.briarproject.org/briar/briar/-/issues/2011App offline sharing UX2021-10-29T11:45:23ZElio Qoshielio@ura.designApp offline sharing UX![All_Screens](/uploads/bd9eb2dd5bbb58e2287fd8e9a036f12f/All_Screens.png)
I drafted an initial UX proposal for sharing an app offline.
Figma specs: https://www.figma.com/file/NgBKOW1GcLk1NXzHQBcYdY/Offline-App-Installer-Sharing?node-id=...![All_Screens](/uploads/bd9eb2dd5bbb58e2287fd8e9a036f12f/All_Screens.png)
I drafted an initial UX proposal for sharing an app offline.
Figma specs: https://www.figma.com/file/NgBKOW1GcLk1NXzHQBcYdY/Offline-App-Installer-Sharing?node-id=1%3A5491
Considerations:
- This doesn't take into account that we are automatically detecting if a fellow peer connects to the hotspot. The hosting user needs to manually confirm this.
- There should be plenty of space for instructions and help text, as well as a separate help option via the dropdown menu if needed. The texts are of course only placeholders, though their I included their notion, more or less.
- An illustration should make the process feel more engaging (like the start of onboarding).
- Not sure about the steppers on the bottom. Open to hear what you think.Install via Bluetooth or Wi-FiElio Qoshielio@ura.designElio Qoshielio@ura.design2021-07-31https://code.briarproject.org/briar/briar-manual/-/issues/8Add layout support for RTL languages2021-10-29T12:04:02ZakwizgranAdd layout support for RTL languagesThe manual has been translated into Persian but the layout is still left-to-right.
Adding `dir="rtl"` to the `html` element doesn't fix this, as it causes the ToC sidebar to overlay the content.
Setting `direction: rtl` on the `toc` an...The manual has been translated into Persian but the layout is still left-to-right.
Adding `dir="rtl"` to the `html` element doesn't fix this, as it causes the ToC sidebar to overlay the content.
Setting `direction: rtl` on the `toc` and `wrapper` divs, and then somehow conditionally styling the images to float left rather than right, may work.
Whatever solution we find, we need to be able to trigger it conditionally in the Hugo template based on the `.Site.Language.LanguageDirection` parameter:
https://discourse.gohugo.io/t/direction-rtl/25904/2Sponsor 6 outreach campaignTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1866Migrate BlogController and FeedController to ViewModel2021-10-29T12:05:09ZTorsten GroteMigrate BlogController and FeedController to ViewModelBoth controllers share code in BaseController.
Subtask of #1800Both controllers share code in BaseController.
Subtask of #1800Adapt to changes in the Android platformIvanaIvana2021-04-30https://code.briarproject.org/briar/briar/-/issues/2142Test that Settings.Panel.ACTION_WIFI works on all devices running API 29+2021-11-01T11:13:35ZakwizgranTest that Settings.Panel.ACTION_WIFI works on all devices running API 29+Install via Bluetooth or Wi-FiSebastianSebastian2021-07-31https://code.briarproject.org/briar/briar/-/issues/2210Syncing via removable drives fails when drive is removed too soon2021-11-02T14:07:11ZakwizgranSyncing via removable drives fails when drive is removed too soonA volunteer who was testing syncing via removable drives found that if they removed the removable drive from the sending device too soon, the file was empty (0 bytes) and the import failed with "Error importing data" on the receiving dev...A volunteer who was testing syncing via removable drives found that if they removed the removable drive from the sending device too soon, the file was empty (0 bytes) and the import failed with "Error importing data" on the receiving device.
We already knew this was possible, but I'm opening a ticket for it as it's been seen in the wild.
We may be able to improve how we handle this, for example by showing a more specific error message if the file is empty, or by adding a delay on the sender side before reporting that the write is complete, to allow more time for the data to be written to the drive.https://code.briarproject.org/briar/website/-/issues/331.4 release announcement2021-11-03T14:31:40ZTorsten Grote1.4 release announcementNew features in 1.4:
* Share Briar offline: From within the app you can share the app to others who don't have it installed
* useful during internet shutdown and natural disasters to bootstrap Briar connectivity in a community if at l...New features in 1.4:
* Share Briar offline: From within the app you can share the app to others who don't have it installed
* useful during internet shutdown and natural disasters to bootstrap Briar connectivity in a community if at least one device has Briar already
* uses a wifi hotspot that offers a download of briar to other devices
* Connect via removable drives
* Android phones can use SD cards or flash drives (usually via adapters) to store data
* Briar makes use of that capability to store encrypted messages that can be physically transported to the recipient and imported and decrypted there.
* Messages delivered this way arrive just like they would over WiFi, Bluetooth or Tor.
* RFC 1149 https://en.wikipedia.org/wiki/IP_over_Avian_Carriers
* https://grobox.de/presentations/2017-12-30_Briar_at_34c3.html#/24
Already released (in 1.3.x):
* connecting via bluetooth (if not working automatically): New Android devices limit Bluetooth use for privacy which requires going through this new connecting feature once to make connections via bluetooth work at all and automatically from there onhttps://code.briarproject.org/briar/briar/-/issues/2004Use different Tor ports for debug builds2021-11-04T11:01:28ZakwizgranUse different Tor ports for debug buildsConfigure Tor to use different SOCKS and control ports when running a debug build, so that we can run debug and release builds on the same device without connectivity issues.Configure Tor to use different SOCKS and control ports when running a debug build, so that we can run debug and release builds on the same device without connectivity issues.Android 1.4SebastianSebastianhttps://code.briarproject.org/briar/briar/-/issues/1776NPE in exit transition2021-11-04T11:03:23ZakwizgranNPE in exit transition* Android version: 10
* Phone model: Huawei ELE-L29
* Briar version: 1.2.9 (9d96ce6)
Stacktrace:
```
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.app.Activity.isTopOfTask()' on a null object referenc...* Android version: 10
* Phone model: Huawei ELE-L29
* Briar version: 1.2.9 (9d96ce6)
Stacktrace:
```
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.app.Activity.isTopOfTask()' on a null object reference
at android.app.ExitTransitionCoordinator.notifyComplete(ExitTransitionCoordinator.java:437)
at android.app.ExitTransitionCoordinator.onReceiveResult(ExitTransitionCoordinator.java:91)
at android.os.ResultReceiver$MyRunnable.run(ResultReceiver.java:50)
at android.os.Handler.handleCallback(Handler.java:900)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:219)
at android.app.ActivityThread.main(ActivityThread.java:8347)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1055)
```Android 1.4https://code.briarproject.org/briar/briar/-/issues/1935ArrayIndexOutOfBoundsException in RecyclerView2021-11-04T11:03:23ZakwizgranArrayIndexOutOfBoundsException in RecyclerView* Android version: 10
* Briar version: 1.2.10 (54b852d)
Stacktrace:
```
java.lang.ArrayIndexOutOfBoundsException: length=5; index=7
at java.util.Arrays$ArrayList.get(Arrays.java:3766)
at androidx.recyclerview.selection.T...* Android version: 10
* Briar version: 1.2.10 (54b852d)
Stacktrace:
```
java.lang.ArrayIndexOutOfBoundsException: length=5; index=7
at java.util.Arrays$ArrayList.get(Arrays.java:3766)
at androidx.recyclerview.selection.ToolHandlerRegistry.get(ToolHandlerRegistry.java:69)
at androidx.recyclerview.selection.EventRouter.onInterceptTouchEvent(EventRouter.java:57)
at androidx.recyclerview.widget.RecyclerView.findInterceptingOnItemTouchListener(RecyclerView.java:3151)
at androidx.recyclerview.widget.RecyclerView.onInterceptTouchEvent(RecyclerView.java:3170)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2620)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2709)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2709)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2709)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2709)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2709)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2709)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2709)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2709)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2709)
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:613)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1933)
at android.app.Activity.dispatchTouchEvent(Activity.java:4147)
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:559)
at android.view.View.dispatchPointerEvent(View.java:13766)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5824)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5619)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5063)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5116)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5082)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5239)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5090)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5296)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5063)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5116)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5082)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5090)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5063)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7954)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7905)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7859)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:8144)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:233)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:363)
at android.os.Looper.loop(Looper.java:173)
at android.app.ActivityThread.main(ActivityThread.java:8169)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101)
```
Edited log:
```
02-12 21:12:09.963 I/BaseActivity: Starting ConversationActivity
02-12 21:12:09.965 I/BaseActivity: Resuming ConversationActivity
02-12 21:12:10.590 I/AndroidNetworkManager: Received broadcast android.intent.action.SCREEN_ON
```
Crash occurred at 21:12:18.697.
This looks like a RecyclerView bug. Opening a ticket in case we need to upgrade the relevant library.Android 1.4https://code.briarproject.org/briar/briar/-/issues/1903IllegalArgumentException when opening forum2021-11-04T11:03:23ZakwizgranIllegalArgumentException when opening forum* Android version: 9
* Phone model: OnePlus ONE A2003 (lineage_oneplus2)
* Briar version: 1.2.7 (eb562f8)
Stacktrace:
```
java.lang.IllegalArgumentException
at android.os.Parcel.createException(Parcel.java:1954)
at andro...* Android version: 9
* Phone model: OnePlus ONE A2003 (lineage_oneplus2)
* Briar version: 1.2.7 (eb562f8)
Stacktrace:
```
java.lang.IllegalArgumentException
at android.os.Parcel.createException(Parcel.java:1954)
at android.os.Parcel.readException(Parcel.java:1918)
at android.os.Parcel.readException(Parcel.java:1868)
at android.app.IActivityManager$Stub$Proxy.startActivity(IActivityManager.java:3756)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1669)
at android.app.Activity.startActivityForResult(Activity.java:4587)
at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:676)
at android.app.Activity.startActivityForResult(Activity.java:4545)
at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:663)
at android.app.Activity.startActivity(Activity.java:4906)
at android.app.Activity.startActivity(Activity.java:4874)
at org.briarproject.briar.android.forum.ForumListAdapter.lambda$onBindViewHolder$0$ForumListAdapter(ForumListAdapter.java:77)
at org.briarproject.briar.android.forum.-$$Lambda$ForumListAdapter$kAL6Ao0lW0KDG5V1g1qgxdCGy3I.onClick(Unknown Source:4)
at android.view.View.performClick(View.java:6597)
at android.view.View.performClickInternal(View.java:6574)
at android.view.View.access$3100(View.java:778)
at android.view.View$PerformClick.run(View.java:25906)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
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)
Caused by: android.os.RemoteException: Remote stack trace:
at android.view.SurfaceControl.nativeCreate(Native Method)
at android.view.SurfaceControl.<init>(SurfaceControl.java:630)
at android.view.SurfaceControl.<init>(SurfaceControl.java:60)
at android.view.SurfaceControl$Builder.build(SurfaceControl.java:386)
at com.android.server.wm.WindowContainer.onParentSet(WindowContainer.java:184)
android.os.RemoteException: Remote stack trace:
at android.view.SurfaceControl.nativeCreate(Native Method)
at android.view.SurfaceControl.<init>(SurfaceControl.java:630)
at android.view.SurfaceControl.<init>(SurfaceControl.java:60)
at android.view.SurfaceControl$Builder.build(SurfaceControl.java:386)
at com.android.server.wm.WindowContainer.onParentSet(WindowContainer.java:184)
```
Edited log:
```
05-12 17:27:04.042 I/BaseActivity: Starting ForumActivity
05-12 17:27:04.091 I/ThreadListControllerImpl: Loaded last top visible message id MessageId(BF612DC59E492610586538167B84439EF006DC1023B5657A39A8C209E7547F5D)
05-12 17:27:05.922 I/ThreadScrollListener: Updating unread count: top=0 bottom=0
05-12 17:27:05.932 I/ThreadScrollListener: Updating unread count: top=0 bottom=0
05-12 17:27:06.895 I/BaseActivity: Starting NavDrawerActivity
05-12 17:27:07.458 I/BaseActivity: Stopping ForumActivity
05-12 17:27:30.902 I/BasePostFragment: Adding Handler Callback
05-12 17:27:30.903 I/BaseControllerImpl: Loaded header from cache
05-12 17:27:30.903 I/BaseControllerImpl: Loaded text from cache
05-12 17:28:03.454 I/BasePostFragment: Removing Handler Callback
05-12 17:28:12.397 I/BasePostFragment: Adding Handler Callback
05-12 17:28:12.397 I/BaseControllerImpl: Loaded header from cache
05-12 17:28:12.397 I/BaseControllerImpl: Loaded text from cache
05-12 17:28:13.457 I/BasePostFragment: Removing Handler Callback
05-12 17:28:23.866 I/BaseActivity: Stopping NavDrawerActivity
05-12 17:28:51.251 I/BaseActivity: Starting NavDrawerActivity
```
The crash happens when calling startActivity() to open ForumActivity. The extras are the group ID and forum name.
Note: on current master this call has moved to ForumViewHolder.Android 1.4https://code.briarproject.org/briar/briar/-/issues/1924After switching language, "sign out" dialog button doesn't appear to work2021-11-04T11:03:24ZakwizgranAfter switching language, "sign out" dialog button doesn't appear to workAfter changing the app language in the Briar settings screen, a dialog is shown prompting the user to sign out. On the Samsung Galaxy Ace 2 (Android 4.1.2) the "sign out" button dismisses the dialog and brings the contact list to the for...After changing the app language in the Briar settings screen, a dialog is shown prompting the user to sign out. On the Samsung Galaxy Ace 2 (Android 4.1.2) the "sign out" button dismisses the dialog and brings the contact list to the foreground. The UI remains visible and usable for about 15 seconds and then disappears when sign out completes.
Ideally the UI should be hidden immediately and if the app's relaunched it should show the "signing out" fragment, as happens when the "sign out" menu option is used.Android 1.4SebastianSebastianhttps://code.briarproject.org/briar/briar/-/issues/2098IllegalStateException when creating ConversationActivity2021-11-04T11:03:25ZakwizgranIllegalStateException when creating ConversationActivity* Android version: 9
* Phone model: Xiaomi Redmi Note 8T (willow_eea)
* Briar version: 1.2.20 (62cca13)
Stacktrace:
```
Unable to start activity ComponentInfo{org.briarproject.briar.android/org.briarproject.briar.android.conversation.Co...* Android version: 9
* Phone model: Xiaomi Redmi Note 8T (willow_eea)
* Briar version: 1.2.20 (62cca13)
Stacktrace:
```
Unable to start activity ComponentInfo{org.briarproject.briar.android/org.briarproject.briar.android.conversation.ConversationActivity}: java.lang.IllegalStateException
java.lang.RuntimeException: Unable to start activity ComponentInfo{org.briarproject.briar.android/org.briarproject.briar.android.conversation.ConversationActivity}: java.lang.IllegalStateException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2984)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3119)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
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:1839)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6864)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
Caused by: java.lang.IllegalStateException
at org.briarproject.briar.android.conversation.ConversationActivity.onCreate(ConversationActivity.java:222)
at android.app.Activity.performCreate(Activity.java:7232)
at android.app.Activity.performCreate(Activity.java:7221)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2964)
... 11 more
```
Log:
```
06-05 14:42:25.705 I/BriarApplicationImpl: Created
06-05 14:42:25.757 I/BaseActivity: Creating ConversationActivity
```
It looks like the app is being relaunched after being killed, in some way that creates ConversationActivity first (recent apps list or message notification?) and the contact ID is missing from the intent.Android 1.4https://code.briarproject.org/briar/briar/-/issues/1900Crash when scanning QR code2021-11-04T11:03:25ZakwizgranCrash when scanning QR code* Android version: 4.2.2
* Phone model: ThL W200S
* Briar version: 1.2.9
Stacktrace:
```
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:299)
at...* Android version: 4.2.2
* Phone model: ThL W200S
* Briar version: 1.2.9
Stacktrace:
```
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:299)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
at java.util.concurrent.FutureTask.run(FutureTask.java:239)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:838)
Caused by: com.google.zxing.NotFoundException
com.google.zxing.NotFoundException
```
Edited log:
```
08-20 18:28:48.357 I/CameraView: Best size 960x540
08-20 18:28:48.380 I/CameraView: Video stabilisation enabled: true
08-20 18:28:48.380 I/CameraView: Scene mode: auto
08-20 18:28:48.380 I/CameraView: Focus mode: continuous-picture
08-20 18:28:48.380 I/CameraView: Flash mode: off
08-20 18:28:48.380 I/CameraView: Preview size: 960x540
08-20 18:28:48.398 I/ConnectionChooserImpl: Got connection for org.briarproject.bramble.lan
08-20 18:28:48.398 I/ConnectionChooserImpl: Already stopped
08-20 18:28:48.408 I/KeyAgreementConnector: Starting BQP listeners
08-20 18:28:48.408 I/BluetoothPlugin: Key agreement UUID f4ef05da-bb49-32d7-91d7-025efce30d3f
08-20 18:28:48.420 I/KeyAgreementConnector: Listening via org.briarproject.bramble.bluetooth
08-20 18:28:48.425 I/ConnectionChooserImpl: Got connection for org.briarproject.bramble.bluetooth
08-20 18:28:48.425 I/ConnectionChooserImpl: Already stopped
08-20 18:28:48.452 I/RenewableWakeLock: Releasing wake lock org.briarproject.briar.android
08-20 18:28:48.454 I/BluetoothConnectionLimiterImpl: Connection closed, 0 open
08-20 18:28:48.471 I/CameraView: Surface created
08-20 18:28:48.471 I/CameraView: Surface changed: 720x1118
08-20 18:28:48.479 I/CameraView: Best size 960x540
08-20 18:28:48.482 I/KeyAgreementConnector: Listening via org.briarproject.bramble.lan
08-20 18:28:48.489 I/CameraView: Video stabilisation enabled: true
08-20 18:28:48.489 I/CameraView: Scene mode: auto
08-20 18:28:48.489 I/CameraView: Focus mode: continuous-picture
08-20 18:28:48.489 I/CameraView: Flash mode: off
08-20 18:28:48.489 I/CameraView: Preview size: 960x540
08-20 18:28:48.489 I/CameraView: Starting preview
08-20 18:28:48.786 I/BluetoothConnectionLimiterImpl: Key agreement ended
08-20 18:28:48.790 I/CameraView: Stopping preview
08-20 18:28:48.790 I/KeyAgreementConnector: Stopping BQP listeners
08-20 18:28:48.792 I/ConnectionChooserImpl: java.io.IOException: read failed, socket might closed or timeout, read ret: -1
08-20 18:28:48.792 I/ConnectionChooserImpl: java.net.SocketException: Socket closed
08-20 18:28:48.793 I/ConnectionChooserImpl: Closing 0 unused connections
08-20 18:28:48.921 I/CameraView: Releasing camera
08-20 18:28:49.236 I/BluetoothConnectionLimiterImpl: Key agreement started
08-20 18:28:49.236 I/BluetoothConnectionLimiterImpl: Key agreement ended
08-20 18:28:49.651 I/CameraView: Surface destroyed
08-20 18:28:49.677 W/BriarService: Trim memory: running critically low
08-20 18:28:53.718 I/CameraView: Setting preview consumer
08-20 18:28:53.719 I/CameraView: Opening camera
08-20 18:28:53.720 I/CameraView: Using back-facing camera
08-20 18:28:53.883 I/CameraView: Screen rotation 0 degrees, camera orientation 90 degrees
08-20 18:28:53.890 I/CameraView: Scene modes: [auto, portrait, landscape, night, night-portrait, theatre, beach, snow, sunset, steadyphoto, fireworks, sports, party, candlelight, hdr]
08-20 18:28:53.890 I/CameraView: Focus modes: [auto, macro, infinity, continuous-picture, continuous-video, manual, fullscan]
08-20 18:28:53.909 I/CameraView: Video stabilisation enabled: true
08-20 18:28:53.909 I/CameraView: Scene mode: auto
08-20 18:28:53.909 I/CameraView: Focus mode: continuous-picture
08-20 18:28:53.909 I/CameraView: Flash mode: off
08-20 18:28:53.909 I/CameraView: Preview size: 640x480
08-20 18:28:53.914 I/KeyAgreementConnector: Stopping BQP listeners
08-20 18:28:53.914 I/ConnectionChooserImpl: Closing 0 unused connections
08-20 18:28:53.914 I/KeyAgreementConnector: Starting BQP listeners
08-20 18:28:53.915 I/BluetoothPlugin: Key agreement UUID 5a6c42f2-82d3-3e9a-bdaa-8c685cc96898
08-20 18:28:53.931 I/KeyAgreementConnector: Listening via org.briarproject.bramble.bluetooth
08-20 18:28:53.962 I/KeyAgreementConnector: Listening via org.briarproject.bramble.lan
08-20 18:28:53.968 I/BluetoothConnectionLimiterImpl: Key agreement ended
08-20 18:28:53.975 I/CameraView: Surface created
08-20 18:28:53.975 I/CameraView: Surface changed: 720x1118
08-20 18:28:53.979 I/CameraView: Best size 960x540
08-20 18:28:53.988 I/CameraView: Video stabilisation enabled: true
08-20 18:28:53.988 I/CameraView: Scene mode: auto
08-20 18:28:53.988 I/CameraView: Focus mode: continuous-picture
08-20 18:28:53.988 I/CameraView: Flash mode: off
08-20 18:28:53.988 I/CameraView: Preview size: 960x540
08-20 18:28:53.988 I/CameraView: Starting preview
08-20 18:28:54.251 I/BluetoothConnectionLimiterImpl: Key agreement started
08-20 18:28:54.251 I/KeyAgreementFragment: Local payload is 48 bytes
08-20 18:28:55.411 I/RenewableWakeLock: Renewing wake lock org.briarproject.briar.android
```Android 1.4https://code.briarproject.org/briar/briar/-/issues/1977SecurityException due to missing ACCESS_WIFI_STATE permission2021-11-04T11:03:25ZakwizgranSecurityException due to missing ACCESS_WIFI_STATE permission* Android version: 9
* Phone model: Samsung SM-A207F (a20sxx)
* Briar version: 1.2.13 (5fdc7e7)
Stacktrace:
```
WifiService: Neither user 10177 nor current process has android.permission.ACCESS_WIFI_STATE.
java.lang.SecurityException: W...* Android version: 9
* Phone model: Samsung SM-A207F (a20sxx)
* Briar version: 1.2.13 (5fdc7e7)
Stacktrace:
```
WifiService: Neither user 10177 nor current process has android.permission.ACCESS_WIFI_STATE.
java.lang.SecurityException: WifiService: Neither user 10177 nor current process has android.permission.ACCESS_WIFI_STATE.
at android.os.Parcel.createException(Parcel.java:1966)
at android.os.Parcel.readException(Parcel.java:1934)
at android.os.Parcel.readException(Parcel.java:1884)
at android.net.wifi.IWifiManager$Stub$Proxy.getConnectionInfo(IWifiManager.java:1928)
at android.net.wifi.WifiManager.getConnectionInfo(WifiManager.java:2099)
at org.briarproject.bramble.plugin.tcp.AndroidLanTcpPlugin.getWifiIpv4Address(AndroidLanTcpPlugin.java:129)
at org.briarproject.bramble.plugin.tcp.AndroidLanTcpPlugin.getPreferredWifiAddress(AndroidLanTcpPlugin.java:298)
at org.briarproject.bramble.plugin.tcp.AndroidLanTcpPlugin.lambda$updateConnectionStatus$0(AndroidLanTcpPlugin.java:260)
at org.briarproject.bramble.plugin.tcp.AndroidLanTcpPlugin.lambda$updateConnectionStatus$0$AndroidLanTcpPlugin(Unknown Source:0)
at org.briarproject.bramble.plugin.tcp.-$$Lambda$AndroidLanTcpPlugin$RnrvoJsXGo91N3aS5KUNVN0J3hU.run(Unknown Source:2)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0(PoliteExecutor.java:57)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0$PoliteExecutor(Unknown Source:0)
at org.briarproject.bramble.-$$Lambda$PoliteExecutor$wSvuPL6t_HUoaaqCVexrhJX_RSg.run(Unknown Source:6)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
Caused by: android.os.RemoteException: Remote stack trace:
at android.app.ContextImpl.enforce(ContextImpl.java:1924)
at android.app.ContextImpl.enforceCallingOrSelfPermission(ContextImpl.java:1952)
at com.android.server.wifi.WifiServiceImpl.enforceAccessPermission(WifiServiceImpl.java:1697)
at com.android.server.wifi.WifiServiceImpl.getConnectionInfo(WifiServiceImpl.java:3776)
at android.net.wifi.IWifiManager$Stub.onTransact(IWifiManager.java:341)
```
Log not available due to #1917.
This is a strange one. Briar requests ACCESS_WIFI_STATE in the manifest and it should be granted automatically at install time.
Perhaps the device is in multi-user mode and only one user can hold this permission at once? Or perhaps the device has a permission management app that allows this permission to be revoked?Android 1.4https://code.briarproject.org/briar/briar/-/issues/1988Notification wrongly shows app as unlocked if locked shortly after signing in2021-11-04T11:03:25ZakwizgranNotification wrongly shows app as unlocked if locked shortly after signing inA user reported that the notification shows the app as unlocked if it's locked shortly after signing in. I haven't managed to reproduce the bug yet, but the user gave these steps:
* Enable app lock
* Sign out
* Sign in
* Immediately or ...A user reported that the notification shows the app as unlocked if it's locked shortly after signing in. I haven't managed to reproduce the bug yet, but the user gave these steps:
* Enable app lock
* Sign out
* Sign in
* Immediately or after a couple of seconds open menu and press lock app
* Pull down for notifications and observe Briar notification it states "Briar is locked" and then changing into "Signed into Briar"
Reported on API 31.Android 1.4https://code.briarproject.org/briar/briar/-/issues/2108IllegalArgumentException when resuming NavDrawerActivity after signing in2021-11-04T11:03:26ZakwizgranIllegalArgumentException when resuming NavDrawerActivity after signing in* Briar version: 1.3.5
* User feedback: "I just updated Briar and tried to sign in again."
Stacktrace:
```
java.lang.IllegalArgumentException
at android.os.Parcel.createException(Parcel.java:1954)
at android.os.Parcel.re...* Briar version: 1.3.5
* User feedback: "I just updated Briar and tried to sign in again."
Stacktrace:
```
java.lang.IllegalArgumentException
at android.os.Parcel.createException(Parcel.java:1954)
at android.os.Parcel.readException(Parcel.java:1918)
at android.os.Parcel.readException(Parcel.java:1868)
at android.view.IWindowSession$Stub$Proxy.addToDisplay(IWindowSession.java:826)
at android.view.ViewRootImpl.setView(ViewRootImpl.java:758)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:356)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:93)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3906)
at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:51)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
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)
Caused by: android.os.RemoteException: Remote stack trace:
at android.view.SurfaceControl.nativeCreate(Native Method)
at android.view.SurfaceControl.<init>(SurfaceControl.java:630)
at android.view.SurfaceControl.<init>(SurfaceControl.java:60)
at android.view.SurfaceControl$Builder.build(SurfaceControl.java:386)
at com.android.server.wm.WindowContainer.onParentSet(WindowContainer.java:184)
```
Edited log:
```
07-06 13:21:56.622 I/BriarApplicationImpl: Created
07-06 13:21:56.687 I/AccountManagerImpl: Found database key in primary file
07-06 13:26:24.732 I/BaseActivity: Creating SplashScreenActivity
07-06 13:26:24.750 I/BaseActivity: Starting SplashScreenActivity
07-06 13:26:24.751 I/BaseActivity: Resuming SplashScreenActivity
07-06 13:26:25.270 I/BaseActivity: Pausing SplashScreenActivity
07-06 13:26:25.281 I/BaseActivity: Creating NavDrawerActivity
07-06 13:26:25.341 I/BaseActivity: Starting NavDrawerActivity
07-06 13:26:25.342 I/BaseActivity: Resuming NavDrawerActivity
07-06 13:26:25.342 I/BriarActivity: Not signed in, launching StartupActivity
07-06 13:26:25.349 I/BaseActivity: Pausing NavDrawerActivity
07-06 13:26:25.356 I/BaseActivity: Creating StartupActivity
07-06 13:26:25.363 I/AccountManagerImpl: Found database key in primary file
07-06 13:26:25.365 I/BaseActivity: Starting StartupActivity
07-06 13:26:25.416 I/BaseActivity: Resuming StartupActivity
07-06 13:26:25.937 I/BaseActivity: Stopping NavDrawerActivity
07-06 13:26:25.948 I/BaseActivity: Stopping SplashScreenActivity
07-06 13:26:25.950 I/BaseActivity: Destroying SplashScreenActivity
07-06 13:26:33.878 I/AccountManagerImpl: Found database key in primary file
07-06 13:26:34.876 I/AndroidKeyStrengthener: Loaded key from keystore
07-06 13:26:34.909 I/BriarService: Created
07-06 13:26:34.947 I/LifecycleManagerImpl: Opening database
07-06 13:26:34.951 I/H2Database: Reopening DB: true
07-06 13:26:35.791 I/IdentityManagerImpl: Identity loaded
07-06 13:26:35.800 I/LifecycleManagerImpl: Starting services
07-06 13:26:35.801 I/CleanupManagerImpl: Scheduling cleanup task in 1000 ms
07-06 13:26:35.804 I/AndroidNetworkManager: Received broadcast android.net.conn.CONNECTIVITY_CHANGE
07-06 13:26:35.804 I/AndroidNetworkManager: Received broadcast android.net.wifi.p2p.THIS_DEVICE_CHANGED
07-06 13:26:35.933 I/PluginManagerImpl: Starting simplex plugins
07-06 13:26:35.933 I/PluginManagerImpl: Starting duplex plugins
07-06 13:26:35.939 I/PluginManagerImpl: org.briarproject.bramble.bluetooth changed from state STARTING_STOPPING to DISABLED
07-06 13:26:35.939 I/PluginViewModel: TransportStateEvent: org.briarproject.bramble.bluetooth is DISABLED
07-06 13:26:35.956 I/AbstractBluetoothPlugin: Local address null
07-06 13:26:35.959 I/BaseActivity: Pausing StartupActivity
07-06 13:26:35.964 I/BriarActivity: Recreating NavDrawerActivity after signing in
07-06 13:26:35.966 I/BaseActivity: Starting NavDrawerActivity
07-06 13:26:35.967 I/BaseActivity: Resuming NavDrawerActivity
```Android 1.4