briar issueshttps://code.briarproject.org/groups/briar/-/issues2021-07-23T11:22:15Zhttps://code.briarproject.org/briar/briar/-/issues/2129misleading warning when reporting feedback without internet connection2021-07-23T11:22:15ZJens Kortemisleading warning when reporting feedback without internet connectionWhen bluetooth only is on and a feedback is sent, then the german message (something like) "Die Nachricht wird nächstes Mal geschickt, wenn Du Dich einloggst" (translation by me: The message will be sent, when you register next time) is ...When bluetooth only is on and a feedback is sent, then the german message (something like) "Die Nachricht wird nächstes Mal geschickt, wenn Du Dich einloggst" (translation by me: The message will be sent, when you register next time) is imho misleading. It should be something like "the next time you login and have an internet connection, your feedback will be sent".https://code.briarproject.org/briar/briar/-/issues/2131Not respective system theme setting causes wrong colors on MIUI 122021-07-22T11:18:23ZTorsten GroteNot respective system theme setting causes wrong colors on MIUI 12Our default theme is the light theme. The expected new behavior is to default to the system theme setting, so all apps look the same.
MIUI 12 running Android 11 is forcing apps to use a dark theme somehow causing Briar to use a fake dar...Our default theme is the light theme. The expected new behavior is to default to the system theme setting, so all apps look the same.
MIUI 12 running Android 11 is forcing apps to use a dark theme somehow causing Briar to use a fake dark theme while set to the light theme which looks bad and gets colors wrong. Navigating to settings => Display and changing theme to system default fixes this.https://code.briarproject.org/briar/briar/-/issues/157Re-adding a deleted Contact does not work2021-06-23T11:58:38ZTorsten GroteRe-adding a deleted Contact does not workSteps to Reproduce:
* add each other as contacts
* delete contact on device A
* try to add contact back on device A
* device B will get an error message and not add anything
* device A will have contact from device B back
However, on bo...Steps to Reproduce:
* add each other as contacts
* delete contact on device A
* try to add contact back on device A
* device B will get an error message and not add anything
* device A will have contact from device B back
However, on both devices, the users see each other as offline and can not exchange messages.
This issue is related to issue #2.https://code.briarproject.org/briar/briar/-/issues/2049Fast scrolling in galery closes Briar2021-06-08T14:37:37ZbodemsFast scrolling in galery closes BriarI'm testing Briar 1.3.4 via the F-Droid repo on Android 11 (Google Pixel 3a with GrapheneOS). When I want to share an image or set the profile pic and scroll fast through the image galery (because I want to use a photo I took long ago), ...I'm testing Briar 1.3.4 via the F-Droid repo on Android 11 (Google Pixel 3a with GrapheneOS). When I want to share an image or set the profile pic and scroll fast through the image galery (because I want to use a photo I took long ago), sometimes Briar close itself. It doesn't crash, because I don't have to log in again and don't have to enter my screen lock password and I can just continue, but it is a little bit annoying.https://code.briarproject.org/briar/briar/-/issues/2058Disabled settings are difficult to read2021-06-08T12:56:08ZakwizgranDisabled settings are difficult to read* Briar version: 1.3.4
* User feedback: "The greyed out options in the settings are a bit to difficult to read (for me).
A bit more contrast could still signal it's greyed out, but offer better readability."* Briar version: 1.3.4
* User feedback: "The greyed out options in the settings are a bit to difficult to read (for me).
A bit more contrast could still signal it's greyed out, but offer better readability."https://code.briarproject.org/briar/briar/-/issues/1911Emoji Input does not work on LG-P875H (Android 4.4)2021-05-31T13:41:01ZTorsten GroteEmoji Input does not work on LG-P875H (Android 4.4)Clicking the emoji icon brings up the normal keyboard. The icon stays emoji. When clicking it again, it turns into a keyboard icon, but the keyboard itself is still shown without change.
Running Android 4.1.2Clicking the emoji icon brings up the normal keyboard. The icon stays emoji. When clicking it again, it turns into a keyboard icon, but the keyboard itself is still shown without change.
Running Android 4.1.2https://code.briarproject.org/briar/briar/-/issues/1994App goes into background spontaneously when memory is low2021-05-20T15:15:34ZakwizgranApp goes into background spontaneously when memory is lowOn the Galaxy Nexus (Android 4.3), Briar sometimes goes into the background spontaneously when memory is low.
This seems to happen because the app's importance is downgraded from IMPORTANCE_FOREGROUND to IMPORTANCE_VISIBLE when the app'...On the Galaxy Nexus (Android 4.3), Briar sometimes goes into the background spontaneously when memory is low.
This seems to happen because the app's importance is downgraded from IMPORTANCE_FOREGROUND to IMPORTANCE_VISIBLE when the app's showing a system dialog (in my case it was the Bluetooth discoverability dialog). BriarApplicationImpl#isRunningInBackground() considers anything other than IMPORTANCE_FOREGROUND to be background, so it allows BriarService to hide the UI to save memory.
Fixing this will require some care. When Briar's actually running in the background on this device it has an importance of IMPORTANCE_PERCEPTIBLE_PRE_26 (perhaps it's treated as perceptible because of the foreground service). But on other devices it might plausibly have IMPORTANCE_FOREGROUND_SERVICE (added in API 23) or IMPORTANCE_PERCEPTIBLE (added in API 26). Presumably new constants may be added in future versions.
The constants seem to be ordered, with lower values being more important:
* IMPORTANCE_FOREGROUND = 100
* IMPORTANCE_FOREGROUND_SERVICE = 125
* IMPORTANCE_PERCEPTIBLE_PRE_26 = 130
* IMPORTANCE_VISIBLE = 200
* IMPORTANCE_PERCEPTIBLE = 230
Unfortunately there's no cutoff we can choose such that the values for "running in the foreground, maybe with a system dialog" are on one side while the values for "running in the background with a foreground service" are on the other side.
I suspect there's an Android bug here: an app that would have IMPORTANCE_PERCEPTIBLE_PRE_26 when running in the background shouldn't be less important when it's running in the foreground but showing a system dialog. If I'm right and we can find out when the bug was fixed, maybe we can use some version-aware logic to work around this.https://code.briarproject.org/briar/briar/-/issues/1737Huawei P8 Lite 2017 enters device idle mode despite doze whitelisting2021-04-30T13:38:14ZakwizgranHuawei P8 Lite 2017 enters device idle mode despite doze whitelistingAfter setting up Briar as normal on the Huawei P8 Lite 2017 (Android 7.0, EMUI 5.0.1) and leaving it running for a few hours, the doze watchdog dialog was shown after unlocking the screen, indicating that the phone entered device idle mo...After setting up Briar as normal on the Huawei P8 Lite 2017 (Android 7.0, EMUI 5.0.1) and leaving it running for a few hours, the doze watchdog dialog was shown after unlocking the screen, indicating that the phone entered device idle mode despite Briar being whitelisted.
![Screenshot_20200602-214120](/uploads/8771b9bbe470ab02575ddfe0221a9656/Screenshot_20200602-214120.png)
![Screenshot_20200602-214132](/uploads/d21e2d865b68342b1a9ae4f5f9319be9/Screenshot_20200602-214132.png)
Wifi and mobile data were turned off, so there was no Tor wake lock keeping the device awake.
After tapping "fix", which prompts to add Briar to the whitelist again, I left the phone idle for more than 24 hours and didn't see the doze watchdog dialog again.
I didn't capture any logs at the time as I was running another experiment. I'll try to reproduce this when the other experiments are finished.https://code.briarproject.org/briar/briar/-/issues/1959When the 'Disappearing messages' setting is changed during the message compos...2021-04-30T13:35:24ZIvanaWhen the 'Disappearing messages' setting is changed during the message composing, no warning message in landscape orientationSteps to reproduce
Start typing a message on device1 in portrait orientation and before sending it, go to the menu in the upper right corner and change the Disappearing messages setting to On.
Continue typing the message and then send...Steps to reproduce
Start typing a message on device1 in portrait orientation and before sending it, go to the menu in the upper right corner and change the Disappearing messages setting to On.
Continue typing the message and then send.
A warning message appears in the portrait orientation, that says: "Disappearing messages changed, since you started composing your message, disappearing messages have been enabled"
Now start typing a message and the change the Disappearing setting before sending the message, turn the phone to landscape and continue typing; Then send the message.
Actual results: The message is sent OK, but the warning message does not show.
Expected results: the warning message shoudl show the same way as it does in portrait orientationhttps://code.briarproject.org/briar/briar/-/issues/2007Devices lose wifi connectivity despite doze exemption, foreground service and...2021-04-30T13:20:11ZakwizgranDevices lose wifi connectivity despite doze exemption, foreground service and wake lockTwo overnight tests with the [Snooze app](https://code.briarproject.org/akwizgran/snooze) showed that several devices lost wifi connectivity despite the app being exempt from doze, running a foreground service, and holding a wake lock th...Two overnight tests with the [Snooze app](https://code.briarproject.org/akwizgran/snooze) showed that several devices lost wifi connectivity despite the app being exempt from doze, running a foreground service, and holding a wake lock that prevented deep sleep.
The app was also holding a wifi lock with WIFI_MODE_FULL, which Briar doesn't do. But this lock mode doesn't do anything on API >= 29.
In the first test, the following devices remained connected:
* Huawei Y6P (with [app launch workaround](https://code.briarproject.org/briar/briar/-/issues/1743#note_49208)) [y6p.log](/uploads/2dd5cfe4bb10eda009a730ee4de8e101/y6p.log)
* OnePlus 5T [oneplus-5t.log](/uploads/c48918d1e5e0a722036cd5f405daa474/oneplus-5t.log)
* Pixel 2 [pixel-2.log](/uploads/8f0181a6b0f1af87dc6416197b66c011/pixel-2.log)
* Redmi Note 7 (with [app locked to recent apps list](https://code.briarproject.org/briar/briar/-/issues/1743#note_49341)) [redmi-note-7.log](/uploads/9aba6f761c71ab2667cf97867614886e/redmi-note-7.log)
* Samsung Galaxy A10s [a10s.log](/uploads/c94055f3eb545588949c83898d3a4252/a10s.log)
The following devices lost connectivity in the first test:
* Honor 8A (with app launch workaround): lost connectivity after entering doze, didn't regain it [honor-8a.log](/uploads/10f41360b4311d039d164a97dc4dc8b7/honor-8a.log)
* Nokia 1.3: lost connectivity less than 3 minutes after screen was turned off, before entering doze, didn't regain it [nokia-1.3.log](/uploads/389d09c6e9fd3acdd188042e74b516b7/nokia-1.3.log)
In the second test, the following device remained connected:
* OnePlus 5T [oneplus-5t.log](/uploads/858a6778b919f415366abf34a8d2e542/oneplus-5t.log)
* Pixel 2 [pixel-2.log](/uploads/4a28aad88ae067506334758754f9f20d/pixel-2.log)
* Redmi Note 7 (with app locked to recent apps list) [redmi-note-7.log](/uploads/8f0a28d77ed20eb6a730dbf8c865d3f9/redmi-note-7.log)
The following devices lost connectivity in the second test:
* Honor 8A (with app launch workaround): lost connectivity after entering doze, didn't regain it [honor-8a.log](/uploads/1bf7c4e52bdf49f7df59d431539d629a/honor-8a.log)
* Huawei Y6P (with app launch workaround): lost connectivity after entering doze, didn't regain it [y6p.log](/uploads/38aa2dcd249ed79fdffc861f9711c217/y6p.log)
* Nokia 1.3: lost connectiivty less than 3 minutes after the screen was turned off, didn't regain it [nokia-1.3.log](/uploads/753e516264e0db994f53bbff3324811f/nokia-1.3.log)
* Samsung Galaxy A10s: lost connectivity about 7 hours into the test, after entering and leaving doze several times, and didn't regain it [a10s.log](/uploads/51555f8d084cf872f40b369261e4deb8/a10s.log)
These findings were originally reported [here](https://code.briarproject.org/briar/briar/-/issues/1737#note_49355) and [here](https://code.briarproject.org/briar/briar/-/issues/1737#note_49362). I copied them to their own ticket because the problem is different from #1737 and affects more devices.https://code.briarproject.org/briar/briar/-/issues/2006Connectivity broadcasts aren't received on Huawei P8 Lite 20172021-04-29T14:34:34ZakwizgranConnectivity broadcasts aren't received on Huawei P8 Lite 2017The [Snooze app](https://code.briarproject.org/akwizgran/snooze) doesn't receive CONNECTIVITY_ACTION broadcasts when running on the Huawei P8 Lite 2017. The broadcasts are received on all other devices tested (about ten devices).
Briar ...The [Snooze app](https://code.briarproject.org/akwizgran/snooze) doesn't receive CONNECTIVITY_ACTION broadcasts when running on the Huawei P8 Lite 2017. The broadcasts are received on all other devices tested (about ten devices).
Briar uses these broadcasts to detect connectivity changes, so it may be missing connectivity changes on the P8 Lite 2017.https://code.briarproject.org/briar/briar/-/issues/1215Low memory shutdowns2021-04-26T14:04:39ZakwizgranLow memory shutdownsThe low memory shutdown seems to be triggered more easily than expected.
May be related to #1198.The low memory shutdown seems to be triggered more easily than expected.
May be related to #1198.https://code.briarproject.org/briar/briar/-/issues/780Temporarily leaked Activities on orientation changes2021-04-26T14:01:29ZErnir ErlingssonTemporarily leaked Activities on orientation changesWhile working on #725, I noticed something: we're leaking Activities temporarily.
We are using anonymous inner classes as callbacks for asynchronous tasks, during their execution it's possible that an orientation change occurs that des...While working on #725, I noticed something: we're leaking Activities temporarily.
We are using anonymous inner classes as callbacks for asynchronous tasks, during their execution it's possible that an orientation change occurs that destroys the old Activity/Fragment. The task stores a reference to the callback, and therefore implicitly to the Activity. This means that the initial Activity will be kept alive until the task finishes execution. Multiple orientation changes will might result in multiple Activities being temporarily leaked, although !415 relieves some of that by ensuring there is only one leaked Activity maximum.
Not sure what the best course of action here is, we could try to handle the orientation changes ourselves which re-uses the initial Activity but will require careful programming.
https://developer.android.com/guide/topics/resources/runtime-changes.html#HandlingTheChangehttps://code.briarproject.org/briar/briar/-/issues/1978SecurityException from Samsung clipboard manager2021-04-16T17:25:18ZakwizgranSecurityException from Samsung clipboard manager* Android version: 10
* Phone model: Samsung SM-A415F (a41ser)
* Briar version: 1.2.16 (8a534b4)
Stacktrace:
```
No access to content://com.sec.android.semclipboardprovider/images: neither user 15010232 nor current process has android.p...* Android version: 10
* Phone model: Samsung SM-A415F (a41ser)
* Briar version: 1.2.16 (8a534b4)
Stacktrace:
```
No access to content://com.sec.android.semclipboardprovider/images: neither user 15010232 nor current process has android.permission.INTERACT_ACROSS_USERS_FULL or android.permission.INTERACT_ACROSS_USERS
java.lang.SecurityException: No access to content://com.sec.android.semclipboardprovider/images: neither user 15010232 nor current process has android.permission.INTERACT_ACROSS_USERS_FULL or android.permission.INTERACT_ACROSS_USERS
at android.os.Parcel.createException(Parcel.java:2088)
at android.os.Parcel.readException(Parcel.java:2056)
at android.os.Parcel.readException(Parcel.java:2004)
at android.sec.clipboard.IClipboardService$Stub$Proxy.getClipData(IClipboardService.java:959)
at com.samsung.android.content.clipboard.SemClipboardManager.getLatestClip(SemClipboardManager.java:609)
at android.widget.EditText.updateClipboardFilter(EditText.java:316)
at android.widget.EditText.dispatchWindowFocusChanged(EditText.java:297)
at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1502)
at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1502)
at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1502)
at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1502)
at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1502)
at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1502)
at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1502)
at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1502)
at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1502)
at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1502)
at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1502)
at android.view.ViewRootImpl.handleWindowFocusChanged(ViewRootImpl.java:3487)
at android.view.ViewRootImpl.access$1300(ViewRootImpl.java:205)
at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:5393)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:8167)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
Caused by: android.os.RemoteException: Remote stack trace:
at com.android.server.content.ContentService.handleIncomingUser(ContentService.java:1355)
at com.android.server.content.ContentService.registerContentObserver(ContentService.java:355)
at android.content.ContentResolver.registerContentObserver(ContentResolver.java:2270)
at android.database.AbstractCursor.setNotificationUris(AbstractCursor.java:447)
at android.database.AbstractCursor.setNotificationUris(AbstractCursor.java:422)
```
Log:
```
03-18 10:33:23.037 I/BriarApplicationImpl: Created
03-18 10:33:23.073 I/BaseActivity: Creating SplashScreenActivity
03-18 10:33:23.095 I/BaseActivity: Starting SplashScreenActivity
03-18 10:33:23.096 I/BaseActivity: Resuming SplashScreenActivity
03-18 10:33:23.617 I/BaseActivity: Pausing SplashScreenActivity
03-18 10:33:23.644 I/BaseActivity: Creating NavDrawerActivity
03-18 10:33:23.690 I/BaseActivity: Starting NavDrawerActivity
03-18 10:33:23.691 I/BaseActivity: Resuming NavDrawerActivity
03-18 10:33:23.691 I/BriarActivity: Not signed in, launching StartupActivity
03-18 10:33:23.711 I/BaseActivity: Pausing NavDrawerActivity
03-18 10:33:23.729 I/BaseActivity: Creating StartupActivity
03-18 10:33:23.739 I/AccountManagerImpl: Found database key in primary file
03-18 10:33:23.741 I/BaseActivity: Starting StartupActivity
03-18 10:33:23.858 I/BaseActivity: Resuming StartupActivity
```
"INTERACT_ACROSS_USERS" suggests this may be a bug that happens in multi-user mode when using the Samsung clipboard manager.https://code.briarproject.org/briar/briar/-/issues/1302Connection chooser rejects connection when retrying adding a contact2021-04-07T16:57:57ZakwizgranConnection chooser rejects connection when retrying adding a contact* Android version: 8.0.0
* Phone model: Samsung SM-G950F (dreamltexx)
* Briar version: 1.0.5 (183f0c5)
* User feedback: "Add contacts did not work. Devices were in the same WLAN."
Log:
```
05-28 10:31:56.933 I/KeyAgreementConnector: org...* Android version: 8.0.0
* Phone model: Samsung SM-G950F (dreamltexx)
* Briar version: 1.0.5 (183f0c5)
* User feedback: "Add contacts did not work. Devices were in the same WLAN."
Log:
```
05-28 10:31:56.933 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:31:57.434 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:31:57.935 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:31:58.435 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:31:58.936 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:31:59.437 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:31:59.938 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:32:00.197 I/TorPlugin: OR connection CLOSED
05-28 10:32:00.208 I/TorPlugin: Online: true, wifi: true
05-28 10:32:00.208 I/TorPlugin: Country code: DE
05-28 10:32:00.208 I/TorPlugin: Enabling network
05-28 10:32:00.440 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:32:00.940 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:32:01.441 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:32:01.941 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:32:02.442 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:32:02.943 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:32:03.443 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:32:03.944 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:32:04.445 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:32:04.528 I/KeyAgreementConnector: Stopping BQP listeners
05-28 10:32:04.530 I/ConnectionChooserImpl: Closing 0 unused connections
05-28 10:32:04.531 I/ConnectionChooserImpl: java.net.SocketException: Socket closed
05-28 10:32:04.533 I/CameraView: Opening camera
05-28 10:32:04.539 I/CameraView: Using back-facing camera
05-28 10:32:04.602 I/CameraView: Screen rotation 0 degrees, camera orientation 90 degrees
05-28 10:32:04.605 I/CameraView: Scene modes: [auto, hdr]
05-28 10:32:04.606 I/CameraView: Focus modes: [auto, infinity, macro, continuous-video, continuous-picture]
05-28 10:32:04.606 I/CameraView: Size 1920x1080, stretch 1.03125, zoom 4.1472, score 0.23381966
05-28 10:32:04.606 I/CameraView: Size 1440x1080, stretch 1.375, zoom 3.1104, score 0.23381966
05-28 10:32:04.606 I/CameraView: Size 1088x1088, stretch 1.8333333, zoom 2.367488, score 0.2303938
05-28 10:32:04.606 I/CameraView: Size 1280x720, stretch 1.03125, zoom 1.8432, score 0.52609426
05-28 10:32:04.606 I/CameraView: Size 1056x704, stretch 1.2222222, zoom 1.486848, score 0.55027944
05-28 10:32:04.606 I/CameraView: Size 1024x768, stretch 1.375, zoom 1.572864, score 0.46238753
05-28 10:32:04.606 I/CameraView: Size 960x720, stretch 1.375, zoom 1.3824, score 0.52609426
05-28 10:32:04.606 I/CameraView: Size 800x450, stretch 1.03125, zoom 1.3888888, score 0.6981818
05-28 10:32:04.606 I/CameraView: Size 720x720, stretch 1.8333333, zoom 1.0368, score 0.52609426
05-28 10:32:04.606 I/CameraView: Size 720x480, stretch 1.2222222, zoom 1.4467592, score 0.56552726
05-28 10:32:04.606 I/CameraView: Size 640x480, stretch 1.375, zoom 1.6276041, score 0.44683638
05-28 10:32:04.606 I/CameraView: Size 352x288, stretch 1.5, zoom 4.9321337, score 0.135168
05-28 10:32:04.606 I/CameraView: Size 320x240, stretch 1.375, zoom 6.5104165, score 0.111709096
05-28 10:32:04.606 I/CameraView: Size 256x144, stretch 1.03125, zoom 13.563368, score 0.07149382
05-28 10:32:04.607 I/CameraView: Size 176x144, stretch 1.5, zoom 19.728535, score 0.033792
05-28 10:32:04.607 I/CameraView: Best size 800x450
05-28 10:32:04.619 I/CameraView: Video stabilisation enabled: false
05-28 10:32:04.619 I/CameraView: Scene mode: auto
05-28 10:32:04.619 I/CameraView: Focus mode: continuous-picture
05-28 10:32:04.619 I/CameraView: Flash mode: off
05-28 10:32:04.619 I/CameraView: Preview size: 800x450
05-28 10:32:04.647 I/KeyAgreementConnector: Starting BQP listeners
05-28 10:32:04.650 I/BluetoothConnectionLimiterImpl: Key agreement ended
05-28 10:32:04.678 I/KeyAgreementConnector: Listening via org.briarproject.bramble.lan
05-28 10:32:04.681 I/BluetoothConnectionLimiterImpl: Key agreement started, closing 0 connections
05-28 10:32:04.704 I/CameraView: Surface created
05-28 10:32:04.704 I/CameraView: Surface changed: 1080x1980
05-28 10:32:04.708 I/CameraView: Size 1920x1080, stretch 1.03125, zoom 4.1472, score 0.23381966
05-28 10:32:04.708 I/CameraView: Size 1440x1080, stretch 1.375, zoom 3.1104, score 0.23381966
05-28 10:32:04.708 I/CameraView: Size 1088x1088, stretch 1.8333333, zoom 2.367488, score 0.2303938
05-28 10:32:04.708 I/CameraView: Size 1280x720, stretch 1.03125, zoom 1.8432, score 0.52609426
05-28 10:32:04.708 I/CameraView: Size 1056x704, stretch 1.2222222, zoom 1.486848, score 0.55027944
05-28 10:32:04.708 I/CameraView: Size 1024x768, stretch 1.375, zoom 1.572864, score 0.46238753
05-28 10:32:04.708 I/CameraView: Size 960x720, stretch 1.375, zoom 1.3824, score 0.52609426
05-28 10:32:04.708 I/CameraView: Size 800x450, stretch 1.03125, zoom 1.3888888, score 0.6981818
05-28 10:32:04.708 I/CameraView: Size 720x720, stretch 1.8333333, zoom 1.0368, score 0.52609426
05-28 10:32:04.708 I/CameraView: Size 720x480, stretch 1.2222222, zoom 1.4467592, score 0.56552726
05-28 10:32:04.708 I/CameraView: Size 640x480, stretch 1.375, zoom 1.6276041, score 0.44683638
05-28 10:32:04.708 I/CameraView: Size 352x288, stretch 1.5, zoom 4.9321337, score 0.135168
05-28 10:32:04.708 I/CameraView: Size 320x240, stretch 1.375, zoom 6.5104165, score 0.111709096
05-28 10:32:04.708 I/CameraView: Size 256x144, stretch 1.03125, zoom 13.563368, score 0.07149382
05-28 10:32:04.708 I/CameraView: Size 176x144, stretch 1.5, zoom 19.728535, score 0.033792
05-28 10:32:04.708 I/CameraView: Best size 800x450
05-28 10:32:04.718 I/CameraView: Video stabilisation enabled: false
05-28 10:32:04.719 I/CameraView: Scene mode: auto
05-28 10:32:04.719 I/CameraView: Focus mode: continuous-picture
05-28 10:32:04.719 I/CameraView: Flash mode: off
05-28 10:32:04.719 I/CameraView: Preview size: 800x450
05-28 10:32:04.719 I/CameraView: Starting preview
05-28 10:32:04.946 I/ConnectionChooserImpl: Got connection for org.briarproject.bramble.lan
05-28 10:32:04.946 I/ConnectionChooserImpl: Already stopped
05-28 10:32:05.046 I/ShowQrCodeFragment: Local payload is 36 bytes
05-28 10:32:06.819 I/Poller: Polling plugin org.briarproject.bramble.lan
05-28 10:32:07.890 I/CameraView: Stopping preview
05-28 10:32:07.890 I/KeyAgreementConnector: Stopping BQP listeners
05-28 10:32:07.891 I/ConnectionChooserImpl: Closing 0 unused connections
05-28 10:32:07.891 I/BluetoothConnectionLimiterImpl: Key agreement ended
05-28 10:32:07.891 I/ConnectionChooserImpl: java.net.SocketException: Socket closed
05-28 10:32:08.068 I/CameraView: Releasing camera
05-28 10:32:08.182 I/QrCodeDecoder: Camera has changed, ignoring preview frame
05-28 10:32:08.192 I/CameraView: Surface destroyed
```
Notes:
* 10:31:56.933 - At the start of the log the device has made a connection via wifi and it's waiting for data - this might be because the other device hasn't scanned this device's QR code yet.
* 10:32:04.528 - The connection attempt is cancelled and the ConnectionChooserImpl is stopped.
* 10:32:04.533 - The camera is reopened. This is too soon after the previous event to be the result of a manual action.
* 10:32:04.647 - A new connection attempt starts. The BluetoothConnectionLimiter gets a KeyAgreementStoppedListeningEvent when the old key agreement task is stopped, then a KeyAgreementListeningEvent when the new task is started.
* 10:32:04.946 - A connection is made via wifi, but the ConnectionChooserImpl rejects it because it's already been stopped
It looks like the ConnectionChooserImpl instance is being reused, which shouldn't happen. This may mean the KeyAgreementTaskImpl instance is also being reused.https://code.briarproject.org/briar/briar/-/issues/1945Previous/next unread message buttons sometimes don't appear2021-03-29T13:00:18ZakwizgranPrevious/next unread message buttons sometimes don't appearOn the Galaxy Ace 2 (Android 4.1.2), the previous/next unread message buttons in forums and private groups don't always appear. The small badge showing the number of unread messages above/below is shown, but not the large button it's sup...On the Galaxy Ace 2 (Android 4.1.2), the previous/next unread message buttons in forums and private groups don't always appear. The small badge showing the number of unread messages above/below is shown, but not the large button it's supposed to be attached to.
Sometimes the large button appears late, after the badge, and sometimes it doesn't appear at all. Turning the screen off and on doesn't make a difference, but scrolling causes the large button to appear.
![device-2021-02-19-154020](/uploads/25f68f4b6ce2652f62d0a2d963675d12/device-2021-02-19-154020.png)https://code.briarproject.org/briar/briar/-/issues/1523RuntimeException: Camera is being used after Camera.release() was called2021-03-24T16:26:51ZakwizgranRuntimeException: Camera is being used after Camera.release() was called* Android version: 6.0.1
* Briar version: 1.1.5 (8f4c3c4)
* Phone models: Samsung GT-I9100 and GT-I9300 (m0xx)
* User feedback: "I could not scan other device. They could scan me. I have Replicant 6.003."
Stacktrace:
```
java.lang.Runti...* Android version: 6.0.1
* Briar version: 1.1.5 (8f4c3c4)
* Phone models: Samsung GT-I9100 and GT-I9300 (m0xx)
* User feedback: "I could not scan other device. They could scan me. I have Replicant 6.003."
Stacktrace:
```
java.lang.RuntimeException: Camera is being used after Camera.release() was called
at android.hardware.Camera.native_getParameters(Native Method)
at android.hardware.Camera.getParameters(Camera.java:1999)
at android.hardware.Camera$EventHandler.handleMessage(Camera.java:1152)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5461)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
```
We have four reports of this crash, one on the GT-I9100 (running Replicant) and three on the GT-I9300 (probably also running Replicant, as it's the same Android version as the GT-I9100, and the version's too high to be a factory ROM).
This looks like a Replicant bug: camera calls are being made asynchronously. I'll report it upstream. I'm not adding it to the current milestone as there doesn't seem to be anything we can do.https://code.briarproject.org/briar/briar/-/issues/1901TimeoutException: android.view.ThreadedRenderer.finalize() timed out after 10...2021-03-24T16:19:49ZakwizgranTimeoutException: android.view.ThreadedRenderer.finalize() timed out after 10 seconds* Android version: 6.0.1
* Phone model: ZTE Z837VL
* Briar version: 1.2.7 (eb562f8)
Stacktrace:
```
java.util.concurrent.TimeoutException: android.view.ThreadedRenderer.finalize() timed out after 10 seconds
at android.view.Threa...* Android version: 6.0.1
* Phone model: ZTE Z837VL
* Briar version: 1.2.7 (eb562f8)
Stacktrace:
```
java.util.concurrent.TimeoutException: android.view.ThreadedRenderer.finalize() timed out after 10 seconds
at android.view.ThreadedRenderer.nDeleteProxy(Native Method)
at android.view.ThreadedRenderer.finalize(ThreadedRenderer.java:413)
at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:202)
at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:185)
at java.lang.Thread.run(Thread.java:818)
```
Edited log:
```
06-08 00:15:24.325 I/IdentityManagerImpl: Identity loaded
06-08 00:15:24.447 I/LifecycleManagerImpl: Starting services
06-08 00:15:24.467 I/AndroidNetworkManager: Received broadcast android.net.conn.CONNECTIVITY_CHANGE
06-08 00:15:24.656 I/PluginManagerImpl: Starting simplex plugins
06-08 00:15:24.656 I/PluginManagerImpl: Starting duplex plugins
06-08 00:15:24.974 I/BriarActivity: Recreating NavDrawerActivity after signing in
06-08 00:15:25.007 I/BaseActivity: Starting NavDrawerActivity
06-08 00:15:25.843 I/BaseActivity: Stopping NavDrawerActivity
06-08 00:15:26.023 I/BaseActivity: Starting NavDrawerActivity
06-08 00:15:26.702 I/BaseActivity: Stopping StartupActivity
06-08 00:15:36.099 I/BaseActivity: Starting SettingsActivity
06-08 00:15:37.574 I/BaseActivity: Stopping SettingsActivity
06-08 00:15:43.860 I/BaseActivity: Starting SettingsActivity
06-08 00:15:44.606 I/BaseActivity: Stopping NavDrawerActivity
06-08 00:15:51.527 I/DevReporterImpl: Sending reports to developers
06-08 00:15:51.531 I/FeedManagerImpl: Tor started, scheduling RSS feed fetcher
06-08 00:15:52.572 I/BaseActivity: Starting NavDrawerActivity
06-08 00:15:53.068 I/BaseActivity: Stopping SettingsActivity
06-08 00:15:56.591 I/BaseActivity: Starting ConversationActivity
06-08 00:15:56.836 I/ConversationActivity: Eagerly loading text for latest message
06-08 00:15:57.155 I/BaseActivity: Stopping NavDrawerActivity
06-08 00:16:01.661 I/DevReporterImpl: Reports sent
06-08 00:16:51.538 I/FeedManagerImpl: Updating RSS feeds...
06-08 00:16:51.587 I/FeedManagerImpl: Done updating RSS feeds
06-08 00:17:32.023 I/ConnectionRegistryImpl: Incoming connection registered: org.briarproject.bramble.tor
06-08 00:17:32.023 I/ConnectionRegistryImpl: Contact connected
```
Looks like this may be a platform bug; recording it just in case.https://code.briarproject.org/briar/briar/-/issues/1976TimeoutException: android.os.BinderProxy.finalize() timed out after 10 seconds2021-03-24T16:19:38ZakwizgranTimeoutException: android.os.BinderProxy.finalize() timed out after 10 seconds* Android version: 7.1.2
* Phone model: Samsung SM-N7505 (hlltexx)
* Briar version: 1.2.16 (8a534b4)
Stacktrace:
```
android.os.BinderProxy.finalize() timed out after 10 seconds
java.util.concurrent.TimeoutException: android.os.BinderPr...* Android version: 7.1.2
* Phone model: Samsung SM-N7505 (hlltexx)
* Briar version: 1.2.16 (8a534b4)
Stacktrace:
```
android.os.BinderProxy.finalize() timed out after 10 seconds
java.util.concurrent.TimeoutException: android.os.BinderProxy.finalize() timed out after 10 seconds
at android.os.BinderProxy.destroy(Native Method)
at android.os.BinderProxy.finalize(Binder.java:677)
at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:222)
at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:209)
at java.lang.Thread.run(Thread.java:761)
```
Possibly related to #1901?https://code.briarproject.org/briar/briar/-/issues/1938UnknownServiceException: Cleartext communication not permitted2021-02-17T12:27:36ZakwizgranUnknownServiceException: Cleartext communication not permitted* Android version: 10
* Phone model: Fairphone FP3
* Briar version: 1.2.13 (5fdc7e7)
* User feedback: "Import RSS fail"
Log snippet:
```
02-14 16:15:58.259 W/RssFeedImportActivity: java.net.UnknownServiceException: CLEARTEXT communicati...* Android version: 10
* Phone model: Fairphone FP3
* Briar version: 1.2.13 (5fdc7e7)
* User feedback: "Import RSS fail"
Log snippet:
```
02-14 16:15:58.259 W/RssFeedImportActivity: java.net.UnknownServiceException: CLEARTEXT communication to [scrubbed] not permitted by network security policy
java.net.UnknownServiceException: CLEARTEXT communication to [scrubbed] not permitted by network security policy
at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:148)
at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:258)
at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:135)
at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:114)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:127)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:257)
at okhttp3.RealCall.execute(RealCall.java:93)
at org.briarproject.briar.feed.FeedManagerImpl.getFeedInputStream(FeedManagerImpl.java:385)
at org.briarproject.briar.feed.FeedManagerImpl.fetchSyndFeed(FeedManagerImpl.java:332)
at org.briarproject.briar.feed.FeedManagerImpl.addFeed(FeedManagerImpl.java:171)
at org.briarproject.briar.android.blog.RssFeedImportActivity.lambda$importFeed$2(RssFeedImportActivity.java:137)
at org.briarproject.briar.android.blog.RssFeedImportActivity.lambda$importFeed$2$RssFeedImportActivity(Unknown Source:0)
at org.briarproject.briar.android.blog.-$$Lambda$RssFeedImportActivity$yMsHehcx_j-aBTiyhHwsHyxrpIs.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:919)
```
Note: the domain name wasn't scrubbed from the original log. We should fix that.