briar issueshttps://code.briarproject.org/briar/briar/-/issues2024-03-28T13:34:33Zhttps://code.briarproject.org/briar/briar/-/issues/2446IllegalStateException in HotspotActivity2024-03-28T13:34:33ZakwizgranIllegalStateException in HotspotActivity* Android version: 13
* Phone model: OnePlus CPH2415 (CPH2415EEA)
* Briar version: 1.5.6 (b68d24d)
Stacktrace:
```
java.lang.IllegalStateException: LifecycleOwner org.briarproject.briar.android.hotspot.HotspotActivity@52aa2cb is attempt...* Android version: 13
* Phone model: OnePlus CPH2415 (CPH2415EEA)
* Briar version: 1.5.6 (b68d24d)
Stacktrace:
```
java.lang.IllegalStateException: LifecycleOwner org.briarproject.briar.android.hotspot.HotspotActivity@52aa2cb is attempting to register while current state is RESUMED. LifecycleOwners must call register before they are STARTED.
at androidx.activity.result.ActivityResultRegistry.register(ActivityResultRegistry.java:123)
at androidx.activity.ComponentActivity.registerForActivityResult(ComponentActivity.java:817)
at androidx.activity.ComponentActivity.registerForActivityResult(ComponentActivity.java:826)
at org.briarproject.briar.android.hotspot.AbstractConditionManager.init(AbstractConditionManager.java:50)
at org.briarproject.briar.android.hotspot.HotspotIntroFragment.onCreateView(HotspotIntroFragment.java:79)
at androidx.fragment.app.Fragment.performCreateView(Fragment.java:3104)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:524)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:261)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1890)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1817)
at androidx.fragment.app.FragmentManager.popBackStackImmediate(FragmentManager.java:871)
at androidx.fragment.app.FragmentManager.popBackStackImmediate(FragmentManager.java:778)
at androidx.fragment.app.FragmentManager.handleOnBackPressed(FragmentManager.java:699)
at androidx.fragment.app.FragmentManager$1.handleOnBackPressed(FragmentManager.java:429)
at androidx.activity.OnBackPressedDispatcher.onBackPressed(OnBackPressedDispatcher.java:192)
at androidx.activity.ComponentActivity.onBackPressed(ComponentActivity.java:657)
at android.app.Activity.onKeyUp(Activity.java:3926)
at android.view.KeyEvent.dispatch(KeyEvent.java:2933)
at android.app.Activity.dispatchKeyEvent(Activity.java:4304)
at androidx.core.app.ComponentActivity.superDispatchKeyEvent(ComponentActivity.java:124)
at androidx.core.view.KeyEventDispatcher.dispatchKeyEvent(KeyEventDispatcher.java:86)
at androidx.core.app.ComponentActivity.dispatchKeyEvent(ComponentActivity.java:142)
at androidx.appcompat.app.AppCompatActivity.dispatchKeyEvent(AppCompatActivity.java:601)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchKeyEvent(WindowCallbackWrapper.java:60)
at androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback.dispatchKeyEvent(AppCompatDelegateImpl.java:3106)
at com.android.internal.policy.DecorView.dispatchKeyEvent(DecorView.java:442)
at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:6870)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6731)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6186)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6248)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6209)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:6379)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6217)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:6436)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6190)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6248)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6209)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6217)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6190)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6248)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6209)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:6412)
at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:6592)
at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:3778)
at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:3291)
at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:3282)
at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:3755)
at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:154)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:349)
at android.os.Looper.loopOnce(Looper.java:186)
at android.os.Looper.loop(Looper.java:351)
at android.app.ActivityThread.main(ActivityThread.java:8427)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013)
```
Looks like the crash happens when the back button is pressed, popping a fragment off the back stack and causing HotspotIntroFragment to be recreated.Android 1.4https://code.briarproject.org/briar/briar/-/issues/2331KeyStoreException: Invalid key blob2024-03-19T16:03:18ZakwizgranKeyStoreException: Invalid key blob* Android version: 11
* Phone model: Samsung SM-G970F (beyond0ltexx)
* Briar version: 1.4.5 (4df523a)
* User feedback: "I tried to login, entered my password and then Briar just crashed. I used this account before. But then I restored my...* Android version: 11
* Phone model: Samsung SM-G970F (beyond0ltexx)
* Briar version: 1.4.5 (4df523a)
* User feedback: "I tried to login, entered my password and then Briar just crashed. I used this account before. But then I restored my phone from the backup I made a month ago."
Log:
```
03-07 19:47:35.275 I/BriarApplicationImpl: Created
03-07 19:47:35.321 I/AccountManagerImpl: Found database key in primary file
03-07 19:47:39.685 I/BaseActivity: Creating SplashScreenActivity
03-07 19:47:39.700 I/BaseActivity: Starting SplashScreenActivity
03-07 19:47:39.702 I/BaseActivity: Resuming SplashScreenActivity
03-07 19:47:40.210 I/BaseActivity: Pausing SplashScreenActivity
03-07 19:47:40.222 I/BaseActivity: Creating NavDrawerActivity
03-07 19:47:40.266 I/BaseActivity: Starting NavDrawerActivity
03-07 19:47:40.270 I/BaseActivity: Resuming NavDrawerActivity
03-07 19:47:40.270 I/BriarActivity: Not signed in, launching StartupActivity
03-07 19:47:40.277 I/BaseActivity: Pausing NavDrawerActivity
03-07 19:47:40.282 I/BaseActivity: Creating StartupActivity
03-07 19:47:40.288 I/AccountManagerImpl: Found database key in primary file
03-07 19:47:40.289 I/BaseActivity: Starting StartupActivity
03-07 19:47:40.303 I/BaseActivity: Resuming StartupActivity
03-07 19:47:40.394 I/BaseActivity: Stopping NavDrawerActivity
03-07 19:47:40.803 I/BaseActivity: Stopping SplashScreenActivity
03-07 19:47:40.804 I/BaseActivity: Destroying SplashScreenActivity
03-07 19:47:47.649 I/AccountManagerImpl: Found database key in primary file
03-07 19:47:48.424 I/AndroidKeyStrengthener: Loaded key from keystore
```
Stacktrace:
```
java.lang.RuntimeException: java.security.InvalidKeyException: Keystore operation failed
at org.briarproject.briar.android.AndroidKeyStrengthener.strengthenKey(AndroidKeyStrengthener.java:101)
at org.briarproject.bramble.crypto.CryptoComponentImpl.decryptWithPassword(CryptoComponentImpl.java:412)
at org.briarproject.bramble.account.AccountManagerImpl.loadAndDecryptDatabaseKey(AccountManagerImpl.java:214)
at org.briarproject.bramble.account.AccountManagerImpl.signIn(AccountManagerImpl.java:200)
at org.briarproject.briar.android.login.StartupViewModel.lambda$validatePassword$0(StartupViewModel.java:112)
at org.briarproject.briar.android.login.StartupViewModel.$r8$lambda$5aurY1rQupylNVXCUST5DjfL1L4(Unknown Source:0)
at org.briarproject.briar.android.login.StartupViewModel$$ExternalSyntheticLambda0.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:923)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1383)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1393)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.AndroidKeyStoreHmacSpi.ensureKeystoreOperationInitialized(AndroidKeyStoreHmacSpi.java:184)
at android.security.keystore.AndroidKeyStoreHmacSpi.engineInit(AndroidKeyStoreHmacSpi.java:101)
at javax.crypto.Mac.chooseProvider(Mac.java:443)
at javax.crypto.Mac.init(Mac.java:513)
at org.briarproject.briar.android.AndroidKeyStrengthener.strengthenKey(AndroidKeyStrengthener.java:98)
... 9 more
Caused by: android.security.KeyStoreException: Invalid key blob
at android.security.KeyStore.getKeyStoreException(KeyStore.java:1306)
... 16 more
```Android 1.4https://code.briarproject.org/briar/briar/-/issues/2420SecurityException when requesting Bluetooth discoverability2024-03-19T11:28:53ZakwizgranSecurityException when requesting Bluetooth discoverability* Android version: 12
* Phone model: Nubia NX679J (NX679J-UN)
* Briar version: 1.4.22 (f02bbeb)
* User feedback: "Attempting to add contact."
Stacktrace:
```
java.lang.SecurityException: Permission Denial: starting Intent { act=android....* Android version: 12
* Phone model: Nubia NX679J (NX679J-UN)
* Briar version: 1.4.22 (f02bbeb)
* User feedback: "Attempting to add contact."
Stacktrace:
```
java.lang.SecurityException: Permission Denial: starting Intent { act=android.bluetooth.adapter.action.REQUEST_DISCOVERABLE cmp=com.android.settings/.bluetooth.RequestPermissionActivity (has extras) } from ProcessRecord{708319 15100:org.b
riarproject.briar.android/u0a226} (pid=15100, uid=10226) requires android.permission.BLUETOOTH
at android.os.Parcel.createExceptionOrNull(Parcel.java:2426)
at android.os.Parcel.createException(Parcel.java:2410)
at android.os.Parcel.readException(Parcel.java:2393)
at android.os.Parcel.readException(Parcel.java:2335)
at android.app.IActivityTaskManager$Stub$Proxy.startActivity(IActivityTaskManager.java:2559)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:2071)
at android.app.Activity.startActivityForResult(Activity.java:5574)
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$2.launch(ActivityResultRegistry.java:166)
at androidx.activity.result.ActivityResultLauncher.launch(ActivityResultLauncher.java:47)
at org.briarproject.briar.android.contact.add.nearby.AddNearbyContactActivity.requestBluetoothDiscoverable(AddNearbyContactActivity.java:125)
at org.briarproject.briar.android.contact.add.nearby.AddNearbyContactActivity.lambda$onCreate$0(AddNearbyContactActivity.java:78)
at org.briarproject.briar.android.contact.add.nearby.AddNearbyContactActivity.$r8$lambda$AaDmrglLROf2UvjD046fjtdaWVs(Unknown Source:0)
at org.briarproject.briar.android.contact.add.nearby.AddNearbyContactActivity$$ExternalSyntheticLambda2.onEvent(Unknown Source:4)
at org.briarproject.briar.android.viewmodel.LiveEvent$LiveEventObserver.onChanged(LiveEvent.java:84)
at org.briarproject.briar.android.viewmodel.LiveEvent$LiveEventObserver.onChanged(LiveEvent.java:70)
at androidx.lifecycle.LiveData.considerNotify(LiveData.java:133)
at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:151)
at androidx.lifecycle.LiveData.setValue(LiveData.java:309)
at org.briarproject.briar.android.viewmodel.MutableLiveEvent.setEvent(MutableLiveEvent.java:29)
at org.briarproject.briar.android.contact.add.nearby.AddNearbyContactViewModel.showQrCodeFragmentIfAllowed(AddNearbyContactViewModel.java:410)
at org.briarproject.briar.android.contact.add.nearby.AddNearbyContactIntroFragment.lambda$new$0(AddNearbyContactIntroFragment.java:38)
at org.briarproject.briar.android.contact.add.nearby.AddNearbyContactIntroFragment.$r8$lambda$O-WIAJRYMQrkvddeOqSFkFHjtQ0(Unknown Source:0)
at org.briarproject.briar.android.contact.add.nearby.AddNearbyContactIntroFragment$$ExternalSyntheticLambda1.onActivityResult(Unknown Source:4)
at androidx.activity.result.ActivityResultRegistry.dispatchResult(ActivityResultRegistry.java:367)
at androidx.activity.ComponentActivity$2$1.run(ComponentActivity.java:159)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:242)
at android.os.Looper.loop(Looper.java:374)
at android.app.ActivityThread.main(ActivityThread.java:9333)
at java.lang.reflect.Method.invoke(Native Method)
```
Last line of log:
```
03-03 00:28:17.358 I/AddNearbyContactActivity: Asking for Bluetooth discoverability
```
Looks like another manufacturer that didn't completely remove the old Bluetooth permission checks when migrating to the new Android 12 permissions.Android 1.4akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/2422OutOfMemoryError: Could not allocate JNI Env2024-03-18T18:05:12ZakwizgranOutOfMemoryError: Could not allocate JNI Env* Android version: 7.1.2
* Phone model: UHANS A6
* Briar version: 1.4.22 (f02bbeb)
Stacktrace:
```
java.lang.OutOfMemoryError: Could not allocate JNI Env
at java.lang.Thread.nativeCreate(Native Method)
at java.lang.Threa...* Android version: 7.1.2
* Phone model: UHANS A6
* Briar version: 1.4.22 (f02bbeb)
Stacktrace:
```
java.lang.OutOfMemoryError: Could not allocate JNI Env
at java.lang.Thread.nativeCreate(Native Method)
at java.lang.Thread.start(Thread.java:730)
at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:941)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1359)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.executeWakefully(AndroidWakeLockManagerImpl.java:71)
at org.briarproject.bramble.system.AndroidWakefulIoExecutorModule.lambda$provideWakefulIoExecutor$0(AndroidWakefulIoExecutorModule.java:20)
at org.briarproject.bramble.system.AndroidWakefulIoExecutorModule.$r8$lambda$tnFm9U65p91JUPzzmM4twddDl7M(AndroidWakefulIoExecutorModule.java)
at org.briarproject.bramble.system.AndroidWakefulIoExecutorModule$$ExternalSyntheticLambda0.execute(R8$$SyntheticClass)
at org.briarproject.bramble.plugin.tor.TorPlugin.connect(TorPlugin.java:638)
at org.briarproject.bramble.plugin.tor.TorPlugin.poll(TorPlugin.java:633)
at org.briarproject.bramble.plugin.PollerImpl.poll(PollerImpl.java:231)
at org.briarproject.bramble.plugin.PollerImpl.access$1000(PollerImpl.java:57)
at org.briarproject.bramble.plugin.PollerImpl$PollTask.run(PollerImpl.java:277)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.lambda$executeWakefully$0(AndroidWakeLockManagerImpl.java:73)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.$r8$lambda$P0v7ccI1GqbvGyqUJX4idUffuJI(AndroidWakeLockManagerImpl.java)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl$$ExternalSyntheticLambda1.run(R8$$SyntheticClass)
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)
```
Last lines of log:
```
03-13 04:15:57.257 I/PollerImpl: Polling plugin org.briarproject.bramble.tor
03-13 04:15:57.394 I/ConnectionRegistryImpl: 5 contacts connected or better: org.briarproject.bramble.tor
03-13 04:15:57.395 I/TorPlugin: Connecting to v3 tj2[scrubbed]
03-13 04:15:57.395 I/TorPlugin: Connecting to v3 nix[scrubbed]
03-13 04:15:57.396 I/TorPlugin: Connecting to v3 ela[scrubbed]
03-13 04:15:57.396 I/TorPlugin: Connecting to v3 jvx[scrubbed]
03-13 04:15:57.396 I/TorPlugin: Connecting to v3 72z[scrubbed]
03-13 04:15:57.397 I/TorPlugin: Connecting to v3 msd[scrubbed]
03-13 04:15:57.395 I/TorPlugin: Connecting to v3 37p[scrubbed]
03-13 04:15:57.397 I/TorPlugin: Connecting to v3 lp6[scrubbed]
03-13 04:15:57.400 I/TorPlugin: Connecting to v3 uqp[scrubbed]
03-13 04:15:57.400 I/TorPlugin: Connecting to v3 jqf[scrubbed]
03-13 04:15:57.400 I/TorPlugin: Connecting to v3 ihj[scrubbed]
03-13 04:15:57.401 I/TorPlugin: Connecting to v3 vux[scrubbed]
03-13 04:15:57.401 I/TorPlugin: Connecting to v3 ick[scrubbed]
03-13 04:15:57.402 I/TorPlugin: Connecting to v3 e2v[scrubbed]
03-13 04:15:57.402 I/TorPlugin: Connecting to v3 beq[scrubbed]
03-13 04:15:57.402 I/TorPlugin: Connecting to v3 s74[scrubbed]
03-13 04:15:57.402 I/TorPlugin: Connecting to v3 2qq[scrubbed]
03-13 04:15:57.403 I/TorPlugin: Connecting to v3 fvs[scrubbed]
03-13 04:15:57.403 I/TorPlugin: Connecting to v3 hbd[scrubbed]
03-13 04:15:57.404 I/TorPlugin: Connecting to v3 cvj[scrubbed]
03-13 04:15:57.404 I/TorPlugin: Connecting to v3 btz[scrubbed]
03-13 04:15:57.404 I/TorPlugin: Connecting to v3 e6y[scrubbed]
03-13 04:15:57.404 I/TorPlugin: Connecting to v3 d5z[scrubbed]
03-13 04:15:57.408 I/TorPlugin: Could not connect to v3 fvs[scrubbed]: java.net.ConnectException: Too many open files
03-13 04:15:57.408 I/DuplexOutgoingSession: Sending keepalive
03-13 04:15:57.416 I/TorPlugin: Could not connect to v3 jqf[scrubbed]: java.net.SocketException: Too many open files
03-13 04:15:57.416 I/TorPlugin: Could not connect to v3 ick[scrubbed]: java.net.ConnectException: Too many open files
03-13 04:15:57.418 I/TorPlugin: Connecting to v3 z7i[scrubbed]
03-13 04:15:57.420 I/TorPlugin: Connecting to v3 o2j[scrubbed]
03-13 04:15:57.420 I/TorPlugin: Could not connect to v3 o2j[scrubbed]: java.net.SocketException: Too many open files
```
* NativeHeapAllocated: 16,363,552
* NativeHeapFree: 4,607,968
* NativeHeapTotal: 20,971,520
* SystemMemoryFree: 228,368,384
* SystemMemoryLow: false
* SystemMemoryThreshold: 150,994,944
* SystemMemoryTotal: 994,488,320
* VirtualMachineMemoryFree: 323,760
* VirtualMachineMemoryMaximum: 201,326,592
* VirtualMachineMemoryTotal: 44,992,648https://code.briarproject.org/briar/briar/-/issues/2274BadTokenException from emoji popup2024-03-18T18:00:04ZakwizgranBadTokenException from emoji popup* Android version: 5.1.1
* Phone model: Samsung SM-J200G (j2ltedd)
* Briar version: 1.4.4 (36670a8)
Stacktrace:
```
android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?...* Android version: 5.1.1
* Phone model: Samsung SM-J200G (j2ltedd)
* Briar version: 1.4.4 (36670a8)
Stacktrace:
```
android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
at android.view.ViewRootImpl.setView(ViewRootImpl.java:772)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:298)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
at android.widget.PopupWindow.invokePopup(PopupWindow.java:1185)
at android.widget.PopupWindow.showAtLocation(PopupWindow.java:983)
at android.widget.PopupWindow.showAtLocation(PopupWindow.java:942)
at com.vanniktech.emoji.EmojiPopup.showAtBottom(EmojiPopup.java:248)
at com.vanniktech.emoji.EmojiPopup.onReceiveResult(EmojiPopup.java:257)
at com.vanniktech.emoji.EmojiResultReceiver.onReceiveResult(EmojiResultReceiver.java:26)
at android.os.ResultReceiver$MyRunnable.run(ResultReceiver.java:50)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6946)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
```
Log:
```
02-18 04:08:30.169 I/BriarApplicationImpl: Created
02-18 04:08:30.658 I/BaseActivity: Creating CrashReportActivity
02-18 04:08:31.197 I/BaseActivity: Starting CrashReportActivity
02-18 04:08:31.198 I/BaseActivity: Resuming CrashReportActivity
02-18 04:08:31.240 I/BaseActivity: Pausing CrashReportActivity
02-18 04:08:31.246 I/BaseActivity: Stopping CrashReportActivity
02-18 04:08:31.251 I/BaseActivity: Destroying CrashReportActivity
02-18 04:08:31.305 I/BaseActivity: Creating CrashReportActivity
02-18 04:08:31.345 W/LogDecrypterImpl: java.io.FileNotFoundException: /data/data/org.briarproject.briar.android/files/dev-logcat: open failed: ENOENT (No such file or directory)
java.io.FileNotFoundException: /data/data/org.briarproject.briar.android/files/dev-logcat: open failed: ENOENT (No such file or directory)
at libcore.io.IoBridge.open(IoBridge.java:456)
at java.io.FileInputStream.<init>(FileInputStream.java:76)
at org.briarproject.briar.android.logging.LogDecrypterImpl.decryptLogs(LogDecrypterImpl.java:45)
at org.briarproject.briar.android.reporting.ReportViewModel.lambda$init$0(ReportViewModel.java:97)
at org.briarproject.briar.android.reporting.ReportViewModel.$r8$lambda$9TLFESir3FK2Ov67pYo4zJIxFgo(ReportViewModel.java)
at org.briarproject.briar.android.reporting.ReportViewModel$$ExternalSyntheticLambda1.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at org.briarproject.briar.android.reporting.ReportViewModel$SingleShotAndroidExecutor.run(ReportViewModel.java:249)
Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
at libcore.io.IoBridge.open(IoBridge.java:442)
at java.io.FileInputStream.<init>(FileInputStream.java:76)
at org.briarproject.briar.android.logging.LogDecrypterImpl.decryptLogs(LogDecrypterImpl.java:45)
at org.briarproject.briar.android.reporting.ReportViewModel.lambda$init$0(ReportViewModel.java:97)
at org.briarproject.briar.android.reporting.ReportViewModel.$r8$lambda$9TLFESir3FK2Ov67pYo4zJIxFgo(ReportViewModel.java)
at org.briarproject.briar.android.reporting.ReportViewModel$$ExternalSyntheticLambda1.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at org.briarproject.briar.android.reporting.ReportViewModel$SingleShotAndroidExecutor.run(ReportViewModel.java:249)
```Android 1.4https://code.briarproject.org/briar/briar/-/issues/2276IllegalStateException when restoring state of ConversationActivity2024-03-18T17:46:26ZakwizgranIllegalStateException when restoring state of ConversationActivity* Android version: 7.1.2
* Phone model: Samsung I9192I (lineage_serranove3gxx)
* Briar version: 1.4.4 (36670a8)
Edited log:
```
02-17 19:34:09.198 I/BaseActivity: Creating ConversationActivity
02-17 19:34:09.309 I/BaseActivity: Starting...* Android version: 7.1.2
* Phone model: Samsung I9192I (lineage_serranove3gxx)
* Briar version: 1.4.4 (36670a8)
Edited log:
```
02-17 19:34:09.198 I/BaseActivity: Creating ConversationActivity
02-17 19:34:09.309 I/BaseActivity: Starting ConversationActivity
02-17 19:34:09.330 I/BaseActivity: Resuming ConversationActivity
02-17 19:34:09.414 I/ConversationViewModel: PrivateMessageFormat loaded: TEXT_IMAGES_AUTO_DELETE
02-17 19:34:09.424 I/ImageCompressorImpl: Original image size: 600x450
02-17 19:34:09.424 I/ImageCompressorImpl: Scaling attachment by factor of 1
02-17 19:34:09.542 I/ConversationActivity: Eagerly loading text for latest message
02-17 19:34:09.668 I/ImageCompressorImpl: Compressed image to 32254 bytes, quality 50
02-17 19:34:18.123 I/BaseActivity: Pausing ConversationActivity
02-17 19:34:18.178 I/BaseActivity: Stopping ConversationActivity
02-17 19:34:18.226 I/BaseActivity: Destroying ConversationActivity
02-17 19:34:51.495 I/BaseActivity: Creating ConversationActivity
02-17 19:34:51.573 I/ConversationViewModel: PrivateMessageFormat loaded: TEXT_IMAGES_AUTO_DELETE
02-17 19:34:51.591 I/BaseActivity: Starting ConversationActivity
02-17 19:34:51.596 W/AttachmentCreatorImpl: No Task!
02-17 19:34:51.596 W/AttachmentCreatorImpl: No Result!
02-17 19:34:51.596 W/AttachmentCreatorImpl: Uris empty!
```
Stacktrace:
```
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:2684)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2751)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1496)
at android.os.Handler.dispatchMessage(Handler.java:102)
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.IllegalStateException
at org.briarproject.briar.android.attachment.AttachmentCreatorImpl.getLiveAttachments(AttachmentCreatorImpl.java:107)
at org.briarproject.briar.android.conversation.ConversationViewModel.storeAttachments(ConversationViewModel.java:274)
at org.briarproject.briar.android.view.TextAttachmentController.onNewUris(TextAttachmentController.java:178)
at org.briarproject.briar.android.view.TextAttachmentController.onRestoreInstanceState(TextAttachmentController.java:242)
at org.briarproject.briar.android.view.TextInputView.onRestoreInstanceState(TextInputView.java:86)
at android.view.View.dispatchRestoreInstanceState(View.java:15755)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3231)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3237)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3237)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3237)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3237)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3237)
at android.view.View.restoreHierarchyState(View.java:15733)
at com.android.internal.policy.PhoneWindow.restoreHierarchyState(PhoneWindow.java:2106)
at android.app.Activity.onRestoreInstanceState(Activity.java:1048)
at org.briarproject.briar.android.conversation.ConversationActivity.onRestoreInstanceState(ConversationActivity.java:362)
at android.app.Activity.performRestoreInstanceState(Activity.java:1003)
at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1175)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2657)
... 9 more
```Android 1.4https://code.briarproject.org/briar/briar/-/issues/2447AssertionError when choosing images to send2024-03-18T17:19:45ZakwizgranAssertionError when choosing images to sendPossibly the same issue as #2057, but the stacktrace is different.
* Android version: 13
* Phone model: Redmi 21091116AI (evergo_in)
* Briar version: 1.5.4 (7d76171)
Edited log:
```
08-29 15:32:16.062 I/BaseActivity: Pausing Conversati...Possibly the same issue as #2057, but the stacktrace is different.
* Android version: 13
* Phone model: Redmi 21091116AI (evergo_in)
* Briar version: 1.5.4 (7d76171)
Edited log:
```
08-29 15:32:16.062 I/BaseActivity: Pausing ConversationActivity
08-29 15:32:16.076 I/BaseActivity: Creating ImageActivity
08-29 15:32:16.094 I/BaseActivity: Starting ImageActivity
08-29 15:32:16.097 I/BaseActivity: Resuming ImageActivity
08-29 15:32:16.507 I/BaseActivity: Stopping ConversationActivity
08-29 15:32:18.346 I/BaseActivity: Starting ConversationActivity
08-29 15:32:18.793 I/BaseActivity: Pausing ImageActivity
08-29 15:32:18.819 I/BaseActivity: Resuming ConversationActivity
08-29 15:32:18.821 I/BaseActivity: Stopping ImageActivity
08-29 15:32:18.822 I/BaseActivity: Destroying ImageActivity
08-29 15:32:19.415 I/BaseActivity: Pausing ConversationActivity
08-29 15:32:19.902 I/BaseActivity: Stopping ConversationActivity
08-29 15:32:20.246 I/BaseActivity: Starting ConversationActivity
08-29 15:32:20.257 I/BaseActivity: Resuming ConversationActivity
08-29 15:32:21.080 I/BaseActivity: Pausing ConversationActivity
08-29 15:32:24.972 I/AutoDeleteManagerImpl: Mirroring auto-delete timer 604800000
08-29 15:32:24.995 I/ConversationActivity: Message received, adding
08-29 15:32:24.998 I/ContactsViewModel: Conversation message tracked, updating item
```
Stacktrace:
```
java.lang.AssertionError
at org.briarproject.briar.android.view.TextAttachmentController.onImageReceived(TextAttachmentController.java:159)
at org.briarproject.briar.android.conversation.ConversationActivity.onImagesChosen(ConversationActivity.java:788)
at org.briarproject.briar.android.conversation.ConversationActivity.$r8$lambda$Yw3fl1gK9EIeGMTHPyKDfNfoOkI(Unknown Source:0)
at org.briarproject.briar.android.conversation.ConversationActivity$$ExternalSyntheticLambda2.onActivityResult(Unknown Source:4)
at androidx.activity.result.ActivityResultRegistry.doDispatch(ActivityResultRegistry.java:418)
at androidx.activity.result.ActivityResultRegistry.dispatchResult(ActivityResultRegistry.java:375)
at androidx.activity.ComponentActivity.onActivityResult(ComponentActivity.java:777)
at androidx.fragment.app.FragmentActivity.onActivityResult(FragmentActivity.java:152)
at org.briarproject.briar.android.activity.BriarActivity.onActivityResult(BriarActivity.java:75)
at org.briarproject.briar.android.conversation.ConversationActivity.onActivityResult(ConversationActivity.java:320)
at android.app.Activity.dispatchActivityResult(Activity.java:8923)
at android.app.ActivityThread.deliverResults(ActivityThread.java:5592)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:5638)
at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:67)
at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2437)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:211)
at android.os.Looper.loop(Looper.java:300)
at android.app.ActivityThread.main(ActivityThread.java:8294)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1028)
```Android 1.4https://code.briarproject.org/briar/briar/-/issues/1664join forums or groups in headless api2024-03-12T02:24:24ZChrisjoin forums or groups in headless apiI could not find a way to join a group or forum using the headless briar service.
I see the incoming invitation message(s) but i could not find any information on how to respond to them.
Someone please guide me how to do this.
Thx for ...I could not find a way to join a group or forum using the headless briar service.
I see the incoming invitation message(s) but i could not find any information on how to respond to them.
Someone please guide me how to do this.
Thx for your hard work on briar.https://code.briarproject.org/briar/briar/-/issues/2455Use theme colours for Android navigation bar2023-12-12T16:12:12ZakwizgranUse theme colours for Android navigation barA user asked for Briar's theme colours to be applied to the system navigation bar, and specifically for the bar to be light when using the light theme.A user asked for Briar's theme colours to be applied to the system navigation bar, and specifically for the bar to be light when using the light theme.https://code.briarproject.org/briar/briar/-/issues/1646Briar use Android wifi tethering hotspot without a sim card2023-11-20T18:47:33ZricjdjwoeownsoBriar use Android wifi tethering hotspot without a sim cardHi,
where I can also use the Android wifi tethering hotspot without a sim card? Because wifi connection is significantly farther reaching than bluetooth.
Here's what I was just trying to do.
One, I've installed Android equipment and t...Hi,
where I can also use the Android wifi tethering hotspot without a sim card? Because wifi connection is significantly farther reaching than bluetooth.
Here's what I was just trying to do.
One, I've installed Android equipment and the Briar app. No SIM card in the device because living here in the countryside there is no Internet. And I also have Android tablets that only have wifi chip.
2. the idea was i create an android wifi hotspot and the other devices nearby connect to it. But it does not work, the creation of an android wifi hotspot only works if I put a SIM card in it. on an android tablet (wifi only) this function does not exist at all.
I use Android 7 and Android 9. I don't know if there is an app that can create a local android wifi hotspot without a SIM card.
Maybe I overlooked something and it works without sim card. If yes, where exactly?https://code.briarproject.org/briar/briar/-/issues/2451Automatically delete old RSS posts2023-10-18T17:03:39ZakwizgranAutomatically delete old RSS postsA user suggested that old RSS posts should be deleted automatically to improve performance. Potentially this could be applied to all blogs (it's more complex for forums and groups due to threading).A user suggested that old RSS posts should be deleted automatically to improve performance. Potentially this could be applied to all blogs (it's more complex for forums and groups due to threading).https://code.briarproject.org/briar/briar/-/issues/2449InvalidQrCode - Briar fails to pair with Mailbox2023-10-06T16:19:42ZLaurens NikolaisenInvalidQrCode - Briar fails to pair with MailboxWhen trying to pair Briar with a working Mailbox-Server hosted on a Linux Server, it fails with the following error:
`InvalidQrCode`
The Mailbox works with the Linux Desktop client without any issues. I did test on a Pixel 5 as well as ...When trying to pair Briar with a working Mailbox-Server hosted on a Linux Server, it fails with the following error:
`InvalidQrCode`
The Mailbox works with the Linux Desktop client without any issues. I did test on a Pixel 5 as well as a Pixel 4a running CalyxOS. Using older versions of the App did not work as well for me.
Relevant logs:
```
0-05 23:26:56.750 I/TorWrapper: V3 descriptor uploaded for f24[scrubbed]
10-05 23:26:57.735 I/CameraView: Setting preview consumer
10-05 23:26:57.736 I/CameraView: Opening camera
10-05 23:26:57.740 I/CameraView: Using back-facing camera
10-05 23:26:57.769 I/CameraView: Screen rotation 0 degrees, camera orientation 90 degrees
10-05 23:26:57.775 I/CameraView: Focus modes: [infinity, auto, macro, continuous-video, continuous-picture]
10-05 23:26:57.776 I/CameraView: Video stabilisation enabled: true
10-05 23:26:57.776 I/CameraView: Scene mode: null
10-05 23:26:57.776 I/CameraView: Focus mode: continuous-picture
10-05 23:26:57.776 I/CameraView: Flash mode: off
10-05 23:26:57.776 I/CameraView: Preview size: 1920x1080
10-05 23:26:57.783 I/CameraView: Surface created
10-05 23:26:57.783 I/CameraView: Surface changed: 1080x1984
10-05 23:26:57.784 I/CameraView: Size 2560x1280, stretch 1.0887097, zoom 6.5536, score 0.14015481
10-05 23:26:57.784 I/CameraView: Size 2048x1536, stretch 1.3777777, zoom 6.291456, score 0.11536383
10-05 23:26:57.784 I/CameraView: Size 1920x1440, stretch 1.3777777, zoom 5.5296, score 0.1312584
10-05 23:26:57.784 I/CameraView: Size 1920x1080, stretch 1.0333333, zoom 4.1472, score 0.23334827
10-05 23:26:57.784 I/CameraView: Size 1920x960, stretch 1.0887097, zoom 3.6864, score 0.24916407
10-05 23:26:57.784 I/CameraView: Size 1600x1200, stretch 1.3777777, zoom 3.84, score 0.18901211
10-05 23:26:57.784 I/CameraView: Size 1440x1080, stretch 1.3777777, zoom 3.1104, score 0.2333483
10-05 23:26:57.784 I/CameraView: Size 1280x960, stretch 1.3777777, zoom 2.4576, score 0.29533142
10-05 23:26:57.784 I/CameraView: Size 1280x720, stretch 1.0333333, zoom 1.8432, score 0.5250336
10-05 23:26:57.784 I/CameraView: Size 1024x768, stretch 1.3777777, zoom 1.572864, score 0.46145532
10-05 23:26:57.784 I/CameraView: Size 800x600, stretch 1.3777777, zoom 1.0416666, score 0.69677424
10-05 23:26:57.784 I/CameraView: Size 720x480, stretch 1.2246914, zoom 1.4467592, score 0.5643871
10-05 23:26:57.784 I/CameraView: Size 640x480, stretch 1.3777777, zoom 1.6276041, score 0.44593552
10-05 23:26:57.784 I/CameraView: Size 640x360, stretch 1.0333333, zoom 2.1701388, score 0.44593552
10-05 23:26:57.784 I/CameraView: Size 352x288, stretch 1.5030303, zoom 4.9321337, score 0.13489549
10-05 23:26:57.784 I/CameraView: Size 320x240, stretch 1.3777777, zoom 6.5104165, score 0.11148388
10-05 23:26:57.784 I/CameraView: Size 176x144, stretch 1.5030303, zoom 19.728535, score 0.033723872
10-05 23:26:57.784 I/CameraView: Best size 800x600
10-05 23:26:57.785 I/CameraView: Video stabilisation enabled: true
10-05 23:26:57.785 I/CameraView: Scene mode: null
10-05 23:26:57.785 I/CameraView: Focus mode: continuous-picture
10-05 23:26:57.785 I/CameraView: Flash mode: off
10-05 23:26:57.785 I/CameraView: Preview size: 800x600
10-05 23:26:57.785 I/CameraView: Starting preview
10-05 23:27:02.136 I/TorWrapper: V3 descriptor uploaded for f24[scrubbed]
10-05 23:27:03.534 I/MailboxViewModel: Got result from decoder
10-05 23:27:03.540 I/MailboxViewModel: New pairing state: QrCodeReceived
10-05 23:27:03.542 I/MailboxViewModel: New pairing state: InvalidQrCode
10-05 23:27:03.549 I/CameraView: Stopping preview
10-05 23:27:03.565 I/CameraView: Releasing camera
10-05 23:27:03.854 I/CameraView: Surface destroyed
10-05 23:27:06.620 I/BaseActivity: Pausing MailboxActivity
```
Additional Logs:
```
# Timestamp
ReportTime: 2023-10-05 23:27:10.844
# Build Information
BuildTimestamp: 2023-08-23 09:45:39.000
BuildType: release
Debug: false
Flavor: official
GitHash: b68d24d
# Device Information
AndroidApi: 33
AndroidVersion: 13
AppStandbyBucket: 5
Brand: google
Model: Pixel 5
Product: redfin
android.hardware.audio.low_latency: true
android.hardware.audio.output: true
android.hardware.audio.pro: true
android.hardware.bluetooth: true
android.hardware.bluetooth_le: true
android.hardware.camera: true
android.hardware.camera.any: true
android.hardware.camera.autofocus: true
android.hardware.camera.capability.manual_post_processing: true
android.hardware.camera.capability.manual_sensor: true
android.hardware.camera.capability.raw: true
android.hardware.camera.concurrent: true
android.hardware.camera.flash: true
android.hardware.camera.front: true
android.hardware.camera.level.full: true
android.hardware.context_hub: true
android.hardware.device_unique_attestation: true
android.hardware.faketouch: true
android.hardware.fingerprint: true
android.hardware.identity_credential: true
android.hardware.location: true
android.hardware.location.gps: true
android.hardware.location.network: true
android.hardware.microphone: true
android.hardware.nfc: true
android.hardware.nfc.any: true
android.hardware.nfc.ese: true
android.hardware.nfc.hce: true
android.hardware.nfc.hcef: true
android.hardware.nfc.uicc: true
android.hardware.opengles.aep: true
android.hardware.ram.normal: true
android.hardware.reboot_escrow: true
android.hardware.screen.landscape: true
android.hardware.screen.portrait: true
android.hardware.se.omapi.ese: true
android.hardware.se.omapi.uicc: true
android.hardware.security.model.compatible: true
android.hardware.sensor.accelerometer: true
android.hardware.sensor.barometer: true
android.hardware.sensor.compass: true
android.hardware.sensor.gyroscope: true
android.hardware.sensor.hifi_sensors: true
android.hardware.sensor.light: true
android.hardware.sensor.proximity: true
android.hardware.sensor.stepcounter: true
android.hardware.sensor.stepdetector: true
android.hardware.strongbox_keystore: true
android.hardware.telephony: true
android.hardware.telephony.calling: true
android.hardware.telephony.carrierlock: true
android.hardware.telephony.cdma: true
android.hardware.telephony.data: true
android.hardware.telephony.euicc: true
android.hardware.telephony.gsm: true
android.hardware.telephony.ims: true
android.hardware.telephony.messaging: true
android.hardware.telephony.radio.access: true
android.hardware.telephony.subscription: true
android.hardware.touchscreen: true
android.hardware.touchscreen.multitouch: true
android.hardware.touchscreen.multitouch.distinct: true
android.hardware.touchscreen.multitouch.jazzhand: true
android.hardware.usb.accessory: true
android.hardware.usb.host: true
android.hardware.vulkan.compute: true
android.hardware.vulkan.level: true
android.hardware.vulkan.version: true
android.hardware.wifi: true
android.hardware.wifi.aware: true
android.hardware.wifi.direct: true
android.hardware.wifi.passpoint: true
android.hardware.wifi.rtt: true
android.software.activities_on_secondary_displays: true
android.software.app_enumeration: true
android.software.app_widgets: true
android.software.autofill: true
android.software.backup: true
android.software.cant_save_state: true
android.software.companion_device_setup: true
android.software.controls: true
android.software.cts: true
android.software.device_admin: true
android.software.device_id_attestation: true
android.software.file_based_encryption: true
android.software.home_screen: true
android.software.incremental_delivery: true
android.software.input_methods: true
android.software.ipsec_tunnels: true
android.software.live_wallpaper: true
android.software.managed_users: true
android.software.midi: true
android.software.opengles.deqp.level: true
android.software.picture_in_picture: true
android.software.print: true
android.software.secure_lock_screen: true
android.software.securely_removes_users: true
android.software.sip: true
android.software.sip.voip: true
android.software.telecom: true
android.software.verified_boot: true
android.software.voice_recognizers: true
android.software.vulkan.deqp.level: true
android.software.webview: true
android.software.window_magnification: true
com.google.android.feature.GOOGLE_EXPERIENCE: true
com.google.android.feature.PIXEL_2017_EXPERIENCE: true
com.google.android.feature.PIXEL_2018_EXPERIENCE: true
com.google.android.feature.PIXEL_2019_EXPERIENCE: true
com.google.android.feature.PIXEL_2019_MIDYEAR_EXPERIENCE: true
com.google.android.feature.PIXEL_2020_EXPERIENCE: true
com.google.android.feature.PIXEL_2020_MIDYEAR_EXPERIENCE: true
com.google.android.feature.PIXEL_EXPERIENCE: true
com.nxp.mifare: true
glEsVersion: 3.2
org.lineageos.globalactions: true
org.lineageos.hardware: true
org.lineageos.health: true
org.lineageos.livedisplay: true
org.lineageos.settings: true
org.lineageos.trust: true
```https://code.briarproject.org/briar/briar/-/issues/2450Add fallback mailbox pairing option to Briar2023-10-06T14:23:30ZLaurens NikolaisenAdd fallback mailbox pairing option to BriarIf pairing with the mailbox app using a QR Code does not work on the Android Briar App, there is no way to pair the App with the mailbox. Please do add an option to paste the pairing link instead.
Like seen in #2449 this could be the ca...If pairing with the mailbox app using a QR Code does not work on the Android Briar App, there is no way to pair the App with the mailbox. Please do add an option to paste the pairing link instead.
Like seen in #2449 this could be the case sometimes.
Thankshttps://code.briarproject.org/briar/briar/-/issues/2445ProtocolStateException when trying to share a forum2023-09-19T10:47:04ZakwizgranProtocolStateException when trying to share a forumA user reported that every time they try to share a forum, Briar fails to load the list of contacts to share it with.
* Android version: 13
* Phone model: Honor NTH-NX9
* Briar version: 1.5.7 (6ae601e)
Edited log:
```
09-14 09:48:26.87...A user reported that every time they try to share a forum, Briar fails to load the list of contacts to share it with.
* Android version: 13
* Phone model: Honor NTH-NX9
* Briar version: 1.5.7 (6ae601e)
Edited log:
```
09-14 09:48:26.873 I/BaseActivity: Pausing ForumActivity
09-14 09:48:26.884 I/BaseActivity: Creating ShareForumActivity
09-14 09:48:26.895 I/BaseActivity: Starting ShareForumActivity
09-14 09:48:26.895 I/BaseActivity: Resuming ShareForumActivity
09-14 09:48:27.331 I/BaseActivity: Stopping ForumActivity
09-14 09:48:30.376 W/ContactSelectorControllerImpl: org.briarproject.briar.api.client.ProtocolStateException
org.briarproject.briar.api.client.ProtocolStateException
at org.briarproject.briar.sharing.SharingManagerImpl.getSharingStatus(SharingManagerImpl.java:510)
at org.briarproject.briar.sharing.SharingManagerImpl.getSharingStatus(SharingManagerImpl.java:480)
at org.briarproject.briar.android.sharing.ShareForumControllerImpl.getSharingStatus(ShareForumControllerImpl.java:53)
at org.briarproject.briar.android.contactselection.ContactSelectorControllerImpl.lambda$loadContacts$0(ContactSelectorControllerImpl.java:58)
at org.briarproject.briar.android.contactselection.ContactSelectorControllerImpl.$r8$lambda$3abQlDMLIGMlOAkNr01IGOPM62Q(Unknown Source:0)
at org.briarproject.briar.android.contactselection.ContactSelectorControllerImpl$$ExternalSyntheticLambda0.run(Unknown Source:8)
at org.briarproject.briar.android.controller.DbControllerImpl.lambda$runOnDbThread$0(DbControllerImpl.java:36)
at org.briarproject.briar.android.controller.DbControllerImpl.$r8$lambda$JAD5-f_MagcCZjTRNXknhcwg-tw(Unknown Source:0)
at org.briarproject.briar.android.controller.DbControllerImpl$$ExternalSyntheticLambda0.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
09-14 09:48:30.381 I/BaseActivity: Pausing ShareForumActivity
09-14 09:48:30.390 I/BaseActivity: Starting ForumActivity
09-14 09:48:30.390 I/BaseActivity: Resuming ForumActivity
09-14 09:48:30.831 I/BaseActivity: Stopping ShareForumActivity
09-14 09:48:30.831 I/BaseActivity: Destroying ShareForumActivity
```
The exception is thrown because the [state machine](https://code.briarproject.org/briar/briar-spec/blob/master/clients/Forum-Sharing-Client.md#state-machine) is in the `LOCAL_LEFT` or `REMOTE_HANGING` state.
We had a [discussion](https://code.briarproject.org/briar/briar/-/merge_requests/1758#note_74062) about how to handle these states and I suggested throwing this exception on the assumption that the states should only be seen in the rare case where the user has left the forum more-or-less simultaneously with trying to share it. Clearly that assumption was wrong, because this user reports that they can reproduce the bug reliably. So the state machine has ended up in one of those states despite the user still belonging to the forum.
My guess would be that the user left and then rejoined the forum.https://code.briarproject.org/briar/briar/-/issues/1499Tor process crashes2023-09-15T16:50:20ZTorsten GroteTor process crashesWhen enabling/disabling the Tor plugin in quick succession one sometimes can get the Tor process to exit.
There's two ways that have been observed so far:
The first one prints an exception whenever trying to make control commands:
```r...When enabling/disabling the Tor plugin in quick succession one sometimes can get the Tor process to exit.
There's two ways that have been observed so far:
The first one prints an exception whenever trying to make control commands:
```ruby
W/TorPlugin: java.io.IOException: Tor is no longer running
java.io.IOException: Tor is no longer running
at net.freehaven.tor.control.TorControlConnection.react(TorControlConnection.java:325)
```
The second one doesn't print anything to the log. The TorPlugin seems to hang (only prints on the event thread) and signing out of Briar isn't possible anymore. It just hangs at the sign out fragment.Android 1.4akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/2057AssertionError when selecting image to send2023-09-14T12:55:21ZakwizgranAssertionError when selecting image to send* Android version: 9
* Phone model: Honor KIW-L24 (lineage_kiwi)
* Briar version: 1.3.3 (c647c52)
Log snippet:
```
05-26 19:25:27.225 I/BaseActivity: Pausing NavDrawerActivity
05-26 19:25:27.302 I/BaseActivity: Creating ConversationActi...* Android version: 9
* Phone model: Honor KIW-L24 (lineage_kiwi)
* Briar version: 1.3.3 (c647c52)
Log snippet:
```
05-26 19:25:27.225 I/BaseActivity: Pausing NavDrawerActivity
05-26 19:25:27.302 I/BaseActivity: Creating ConversationActivity
05-26 19:25:27.389 I/ConversationViewModel: PrivateMessageFormat loaded: TEXT_IMAGES_AUTO_DELETE
05-26 19:25:27.536 I/BaseActivity: Starting ConversationActivity
05-26 19:25:27.540 I/BaseActivity: Resuming ConversationActivity
05-26 19:25:27.737 I/ConversationActivity: Eagerly loading text for latest message
05-26 19:25:27.850 I/BaseActivity: Pausing ConversationActivity
05-26 19:25:27.992 I/BaseActivity: Creating ConversationActivity
05-26 19:25:28.024 I/ConversationViewModel: PrivateMessageFormat loaded: TEXT_IMAGES_AUTO_DELETE
05-26 19:25:28.157 I/BaseActivity: Starting ConversationActivity
05-26 19:25:28.163 I/BaseActivity: Resuming ConversationActivity
05-26 19:25:28.816 I/ConversationActivity: Eagerly loading text for latest message
05-26 19:25:28.819 I/BaseActivity: Stopping ConversationActivity
05-26 19:25:28.831 I/BaseActivity: Destroying ConversationActivity
05-26 19:25:30.983 I/BaseActivity: Pausing ConversationActivity
05-26 19:25:31.214 I/BaseActivity: Stopping NavDrawerActivity
05-26 19:25:31.698 I/BaseActivity: Stopping ConversationActivity
```
Stacktrace:
```
java.lang.AssertionError
at org.briarproject.briar.android.view.TextAttachmentController.onImageReceived(TextAttachmentController.java:166)
at org.briarproject.briar.android.conversation.ConversationActivity.onActivityResult(ConversationActivity.java:319)
at android.app.Activity.dispatchActivityResult(Activity.java:7462)
at android.app.ActivityThread.deliverResults(ActivityThread.java:4391)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:4440)
at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6718)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
```Android 1.4https://code.briarproject.org/briar/briar/-/issues/1937IndexOutOfBoundsException when selecting text2023-09-14T12:20:44ZakwizgranIndexOutOfBoundsException when selecting text* Android version: 7.1.1
* Phone model: OnePlus A5000 (OnePlus5)
* Briar version: 1.2.13 (5fdc7e7)
* User feedback: "I was trying to use this app offline to contact my friend."
Stacktrace:
```
java.lang.IndexOutOfBoundsException: setSpa...* Android version: 7.1.1
* Phone model: OnePlus A5000 (OnePlus5)
* Briar version: 1.2.13 (5fdc7e7)
* User feedback: "I was trying to use this app offline to contact my friend."
Stacktrace:
```
java.lang.IndexOutOfBoundsException: setSpan (-1 ... -1) starts before 0
at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1325)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:683)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:676)
at android.text.Selection.setSelection(Selection.java:76)
at android.text.method.ArrowKeyMovementMethod.onTouchEvent(ArrowKeyMovementMethod.java:291)
at android.widget.TextView.onTouchEvent(TextView.java:8546)
at android.view.View.dispatchTouchEvent(View.java:10180)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:414)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1808)
at android.app.Activity.dispatchTouchEvent(Activity.java:3122)
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:376)
at android.view.View.dispatchPointerEvent(View.java:10400)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4445)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4313)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3860)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3913)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3879)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4006)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3887)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4063)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3860)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3913)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3879)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3887)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3860)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6254)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6228)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6189)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6357)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:323)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:6138)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:893)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:783)
```
No log due to #1917.
Looks like a platform bug - I'm opening this ticket in case there's a known workaround.Android 1.4https://code.briarproject.org/briar/briar/-/issues/2330NPE when getting IPv6 address for network interface2023-09-06T15:37:00ZakwizgranNPE when getting IPv6 address for network interface* Android version: 11
* Phone model: OnePlus HD1903 (OnePlus7T)
* Briar version: 1.4.6 (d5e17c8)
Stacktrace:
```
java.lang.NullPointerException: Attempt to read from field 'java.util.List java.net.NetworkInterface.childs' on a null obje...* Android version: 11
* Phone model: OnePlus HD1903 (OnePlus7T)
* Briar version: 1.4.6 (d5e17c8)
Stacktrace:
```
java.lang.NullPointerException: Attempt to read from field 'java.util.List java.net.NetworkInterface.childs' on a null object reference
at java.net.NetworkInterface.getAll(NetworkInterface.java:498)
at java.net.NetworkInterface.getByInetAddress(NetworkInterface.java:365)
at org.briarproject.bramble.plugin.tcp.AndroidLanTcpPlugin.getIpv6AddressForInterface(AndroidLanTcpPlugin.java:199)
at org.briarproject.bramble.plugin.tcp.AndroidLanTcpPlugin.getWifiAddress(AndroidLanTcpPlugin.java:125)
at org.briarproject.bramble.plugin.tcp.AndroidLanTcpPlugin.getUsableLocalInetAddresses(AndroidLanTcpPlugin.java:110)
at org.briarproject.bramble.plugin.tcp.LanTcpPlugin.getLocalSocketAddresses(LanTcpPlugin.java:140)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.bind(TcpPlugin.java:159)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.lambda$bind$0(TcpPlugin.java:152)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.$r8$lambda$IG7OujafuxmUKGD9Z35IgV8DTwo(Unknown Source:0)
at org.briarproject.bramble.plugin.tcp.TcpPlugin$$ExternalSyntheticLambda0.run(Unknown Source:2)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0(PoliteExecutor.java:57)
at org.briarproject.bramble.PoliteExecutor.$r8$lambda$wSvuPL6t_HUoaaqCVexrhJX_RSg(Unknown Source:0)
at org.briarproject.bramble.PoliteExecutor$$ExternalSyntheticLambda0.run(Unknown Source:6)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:923)
```Android 1.4https://code.briarproject.org/briar/briar/-/issues/2444ActivityNotFoundException for CHOOSER intent when adding contact remotely2023-09-06T15:36:50ZakwizgranActivityNotFoundException for CHOOSER intent when adding contact remotely* Android version: 14
* Phone model: Google Pixel 6
* Briar version: 1.5.4 (7d76171)
Stacktrace:
```
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.CHOOSER (has extras) }
...* Android version: 14
* Phone model: Google Pixel 6
* Briar version: 1.5.4 (7d76171)
Stacktrace:
```
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.CHOOSER (has extras) }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2239)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1878)
at android.app.Activity.startActivityForResult(Activity.java:5589)
at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:712)
at android.app.Activity.startActivityForResult(Activity.java:5547)
at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:693)
at android.app.Activity.startActivity(Activity.java:6045)
at android.app.Activity.startActivity(Activity.java:6012)
at androidx.core.app.ShareCompat$IntentBuilder.startChooser(ShareCompat.java:436)
at org.briarproject.briar.android.contact.add.remote.LinkExchangeFragment.lambda$onHandshakeLinkLoaded$2(LinkExchangeFragment.java:123)
at org.briarproject.briar.android.contact.add.remote.LinkExchangeFragment.$r8$lambda$rc2OESX5RIoUPUdisIlqrX1uomc(Unknown Source:0)
at org.briarproject.briar.android.contact.add.remote.LinkExchangeFragment$$ExternalSyntheticLambda3.onClick(Unknown Source:4)
at android.view.View.performClick(View.java:7659)
at android.view.View.performClickInternal(View.java:7636)
at android.view.View.-$$Nest$mperformClickInternal(Unknown Source:0)
at android.view.View$PerformClick.run(View.java:30155)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:294)
at android.app.ActivityThread.main(ActivityThread.java:8176)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
```
Puzzling, but easy to catch.Android 1.4https://code.briarproject.org/briar/briar/-/issues/590Option to save the password2023-09-01T12:43:31ZligiOption to save the passwordadd a setting to store the password with the hint to the user that this makes things less secure
**Motivation**
this will help developers when developing the app because it reduces the time they have to enter the password
could also he...add a setting to store the password with the hint to the user that this makes things less secure
**Motivation**
this will help developers when developing the app because it reduces the time they have to enter the password
could also help adoption as a users might get frustrated having to enter a password often. There are some use cases where this additional attack-vector does not really matter and could be traded for convenience. Ideally this setting is exposed to the contacts so they know.
this is a follow up from a discussion in #587