briar issueshttps://code.briarproject.org/briar/briar/-/issues2020-02-14T10:33:05Zhttps://code.briarproject.org/briar/briar/-/issues/1704NPE in BlogControllerImpl#eventOccurred()2020-02-14T10:33:05ZakwizgranNPE in BlogControllerImpl#eventOccurred()* Android version: 6.0
* Phone model: Redacted by user
* Briar version: 1.2.4 (commit hash redacted, but package name indicates a release build)
Stacktrace:
```
java.lang.NullPointerException: Attempt to invoke interface method 'void or...* Android version: 6.0
* Phone model: Redacted by user
* Briar version: 1.2.4 (commit hash redacted, but package name indicates a release build)
Stacktrace:
```
java.lang.NullPointerException: Attempt to invoke interface method 'void org.briarproject.briar.android.blog.BaseController$BlogListener.onBlogPostAdded(org.briarproject.briar.api.blog.BlogPostHeader, boolean)' on a null object reference
at org.briarproject.briar.android.blog.BlogControllerImpl.eventOccurred(BlogControllerImpl.java:108)
at org.briarproject.bramble.event.EventBusImpl.lambda$broadcast$0$EventBusImpl(EventBusImpl.java:42)
at org.briarproject.bramble.event.-$$Lambda$EventBusImpl$bRn946wCXST7O6nsMZt_9tnkiuk.run(lambda)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5778)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:801)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:691)
```Android 1.2akwizgranakwizgranhttps://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/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/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/1700Crash when setting long alias for contact2020-02-12T14:43:32ZakwizgranCrash when setting long alias for contact* Briar version: 1.1.6 (4d26628)
* User feedback: "Renamed user to long username."
Stacktrace:
```
java.lang.IllegalArgumentException
at org.briarproject.bramble.contact.ContactManagerImpl.setContactAlias(ContactManagerImpl.java...* Briar version: 1.1.6 (4d26628)
* User feedback: "Renamed user to long username."
Stacktrace:
```
java.lang.IllegalArgumentException
at org.briarproject.bramble.contact.ContactManagerImpl.setContactAlias(ContactManagerImpl.java:192)
at org.briarproject.bramble.contact.ContactManagerImpl.lambda$setContactAlias$4(ContactManagerImpl.java:200)
at org.briarproject.bramble.contact.-$$Lambda$ContactManagerImpl$EfFGAUvRrCV355yeOOy1D8He3mI.run(lambda)
at org.briarproject.bramble.db.DatabaseComponentImpl.transaction(DatabaseComponentImpl.java:177)
at org.briarproject.bramble.contact.ContactManagerImpl.setContactAlias(ContactManagerImpl.java:200)
at org.briarproject.briar.android.conversation.ConversationViewModel.lambda$setContactAlias$3(ConversationViewModel.java:169)
at org.briarproject.briar.android.conversation.-$$Lambda$ConversationViewModel$9WfLCS52Gofv6xnFXEVAD-DkifM.run(lambda)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
```Android 1.2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1699Crash when opening link on phone with no browser2020-02-12T14:49:16ZakwizgranCrash when opening link on phone with no browserApparently some people don't have browsers on their phones...
User feedback: "Open link no browser on phone."
Stacktrace:
```
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIE...Apparently some people don't have browsers on their phones...
User feedback: "Open link no browser on phone."
Stacktrace:
```
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=http://... }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2007)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1673)
at android.app.Activity.startActivityForResult(Activity.java:4587)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:767)
at android.support.v4.app.ActivityCompat.startActivityForResult(ActivityCompat.java:234)
at android.support.v4.app.FragmentActivity.startActivityFromFragment(FragmentActivity.java:881)
at android.support.v4.app.FragmentActivity$HostCallbacks.onStartActivityFromFragment(FragmentActivity.java:995)
at android.support.v4.app.Fragment.startActivity(Fragment.java:1084)
at android.support.v4.app.Fragment.startActivity(Fragment.java:1073)
at org.briarproject.briar.android.widget.LinkDialogFragment.lambda$onCreateView$0(LinkDialogFragment.java:77)
at org.briarproject.briar.android.widget.-$$Lambda$LinkDialogFragment$CtxQ-RzzFNwlWk-vvrb4QHAEkGw.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)
```Android 1.2Torsten GroteTorsten Grotehttps://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/1697Crash when receiving event in group list2020-02-14T10:33:05ZTorsten GroteCrash when receiving event in group listWhen receiving a group message while in the private group list, the app crashes with this stacktrace:
```
java.lang.IllegalStateException
at org.briarproject.briar.android.privategroup.list.GroupListControllerImpl.eventOccur...When receiving a group message while in the private group list, the app crashes with this stacktrace:
```
java.lang.IllegalStateException
at org.briarproject.briar.android.privategroup.list.GroupListControllerImpl.eventOccurred(GroupListControllerImpl.java:104)
at org.briarproject.bramble.event.EventBusImpl.lambda$broadcast$0$EventBusImpl(EventBusImpl.java:42)
at org.briarproject.bramble.event.-$$Lambda$EventBusImpl$bRn946wCXST7O6nsMZt_9tnkiuk.run(Unknown Source:4)
at android.os.Handler.handleCallback(Handler.java:883)
```
Looks like the controller doesn't get its listener attached for some reason.Android 1.2akwizgranakwizgranhttps://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/1695Pending contact list doesn't show any state when Tor plugin is disabled2020-02-11T17:28:21ZakwizgranPending contact list doesn't show any state when Tor plugin is disabledWhile testing the plugin-toggles branch, I noticed that the pending contact list doesn't show any state for pending contacts when the Tor plugin is disabled. This might be a superficial problem with the list or a deeper problem with the ...While testing the plugin-toggles branch, I noticed that the pending contact list doesn't show any state for pending contacts when the Tor plugin is disabled. This might be a superficial problem with the list or a deeper problem with the rendezvous poller.
The state appears as soon as the plugin's turned on.Torsten GroteTorsten Grotehttps://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/1693P2P protocol encrypted and decentralized2020-02-05T17:33:06ZjomocuP2P protocol encrypted and decentralizedI just saw a protocol that I find very interesting, it is an encrypted p2p protocol that allows decentralization without using servers, although this protocol itself does not hide the ip, this would be done by the tor network.
:)
In addi...I just saw a protocol that I find very interesting, it is an encrypted p2p protocol that allows decentralization without using servers, although this protocol itself does not hide the ip, this would be done by the tor network.
:)
In addition, it has compatibility with local networks, not bad: D
Information about the protocol: https://ssbc.github.io/scuttlebutt-protocol-guide/
Website: https://scuttlebutt.nz/
What if Briar added decentralization to Tor's P2P network?
It would be a real madness this.
What would you think of a "briar" social network style?
https://www.manyver.se/
I would like you to take a look, to see what you think.
regardshttps://code.briarproject.org/briar/briar/-/issues/1692Building the app from source2020-02-05T17:26:57ZUmairBuilding the app from sourceI have few questions regarding building app.
1. If I load it in xamarin, is it possible to also create apps for ios and windows?
2. What files to change if want to use my own name, logo etc?
3. Does it support push notifications? If y...I have few questions regarding building app.
1. If I load it in xamarin, is it possible to also create apps for ios and windows?
2. What files to change if want to use my own name, logo etc?
3. Does it support push notifications? If yes, where can I change the FCM ID?
Will I make the changes before building or after?https://code.briarproject.org/briar/briar/-/issues/1691Question: Have some Public Chat to talk with Stranger ? (Broadcast Mode)2020-01-23T10:48:22ZTimóteoQuestion: Have some Public Chat to talk with Stranger ? (Broadcast Mode)Hello,
thank you for this amazing project,
Have some Public Chat to talk with Stranger ? (some Broadcast Mode)
to send message to people that is not in contact list, and is only near in the same wifi ? (example in some Hostel)
like th...Hello,
thank you for this amazing project,
Have some Public Chat to talk with Stranger ? (some Broadcast Mode)
to send message to people that is not in contact list, and is only near in the same wifi ? (example in some Hostel)
like this apps :
[Near Peer : The Offline Chat](https://play.google.com/store/apps/details?id=com.nearpeer.app)
[Bridgefy](https://bridgefy.me/)
[Talkie - Wi-Fi Calling, Chats, File Sharing](https://play.google.com/store/apps/details?id=com.remaller.android.wifitalkie_lite)https://code.briarproject.org/briar/briar/-/issues/1690Add private message deletion to user manual2020-11-15T17:10:49ZakwizgranAdd private message deletion to user manualCleopatraCleopatrahttps://code.briarproject.org/briar/briar/-/issues/1689More security for Briar - A public key for each contact2020-11-15T17:12:51ZjomocuMore security for Briar - A public key for each contactThis would greatly increase the security of the application, it is a suggestion ...
If each contact has a public key, in case of being hacked, you would only understand the information of a user, you would not understand the information...This would greatly increase the security of the application, it is a suggestion ...
If each contact has a public key, in case of being hacked, you would only understand the information of a user, you would not understand the information of all your users.https://code.briarproject.org/briar/briar/-/issues/1688Decouple user name from private key2022-11-13T20:46:16Zmartin ➬Decouple user name from private keyHello, this issue is about changing the user name. In as such, it is somewhat related to #1641, in which it is suggested to assign random usernames at account creation.
From https://twitter.com/BriarApp/status/1218153737992245248 I lear...Hello, this issue is about changing the user name. In as such, it is somewhat related to #1641, in which it is suggested to assign random usernames at account creation.
From https://twitter.com/BriarApp/status/1218153737992245248 I learnt that the user name in Briar forms part of the cryptographic identity, which comes as a surprise. It means that I cannot change my name, whether that be for legal reasons (i.e. official name change), changes to the identity with which I want to represent myself, or because I might have not thought it through when I signed up. There is a warning behind the (I), but I didn't see that.
Would it be possible to reduce the user identity to the public key (which is what pretty much every other piece of software is doing), and to keep the user name as a variable in the profile of the user, which, if changed, propagates to all connected users?https://code.briarproject.org/briar/briar/-/issues/1687Check whether workaround for Tor bug #28027 is still needed2022-06-06T13:28:06ZakwizgranCheck whether workaround for Tor bug #28027 is still neededThe Tor plugin contains a workaround for Tor bug #28027. The fix for that ticket's parent was backported to the 0.3.5 series, so the workaround may not be needed any more. Test whether it's still needed and remove if not.
https://trac.t...The Tor plugin contains a workaround for Tor bug #28027. The fix for that ticket's parent was backported to the 0.3.5 series, so the workaround may not be needed any more. Test whether it's still needed and remove if not.
https://trac.torproject.org/projects/tor/ticket/28027
https://trac.torproject.org/projects/tor/ticket/29875https://code.briarproject.org/briar/briar/-/issues/1685New concept of forums and blogs (Groups, Supergroup and Channels)2022-07-26T00:11:57ZjomocuNew concept of forums and blogs (Groups, Supergroup and Channels)**General idea: The administrators of the group would have some general adjustments for the group, according to the group configuration a category is assigned.**
Generic settings for group administrators:
- Give the possibility that th...**General idea: The administrators of the group would have some general adjustments for the group, according to the group configuration a category is assigned.**
Generic settings for group administrators:
- Give the possibility that the users of the group, add new users, or not.
- Allow users to send messages or not.
- Allow users to send images or not.
- Allow users to send files or not.
- Allow users to send music or not.
- Allow users to send audios or not.
- Allow users to send gif or not.
- Other settings...
Depending on the general settings of the group, categories could be assigned, the categories change according to the group's permissions.
**Category "Channels"**
*Category feature:*
- Group members can only receive messages.
- All users can create a new "Channel" by default group permissions shown above.
For example, in a group that is not allowed to speak to its members and only administrators can speak, this category would be assigned since information is only received from administrators (for example, offers, or news about games, news, etc.)
In this case it would be good to give the possibility of self-publishing rss news for administrators.
**Category "Group"**
*Category feature:*
- Group members can send and receive messages.
- Group members cannot add new users (Only administrators can do so)
- All users can create a new "Group" by default group permissions shown above.
**Category "Supergroup"**
*Category feature:*
- Group members can send and receive messages.
- Group members can add new users.
- All users can create a new "Supergroup" by default group permissions shown above.
I think that would be better.
More organized, cleaner.
Regardshttps://code.briarproject.org/briar/briar/-/issues/1684Add setting to override detected country for Tor bridge configuration2022-06-06T13:26:15Zcano wigAdd setting to override detected country for Tor bridge configurationI am using briar 1.2.4 and I noticed in the options that Briar incorrectly selects 'connect via internet (tor automatic based on location'.
I was on holiday on country X and I did not installed Briar there, however when I went home (cou...I am using briar 1.2.4 and I noticed in the options that Briar incorrectly selects 'connect via internet (tor automatic based on location'.
I was on holiday on country X and I did not installed Briar there, however when I went home (country Y) and installed Briar, the option connect via internet (tor) automatic based on location' was wrong as it referred to country X not my current location.
I don't know whether briar got the info from f-droid since I opened it when I was in country X, however I think this can be dangerous as different countries have different degrees of repression, and tor should be set accordingly, therefore I suggest that whenever the app is opened to check if there was a change of location or maybe even let the user mention which country and automatically set the best connection accordingly.