briar issueshttps://code.briarproject.org/groups/briar/-/issues2020-11-15T17:09:52Zhttps://code.briarproject.org/briar/briar/-/issues/1694Make auto-logout configurable2020-11-15T17:09:52Zmartin ➬Make auto-logout configurableI understand that Briar's legacy informs the need to «log out» a user on device restart, and possibly other events. However, this is massive adoption hindrance for some. I've activated a dozen people at a recent conference. Two days late...I understand that Briar's legacy informs the need to «log out» a user on device restart, and possibly other events. However, this is massive adoption hindrance for some. I've activated a dozen people at a recent conference. Two days later, 4 weren't online anymore, and didn't see any messages. Today, even the last person went offline. I am sure they didn't quit, but just couldn't be bothered to log in again after the device restarted.
However, as a result of this security feature, Briar has been unreliable for this group, to the point of being useless now.
In the interest of facilitating adoption, please consider making this configurable, and even defaulting to keeping the user «logged in» across reboots etc.https://code.briarproject.org/briar/briar/-/issues/1696Crash when trying to load key from keystore2022-06-13T15:00:45ZakwizgranCrash when trying to load key from keystoreI got the following crash while signing into an existing account on the API 26 emulator:
```
java.lang.RuntimeException: java.security.UnrecoverableKeyException: Failed to obtain information about key
at org.briarproject.bri...I got the following crash while signing into an existing account on the API 26 emulator:
```
java.lang.RuntimeException: java.security.UnrecoverableKeyException: Failed to obtain information about key
at org.briarproject.briar.android.AndroidKeyStrengthener.isInitialised(AndroidKeyStrengthener.java:83)
at org.briarproject.bramble.crypto.CryptoComponentImpl.decryptWithPassword(CryptoComponentImpl.java:397)
at org.briarproject.bramble.account.AccountManagerImpl.loadAndDecryptDatabaseKey(AccountManagerImpl.java:215)
at org.briarproject.bramble.account.AccountManagerImpl.signIn(AccountManagerImpl.java:198)
at org.briarproject.briar.android.login.StartupViewModel.lambda$validatePassword$0$StartupViewModel(StartupViewModel.java:108)
at org.briarproject.briar.android.login.-$$Lambda$StartupViewModel$g7VDyWGXbuZadVRd8U1dRkICyWk.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.security.UnrecoverableKeyException: Failed to obtain information about key
at android.security.keystore.AndroidKeyStoreProvider.loadAndroidKeyStoreSecretKeyFromKeystore(AndroidKeyStoreProvider.java:282)
at android.security.keystore.AndroidKeyStoreSpi.engineGetKey(AndroidKeyStoreSpi.java:98)
at java.security.KeyStoreSpi.engineGetEntry(KeyStoreSpi.java:474)
at java.security.KeyStore.getEntry(KeyStore.java:1560)
at org.briarproject.briar.android.AndroidKeyStrengthener.isInitialised(AndroidKeyStrengthener.java:75)
at org.briarproject.bramble.crypto.CryptoComponentImpl.decryptWithPassword(CryptoComponentImpl.java:397)
at org.briarproject.bramble.account.AccountManagerImpl.loadAndDecryptDatabaseKey(AccountManagerImpl.java:215)
at org.briarproject.bramble.account.AccountManagerImpl.signIn(AccountManagerImpl.java:198)
at org.briarproject.briar.android.login.StartupViewModel.lambda$validatePassword$0$StartupViewModel(StartupViewModel.java:108)
at org.briarproject.briar.android.login.-$$Lambda$StartupViewModel$g7VDyWGXbuZadVRd8U1dRkICyWk.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: android.security.KeyStoreException: Invalid key blob
at android.security.KeyStore.getKeyStoreException(KeyStore.java:695)
at android.security.keystore.AndroidKeyStoreProvider.loadAndroidKeyStoreSecretKeyFromKeystore(AndroidKeyStoreProvider.java:283)
at android.security.keystore.AndroidKeyStoreSpi.engineGetKey(AndroidKeyStoreSpi.java:98)
at java.security.KeyStoreSpi.engineGetEntry(KeyStoreSpi.java:474)
at java.security.KeyStore.getEntry(KeyStore.java:1560)
at org.briarproject.briar.android.AndroidKeyStrengthener.isInitialised(AndroidKeyStrengthener.java:75)
at org.briarproject.bramble.crypto.CryptoComponentImpl.decryptWithPassword(CryptoComponentImpl.java:397)
at org.briarproject.bramble.account.AccountManagerImpl.loadAndDecryptDatabaseKey(AccountManagerImpl.java:215)
at org.briarproject.bramble.account.AccountManagerImpl.signIn(AccountManagerImpl.java:198)
at org.briarproject.briar.android.login.StartupViewModel.lambda$validatePassword$0$StartupViewModel(StartupViewModel.java:108)
at org.briarproject.briar.android.login.-$$Lambda$StartupViewModel$g7VDyWGXbuZadVRd8U1dRkICyWk.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
```
Looks like we can get a GeneralSecurityException instead of a clean failure when trying to load the key. We should handle this like a clean failure instead of crashing.https://code.briarproject.org/briar/briar/-/issues/1698SecurityException when binding Bluetooth socket2022-12-28T13:18:55ZakwizgranSecurityException when binding Bluetooth socket* Android version: 9
* Phone model: Honor COL-L29 (COL-L29RU)
* Briar version: 1.2.4 (75dfa80)
Stacktrace:
```
java.lang.SecurityException: Not allowed for non-active users
at android.os.Parcel.createException(Parcel.java:1953)
...* Android version: 9
* Phone model: Honor COL-L29 (COL-L29RU)
* Briar version: 1.2.4 (75dfa80)
Stacktrace:
```
java.lang.SecurityException: Not allowed for non-active users
at android.os.Parcel.createException(Parcel.java:1953)
at android.os.Parcel.readException(Parcel.java:1921)
at android.os.Parcel.readException(Parcel.java:1871)
at android.bluetooth.IBluetoothSocketManager$Stub$Proxy.createSocketChannel(IBluetoothSocketManager.java:207)
at android.bluetooth.BluetoothSocket.bindListen(BluetoothSocket.java:456)
at android.bluetooth.BluetoothAdapter.createNewRfcommSocketAndRecord(BluetoothAdapter.java:2152)
at android.bluetooth.BluetoothAdapter.listenUsingInsecureRfcommWithServiceRecord(BluetoothAdapter.java:2103)
at org.briarproject.bramble.plugin.bluetooth.AndroidBluetoothPlugin.openServerSocket(AndroidBluetoothPlugin.java:158)
at org.briarproject.bramble.plugin.bluetooth.AndroidBluetoothPlugin.openServerSocket(AndroidBluetoothPlugin.java:57)
at org.briarproject.bramble.plugin.bluetooth.BluetoothPlugin.lambda$bind$0$BluetoothPlugin(BluetoothPlugin.java:179)
at org.briarproject.bramble.plugin.bluetooth.-$$Lambda$BluetoothPlugin$5LFrMRmXQDZNSHk-RYMiHxB1iBE.run(Unknown Source:2)
at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:784)
```
Edited log:
```
12-23 13:01:56.423 I/AndroidNetworkManager: Received broadcast android.intent.action.SCREEN_OFF
...
12-23 13:01:57.318 I/AndroidNetworkManager: Received broadcast android.intent.action.SCREEN_ON
...
12-23 13:02:01.460 I/AndroidBluetoothPlugin: Scan mode: None
12-23 13:02:02.034 I/AndroidBluetoothPlugin: Scan mode: None
12-23 13:02:02.051 I/BluetoothPlugin: java.io.IOException: read failed, socket might closed or timeout, read ret: -1
12-23 13:02:02.069 I/BluetoothPlugin: Bluetooth disabled
12-23 13:02:02.070 I/BluetoothConnectionLimiterImpl: All connections closed
...
12-23 13:02:05.087 I/BluetoothPlugin: Bluetooth enabled
12-23 13:02:05.257 I/BluetoothPlugin: Local address null
```
No activities are shown stopping/starting when the screen turns off/on, which suggests Briar's running in the background. Looks like there might be a restriction on background apps binding Bluetooth sockets.Android 1.4https://code.briarproject.org/briar/briar/-/issues/1701CameraException on Nexus 7 (front-facing camera)2020-11-15T16:37:39ZakwizgranCameraException on Nexus 7 (front-facing camera)* Android version: 7.1.2
* Phone model: Google Nexus 7
* Briar version: 1.1.6 (4d26628)
* User feedback: "Add a contact is impossible due to camera error. Another way to add contacts is essential."
Log snippet:
```
09-22 09:56:22.542 I/...* Android version: 7.1.2
* Phone model: Google Nexus 7
* Briar version: 1.1.6 (4d26628)
* User feedback: "Add a contact is impossible due to camera error. Another way to add contacts is essential."
Log snippet:
```
09-22 09:56:22.542 I/CameraView: Setting preview consumer
09-22 09:56:22.543 I/CameraView: Opening camera
09-22 09:56:22.547 I/CameraView: Using front-facing camera
09-22 09:56:22.684 I/CameraView: Screen rotation 0 degrees, camera orientation 90 degrees
09-22 09:56:22.686 I/CameraView: Focus modes: [fixed]
09-22 09:56:22.693 W/KeyAgreementFragment: org.briarproject.briar.android.keyagreement.CameraException: java.lang.RuntimeException: setParameters failed
org.briarproject.briar.android.keyagreement.CameraException: java.lang.RuntimeException: setParameters failed
at org.briarproject.briar.android.keyagreement.CameraView.setBestParameters(CameraView.java:337)
at org.briarproject.briar.android.keyagreement.CameraView.start(CameraView.java:141)
at org.briarproject.briar.android.keyagreement.KeyAgreementFragment.onStart(KeyAgreementFragment.java:149)
at android.support.v4.app.Fragment.performStart(Fragment.java:2477)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1494)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:802)
at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2625)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2411)
at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2366)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2273)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:733)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6186)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
Caused by: java.lang.RuntimeException: setParameters failed
at android.hardware.Camera.native_setParameters(Native Method)
at android.hardware.Camera.setParameters(Camera.java:2015)
at org.briarproject.briar.android.keyagreement.CameraView.setBestParameters(CameraView.java:334)
at org.briarproject.briar.android.keyagreement.CameraView.start(CameraView.java:141)
at org.briarproject.briar.android.keyagreement.KeyAgreementFragment.onStart(KeyAgreementFragment.java:149)
at android.support.v4.app.Fragment.performStart(Fragment.java:2477)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1494)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:802)
at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2625)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2411)
at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2366)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2273)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:733)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6186)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
```https://code.briarproject.org/briar/briar/-/issues/1702RuntimeException: InputChannel is not initialized2020-11-15T16:36:31ZakwizgranRuntimeException: InputChannel is not initialized* Android version: 10
* Phone model: Google Pixel 2 (walleye)
* Briar version: 1.2.4 (75dfa80)
Stacktrace:
```
java.lang.RuntimeException: InputChannel is not initialized.
at android.view.InputEventReceiver.nativeInit(Native Met...* Android version: 10
* Phone model: Google Pixel 2 (walleye)
* Briar version: 1.2.4 (75dfa80)
Stacktrace:
```
java.lang.RuntimeException: InputChannel is not initialized.
at android.view.InputEventReceiver.nativeInit(Native Method)
at android.view.InputEventReceiver.<init>(InputEventReceiver.java:71)
at android.view.ViewRootImpl$WindowInputEventReceiver.<init>(ViewRootImpl.java:7775)
at android.view.ViewRootImpl.setView(ViewRootImpl.java:980)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:387)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:95)
at android.widget.Toast$TN.handleShow(Toast.java:514)
at android.widget.Toast$TN$1.handleMessage(Toast.java:417)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
```
Log:
```
12-15 23:14:17.134 I/BriarApplicationImpl: Created
12-15 23:14:17.145 I/CryptoComponentImpl: Default SecureRandom: AndroidOpenSSL SHA1PRNG
12-15 23:14:17.172 I/CryptoComponentImpl: Installed SecureRandom: UnixPRNG SHA1PRNG
12-15 23:14:17.253 I/LifecycleManagerImpl: Registering executor TimeLoggingExecutor
12-15 23:14:17.253 I/LifecycleManagerImpl: Registering executor ThreadPoolExecutor
12-15 23:14:17.253 I/LifecycleManagerImpl: Registering executor ScheduledThreadPoolExecutor
12-15 23:14:17.253 I/LifecycleManagerImpl: Registering service AndroidNetworkManager
12-15 23:14:17.253 I/LifecycleManagerImpl: Registering service AndroidBatteryManager
12-15 23:14:17.254 I/LifecycleManagerImpl: Registering service KeyManagerImpl
12-15 23:14:17.254 I/LifecycleManagerImpl: Registering open database hook IdentityManagerImpl
12-15 23:14:17.254 I/LifecycleManagerImpl: Registering executor TimeLoggingExecutor
12-15 23:14:17.255 I/LifecycleManagerImpl: Registering service ValidationManagerImpl
12-15 23:14:17.256 I/LifecycleManagerImpl: Registering open database hook ClientVersioningManagerImpl
12-15 23:14:17.256 I/LifecycleManagerImpl: Registering service ClientVersioningManagerImpl
12-15 23:14:17.256 I/LifecycleManagerImpl: Registering open database hook TransportPropertyManagerImpl
12-15 23:14:17.257 I/LifecycleManagerImpl: Registering service PluginManagerImpl
12-15 23:14:17.257 I/LifecycleManagerImpl: Registering service RendezvousPollerImpl
12-15 23:14:17.258 I/LifecycleManagerImpl: Registering open database hook BlogManagerImpl
12-15 23:14:17.259 I/LifecycleManagerImpl: Registering open database hook FeedManagerImpl
12-15 23:14:17.260 I/LifecycleManagerImpl: Registering open database hook GroupInvitationManagerImpl
12-15 23:14:17.261 I/LifecycleManagerImpl: Registering open database hook MessagingManagerImpl
12-15 23:14:17.262 I/LifecycleManagerImpl: Registering open database hook ForumSharingManagerImpl
12-15 23:14:17.262 I/LifecycleManagerImpl: Registering open database hook BlogSharingManagerImpl
12-15 23:14:17.263 I/LifecycleManagerImpl: Registering open database hook IntroductionManagerImpl
12-15 23:14:17.264 I/LifecycleManagerImpl: Registering service AndroidNotificationManagerImpl
12-15 23:14:17.264 I/LifecycleManagerImpl: Registering service ScreenFilterMonitorImpl
12-15 23:14:17.264 I/LifecycleManagerImpl: Registering service NetworkUsageLogger
12-15 23:14:17.265 I/LifecycleManagerImpl: Registering service DozeWatchdogImpl
12-15 23:14:17.266 I/LifecycleManagerImpl: Registering service LockManagerImpl
12-15 23:14:17.266 I/LifecycleManagerImpl: Registering open database hook RecentEmojiImpl
12-15 23:14:17.348 I/BriarService: Created
12-15 23:14:17.348 I/BriarService: No database key
12-15 23:14:17.401 I/BriarService: Destroyed
```
It's hard to understand what's happening here. Judging by the last three log lines, the Briar process may have been created by the OS relaunching BriarService after an earlier shutdown or crash (otherwise the service wouldn't be created until after signing in). I have no idea why that would cause a toast to be shown, which seems to be what triggers the crash.https://code.briarproject.org/briar/briar/-/issues/1703IllegalStateException: Drag shadow dimensions must be positive2020-11-15T16:35:50ZakwizgranIllegalStateException: Drag shadow dimensions must be positive* Android version: 9
* Phone model: OnePlus GM1915 (OnePlus7ProTMO)
* Briar version: 1.2.4 (75dfa80)
Stacktrace:
```
java.lang.IllegalStateException: Drag shadow dimensions must be positive
at android.view.View.startDragAndDrop(...* Android version: 9
* Phone model: OnePlus GM1915 (OnePlus7ProTMO)
* Briar version: 1.2.4 (75dfa80)
Stacktrace:
```
java.lang.IllegalStateException: Drag shadow dimensions must be positive
at android.view.View.startDragAndDrop(View.java:24302)
at android.widget.Editor.startDragAndDrop(Editor.java:1165)
at android.widget.Editor.performLongClick(Editor.java:1191)
at android.widget.TextView.performLongClick(TextView.java:11378)
at android.view.View.performLongClick(View.java:6734)
at android.view.View$CheckForLongPress.run(View.java:26148)
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:7009)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
```
Last log lines:
```
12-29 03:09:42.778 I/BaseActivity: Starting GroupActivity
12-29 03:09:42.809 I/BaseActivity: Stopping GroupActivity
12-29 03:09:43.054 I/BaseActivity: Starting GroupActivity
12-29 03:09:43.682 I/ThreadListControllerImpl: Loaded last top visible message id MessageId(XXX)
12-29 03:09:43.696 I/ThreadListControllerImpl: Loaded last top visible message id MessageId(XXX)
12-29 03:09:43.728 I/ThreadScrollListener: Updating unread count: top=0 bottom=3
12-29 03:09:44.333 I/ThreadScrollListener: Updating unread count: top=0 bottom=2
12-29 03:09:45.502 I/ThreadScrollListener: Updating unread count: top=0 bottom=1
12-29 03:09:45.520 I/ThreadScrollListener: Updating unread count: top=0 bottom=1
12-29 03:09:45.593 I/ThreadScrollListener: Updating unread count: top=0 bottom=0
12-29 03:09:45.598 I/ThreadScrollListener: Updating unread count: top=0 bottom=0
12-29 03:09:53.389 I/BaseActivity: Stopping GroupActivity
12-29 03:10:04.225 I/BaseActivity: Starting GroupActivity
12-29 03:10:04.250 I/ThreadListControllerImpl: Loaded last top visible message id MessageId(XXX)
```
Looks like a platform bug.https://code.briarproject.org/briar/briar/-/issues/1708RSS feeds without dates can't be imported2020-11-15T16:35:19ZakwizgranRSS feeds without dates can't be importedThis problem was originally reported as #1003, but some idiot called @akwizgran started cluttering up that ticket with comments about Unicode parsing issues, so I'm moving it to a new ticket.
Example of a feed with no dates: https://blo...This problem was originally reported as #1003, but some idiot called @akwizgran started cluttering up that ticket with comments about Unicode parsing issues, so I'm moving it to a new ticket.
Example of a feed with no dates: https://blog.fefe.de/rss.xmlhttps://code.briarproject.org/briar/briar/-/issues/1709CameraException: No camera on LineageOS2020-11-15T16:34:24ZakwizgranCameraException: No camera on LineageOS* Android version: 9
* Phone model: OnePlus 3T (reported by user - ACRA says unknown)
* Briar version: 1.2.4 (75dfa80)
* User feedback: "Camera error when adding nearby contact. Lineage 16, OnePlus 3T, microG."
Log:
```
11-21 18:59:15.3...* Android version: 9
* Phone model: OnePlus 3T (reported by user - ACRA says unknown)
* Briar version: 1.2.4 (75dfa80)
* User feedback: "Camera error when adding nearby contact. Lineage 16, OnePlus 3T, microG."
Log:
```
11-21 18:59:15.386 I/CameraView: Opening camera
11-21 18:59:15.391 W/KeyAgreementFragment: org.briarproject.briar.android.keyagreement.CameraException: No camera
org.briarproject.briar.android.keyagreement.CameraException: No camera
at org.briarproject.briar.android.keyagreement.CameraView.start(CameraView.java:106)
at org.briarproject.briar.android.keyagreement.KeyAgreementFragment.onStart(KeyAgreementFragment.java:149)
at android.support.v4.app.Fragment.performStart(Fragment.java:2477)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1494)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:802)
at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2625)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2411)
at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2366)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2273)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:733)
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:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
```
The phone has front- and back-facing cameras.https://code.briarproject.org/briar/briar/-/issues/1710Wrong camera used for adding contacts on Iconia tablet2020-11-15T16:33:49ZakwizgranWrong camera used for adding contacts on Iconia tablet* Android version: 6.0.1
* Phone model: Android-x86 ICONIA W700P (cm_android_x86_64)
* Briar version: 1.1.6 (4d26628)
* User feedback: "Front camera reversed on any app. Please add option to switch camera. I'm unable to add contacts on t...* Android version: 6.0.1
* Phone model: Android-x86 ICONIA W700P (cm_android_x86_64)
* Briar version: 1.1.6 (4d26628)
* User feedback: "Front camera reversed on any app. Please add option to switch camera. I'm unable to add contacts on this device."
Edited log:
```
10-14 21:44:21.325 I/CameraView: Opening camera
10-14 21:44:21.325 I/CameraView: Using back-facing camera
10-14 21:44:21.339 I/CameraView: Screen rotation 0 degrees, camera orientation 0 degrees
10-14 21:44:21.339 I/CameraView: Scene modes: [auto]
10-14 21:44:21.339 I/CameraView: Focus modes: [fixed]
10-14 21:44:21.339 I/CameraView: Video stabilisation enabled: false
10-14 21:44:21.339 I/CameraView: Scene mode: auto
10-14 21:44:21.339 I/CameraView: Focus mode: fixed
10-14 21:44:21.339 I/CameraView: Flash mode: off
10-14 21:44:21.339 I/CameraView: Preview size: 1280x720
...
10-14 21:44:21.379 I/CameraView: Surface created
10-14 21:44:21.379 I/CameraView: Surface changed: 1920x944
10-14 21:44:21.379 I/CameraView: Size 160x120, stretch 1.5254238, zoom 26.041666, score 0.025173334
10-14 21:44:21.379 I/CameraView: Size 176x144, stretch 1.6640986, zoom 19.728535, score 0.030459736
10-14 21:44:21.379 I/CameraView: Size 240x160, stretch 1.3559322, zoom 13.020833, score 0.056640003
10-14 21:44:21.379 I/CameraView: Size 320x200, stretch 1.2711865, zoom 7.8125, score 0.10069333
10-14 21:44:21.379 I/CameraView: Size 320x240, stretch 1.5254238, zoom 6.5104165, score 0.10069334
10-14 21:44:21.379 I/CameraView: Size 352x288, stretch 1.6640986, zoom 4.9321337, score 0.12183894
10-14 21:44:21.379 I/CameraView: Size 432x320, stretch 1.5065913, zoom 3.616898, score 0.18351361
10-14 21:44:21.379 I/CameraView: Size 480x320, stretch 1.3559322, zoom 3.2552083, score 0.22656001
10-14 21:44:21.379 I/CameraView: Size 640x480, stretch 1.5254238, zoom 1.6276041, score 0.40277335
10-14 21:44:21.379 I/CameraView: Size 1280x720, stretch 1.1440678, zoom 1.8432, score 0.47421557
10-14 21:44:21.379 I/CameraView: Best size 1280x720
10-14 21:44:21.380 I/CameraView: Video stabilisation enabled: false
10-14 21:44:21.380 I/CameraView: Scene mode: auto
10-14 21:44:21.380 I/CameraView: Focus mode: fixed
10-14 21:44:21.380 I/CameraView: Flash mode: off
10-14 21:44:21.380 I/CameraView: Preview size: 1280x720
10-14 21:44:21.380 I/CameraView: Starting preview
```https://code.briarproject.org/briar/briar/-/issues/1719Briar + "Scrammbled Exif"2020-11-15T16:02:42ZParanoid Computing Inc.Briar + "Scrammbled Exif"Hello everyone!
At first - sorry for my poor and awfull english - is it not my native language. So i have a question for maintainers of Briar? What do you think about implementing (on core-level or like a microsevice) in Briar functional...Hello everyone!
At first - sorry for my poor and awfull english - is it not my native language. So i have a question for maintainers of Briar? What do you think about implementing (on core-level or like a microsevice) in Briar functionality of "Scrammbled Exif" from F-Droid? This (imho) small tiny and fast .apk able to convert original picture metadata in a useless junk, when users share some stuff. So why we do not use this finctionality into app core?
Thank for reading.https://code.briarproject.org/briar/briar/-/issues/1725Groups and Forums are not scrolling to latest message automatically2021-01-13T11:14:34ZbafoobarGroups and Forums are not scrolling to latest message automaticallyRelated to #1589 and possible duplicate of #1192
Whenever I open a forum or a private group, I have to scroll to the very end to see the most recent messages. I dont think that is expected behaviour or is it? If yes, could you think ab...Related to #1589 and possible duplicate of #1192
Whenever I open a forum or a private group, I have to scroll to the very end to see the most recent messages. I dont think that is expected behaviour or is it? If yes, could you think about changing it? It works as expected in the private chats.https://code.briarproject.org/briar/briar/-/issues/1726Unable to "mark" text in private messages2020-11-15T15:56:26ZbafoobarUnable to "mark" text in private messagesI want to copy text from messages. I can long-tap on text on blogs, group and forum messages, but I am unable to do that on private messages. It only marks the message as a whole to delete it. In combination with beeing unable to click o...I want to copy text from messages. I can long-tap on text on blogs, group and forum messages, but I am unable to do that on private messages. It only marks the message as a whole to delete it. In combination with beeing unable to click on links, that makes it a very annoying issue.https://code.briarproject.org/briar/briar/-/issues/1730Interconnect all users2020-05-30T06:13:25ZVladislavInterconnect all usersWhy not interconnect all Briar users? Just in sense of every user, become an invisible node, like TOR network is.
Wont that make network stronger? more stable, accesable, omnipresent?
Set a limit for number of simultanious connections;...Why not interconnect all Briar users? Just in sense of every user, become an invisible node, like TOR network is.
Wont that make network stronger? more stable, accesable, omnipresent?
Set a limit for number of simultanious connections;
Give priority to contacts;
Make this feature optional.https://code.briarproject.org/briar/briar/-/issues/1731Asynchronous sync not working2020-11-15T15:54:41ZliofmrAsynchronous sync not workingHi, I tried to test the behavior like described on this image of the official briar website :
![briar_diagram](/uploads/c88b9052c156e2043707b7e892de367e/briar_diagram.png)
But it's not working. I mean, I created a little network with 3...Hi, I tried to test the behavior like described on this image of the official briar website :
![briar_diagram](/uploads/c88b9052c156e2043707b7e892de367e/briar_diagram.png)
But it's not working. I mean, I created a little network with 3 phones not exactly like the picture but I simplified it. I will work with A, B and C phones (not the same as the picture, forgot this config). When the 3 A, B and C phones are connected to the network (wifi, bluetooth or internet 3G), it's working, everybody recieve all blog posts.
BUT, if C disconnect, and A create a blog post, then first, B will recieve it.
THEN, if I disconnect A, and connect C, the blog post is not transmitted.
The purpose is to see if B can act as a the C phone on the official picture I shared. May be I did something wrong. Please do you have an idea ? Is it a bug or non-implemented yet feature or a bug ?
Thank you for this app, if it could work like in the picture it would be the best human made app of the century !!https://code.briarproject.org/briar/briar/-/issues/1732Unable to add contact2020-11-15T15:53:14ZacherrUnable to add contactThe latest version, one the mobile phone end A and another mobile phone B, A is mobile 4 G network, B is the wifi network, both sides add each other as contact person, which prompts that A have no network connection, B are waiting for A ...The latest version, one the mobile phone end A and another mobile phone B, A is mobile 4 G network, B is the wifi network, both sides add each other as contact person, which prompts that A have no network connection, B are waiting for A to log in. They're all the same. They' re not scanned successfully using the QR code, suggesting that the latest version is not recognizedhttps://code.briarproject.org/briar/briar/-/issues/1733Publish Briar in more app stores2020-05-26T09:24:57ZakwizgranPublish Briar in more app storesA user asked for Briar to be published in the following app stores:
Huawei AppGallery
https://consumer.huawei.com/en/mobileservices/appgallery/
https://developer.huawei.com/consumer/en/appgallery
G-Droid
https://gitlab.com/gdr...A user asked for Briar to be published in the following app stores:
Huawei AppGallery
https://consumer.huawei.com/en/mobileservices/appgallery/
https://developer.huawei.com/consumer/en/appgallery
G-Droid
https://gitlab.com/gdroid/gdroidclient/
https://mastodon.technology/@gdroid
Galaxy Store
https://www.samsung.com/uk/apps/galaxy-store/
Amazon Appstore
https://www.amazon.com/gp/mas/get/android
The Global Developer Service Alliance (GDSA)
https://www.gdsa.com/en
OPPO APP Market
https://developers.oppomobile.com/
https://store.oppomobile.com/https://code.briarproject.org/briar/briar/-/issues/1734Official Briar community on Briar?2020-11-15T15:51:03ZH. ToothOfficial Briar community on Briar?I think it would be nice to have an official Briar group or something to test the app.I think it would be nice to have an official Briar group or something to test the app.CleopatraCleopatrahttps://code.briarproject.org/briar/briar/-/issues/1735Contact trust level2020-11-15T15:50:28ZVladislavContact trust levelContact Checkboxes:
1. Allow/disallow connections other than tor (bluetooth, wifi direct)
2. Allow/disallow connection trough friends of this friend ('A' can communicate with D trough C whom trust your friend B, A is not a friend with C)...Contact Checkboxes:
1. Allow/disallow connections other than tor (bluetooth, wifi direct)
2. Allow/disallow connection trough friends of this friend ('A' can communicate with D trough C whom trust your friend B, A is not a friend with C)
That will become something like trusted lookup service, you mentioned here https://code.briarproject.org/briar/briar/issues/1730
3. Allow/disallow connection trough my friends
4. Trust/deep level - max distant friend, max level of friends of friends of friends you allow.https://code.briarproject.org/briar/briar/-/issues/1736Investigate whether library desugaring in Android Studio 4 allows us to upgra...2020-11-15T15:49:34ZakwizgranInvestigate whether library desugaring in Android Studio 4 allows us to upgrade any dependenciesAndroid Studio 4 adds support for certain Java 8+ APIs that aren't natively supported on older versions of Android, which has prevented us from upgrading certain dependencies (eg newer versions of H2 require ThreadLocalRandom). Find out ...Android Studio 4 adds support for certain Java 8+ APIs that aren't natively supported on older versions of Android, which has prevented us from upgrading certain dependencies (eg newer versions of H2 require ThreadLocalRandom). Find out whether upgrading to AS 4 would allow us to upgrade any dependencies.https://code.briarproject.org/briar/briar/-/issues/1737Huawei P8 Lite 2017 enters device idle mode despite doze whitelisting2021-04-30T13:38:14ZakwizgranHuawei P8 Lite 2017 enters device idle mode despite doze whitelistingAfter setting up Briar as normal on the Huawei P8 Lite 2017 (Android 7.0, EMUI 5.0.1) and leaving it running for a few hours, the doze watchdog dialog was shown after unlocking the screen, indicating that the phone entered device idle mo...After setting up Briar as normal on the Huawei P8 Lite 2017 (Android 7.0, EMUI 5.0.1) and leaving it running for a few hours, the doze watchdog dialog was shown after unlocking the screen, indicating that the phone entered device idle mode despite Briar being whitelisted.
![Screenshot_20200602-214120](/uploads/8771b9bbe470ab02575ddfe0221a9656/Screenshot_20200602-214120.png)
![Screenshot_20200602-214132](/uploads/d21e2d865b68342b1a9ae4f5f9319be9/Screenshot_20200602-214132.png)
Wifi and mobile data were turned off, so there was no Tor wake lock keeping the device awake.
After tapping "fix", which prompts to add Briar to the whitelist again, I left the phone idle for more than 24 hours and didn't see the doze watchdog dialog again.
I didn't capture any logs at the time as I was running another experiment. I'll try to reproduce this when the other experiments are finished.