briar issueshttps://code.briarproject.org/groups/briar/-/issues2022-09-24T21:38:08Zhttps://code.briarproject.org/briar/briar-desktop/-/issues/373TestLanTcpPlugin that supports BRP2022-09-24T21:38:08ZSebastianTestLanTcpPlugin that supports BRPWhen running two or more connected instances of the application for interactive testing, it is a bit annoying that it can take very long for the contacts to be actually connected and able to exchange messages. I had thought enabling the ...When running two or more connected instances of the application for interactive testing, it is a bit annoying that it can take very long for the contacts to be actually connected and able to exchange messages. I had thought enabling the LAN plugin would help, but since the LAN plugin does not support BRP, adding contacts at a distance does not work via that plugin. Now I had the idea that we might add a new plugin TestLanTcpPlugin that allows rendezvous via LAN and would only be used in test setups such as this.
I'm wondering how much effort this would be.
I can see `supportsRendezvous()` probably needs to return `true` and then `createRendezvousEndpoint()` would need to be implemented. Not sure how much of `TorPlugin`s implement could be reused there. @akwizgran do you an assessment how much trouble this all would be?https://code.briarproject.org/briar/briar/-/issues/2359Reduce traffic activity by sending BSP VERSIONS Records less often2023-02-07T15:54:53ZThomasReduce traffic activity by sending BSP VERSIONS Records less oftenI am working on a PoC for a LoRa Transport. Even with all messages and acknowledges being exchanged, I see Traffic every X seconds. From a BSP perspective this is being sent: `00 04 00 01 00`
Its basically saying: This is protocol versio...I am working on a PoC for a LoRa Transport. Even with all messages and acknowledges being exchanged, I see Traffic every X seconds. From a BSP perspective this is being sent: `00 04 00 01 00`
Its basically saying: This is protocol version 0, I am supporting only protocol version 0.
I get this same message every X seconds. Yes, the traffic is encrypted (randomized), still I think this makes the traffic easier to categorize using timing-attacks and it takes bandwidth.
I argue this should only be sent:
- during contact exchange
- if it changed and the other contact hasn't acknowledged the change or sent BSP Frames themselves with the new version
Ideally the old Version is still valid and the change doesn't have to be propagated by creating new Streams - the client can transmit it once before it sends another BSP Packet.
This mainly affects Simplex Connections (https://code.briarproject.org/briar/briar/-/blob/master/bramble-core/src/main/java/org/briarproject/bramble/sync/SimplexOutgoingSession.java#L95). It could also be changes on Duplex Connections (https://code.briarproject.org/briar/briar/-/blob/master/bramble-core/src/main/java/org/briarproject/bramble/sync/DuplexOutgoingSession.java#L136) but I don't know the real-life impact there since it won't be regularly re-sent on established connections.
My workaround for the PoC will be to just comment-out this specific line of code.https://code.briarproject.org/briar/briar-desktop/-/issues/372Tooltip does not work on all icon buttons (hidpi issue?)2022-08-18T21:00:24ZSebastianTooltip does not work on all icon buttons (hidpi issue?)While testing !221 I noticed that on my hidpi Linux device, the tooltips for the icon buttons don't work there, while they do work on a regular machine. Maybe it has to do with the high density resolution, no idea, but that is the only t...While testing !221 I noticed that on my hidpi Linux device, the tooltips for the icon buttons don't work there, while they do work on a regular machine. Maybe it has to do with the high density resolution, no idea, but that is the only thing I know is different on that machine.https://code.briarproject.org/briar/briar-desktop/-/issues/371Use constants as (screen) padding values throughout the code base2022-08-17T07:59:49ZMikolai GütschowUse constants as (screen) padding values throughout the code basesimilar to "dimens.xml" for Android
See [here](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/221#note_69460)similar to "dimens.xml" for Android
See [here](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/221#note_69460)https://code.briarproject.org/briar/briar-mailbox/-/issues/154Last connection on the mailbox status screen not updating as minutes pass by2023-08-28T16:00:11ZIvanaLast connection on the mailbox status screen not updating as minutes pass bySteps to reproduce
- do not keep activities = ON
- on any two device where Briar and Mailbox are linked check the values for last connection.
- this can be after initial linking, or after the screens have fallen asleep and been woken ...Steps to reproduce
- do not keep activities = ON
- on any two device where Briar and Mailbox are linked check the values for last connection.
- this can be after initial linking, or after the screens have fallen asleep and been woken up, or after the link Check Connection on Briar is tapped
- What happens is that initially both values are set to 'now' and the Briar device then updates its 'last connection' value as minutes roll by, but the mailbox device does not.
- Here are the photos to illustrate
- Whilst I was typing this and taking the photos, the difference has become 7 mins...
- after the mailbox screen falls asleep and is reactivate by the user - the value is reset to the correct value - ie the same as on the Briar app
- Andanother microscoping inconsistency with briar screens - on mailbox Last connection says 1 min. ago, on Briar it says 1 min ago. Ie in one place we have a full stop after the short 'min', and in the other place we do not. This really is splitting hairs, but I thought as we will be looking into it anyway, we may as well make it consistent. It should take only a milisecond to do it.
![20220808_145527](/uploads/5d30834bc307c2391773262381aaee21/20220808_145527.jpg)
![20220808_145620](/uploads/030d1fd2ad075b07f3fbef23471a3564/20220808_145620.jpg)
![20220808_145714](/uploads/610ee7753f5ae0066fa0694ddcd70742/20220808_145714.jpg)https://code.briarproject.org/briar/briar/-/issues/2353High data (traffic) usage2022-08-15T13:02:20ZArcibald RajsHigh data (traffic) usageHi all.
Briar is awesome app... almost awesome.
There is no server, but as I can see - every installed instance become some kind of server / transport node. Right?
I have 3 - 4 contacts. There are situations where I don't communicat...Hi all.
Briar is awesome app... almost awesome.
There is no server, but as I can see - every installed instance become some kind of server / transport node. Right?
I have 3 - 4 contacts. There are situations where I don't communicate with them, but Briar swallow almost 2 GB of data in background in less then 24h!!! I try to disable background data in app settings, but that don't help me.
This can be a really big problem if somebody is in roaming or have limited package, as me and my friends.
Anybody have similiar experience? Any suggestion how to limit this consumption?
Regards.https://code.briarproject.org/briar/briar-mailbox/-/issues/149Send feedback and crash reports via Tor2023-08-28T16:00:11ZakwizgranSend feedback and crash reports via TorSubtask of #82Subtask of #82Mailboxhttps://code.briarproject.org/briar/briar-mailbox/-/issues/148UI for sending feedback and crash reports2023-08-28T16:00:09ZakwizgranUI for sending feedback and crash reportsSubtask of #82.Subtask of #82.Mailboxhttps://code.briarproject.org/briar/briar-mailbox/-/issues/147Research accessibility testing2023-08-28T16:00:09ZakwizgranResearch accessibility testingFind out what would be involved in testing the Mailbox app for accessibility, and what resources are available to help with this testing.Find out what would be involved in testing the Mailbox app for accessibility, and what resources are available to help with this testing.https://code.briarproject.org/briar/briar/-/issues/2350Set a more visible link to version Changes2022-07-22T21:53:33ZJohn MaverickSet a more visible link to version ChangesEvery time I try to see what's new with the latest release I have to play fish.
It's terribly difficult to find the changes made in the last version.
Please place a link from the landing page - maybe in the new version announcement tex...Every time I try to see what's new with the latest release I have to play fish.
It's terribly difficult to find the changes made in the last version.
Please place a link from the landing page - maybe in the new version announcement text - to the changes.
In short, place a link on the main page to:
https://code.briarproject.org/briar/briar/-/wikis/changeloghttps://code.briarproject.org/briar/briar/-/issues/2349SecurityException when setting clipboard contents2022-07-13T15:05:41ZakwizgranSecurityException when setting clipboard contents* Android version: 10
* Phone model: Realme RMX2020 (RMX2020RU)
* Briar version: 1.4.9 (592daf9)
Stacktrace:
```
java.lang.SecurityException: com.miHoYo.GenshinImpact from uid 10622 not allowed to perform READ_CLIPBOARD
at andro...* Android version: 10
* Phone model: Realme RMX2020 (RMX2020RU)
* Briar version: 1.4.9 (592daf9)
Stacktrace:
```
java.lang.SecurityException: com.miHoYo.GenshinImpact from uid 10622 not allowed to perform READ_CLIPBOARD
at android.os.Parcel.createException(Parcel.java:2087)
at android.os.Parcel.readException(Parcel.java:2055)
at android.os.Parcel.readException(Parcel.java:2003)
at android.content.IClipboard$Stub$Proxy.setPrimaryClip(IClipboard.java:293)
at android.content.ClipboardManager.setPrimaryClip(ClipboardManager.java:106)
at org.briarproject.briar.android.contact.add.remote.LinkExchangeFragment.lambda$onHandshakeLinkLoaded$1(LinkExchangeFragment.java:130)
at org.briarproject.briar.android.contact.add.remote.LinkExchangeFragment.$r8$lambda$7puQg0Zpj-kqg_hU0AyYfKEiXJI(Unknown Source:0)
at org.briarproject.briar.android.contact.add.remote.LinkExchangeFragment$$ExternalSyntheticLambda2.onClick(Unknown Source:4)
at android.view.View.performClick(View.java:7254)
at android.view.View.performClickInternal(View.java:7212)
at android.view.View.access$3800(View.java:828)
at android.view.View$PerformClick.run(View.java:27888)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:227)
at android.app.ActivityThread.main(ActivityThread.java:7822)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1026)
Caused by: android.os.RemoteException: Remote stack trace:
at android.app.AppOpsManager.noteOp(AppOpsManager.java:5344)
at com.android.server.clipboard.ClipboardService.clipboardAccessAllowed(ClipboardService.java:759)
at com.android.server.clipboard.ClipboardService.setPrimaryClipInternal(ClipboardService.java:599)
at com.android.server.clipboard.ClipboardService.setPrimaryClipInternal(ClipboardService.java:530)
at com.android.server.clipboard.ClipboardService$ClipboardImpl.setPrimaryClip(ClipboardService.java:369)
```
Last lines of log:
```
07-10 20:03:40.221 W/BriarService: Trim memory: running critically low
07-10 20:03:40.222 I/BriarService: Clearing Glide cache
07-10 20:03:40.459 I/BaseActivity: Destroying NavDrawerActivity
07-10 20:03:45.769 I/BriarService: Trim memory: running low
07-10 20:03:45.769 I/BriarService: Clearing Glide cache
07-10 20:03:49.532 I/BaseActivity: Creating SplashScreenActivity
07-10 20:03:49.608 I/BaseActivity: Creating NavDrawerActivity
07-10 20:03:49.670 I/BaseActivity: Starting NavDrawerActivity
07-10 20:03:49.675 I/BaseActivity: Resuming NavDrawerActivity
07-10 20:03:49.840 I/BaseActivity: Destroying SplashScreenActivity
07-10 20:03:52.103 I/BaseActivity: Pausing NavDrawerActivity
07-10 20:03:52.128 I/BaseActivity: Creating AddContactActivity
07-10 20:03:52.183 I/BaseActivity: Starting AddContactActivity
07-10 20:03:52.184 I/BaseActivity: Resuming AddContactActivity
07-10 20:03:52.702 I/BaseActivity: Stopping NavDrawerActivity
```
I don't understand why Briar would receive a SecurityException when setting the primary clip, if a different app (Genshin Impact) doesn't have permission to read the clipboard. Still, perhaps we should catch this exception rather than crashing.https://code.briarproject.org/briar/briar/-/issues/2345NPE when unlocking app2022-06-29T10:44:12ZakwizgranNPE when unlocking app* Android version: 9
* Phone model: Huawei ANE-LX1
* Briar version: 1.4.8 (6e61827)
Stacktrace:
```
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=11, result=0, data=null} to activity {org.briarprojec...* Android version: 9
* Phone model: Huawei ANE-LX1
* Briar version: 1.4.8 (6e61827)
Stacktrace:
```
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=11, result=0, data=null} to activity {org.briarproject.briar.android/org.briarproject.briar.android.navdrawer.NavDrawerActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'int com.android.server.fingerprint.ClientMonitor.stop(boolean)' on a null object reference
at android.app.ActivityThread.deliverResults(ActivityThread.java:5078)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:5120)
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:2199)
at android.os.Handler.dispatchMessage(Handler.java:112)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7625)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int com.android.server.fingerprint.ClientMonitor.stop(boolean)' on a null object reference
at android.os.Parcel.createException(Parcel.java:1965)
at android.os.Parcel.readException(Parcel.java:1927)
at android.os.Parcel.readException(Parcel.java:1877)
at android.app.IActivityManager$Stub$Proxy.finishActivity(IActivityManager.java:3774)
at android.app.Activity.finish(Activity.java:5905)
at android.app.Activity.finish(Activity.java:5929)
at android.app.Activity.finishAfterTransition(Activity.java:5990)
at androidx.core.app.ActivityCompat.finishAfterTransition(ActivityCompat.java:305)
at androidx.fragment.app.FragmentActivity.supportFinishAfterTransition(FragmentActivity.java:178)
at org.briarproject.briar.android.activity.BriarActivity.onActivityResult(BriarActivity.java:91)
at org.briarproject.briar.android.navdrawer.NavDrawerActivity.onActivityResult(NavDrawerActivity.java:223)
at android.app.Activity.dispatchActivityResult(Activity.java:7797)
at android.app.ActivityThread.deliverResults(ActivityThread.java:5071)
... 11 more
```
Edited log:
```
06-20 12:03:16.624 I/BriarService: Trim memory: running moderately low
06-20 12:03:16.624 I/BriarService: Clearing Glide cache
06-20 12:03:17.244 I/AndroidNetworkManager: Received broadcast android.intent.action.SCREEN_ON
06-20 12:03:28.006 I/AndroidNetworkManager: Received broadcast android.intent.action.SCREEN_OFF
06-20 12:07:38.666 I/BaseActivity: Starting NavDrawerActivity
06-20 12:07:38.671 I/BaseActivity: Resuming NavDrawerActivity
06-20 12:07:38.672 I/BriarActivity: Locked, launching UnlockActivity
06-20 12:07:38.799 I/BaseActivity: Pausing NavDrawerActivity
06-20 12:07:38.840 I/BaseActivity: Creating UnlockActivity
06-20 12:07:38.872 I/BaseActivity: Starting UnlockActivity
06-20 12:07:38.874 I/BaseActivity: Resuming UnlockActivity
06-20 12:07:39.133 I/BaseActivity: Stopping NavDrawerActivity
06-20 12:07:39.655 I/AndroidNetworkManager: Received broadcast android.intent.action.SCREEN_ON
06-20 12:07:39.793 I/BaseActivity: Pausing UnlockActivity
```
The SCREEN_ON broadcast seems to have been received nearly a second after NavDrawerActivity was started and replaced by UnlockActivity. The broadcasts are sometimes delivered late so I'm not sure if that's relevant.
The device has `"android.hardware.fingerprint" : true`.https://code.briarproject.org/briar/briar-desktop/-/issues/369Deleting messages doesn't update last message time and position in contact li...2022-09-05T09:49:53ZSebastianDeleting messages doesn't update last message time and position in contact list (instantly)When I delete a single or all message within a conversation, nothing happens in the last message section of the contact card in the contact list.
When I switch to settings and back to the conversation list:
* After deleting all messages...When I delete a single or all message within a conversation, nothing happens in the last message section of the contact card in the contact list.
When I switch to settings and back to the conversation list:
* After deleting all messages, I get "No messages." and the contact list moved to the top of the list.
* After deleting a single message, I see the time of deletion of the message (i.e. now). Also the contact moves to the top of the list.
I think in both cases the update should ideally also happen instantly when deleting the messages.https://code.briarproject.org/briar/briar/-/issues/2341Follow-up from "Add Tor plugin for Windows": look into using Tor's --service ...2022-06-22T08:20:50ZSebastianFollow-up from "Add Tor plugin for Windows": look into using Tor's --service optionThe following discussion from !1666 should be addressed:
- [ ] @sebkur started a [discussion](https://code.briarproject.org/briar/briar/-/merge_requests/1666#note_68084): (+1 comment)
> Cool that this works like this anyway.
>...The following discussion from !1666 should be addressed:
- [ ] @sebkur started a [discussion](https://code.briarproject.org/briar/briar/-/merge_requests/1666#note_68084): (+1 comment)
> Cool that this works like this anyway.
>
> The man page says:
>
> > RunAsDaemon 0|1
> >
> > If 1, Tor forks and daemonizes to the background. This option has no effect on Windows; instead you should use the --service command-line option. Can not be changed while tor is running. (Default: 0)
>
> Did you consider using the `--service` option?SebastianSebastianhttps://code.briarproject.org/briar/briar/-/issues/2335Show warning dialog if Tor detects clock skew2022-06-14T11:54:25ZakwizgranShow warning dialog if Tor detects clock skewThe Tor plugin already listens for STATUS_GENERAL events from Tor and parses CLOCK_SKEW messages. It should use these messages to broadcast EventBus events that can be received by the UI.
The UI should react to these events by showing a...The Tor plugin already listens for STATUS_GENERAL events from Tor and parses CLOCK_SKEW messages. It should use these messages to broadcast EventBus events that can be received by the UI.
The UI should react to these events by showing a warning dialog telling the user to check that the device's time, date and timezone are correct (perhaps with some filtering to ensure that we don't show the dialog again immediately after the user has dismissed it).
The dialog should be shown immediately if clock skew is detected while the app's in the foreground. If clock skew is detected while the app is in the background then the dialog should be shown when the app's brought to the foreground. We may be able to use a LiveEvent for this.https://code.briarproject.org/briar/briar/-/issues/2334IllegalArgumentException: Center point is not inside any of the rectangles2022-06-13T15:46:19ZakwizgranIllegalArgumentException: Center point is not inside any of the rectangles* Android version: 11
* Phone model: Realme RMX3085 (RMX3085RU)
* Briar version: 1.4.5 (4df523a)
Last lines of log:
```
03-06 17:10:56.730 I/BaseActivity: Pausing ConversationActivity
03-06 17:10:56.741 I/BaseActivity: Starting NavDrawe...* Android version: 11
* Phone model: Realme RMX3085 (RMX3085RU)
* Briar version: 1.4.5 (4df523a)
Last lines of log:
```
03-06 17:10:56.730 I/BaseActivity: Pausing ConversationActivity
03-06 17:10:56.741 I/BaseActivity: Starting NavDrawerActivity
03-06 17:10:56.741 I/BaseActivity: Resuming NavDrawerActivity
03-06 17:10:57.210 I/BaseActivity: Stopping ConversationActivity
03-06 17:10:57.213 I/BaseActivity: Destroying ConversationActivity
03-06 17:11:01.090 I/BaseActivity: Pausing NavDrawerActivity
03-06 17:11:01.100 I/BaseActivity: Creating ConversationActivity
03-06 17:11:01.108 I/ConversationViewModel: PrivateMessageFormat loaded: TEXT_IMAGES_AUTO_DELETE
03-06 17:11:01.121 I/BaseActivity: Starting ConversationActivity
03-06 17:11:01.123 I/BaseActivity: Resuming ConversationActivity
03-06 17:11:01.159 I/ConversationActivity: Eagerly loading text for latest message
03-06 17:11:01.577 I/BaseActivity: Stopping NavDrawerActivity
03-06 17:11:02.299 I/BaseActivity: Pausing ConversationActivity
03-06 17:11:02.309 I/BaseActivity: Starting NavDrawerActivity
03-06 17:11:02.309 I/BaseActivity: Resuming NavDrawerActivity
03-06 17:11:02.781 I/BaseActivity: Stopping ConversationActivity
03-06 17:11:02.783 I/BaseActivity: Destroying ConversationActivity
03-06 17:11:03.434 I/BaseActivity: Pausing NavDrawerActivity
03-06 17:11:03.447 I/BaseActivity: Creating ConversationActivity
03-06 17:11:03.452 I/ConversationViewModel: PrivateMessageFormat loaded: TEXT_IMAGES_AUTO_DELETE
03-06 17:11:03.468 I/BaseActivity: Starting ConversationActivity
03-06 17:11:03.469 I/BaseActivity: Resuming ConversationActivity
03-06 17:11:03.506 I/ConversationActivity: Eagerly loading text for latest message
03-06 17:11:03.923 I/BaseActivity: Stopping NavDrawerActivity
```
Stacktrace:
```
java.lang.IllegalArgumentException: Center point is not inside any of the rectangles!
at android.widget.SmartSelectSprite.startAnimation(SmartSelectSprite.java:391)
at android.widget.SelectionActionModeHelper.startSelectionActionModeWithSmartSelectAnimation(SelectionActionModeHelper.java:357)
at android.widget.SelectionActionModeHelper.lambda$l1f1_V5lw6noQxI_3u11qF753Iw(Unknown Source:0)
at android.widget.-$$Lambda$SelectionActionModeHelper$l1f1_V5lw6noQxI_3u11qF753Iw.accept(Unknown Source:4)
at android.widget.SelectionActionModeHelper$TextClassificationAsyncTask.onPostExecute(SelectionActionModeHelper.java:1039)
at android.widget.SelectionActionModeHelper$TextClassificationAsyncTask.onPostExecute(SelectionActionModeHelper.java:993)
at android.os.AsyncTask.finish(AsyncTask.java:771)
at android.os.AsyncTask.access$900(AsyncTask.java:199)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:788)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:255)
at android.app.ActivityThread.main(ActivityThread.java:8232)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:632)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1049)
```
Possibly a platform bug that was triggered when selecting text?https://code.briarproject.org/briar/briar/-/issues/2333AssertionError in TextAttachmentController when previewing attachments2022-06-13T15:40:19ZakwizgranAssertionError in TextAttachmentController when previewing attachments* Android version: 9
* Phone model: Tecno KC2j (H6113)
* Briar version: 1.4.5 (4df523a)
Edited log:
```
03-23 21:53:07.213 I/BaseActivity: Starting ConversationActivity
03-23 21:53:07.214 I/BaseActivity: Resuming ConversationActivity
03...* Android version: 9
* Phone model: Tecno KC2j (H6113)
* Briar version: 1.4.5 (4df523a)
Edited log:
```
03-23 21:53:07.213 I/BaseActivity: Starting ConversationActivity
03-23 21:53:07.214 I/BaseActivity: Resuming ConversationActivity
03-23 21:53:17.378 I/BaseActivity: Pausing ConversationActivity
03-23 21:53:17.827 I/BaseActivity: Stopping ConversationActivity
03-23 21:53:18.516 I/BaseActivity: Starting ConversationActivity
03-23 21:53:18.518 I/BaseActivity: Resuming ConversationActivity
03-23 21:53:19.508 I/BaseActivity: Pausing ConversationActivity
03-23 21:53:19.557 I/ConversationActivity: Concurrent update, reloading
03-23 21:53:19.906 I/AutoDeleteManagerImpl: Sending message with auto-delete timer -1
03-23 21:53:20.007 I/BaseActivity: Stopping ConversationActivity
03-23 21:53:20.065 I/ContactsViewModel: Conversation message tracked, updating item
03-23 21:53:21.340 I/AutoDeleteManagerImpl: Sending message with auto-delete timer -1
03-23 21:53:21.467 I/ContactsViewModel: Conversation message tracked, updating item
03-23 21:53:21.533 I/BaseActivity: Starting ConversationActivity
03-23 21:53:21.550 I/BaseActivity: Resuming ConversationActivity
03-23 21:53:21.583 I/ImageCompressorImpl: Original image size: 640x1337
03-23 21:53:21.583 I/ImageCompressorImpl: Scaling attachment by factor of 2
03-23 21:53:21.657 I/ImageCompressorImpl: Compressed image to 28878 bytes, quality 60
03-23 21:53:41.496 I/AndroidTaskScheduler: Running 1 due tasks
03-23 21:53:41.496 I/AndroidTaskScheduler: Task is 2 ms overdue
03-23 21:53:42.337 I/AndroidTaskScheduler: Running 1 due tasks
03-23 21:53:42.337 I/AndroidTaskScheduler: Task is 1 ms overdue
03-23 21:53:54.255 I/ConversationActivity: Eagerly loading text for latest message
03-23 21:53:54.495 I/ConversationActivity: Concurrent update, reloading
```
Stacktrace:
```
java.lang.AssertionError
at org.briarproject.briar.android.view.TextAttachmentController.onNewAttachmentItemResults(TextAttachmentController.java:200)
at org.briarproject.briar.android.view.TextAttachmentController.access$000(TextAttachmentController.java:44)
at org.briarproject.briar.android.view.TextAttachmentController$1.onChanged(TextAttachmentController.java:187)
at org.briarproject.briar.android.view.TextAttachmentController$1.onChanged(TextAttachmentController.java:179)
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 androidx.lifecycle.MutableLiveData.setValue(MutableLiveData.java:50)
at androidx.lifecycle.LiveData$1.run(LiveData.java:93)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6758)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:497)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:912)
```
This looks similar to #2218 but it's a different assertion that's failing.Android 1.4https://code.briarproject.org/briar/briar/-/issues/2332NPE in AutofillManager2022-06-13T15:14:03ZakwizgranNPE in AutofillManager* Android version: 12
* Phone model: OnePlus LE2125 (OnePlus9Pro)
* Briar version: 1.4.5 (4df523a)
Log:
```
03-16 13:27:13.111 I/BriarApplicationImpl: Created
03-16 13:27:13.125 I/BaseActivity: Creating SplashScreenActivity
03-16 13:27:...* Android version: 12
* Phone model: OnePlus LE2125 (OnePlus9Pro)
* Briar version: 1.4.5 (4df523a)
Log:
```
03-16 13:27:13.111 I/BriarApplicationImpl: Created
03-16 13:27:13.125 I/BaseActivity: Creating SplashScreenActivity
03-16 13:27:13.137 I/BaseActivity: Starting SplashScreenActivity
03-16 13:27:13.137 I/BaseActivity: Resuming SplashScreenActivity
03-16 13:27:13.656 I/BaseActivity: Pausing SplashScreenActivity
03-16 13:27:13.666 I/BaseActivity: Creating NavDrawerActivity
03-16 13:27:13.682 I/BaseActivity: Starting NavDrawerActivity
03-16 13:27:13.683 I/BaseActivity: Resuming NavDrawerActivity
03-16 13:27:13.683 I/BriarActivity: Not signed in, launching StartupActivity
03-16 13:27:13.690 I/BaseActivity: Pausing NavDrawerActivity
03-16 13:27:13.697 I/BaseActivity: Creating StartupActivity
03-16 13:27:13.701 I/AccountManagerImpl: Found database key in primary file
03-16 13:27:13.701 I/BaseActivity: Starting StartupActivity
03-16 13:27:13.709 I/BaseActivity: Resuming StartupActivity
03-16 13:27:13.739 I/BaseActivity: Stopping NavDrawerActivity
03-16 13:27:14.167 I/BaseActivity: Stopping SplashScreenActivity
03-16 13:27:14.167 I/BaseActivity: Destroying SplashScreenActivity
03-16 13:27:16.222 I/BaseActivity: Pausing StartupActivity
03-16 13:27:17.069 I/BaseActivity: Stopping StartupActivity
```
Stacktrace:
```
Failure delivering result ResultInfo{who=@android:autoFillAuth:, request=1048576, result=-1, data=Intent { }} to activity {org.briarproject.briar.android/org.briarproject.briar.android.login.StartupActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.os.Bundle.containsKey(java.lang.String)' on a null object reference
java.lang.RuntimeException: Failure delivering result ResultInfo{who=@android:autoFillAuth:, request=1048576, result=-1, data=Intent { }} to activity {org.briarproject.briar.android/org.briarproject.briar.android.login.StartupActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.os.Bundle.containsKey(java.lang.String)' on a null object reference
at android.app.ActivityThread.deliverResults(ActivityThread.java:5510)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:5549)
at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:54)
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:2341)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:233)
at android.os.Looper.loop(Looper.java:344)
at android.app.ActivityThread.main(ActivityThread.java:8184)
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:1034)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.os.Bundle.containsKey(java.lang.String)' on a null object reference
at android.view.autofill.AutofillManager.onAuthenticationResult(AutofillManager.java:1798)
at android.app.Activity.dispatchActivityResult(Activity.java:8494)
at android.app.ActivityThread.deliverResults(ActivityThread.java:5503)
```https://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-desktop/-/issues/367gradle.properties defines org.gradle.jvmargs twice2022-06-13T08:56:13ZSebastiangradle.properties defines org.gradle.jvmargs twiceWhile working on !8 I noticed it reverts a commit that introduces this issue (2e2b0f15153316)While working on !8 I noticed it reverts a commit that introduces this issue (2e2b0f15153316)