briar issueshttps://code.briarproject.org/groups/briar/-/issues2023-04-18T15:39:33Zhttps://code.briarproject.org/briar/briar/-/issues/2429SecurityException: Permission Denial for CLOSE_SYSTEM_DIALOGS2023-04-18T15:39:33ZakwizgranSecurityException: Permission Denial for CLOSE_SYSTEM_DIALOGS* Android version: 12
* Phone model: Google Pixel 3 XL (crosshatch)
* Briar version: 1.4.23 (070165f)
* User feedback: "I wrote a message, then Briar shut down. This also happens frequently to other apps."
Stacktrace:
```
java.lang.Secu...* Android version: 12
* Phone model: Google Pixel 3 XL (crosshatch)
* Briar version: 1.4.23 (070165f)
* User feedback: "I wrote a message, then Briar shut down. This also happens frequently to other apps."
Stacktrace:
```
java.lang.SecurityException: Permission Denial: android.intent.action.CLOSE_SYSTEM_DIALOGS broadcast from org.briarproject.briar.android (pid=24174, uid=10004) requires android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS.
at android.os.Parcel.createExceptionOrNull(Parcel.java:2425)
at android.os.Parcel.createException(Parcel.java:2409)
at android.os.Parcel.readException(Parcel.java:2392)
at android.os.Parcel.readException(Parcel.java:2334)
at android.app.IActivityManager$Stub$Proxy.closeSystemDialogs(IActivityManager.java:7614)
at com.android.internal.policy.PhoneWindow.sendCloseSystemWindows(PhoneWindow.java:3791)
at com.android.internal.policy.PhoneFallbackEventHandler.sendCloseSystemWindows(PhoneFallbackEventHandler.java:323)
at com.android.internal.policy.PhoneFallbackEventHandler.startCallActivity(PhoneFallbackEventHandler.java:275)
at com.android.internal.policy.PhoneFallbackEventHandler.onKeyUp(PhoneFallbackEventHandler.java:261)
at com.android.internal.policy.PhoneFallbackEventHandler.dispatchKeyEvent(PhoneFallbackEventHandler.java:76)
at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:6317)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6141)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5623)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5680)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5646)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5811)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5654)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5868)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5627)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5680)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5646)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5654)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5627)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5680)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5646)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5844)
at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:6002)
at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:3158)
at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:2722)
at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:2713)
at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:3135)
at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:154)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:335)
at android.os.Looper.loopOnce(Looper.java:161)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7842)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
Caused by: android.os.RemoteException: Remote stack trace:
at com.android.server.wm.ActivityTaskManagerService.checkCanCloseSystemDialogs(ActivityTaskManagerService.java:2955)
at com.android.server.wm.ActivityTaskManagerService.access$900(ActivityTaskManagerService.java:294)
at com.android.server.wm.ActivityTaskManagerService$LocalService.checkCanCloseSystemDialogs(ActivityTaskManagerService.java:5309)
at com.android.server.wm.ActivityTaskManagerService$LocalService.closeSystemDialogs(ActivityTaskManagerService.java:5783)
at com.android.server.am.ActivityManagerService.closeSystemDialogs(ActivityManagerService.java:3800)
```
Edited log:
```
04-02 10:16:30.039 I/BaseActivity: Starting ConversationActivity
04-02 10:16:30.041 I/BaseActivity: Resuming ConversationActivity
04-02 10:16:32.999 I/AutoDeleteManagerImpl: Sending message with auto-delete timer 604800000
04-02 10:16:33.045 I/DuplexOutgoingSession: Next send time decreased
04-02 10:16:33.052 I/DuplexOutgoingSession: Generated offer: true
04-02 10:16:33.052 I/DuplexOutgoingSession: Sent offer
04-02 10:16:33.061 I/DuplexOutgoingSession: Generated offer: false
04-02 10:16:33.495 I/DuplexOutgoingSession: Generated batch: true
04-02 10:16:33.495 I/ConversationActivity: Messages sent
04-02 10:16:33.495 I/DuplexOutgoingSession: Sent batch
04-02 10:16:33.504 I/DuplexOutgoingSession: Generated batch: false
04-02 10:16:34.069 I/ConversationActivity: Messages acked
04-02 10:16:42.127 I/DuplexOutgoingSession: Generated request: true
04-02 10:16:42.127 I/DuplexOutgoingSession: Sent request
04-02 10:16:42.128 I/DuplexOutgoingSession: Generated request: false
04-02 10:16:42.743 I/ValidationManagerImpl: Validating message for org.briarproject.briar.messaging
04-02 10:16:42.761 I/DuplexOutgoingSession: Generated ack: true
04-02 10:16:42.762 I/DuplexOutgoingSession: Sent ack
04-02 10:16:42.768 I/ValidationManagerImpl: Delivering message for org.briarproject.briar.messaging
04-02 10:16:42.770 I/AutoDeleteManagerImpl: Mirroring auto-delete timer 604800000
04-02 10:16:42.786 I/ConversationActivity: Message received, adding
04-02 10:16:42.791 I/DuplexOutgoingSession: Generated ack: false
04-02 10:17:12.763 I/DuplexOutgoingSession: Sending keepalive
04-02 10:17:33.484 I/DuplexOutgoingSession: Checking for retransmittable messages
04-02 10:17:33.514 I/DuplexOutgoingSession: Generated batch: false
04-02 10:17:33.520 I/DuplexOutgoingSession: Generated offer: false
```
As far as I can tell, the crash happens because `PhoneFallbackEventHandler` is being called to [handle a key event](https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/java/com/android/internal/policy/PhoneFallbackEventHandler.java;drc=95c1165bb895dd844e1793460710f7163dd330a3;l=250) for `KEYCODE_CALL`. The handler tries to start a call activity for the current app, which fails because Briar doesn't have permission to close system dialogs (which I guess is part of the process of launching the call activity).
So perhaps this is happening just because the user hits the call button on their device/keyboard, or perhaps it also requires some other circumstances, like an unusual device/keyboard config. Either way, it looks like a problem that's specific to this user and (based on their comment) not specific to Briar.https://code.briarproject.org/briar/briar-mailbox/-/issues/179Dialogs from Do-not-kill-library have different style than other dialogs2022-12-02T16:04:52ZSebastianDialogs from Do-not-kill-library have different style than other dialogsOriginally reported [here](https://code.briarproject.org/briar/briar-mailbox/-/issues/92#note_72869).
![Screenshot_20221128_114031](/uploads/2cd65cb6de1ce905a2ee44406230874e/Screenshot_20221128_114031.png)
![Screenshot_20221128_114216](...Originally reported [here](https://code.briarproject.org/briar/briar-mailbox/-/issues/92#note_72869).
![Screenshot_20221128_114031](/uploads/2cd65cb6de1ce905a2ee44406230874e/Screenshot_20221128_114031.png)
![Screenshot_20221128_114216](/uploads/050ecee3f0642e7cb5947591e3ae56b0/Screenshot_20221128_114216.png)https://code.briarproject.org/briar/briar-desktop/-/issues/375High CPU load due to text input fields2023-06-01T07:17:07ZVivienHigh CPU load due to text input fieldsWhile a blinking cursor is displayed in any text input field, the CPU load of the Java process increases by about 10%. This leads to a temperature increase of 3°C on this (old) laptop during the login screen, but an increase of up to 15°...While a blinking cursor is displayed in any text input field, the CPU load of the Java process increases by about 10%. This leads to a temperature increase of 3°C on this (old) laptop during the login screen, but an increase of up to 15°C while typing a message. Nothing relevant appears in the log output.
Steps to reproduce:
1. java -jar briar-desktop.jar
2. Keep the window in the foreground so that any cursor blinks.
```
Briar Desktop
Version 0.2.1-nightly
Git hash 51607c81039fc360301701e7c9d94efd9d528020
Commit time 2022-08-28 19:29:32
System Information
OS Name Debian GNU/Linux
OS Version 11.4 (bullseye)
Architecture amd64 (x86_64)
Kernel Release 5.18.0-0.deb11.3-amd64
Kernel Version #1 SMP PREEMPT_DYNAMIC Debian 5.18.14-1~bpo11+1 (2022-07-28)
Software
openjdk-17-jre 17.0.4+8-1~deb11u1
xfce4 4.16
xfwm4 4.16.1-1
```https://code.briarproject.org/briar/briar/-/issues/2176Polish translation2021-10-26T18:35:01ZPanda CoderPolish translationI found mistake in Polish translation and I applied to join Polish language group on Transifex but unfortunately didn't approved since almost a week. Are there any requirements that I don't meet? I would really like to help in translatin...I found mistake in Polish translation and I applied to join Polish language group on Transifex but unfortunately didn't approved since almost a week. Are there any requirements that I don't meet? I would really like to help in translating Briar.https://code.briarproject.org/briar/briar/-/issues/1729Android OS can capture keys?2022-02-25T15:07:10ZJay BeeAndroid OS can capture keys?It is my understanding that every keystroke goes to OS over API and then it goes to Briar app from OS over another API. So google can capture anything what is written by separate keyboard application. For security reasons, would it be be...It is my understanding that every keystroke goes to OS over API and then it goes to Briar app from OS over another API. So google can capture anything what is written by separate keyboard application. For security reasons, would it be better to include own keyboard in the application? There are few opensource keyboards, AnySoftKey, Hacker keyboard...https://code.briarproject.org/briar/briar/-/issues/1717Window content is visible before UnlockActivity is shown on Android 11 dev pr...2020-11-15T16:05:04ZakwizgranWindow content is visible before UnlockActivity is shown on Android 11 dev previewAndroid version: 11 developer preview 2
User feedback:
> Opening NavDrawerActivity leaks visual content (contact list, time of the messages etc) for ≤1s before UnlockActivity is shown. Same result when the app is locked, and tapping a n...Android version: 11 developer preview 2
User feedback:
> Opening NavDrawerActivity leaks visual content (contact list, time of the messages etc) for ≤1s before UnlockActivity is shown. Same result when the app is locked, and tapping a notification to unlock the app. Interesting that this behaviour does not exist on AOSP R version at the moment, but on Google Pixel factory R versions.https://code.briarproject.org/briar/briar/-/issues/1513Bluetooth dialog needs to be dismissed multiple times after rotating screen2020-11-15T19:12:00ZakwizgranBluetooth dialog needs to be dismissed multiple times after rotating screenSteps to reproduce:
* Start to add a nearby contact
* When the Bluetooth permission dialog is visible, rotate the screen
* Dismiss the dialog
* Expected: The dialog only needs to be dismissed once
* Actual: The dialog needs to be dismiss...Steps to reproduce:
* Start to add a nearby contact
* When the Bluetooth permission dialog is visible, rotate the screen
* Dismiss the dialog
* Expected: The dialog only needs to be dismissed once
* Actual: The dialog needs to be dismissed once, plus once for every time the screen was rotated
Test devices:
* Sony Xperia Tipo (Android 4.0.4)
* Motorola Moto E3 (Android 6.0)