briar issueshttps://code.briarproject.org/groups/briar/-/issues2021-07-12T11:17:21Zhttps://code.briarproject.org/briar/briar/-/issues/2111Hidden conversations2021-07-12T11:17:21ZakwizgranHidden conversationsA user asked for hidden conversations that aren't shown in the contact list unless a PIN is entered. Apparently Viber has this feature.A user asked for hidden conversations that aren't shown in the contact list unless a PIN is entered. Apparently Viber has this feature.https://code.briarproject.org/briar/briar/-/issues/2110Links to blogs and forums2021-07-12T10:35:28ZakwizgranLinks to blogs and forumsA user asked for the ability to share a link to a forum or blog. This would be difficult to support in the current architecture, but as usual I'm recording the request so we can understand the gaps between what we've built and what users...A user asked for the ability to share a link to a forum or blog. This would be difficult to support in the current architecture, but as usual I'm recording the request so we can understand the gaps between what we've built and what users would like us to build.https://code.briarproject.org/briar/briar/-/issues/2109AssertionError in RssFeedViewModel2021-08-27T11:44:00ZakwizgranAssertionError in RssFeedViewModel* Android version: 10
* Phone model: Xiaomi M2007J17G (gauguin_eea)
* Briar version: 1.3.5 (0040753)
Stacktrace:
```
java.lang.AssertionError
at org.briarproject.briar.android.blog.RssFeedViewModel.retryImportFeed(RssFeedViewMod...* Android version: 10
* Phone model: Xiaomi M2007J17G (gauguin_eea)
* Briar version: 1.3.5 (0040753)
Stacktrace:
```
java.lang.AssertionError
at org.briarproject.briar.android.blog.RssFeedViewModel.retryImportFeed(RssFeedViewModel.java:164)
at org.briarproject.briar.android.blog.RssFeedImportFailedDialogFragment.lambda$onCreateDialog$0(RssFeedImportFailedDialogFragment.java:49)
at org.briarproject.briar.android.blog.RssFeedImportFailedDialogFragment.lambda$onCreateDialog$0$RssFeedImportFailedDialogFragment(Unknown Source:0)
at org.briarproject.briar.android.blog.-$$Lambda$RssFeedImportFailedDialogFragment$pu5aDqHpggPx9uh0wirjeVhuMbA.onClick(Unknown Source:2)
at androidx.appcompat.app.AlertController$ButtonHandler.handleMessage(AlertController.java:167)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7574)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
```
Edited log:
```
07-09 09:10:45.890 I/IdentityManagerImpl: Identity loaded
07-09 09:10:45.893 I/LifecycleManagerImpl: Starting services
07-09 09:10:45.895 I/CleanupManagerImpl: Scheduling cleanup task in 1000 ms
07-09 09:10:45.917 I/PluginManagerImpl: Starting simplex plugins
07-09 09:10:45.917 I/PluginManagerImpl: Starting duplex plugins
07-09 09:10:45.963 I/BaseActivity: Pausing StartupActivity
07-09 09:10:45.976 I/BriarActivity: Recreating RssFeedActivity after signing in
07-09 09:10:45.979 I/BaseActivity: Starting RssFeedActivity
07-09 09:10:46.058 I/BaseActivity: Resuming RssFeedActivity
07-09 09:10:46.107 I/BaseActivity: Pausing RssFeedActivity
07-09 09:10:46.110 I/BaseActivity: Stopping RssFeedActivity
07-09 09:10:46.131 I/BaseActivity: Destroying RssFeedActivity
07-09 09:10:46.153 I/BaseActivity: Creating RssFeedActivity
07-09 09:10:46.194 I/BaseActivity: Starting RssFeedActivity
07-09 09:10:46.199 I/BaseActivity: Resuming RssFeedActivity
07-09 09:10:46.558 I/BaseActivity: Stopping StartupActivity
07-09 09:10:46.559 I/BaseActivity: Destroying StartupActivity
```Android 1.3IvanaIvanahttps://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.4https://code.briarproject.org/briar/briar/-/issues/2107IndexOutOfBoundsException in RecyclerView, probably in ConversationActivity2021-11-04T11:03:26ZakwizgranIndexOutOfBoundsException in RecyclerView, probably in ConversationActivity* Android version: 9
* Phone model: Xiaomi Mi Note 3 (jason)
* Briar version: 1.3.5 (0040753)
Stacktrace:
```
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.get(ArrayList.java:437)
at andro...* Android version: 9
* Phone model: Xiaomi Mi Note 3 (jason)
* Briar version: 1.3.5 (0040753)
Stacktrace:
```
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.get(ArrayList.java:437)
at androidx.recyclerview.widget.StaggeredGridLayoutManager$Span.calculateCachedStart(StaggeredGridLayoutManager.java:2531)
at androidx.recyclerview.widget.StaggeredGridLayoutManager$Span.getStartLine(StaggeredGridLayoutManager.java:2548)
at androidx.recyclerview.widget.StaggeredGridLayoutManager.checkSpanForGap(StaggeredGridLayoutManager.java:410)
at androidx.recyclerview.widget.StaggeredGridLayoutManager.hasGapsToFix(StaggeredGridLayoutManager.java:359)
at androidx.recyclerview.widget.StaggeredGridLayoutManager.checkForGaps(StaggeredGridLayoutManager.java:282)
at androidx.recyclerview.widget.StaggeredGridLayoutManager.onScrollStateChanged(StaggeredGridLayoutManager.java:317)
at androidx.recyclerview.widget.RecyclerView.dispatchOnScrollStateChanged(RecyclerView.java:5197)
at androidx.recyclerview.widget.RecyclerView.setScrollState(RecyclerView.java:1550)
at androidx.recyclerview.widget.RecyclerView.cancelScroll(RecyclerView.java:3444)
at androidx.recyclerview.widget.RecyclerView.onTouchEvent(RecyclerView.java:3422)
at android.view.View.dispatchTouchEvent(View.java:12527)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3000)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2705)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3002)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3002)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3002)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3054)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:444)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1830)
at android.app.Activity.dispatchTouchEvent(Activity.java:3465)
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:402)
at android.view.View.dispatchPointerEvent(View.java:12768)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5303)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5103)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4618)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4671)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4637)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4777)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4645)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4834)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4618)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4671)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4637)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4645)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4618)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7346)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7315)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7276)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7452)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:250)
at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:212)
at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:7420)
at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:7475)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1089)
at android.view.Choreographer.doCallbacks(Choreographer.java:885)
at android.view.Choreographer.doFrame(Choreographer.java:810)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1075)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6821)
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)
```
Last lines of log:
```
07-03 07:25:33.246 I/AutoDeleteManagerImpl: Sending message with auto-delete timer 604800000
07-03 07:25:33.316 I/DuplexOutgoingSession: Generated offer: true
07-03 07:25:33.316 I/DuplexOutgoingSession: Sent offer
07-03 07:25:33.323 I/DuplexOutgoingSession: Generated offer: false
07-03 07:25:33.880 I/DuplexOutgoingSession: Generated batch: true
07-03 07:25:33.880 I/ConversationActivity: Messages sent
07-03 07:25:33.880 I/DuplexOutgoingSession: Sent batch
07-03 07:25:33.886 I/DuplexOutgoingSession: Generated batch: false
07-03 07:25:33.993 I/ConversationActivity: Messages acked
```Android 1.4https://code.briarproject.org/briar/briar/-/issues/2106Allow deleting of profile picture2021-07-12T11:31:19ZBen ArmsteadAllow deleting of profile pictureOnce a profile picture is selected, there is no way to delete it, it can only be replaced.
I propose there be a way to remove the profile picture, which when executed, reverts the profile picture to the random pixels image which is disp...Once a profile picture is selected, there is no way to delete it, it can only be replaced.
I propose there be a way to remove the profile picture, which when executed, reverts the profile picture to the random pixels image which is displayed before the user initially selects an image.
Thanks for all your great work on briar.
Apologies if there is a way to do it which I am not aware of or if it is in the works.https://code.briarproject.org/briar/briar/-/issues/2105Let contacts know if removable drive transport isn't supported2021-09-02T12:26:52ZakwizgranLet contacts know if removable drive transport isn't supportedAndroid devices running API < 19 where the removable drive feature isn't supported should let their contacts know that the feature isn't supported. This could be done by not configuring the plugin on API < 19, so no transport properties ...Android devices running API < 19 where the removable drive feature isn't supported should let their contacts know that the feature isn't supported. This could be done by not configuring the plugin on API < 19, so no transport properties will be sent.
A nicer but more complex solution would be to send different transport properties on API < 19 (supported = false), so the contact's device knows that we're running a Briar version that's aware of the transport, but our device doesn't support it, and thus the contact's UI can show an appropriate message.
Subtask of #1802.Transfer content securely via SD cards and USB memory sticksIvanaIvana2021-07-31https://code.briarproject.org/briar/briar/-/issues/2104Show startup failure activity immediately instead of showing a notification2021-07-28T10:11:31ZakwizgranShow startup failure activity immediately instead of showing a notificationWhen testing #2061 we found that the startup failure notification wasn't very noticeable, so it appeared that the app had just closed itself. Let's show the startup failure activity immediately and skip the notification.When testing #2061 we found that the startup failure notification wasn't very noticeable, so it appeared that the app had just closed itself. Let's show the startup failure activity immediately and skip the notification.Transfer content securely via SD cards and USB memory sticksIvanaIvana2021-07-31https://code.briarproject.org/briar/briar/-/issues/2103Check whether we have transport keys before trying to send data via removable...2021-07-06T20:10:49ZakwizgranCheck whether we have transport keys before trying to send data via removable driveAs well as checking whether the contact supports the transport, we should check whether transport keys have been derived.
Subtask of #1802.As well as checking whether the contact supports the transport, we should check whether transport keys have been derived.
Subtask of #1802.Transfer content securely via SD cards and USB memory sticksakwizgranakwizgran2021-07-31https://code.briarproject.org/briar/briar/-/issues/2101Incrementing counter for group info request twice2021-07-06T09:40:25ZSebastianIncrementing counter for group info request twiceI just noticed, when we're requesting group info, I see this output:
```
07-05 12:39:44.503 19900-19900/org.briarproject.briar.android.debug I/HotspotManager: requestGroupInfo attempt: 1
07-05 12:39:45.520 19900-19900/org.briarproject.b...I just noticed, when we're requesting group info, I see this output:
```
07-05 12:39:44.503 19900-19900/org.briarproject.briar.android.debug I/HotspotManager: requestGroupInfo attempt: 1
07-05 12:39:45.520 19900-19900/org.briarproject.briar.android.debug I/HotspotManager: requestGroupInfo attempt: 3
07-05 12:39:46.541 19900-19900/org.briarproject.briar.android.debug I/HotspotManager: requestGroupInfo attempt: 5
```
seems like we increment the `attempt` variable twice.Install via Bluetooth or Wi-FiSebastianSebastian2021-07-31https://code.briarproject.org/briar/briar/-/issues/2100We're asking for location permission although we probably don't need to on AP...2021-08-27T11:41:03ZSebastianWe're asking for location permission although we probably don't need to on API < 29Test instructions: on a device on API level 28 or lower, make sure we do not ask for the location permission. I.e. first go to the app settings and if the location permission is currently granted to the app, then revoke it. Afterwards st...Test instructions: on a device on API level 28 or lower, make sure we do not ask for the location permission. I.e. first go to the app settings and if the location permission is currently granted to the app, then revoke it. Afterwards start the app sharing procedure and expect that we do not ask for the location permission.
When starting the hotspot, we ask the user for the location permission on all API levels, although we probably only need to do this on API 29+.
At least on API 23 we can still successfully start the hotspot and share the app even if the location permission is denied.Install via Bluetooth or Wi-FiIvanaIvana2021-07-31https://code.briarproject.org/briar/briar/-/issues/2099Transfer Data state lost when Activity and ViewModel get destroyed2021-07-26T15:12:43ZTorsten GroteTransfer Data state lost when Activity and ViewModel get destroyedWhen using the Notorious Developer Option: if I put Briar into the background while a write task is running, then relaunch it from the recent apps list when the task has finished, the `SendFragment` is still shown with the button disable...When using the Notorious Developer Option: if I put Briar into the background while a write task is running, then relaunch it from the recent apps list when the task has finished, the `SendFragment` is still shown with the button disabled and no progress bar. Without the notorious option the `FinalFragment` is shown as expected.Transfer content securely via SD cards and USB memory sticksakwizgranakwizgran2021-07-31https://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/2097ActivityNotFoundException for OPEN_DOCUMENT intent2022-02-28T15:52:29ZakwizgranActivityNotFoundException for OPEN_DOCUMENT intent* Android version: 11
* Phone model: Pixel 4a (sunfish)
* Briar version: 1.3.5 (0040753)
* User feedback: "I tried to press the button to change profile picture."
Stacktrace:
```
No Activity found to handle Intent { act=android.intent.a...* Android version: 11
* Phone model: Pixel 4a (sunfish)
* Briar version: 1.3.5 (0040753)
* User feedback: "I tried to press the button to change profile picture."
Stacktrace:
```
No Activity found to handle Intent { act=android.intent.action.OPEN_DOCUMENT cat=[android.intent.category.OPENABLE] typ=image/* (has extras) }
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.OPEN_DOCUMENT cat=[android.intent.category.OPENABLE] typ=image
/* (has extras) }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2067)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1727)
at android.app.Activity.startActivityForResult(Activity.java:5314)
at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:574)
at androidx.core.app.ActivityCompat.startActivityForResult(ActivityCompat.java:234)
at androidx.activity.ComponentActivity$2.onLaunch(ComponentActivity.java:208)
at androidx.activity.result.ActivityResultRegistry$3.launch(ActivityResultRegistry.java:224)
at androidx.activity.result.ActivityResultLauncher.launch(ActivityResultLauncher.java:47)
at androidx.fragment.app.FragmentManager.launchStartActivityForResult(FragmentManager.java:3000)
at androidx.fragment.app.Fragment.startActivityForResult(Fragment.java:1424)
at androidx.fragment.app.Fragment.startActivityForResult(Fragment.java:1398)
at org.briarproject.briar.android.settings.SettingsFragment.lambda$onCreatePreferences$0(SettingsFragment.java:64)
at org.briarproject.briar.android.settings.SettingsFragment.lambda$onCreatePreferences$0$SettingsFragment(Unknown Source:0)
at org.briarproject.briar.android.settings.-$$Lambda$SettingsFragment$aLVt4dIN9PUOagzsIXcpqTymkBo.onPreferenceClick(Unknown Source:2)
at androidx.preference.Preference.performClick(Preference.java:1184)
at androidx.preference.Preference.performClick(Preference.java:1166)
at androidx.preference.Preference$1.onClick(Preference.java:181)
at android.view.View.performClick(View.java:7448)
at android.view.View.performClickInternal(View.java:7425)
at android.view.View.access$3600(View.java:810)
at android.view.View$PerformClick.run(View.java:28305)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7664)
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)
```Android 1.4Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/2096Crash after leaving Briar in the background before the account is actually cr...2023-03-15T12:34:51ZIvanaCrash after leaving Briar in the background before the account is actually created**Steps to reproduce **
- Install Briar on a device (I used HTC One M9 API24 and Nokia 3.1 API30)
- Open Briar app
- Create a nickname, tap Next
- Crete the password and confirm it, tap Next
- Then allow Briar to run in the background, ...**Steps to reproduce **
- Install Briar on a device (I used HTC One M9 API24 and Nokia 3.1 API30)
- Open Briar app
- Create a nickname, tap Next
- Crete the password and confirm it, tap Next
- Then allow Briar to run in the background, and then when given information 'To run in the background, Briar needs to be locked to the recent apps list' tap on 'Protect Briar'
- Then you're given this dialogue box ![device-2021-06-29-114947](/uploads/43a9fe5f5e6f9a7efe0ac765a0b9d089/device-2021-06-29-114947.png)
- at that point leave briar and go to check if briar is in the list of recently used apps
- do not change anything, just look, then come back to Briar
- Briar crashes
Here are log files of the three crashes
[crash_HTC_One_M9_29062021.txt](/uploads/3dc78f523e125a26b53bee65aec1d3bb/crash_HTC_One_M9_29062021.txt)
[Crash_HTC_One_M9_2_29062021.txt](/uploads/b1138ed3eb6bbd319ff6cbaeb64bc4d6/Crash_HTC_One_M9_2_29062021.txt)
[crash_Nokia_3.1_29062021.txt](/uploads/c477c5f0c459fc17209a18b2b620108f/crash_Nokia_3.1_29062021.txt)Android 1.4https://code.briarproject.org/briar/briar/-/issues/2095Add option to use system's Tor binary2023-10-10T18:11:51ZNicoAdd option to use system's Tor binaryThis is most likely needed for a release to Debian (~~https://code.briarproject.org/briar/briar-gtk/issues/38~~ https://code.briarproject.org/briar/briar-desktop/-/issues/261).This is most likely needed for a release to Debian (~~https://code.briarproject.org/briar/briar-gtk/issues/38~~ https://code.briarproject.org/briar/briar-desktop/-/issues/261).https://code.briarproject.org/briar/briar/-/issues/2094user report: RSS feeds are not in chronological order2021-08-27T11:46:04Zsysteruser report: RSS feeds are not in chronological orderA user reports that their RSS feeds are always not in chronological order. I could not reproduce this issue.
reporting source:
https://social.tchncs.de/@noxr/106461720184380659A user reports that their RSS feeds are always not in chronological order. I could not reproduce this issue.
reporting source:
https://social.tchncs.de/@noxr/106461720184380659https://code.briarproject.org/briar/briar/-/issues/2093Inconsistency when navigating back to intro fragment and rotating device2021-08-27T11:42:38ZSebastianInconsistency when navigating back to intro fragment and rotating deviceOne can start the hotspot and go back to the intro fragment and then rotate the screen. It will then act as if you clicked the button. Maybe tricky to fix, unless going back to the intro fragment should kill the hotspot? Alternatively we...One can start the hotspot and go back to the intro fragment and then rotate the screen. It will then act as if you clicked the button. Maybe tricky to fix, unless going back to the intro fragment should kill the hotspot? Alternatively we could not put the intro fragment onto the back stack, making "back" navigate off the hotspot activity and back to the settings directly.Install via Bluetooth or Wi-FiSebastianSebastian2021-07-31https://code.briarproject.org/briar/briar/-/issues/2092Tapping "start hotspot" twice quickly can mess up the UI2021-08-27T11:41:38ZSebastianTapping "start hotspot" twice quickly can mess up the UI* possibly, "next" can also be tapped twice
* in other places, we just disable buttons after being tapped* possibly, "next" can also be tapped twice
* in other places, we just disable buttons after being tappedInstall via Bluetooth or Wi-FiIvanaIvana2021-07-31https://code.briarproject.org/briar/briar/-/issues/2091Add a transport property that just indicates that the transport is supported2021-07-02T18:01:34ZakwizgranAdd a transport property that just indicates that the transport is supportedWe need to know whether it's possible to communicate with a given contact via removable drives. The presence of transport keys doesn't necessarily mean the contact supports the transport, as when adding a contact we derive keys for all t...We need to know whether it's possible to communicate with a given contact via removable drives. The presence of transport keys doesn't necessarily mean the contact supports the transport, as when adding a contact we derive keys for all transports we support, without knowing whether the contact also supports them.
For all existing transports we can use transport properties to check whether the contact supports the transport. But the removable drive transport doesn't have any properties.
Add a "supported" property for all transports, so that we can tell which transports a contact supports regardless of whether any properties are needed for establishing a connection.
We may also be able to use this property for key derivation when adding a contact, so that we only derive keys for transports both parties support.Transfer content securely via SD cards and USB memory sticksakwizgranakwizgran2021-07-31