briar issueshttps://code.briarproject.org/groups/briar/-/issues2023-08-28T16:08:02Zhttps://code.briarproject.org/briar/public-mesh-research/-/issues/14Initial investigations: companion device pairing2023-08-28T16:08:02ZakwizgranInitial investigations: companion device pairinghttps://developer.android.com/guide/topics/connectivity/companion-device-pairinghttps://developer.android.com/guide/topics/connectivity/companion-device-pairingPublic mesh researchSebastianSebastianhttps://code.briarproject.org/briar/public-mesh-research/-/issues/13Evaluate testing libraries for automating mesh experiments2023-08-28T16:08:02ZakwizgranEvaluate testing libraries for automating mesh experimentsEvaluate libraries designed for automated on-device testing to see whether any of them would be suitable for automating mesh experiments that need to run on real devices.
* https://www.softwaretestingmagazine.com/tools/open-source-andro...Evaluate libraries designed for automated on-device testing to see whether any of them would be suitable for automating mesh experiments that need to run on real devices.
* https://www.softwaretestingmagazine.com/tools/open-source-android-testing-tools/
* https://android.googlesource.com/platform/tools/test/connectivity/+/master/acts
* https://source.android.com/docs/core/connect/acts
* https://source.android.com/docs/core/connect/acts-advanced-guide
* https://android.googlesource.com/platform/external/sl4a/+/master/README.md
* https://github.com/google/mobly
* https://github.com/google/mobly/issues/666Public mesh researchSebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/385IOException on startup2023-04-19T14:32:03ZMikolai GütschowIOException on startupOn current `main`, but only marked as warning at logging time. Doesn't seem to cause further issues, but should probably be adressed at some point.
```
10:34:59.932 [main] WARN o.b.b.s.UnixSecureRandomProvider - java.io.IOException: Op...On current `main`, but only marked as warning at logging time. Doesn't seem to cause further issues, but should probably be adressed at some point.
```
10:34:59.932 [main] WARN o.b.b.s.UnixSecureRandomProvider - java.io.IOException: Operation not permitted
java.io.IOException: Operation not permitted
at java.base/java.io.FileOutputStream.writeBytes(Native Method)
at java.base/java.io.FileOutputStream.write(FileOutputStream.java:349)
at java.base/java.io.DataOutputStream.writeLong(DataOutputStream.java:230)
at org.briarproject.bramble.system.AbstractSecureRandomProvider.writeToEntropyPool(AbstractSecureRandomProvider.java:24)
at org.briarproject.bramble.system.UnixSecureRandomProvider.writeSeed(UnixSecureRandomProvider.java:49)
at org.briarproject.bramble.system.UnixSecureRandomProvider.getProvider(UnixSecureRandomProvider.java:41)
at org.briarproject.bramble.crypto.CryptoComponentImpl.<init>(CryptoComponentImpl.java:85)
at org.briarproject.bramble.crypto.CryptoModule.provideCryptoComponent(CryptoModule.java:32)
at org.briarproject.bramble.crypto.CryptoModule_ProvideCryptoComponentFactory.provideCryptoComponent(CryptoModule_ProvideCryptoComponentFactory.java:42)
at org.briarproject.bramble.crypto.CryptoModule_ProvideCryptoComponentFactory.get(CryptoModule_ProvideCryptoComponentFactory.java:31)
at org.briarproject.bramble.crypto.CryptoModule_ProvideCryptoComponentFactory.get(CryptoModule_ProvideCryptoComponentFactory.java:10)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.bramble.sync.MessageFactoryImpl_Factory.get(MessageFactoryImpl_Factory.java:21)
at org.briarproject.bramble.sync.MessageFactoryImpl_Factory.get(MessageFactoryImpl_Factory.java:8)
at org.briarproject.bramble.sync.SyncModule_ProvideMessageFactoryFactory.get(SyncModule_ProvideMessageFactoryFactory.java:26)
at org.briarproject.bramble.sync.SyncModule_ProvideMessageFactoryFactory.get(SyncModule_ProvideMessageFactoryFactory.java:9)
at org.briarproject.bramble.db.DatabaseModule_ProvideDatabaseFactory.get(DatabaseModule_ProvideDatabaseFactory.java:36)
at org.briarproject.bramble.db.DatabaseModule_ProvideDatabaseFactory.get(DatabaseModule_ProvideDatabaseFactory.java:12)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.bramble.db.DatabaseModule_ProvideDatabaseComponentFactory.get(DatabaseModule_ProvideDatabaseComponentFactory.java:40)
at org.briarproject.bramble.db.DatabaseModule_ProvideDatabaseComponentFactory.get(DatabaseModule_ProvideDatabaseComponentFactory.java:13)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.bramble.lifecycle.LifecycleManagerImpl_Factory.get(LifecycleManagerImpl_Factory.java:30)
at org.briarproject.bramble.lifecycle.LifecycleManagerImpl_Factory.get(LifecycleManagerImpl_Factory.java:10)
at org.briarproject.bramble.lifecycle.LifecycleModule_ProvideLifecycleManagerFactory.get(LifecycleModule_ProvideLifecycleManagerFactory.java:26)
at org.briarproject.bramble.lifecycle.LifecycleModule_ProvideLifecycleManagerFactory.get(LifecycleModule_ProvideLifecycleManagerFactory.java:9)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.bramble.cleanup.CleanupModule_ProvideCleanupManagerFactory.get(CleanupModule_ProvideCleanupManagerFactory.java:35)
at org.briarproject.bramble.cleanup.CleanupModule_ProvideCleanupManagerFactory.get(CleanupModule_ProvideCleanupManagerFactory.java:11)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.briar.desktop.DaggerBriarDesktopTestApp.injectEagerSingletons(DaggerBriarDesktopTestApp.java:1641)
at org.briarproject.briar.desktop.DaggerBriarDesktopTestApp.inject(DaggerBriarDesktopTestApp.java:1493)
at org.briarproject.bramble.BrambleCoreEagerSingletons$Helper.injectEagerSingletons(BrambleCoreEagerSingletons.java:51)
at org.briarproject.briar.desktop.RunWithMultipleTemporaryAccounts.app(RunWithMultipleTemporaryAccounts.kt:91)
at org.briarproject.briar.desktop.RunWithMultipleTemporaryAccounts.run(RunWithMultipleTemporaryAccounts.kt:52)
at org.briarproject.briar.desktop.TestWithTwoConnectedTemporaryAccountsKt.main(TestWithTwoConnectedTemporaryAccounts.kt:28)
at org.briarproject.briar.desktop.TestWithTwoConnectedTemporaryAccountsKt.main(TestWithTwoConnectedTemporaryAccounts.kt)
```https://code.briarproject.org/briar/briar-desktop/-/issues/383Follow-up from notifications: improve setup for interactive tests2022-09-14T07:02:47ZSebastianFollow-up from notifications: improve setup for interactive testsThe following discussion from !214 should be addressed:
- [ ] @sebkur started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/214#note_70441): (+10 comments)
> What was your motivation for these c...The following discussion from !214 should be addressed:
- [ ] @sebkur started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/214#note_70441): (+10 comments)
> What was your motivation for these changes here?
This discussion was about `RunWithMultipleTemporaryAccounts` and moving the customization into a `LaunchedEffect()` with `delay(500)` in 107100adc7290d98:
```kotlin
application {
LaunchedEffect(Unit) {
delay(500)
apps.forEach {
val accountManager = it.getAccountManager()
val lifecycleManager = it.getLifecycleManager()
val dbKey = accountManager.databaseKey ?: throw AssertionError()
lifecycleManager.startServices(dbKey)
lifecycleManager.waitForStartup()
}
customization(apps)
}
```https://code.briarproject.org/briar/public-mesh-research/-/issues/11Initial investigations: LAN peer discovery2023-08-28T16:08:02ZakwizgranInitial investigations: LAN peer discoveryPort the LAN peer discovery code from the Disco app to the public mesh testbed, bring it up to date, wire it up to the UI, and see whether we can use wake locks, wifi locks and/or multicast locks to solve the issues reported [here](https...Port the LAN peer discovery code from the Disco app to the public mesh testbed, bring it up to date, wire it up to the UI, and see whether we can use wake locks, wifi locks and/or multicast locks to solve the issues reported [here](https://code.briarproject.org/briar/briar/-/issues/28#note_32217) with the success rate dropping when the screen is turned off. We also need to test on newer API levels and work out what permissions are required on each API level.
It would be useful to know whether LAN peer discovery typically works for devices connected to a wifi hotspot (created manually via the system settings app) and/or a Wi-Fi Direct legacy mode hotspot (we could use the Offline Hotspot app for testing this).
Subtask of #1. Related to briar#28.Public mesh researchakwizgranakwizgranhttps://code.briarproject.org/briar/briar-desktop/-/issues/382.desktop file for jar distribution2022-09-21T21:56:19ZMikolai Gütschow.desktop file for jar distributionWhile working on !214
@ialokim started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/214#note_70289): (+9 comments)
> one thing worth mentioning is that the Briar logo is not shown in this test syst...While working on !214
@ialokim started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/214#note_70289): (+9 comments)
> one thing worth mentioning is that the Briar logo is not shown in this test system since no `.desktop` file is installed when directly running the jar (as opposed to an installation via deb (and flatpack?)). We could overcome this by setting an image on the notification itself, but I would have to look into it again. Also, it might be nice to have the option of creating the `.desktop` file anyhow, to be able to find it in the start menu for example. Not sure how this is usually handled with Java programs distributed as jar files...
We should probably check on (first or all?) launch if a `.desktop` file is present on the system and otherwise offer the user to create one.Desktop 1.0.0https://code.briarproject.org/briar/briar-desktop/-/issues/379Data dir is resolved relative to submodule directory when run using `./gradle...2022-09-06T06:56:14ZSebastianData dir is resolved relative to submodule directory when run using `./gradlew run`When I run briar from the git repo using `./gradlew run --args="--data-dir briardata"` then I would expect `briardata` to be in the current working directory where I'm currently located with my shell. However, apparently the current work...When I run briar from the git repo using `./gradlew run --args="--data-dir briardata"` then I would expect `briardata` to be in the current working directory where I'm currently located with my shell. However, apparently the current working directory for the process is the `briar-desktop` subdirectory so that the data dir created/used really is `briar-desktop/briardata`.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/2362Timestamps in contact list (and maybe other lists) aren't updated2022-08-30T13:17:55ZakwizgranTimestamps in contact list (and maybe other lists) aren't updatedTimestamps in the contact list aren't updated if the screen timeout is set to less than 1 minute, as the refresher task is cancelled when the screen turns off.
Other BriarRecyclerViews may be affected if they don't reload their data or ...Timestamps in the contact list aren't updated if the screen timeout is set to less than 1 minute, as the refresher task is cancelled when the screen turns off.
Other BriarRecyclerViews may be affected if they don't reload their data or redraw their lists when started/resumed.https://code.briarproject.org/briar/dont-kill-me-lib/-/issues/3Huawei app launch intent doesn't work on P40 Lite 5G2023-08-24T14:46:52ZakwizgranHuawei app launch intent doesn't work on P40 Lite 5GOn the Huawei P40 Lite 5G (Android 10, EMUI 12.0.0), `HuaweiUtils.appLaunchNeedsToBeShown()` returns `true` but none of the intents in `huaweiAppLaunchIntents` can be used to open an activity.On the Huawei P40 Lite 5G (Android 10, EMUI 12.0.0), `HuaweiUtils.appLaunchNeedsToBeShown()` returns `true` but none of the intents in `huaweiAppLaunchIntents` can be used to open an activity.https://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/changelog