briar issueshttps://code.briarproject.org/groups/briar/-/issues2023-01-20T10:50:25Zhttps://code.briarproject.org/briar/briar-desktop/-/issues/387Packaging for Windows2023-01-20T10:50:25ZSebastianPackaging for WindowsDesktop 0.4.0SebastianSebastianhttps://code.briarproject.org/briar/briar/-/issues/2364Do we need a revocation mechanism or remote-destruction? Is it helpful?2022-09-15T09:20:43ZThomasDo we need a revocation mechanism or remote-destruction? Is it helpful?Hi!
I found this ancient thread:https://sourceforge.net/p/briar/mailman/briar-devel/thread/4F33A780.8050705%40gmx.com/#msg28809772
>(Starting a new thread for this because the old thread was getting frayed.)
>
>On 09/02/12 03:14, awgh wr...Hi!
I found this ancient thread:https://sourceforge.net/p/briar/mailman/briar-devel/thread/4F33A780.8050705%40gmx.com/#msg28809772
>(Starting a new thread for this because the old thread was getting frayed.)
>
>On 09/02/12 03:14, awgh wrote:
>> - Cert revocations are signed with the cert they're revoking. If that
>> cert isn't in the local table, this is one string compare. Not much of
>> a DoS.
>
>Cool, I think we have the beginnings of a design here. Thanks Ben!
>
>1. Each user creates a personal keypair (this is separate from any
>pseudonyms she may create).
>
>2. The user creates a revocation certificate and signs it with the
>private key.
>
>3. The user applies a secret sharing algorithm to the revocation
>certificate. She chooses a few trusted friends and sends each friend a
>SAVE_SHARE message, which contains a share of the revocation certificate
>and the ID of the key.
>
>4. The user creates a KEY_ID message containing the ID of the key and
>sends it to any contacts who didn't receive shares.
>
>5. If a friend thinks the user's key has been compromised, she creates a
>REVOKE_SHARE message containing her share of the certificate and the ID
>of the key. She stores the message and sends it to all her contacts.
>
>6. If a user receives a REVOKE_SHARE message and recognises the ID, she
>stores the message and forwards it to all her contacts.
>
>7. If a user receives enough shares to reconstruct the revocation
>certificate, she considers the key revoked. She creates a REVOKE_CERT
>message containing the certificate, stores the message and sends it to
>all her contacts.
>
>8. If a user receives a REVOKE_CERT message and recognises the ID, she
>considers the key revoked, stores the message and forwards it to all her
>contacts.
>
>Does this look like a reasonable start?
>
>Cheers,
>Michael
I know that a lot has changed since then. But do we need a revocation mechanism in Briar now?
It also made me think: Is a remote-identity-destruction-mechanism helpful? (If the phone gets into the wrong hands and the phone can still access another contact some way - that contacts can together derive a revocation-key which tells the phone to delete the Briar-Identity?) Or is that remote-mechanism more in the scope of a panic-button-app?https://code.briarproject.org/briar/briar-spec/-/issues/16Not documented: What if BSP-Content > max length of frame data2022-09-15T09:05:44ZThomasNot documented: What if BSP-Content > max length of frame dataHi!
I already got that info through debugging, but I didn't find in the doc what happend when BSP-Data is bigger than the content of a BTP-Frame is allowed to be - that is is just sliced and the next frame starts directly with the conten...Hi!
I already got that info through debugging, but I didn't find in the doc what happend when BSP-Data is bigger than the content of a BTP-Frame is allowed to be - that is is just sliced and the next frame starts directly with the content without having a header.https://code.briarproject.org/briar/briar-spec/-/issues/15clarify things around contact initiation2022-09-15T08:49:39ZThomasclarify things around contact initiationHi!
It it not really clear for me when reading the Specs when BHP is used. Basically it is only used currently in the Endpoint created in.
I would add clarification to BHP, BRP and also generally tackle BHP+BRP in https://code.briarproje...Hi!
It it not really clear for me when reading the Specs when BHP is used. Basically it is only used currently in the Endpoint created in.
I would add clarification to BHP, BRP and also generally tackle BHP+BRP in https://code.briarproject.org/briar/briar/-/wikis/A-Quick-Overview-of-the-Protocol-Stack .
The Key Agreement Protocol (https://chat.briarproject.org/briar/pl/rzro8mqxx7fz9x3cfmaejrkkbr ) is also currently never mentioned or specified.https://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/briar-desktop/-/issues/386Tooltip for sidebar has uppercase and unlocalized strings2022-09-16T19:19:35ZSebastianTooltip for sidebar has uppercase and unlocalized stringsit shows CONTACTS, SETTINGS and ABOUT.it shows CONTACTS, SETTINGS and ABOUT.SebastianSebastianhttps://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-mailbox/-/issues/161About screen2023-08-28T16:00:10ZakwizgranAbout screenAdd a screen that shows the Mailbox version, to help with debugging.Add a screen that shows the Mailbox version, to help with debugging.https://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/384Release 0.3.0-beta2022-10-13T11:54:34ZMikolai GütschowRelease 0.3.0-betasee #346 as reference
### Preparation
* [x] String freeze (disable auto-pull) and announcement on Transifex at least a week before the release
* [x] Update translations, potentially adding new languages to `UnencryptedSettings.kt` (!246...see #346 as reference
### Preparation
* [x] String freeze (disable auto-pull) and announcement on Transifex at least a week before the release
* [x] Update translations, potentially adding new languages to `UnencryptedSettings.kt` (!246)
* [x] Extensive testing
* [x] Update [changelog](https://code.briarproject.org/briar/briar-desktop/-/wikis/Changelog)
### Version bump
* [x] Change version in build config and metainfo.xml (!247)
* [x] Tag in Git (use `git tag -a -s <version-name>-beta -m "Briar Desktop <version-name>-beta"`) (https://code.briarproject.org/briar/briar-desktop/-/tags/0.3.0-beta)
* [x] GitLab CI builds release files automatically (https://code.briarproject.org/briar/briar-desktop/-/pipelines/12278)
### Deployment
* [x] Copy release files to desktop.briarproject.org (using [`update-binaries.sh`](https://code.briarproject.org/briar/briar-desktop-servers/-/blob/main/root/update-binaries.sh) with updated version code)
* [x] Rewrite and check that permalink points to correct version (don't forget to test and reload web server)
* [x] Update version and checksums (calculated using [`verify_hashsums.sh`](https://code.briarproject.org/briar/briar-desktop-servers/-/blob/main/verify_hashsums.sh)) on website (website!98)
* [x] Publish website
### PR
* [x] Inform 3rd party maintainers about release
* [x] Post on social media ([Mastodon](https://fosstodon.org/@briar/109088365932882189), [Twitter](https://twitter.com/BriarApp/status/1575889657954504704)), useful [character counter](https://charactercounter.com/twitter)
* [x] Update screenshot on website
### Backlog
* [x] Update description, milestone and due date of #337
* [ ] Re-enable auto-pull on Transifex under Resources > Auto update resources > add [url](https://code.briarproject.org/briar/briar-desktop/-/raw/main/briar-desktop/src/main/resources/strings/BriarDesktop.properties) => postponed via #403Desktop 0.3.0SebastianSebastianhttps://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/12Backport RecyclerView from blessed-gatt branch to master2022-11-08T13:28:31ZakwizgranBackport RecyclerView from blessed-gatt branch to masterBackport the main fragment's RecyclerView and adapter from the blessed-gatt branch to master. The Peer class may also need to be backported, with the Bluetooth-specific fields removed (which may be all of them!).Backport the main fragment's RecyclerView and adapter from the blessed-gatt branch to master. The Peer class may also need to be backported, with the Bluetooth-specific fields removed (which may be all of them!).Public mesh researchakwizgranakwizgranhttps://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-mailbox/-/issues/160Wiping complete screen - button hides text in landscape orientation2023-01-19T13:06:34ZIvanaWiping complete screen - button hides text in landscape orientationThis happens on HTC E9 Android 5.0.2, HTC One M9 Android 7, Samsung 6810 Android 4.1.2 (very small screen), nokia 3.2 Android 10...
Whereas on the big screen of Huawei P40 lite 5G all the text and the button are displayed OK.
![Screensho...This happens on HTC E9 Android 5.0.2, HTC One M9 Android 7, Samsung 6810 Android 4.1.2 (very small screen), nokia 3.2 Android 10...
Whereas on the big screen of Huawei P40 lite 5G all the text and the button are displayed OK.
![Screenshot_20220907_171716](/uploads/a375e717fb43a0e044d67779719b3760/Screenshot_20220907_171716.png)https://code.briarproject.org/briar/briar/-/issues/2363Mailbox unreachable screen on Briar side - landscape - Samsung 6810 (small sc...2023-01-19T13:07:05ZIvanaMailbox unreachable screen on Briar side - landscape - Samsung 6810 (small screen) links overwriting each otherOn Samsung 6810 when the mailbox is not reachable, the screen looks like this - links overwriting each other
![Screenshot_20220907_164841](/uploads/d38b4a87b6ae1d09611f0f99d02fd193/Screenshot_20220907_164841.png)On Samsung 6810 when the mailbox is not reachable, the screen looks like this - links overwriting each other
![Screenshot_20220907_164841](/uploads/d38b4a87b6ae1d09611f0f99d02fd193/Screenshot_20220907_164841.png)IvanaIvanahttps://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/public-mesh-research/-/issues/10Initial investigations: Bluetooth Classic2022-11-08T13:28:31ZakwizgranInitial investigations: Bluetooth ClassicSubtask of #1.Subtask of #1.Public mesh researchakwizgranakwizgranhttps://code.briarproject.org/briar/briar-desktop/-/issues/381Notifications on Windows2023-01-12T19:22:39ZSebastianNotifications on WindowsThe IntelliJ implementation might prove helpful:
https://github.com/JetBrains/intellij-community/blob/master/platform/platform-impl/src/com/intellij/ui/SystemTrayNotifications.javaThe IntelliJ implementation might prove helpful:
https://github.com/JetBrains/intellij-community/blob/master/platform/platform-impl/src/com/intellij/ui/SystemTrayNotifications.javaDesktop 0.4.0SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/380Notifications on macOS2023-06-26T13:20:35ZSebastianNotifications on macOSThe IntelliJ implementation might prove helpful:
https://github.com/JetBrains/intellij-community/blob/master/platform/platform-impl/src/com/intellij/ui/MacOsNotifications.javaThe IntelliJ implementation might prove helpful:
https://github.com/JetBrains/intellij-community/blob/master/platform/platform-impl/src/com/intellij/ui/MacOsNotifications.javaSebastianSebastianhttps://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`.