briar issueshttps://code.briarproject.org/groups/briar/-/issues2023-07-31T16:12:24Zhttps://code.briarproject.org/briar/briar/-/issues/2440Biometric login as an additional authentication method2023-07-31T16:12:24ZPatrick MaydellBiometric login as an additional authentication methodSometimes the briar app logs out and I have to enter the password again to unlock the database. Therefore it would be nice to have an additional authentication method like the biometric fingerprint to unlock briar's database by using And...Sometimes the briar app logs out and I have to enter the password again to unlock the database. Therefore it would be nice to have an additional authentication method like the biometric fingerprint to unlock briar's database by using Android's Biometric library.
https://developer.android.com/codelabs/biometric-login
I would like to try to commit this functionality to briar if you generally think this feature would be nice to have.https://code.briarproject.org/briar/website/-/issues/44Update transports image on How it works page2023-10-02T11:39:59ZNicoUpdate transports image on How it works page![Briar can sync via Bluetooth/Wi-Fi/Tor](https://code.briarproject.org/briar/website/-/raw/2399a954f54ec218993338127283fc0801879db1/static/img/diagram_secure.png)
On this image, memory cards are missing. I'd like to add them, but I can...![Briar can sync via Bluetooth/Wi-Fi/Tor](https://code.briarproject.org/briar/website/-/raw/2399a954f54ec218993338127283fc0801879db1/static/img/diagram_secure.png)
On this image, memory cards are missing. I'd like to add them, but I can't find the source file of it. @akwizgran Do you have it? Otherwise I can create a new (vector-based) image, but that would be much more work. Therefore, obtaining the source file is preferred :slight_smile:https://code.briarproject.org/briar/tor-reproducer/-/issues/16Upgrade Tor to 0.4.7.142023-08-08T17:45:01ZakwizgranUpgrade Tor to 0.4.7.14Tor 0.4.7.14 includes a major bugfix related to onion services:
> Major bugfixes (vanguards):
> - Rotate to a new L2 vanguard whenever an existing one loses theStable or Fast flag. Previously, we would leave these relays in the L2 va...Tor 0.4.7.14 includes a major bugfix related to onion services:
> Major bugfixes (vanguards):
> - Rotate to a new L2 vanguard whenever an existing one loses theStable or Fast flag. Previously, we would leave these relays in the L2 vanguard list but never use them, and if all of our vanguards end up like this we wouldn't have any middle nodes left to choose from so we would fail to make onion-related circuits. Fixes bug 40805; bugfix on 0.4.7.1-alpha.https://code.briarproject.org/briar/briar-desktop/-/issues/538Add command line `--test-tor` or similar to check Tor is working properly2023-07-26T14:25:27ZSebastianAdd command line `--test-tor` or similar to check Tor is working properlyWhile trying to improve the situation with #486 and improving the NixOS package, I got an idea that might be helpful for 3rd party maintainers. If we added a `--test-tor` switch to the executable with the behavior of spinning up a `TorWr...While trying to improve the situation with #486 and improving the NixOS package, I got an idea that might be helpful for 3rd party maintainers. If we added a `--test-tor` switch to the executable with the behavior of spinning up a `TorWrapper` and making sure it can bootstrap, that could be used in CI pipelines to make sure they don't screw up things somehow. I got inspired by a PR on Github where I've seen that a bunch of pipelines have been started for the changes, not just for Linux but also for macOS and I would guess that all kinds of things could go wrong if they attempt to package custom tor binaries for macOS like the do on Linux: https://github.com/NixOS/nixpkgs/pull/245398#issuecomment-1650054652https://code.briarproject.org/briar/briar/-/issues/2439Live Location Share with Duration2024-01-23T11:39:23ZVladislavLive Location Share with DurationWith this functionality, users will be able to share their real-time location with friends, family, or contacts in a secure and privacy-conscious manner.
Key Features:
1. Real-Time Location Sharing: Users should have the ability to ini...With this functionality, users will be able to share their real-time location with friends, family, or contacts in a secure and privacy-conscious manner.
Key Features:
1. Real-Time Location Sharing: Users should have the ability to initiate live location sharing, which enables their contacts to view their current location on a map for the duration of the sharing session.
2. Customizable Sharing Duration: The feature should allow users to set a specific duration for which they wish to share their live location. After the duration expires, the location sharing should automatically stop, ensuring users have complete control over their shared information.
3. Granular Control: Users should have the flexibility to choose whom they wish to share their live location with on a case-by-case basis, or to revoke location sharing at any time during an active session.
Benefits:
The addition of live location sharing with duration would offer several benefits to the Briar Messenger community:
1. Enhanced Safety: Users will have a practical tool for sharing their real-time location during critical situations, providing an extra layer of safety and reassurance.
2. Seamless Coordination: Friends and family can coordinate meet-ups more efficiently, as they'll be able to see each other's locations in real-time.
3. Increased User Engagement: The introduction of such a feature could attract new users to the platform and increase overall user engagement.
4. Comprehensive Application: By incorporating live location sharing, Briar Messenger can become a more comprehensive communication tool for both everyday use and emergency situationshttps://code.briarproject.org/briar/tor-reproducer/-/issues/15Linux binaries require glibc 2.292023-07-13T11:04:05ZakwizgranLinux binaries require glibc 2.29The Linux binaries won't run on systems with glibc 2.28 (eg Debian 10), perhaps because they were built on Debian 11. If we still want to support these older platforms (which is an open question) then we should ensure the binaries are co...The Linux binaries won't run on systems with glibc 2.28 (eg Debian 10), perhaps because they were built on Debian 11. If we still want to support these older platforms (which is an open question) then we should ensure the binaries are compatible with older glibc versions. If we don't then we can close this ticket.https://code.briarproject.org/briar/briar-mailbox/-/issues/196Support for running on a linux server (also containers)2023-10-27T11:21:57ZmicressorSupport for running on a linux server (also containers)I would love to be able to run the mailbox on my own server.
The most optimal would probably be a container like podman or docker.
Small advantage of this variant: The smartphone used for this does not radiate unnecessarily.I would love to be able to run the mailbox on my own server.
The most optimal would probably be a container like podman or docker.
Small advantage of this variant: The smartphone used for this does not radiate unnecessarily.https://code.briarproject.org/briar/briar-desktop/-/issues/537Consistently import Alignment.*2023-07-13T11:37:51ZSebastianConsistently import Alignment.*https://code.briarproject.org/briar/briar-desktop/-/issues/536Allow navigation to individual blogs2023-08-14T14:04:01ZTorsten GroteAllow navigation to individual blogsjust one level from the feed. in the blogs don't allow further navigationjust one level from the feed. in the blogs don't allow further navigationDesktop 0.6.0Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar-desktop/-/issues/535Share blogs2023-08-14T14:13:44ZTorsten GroteShare blogsDesktop 0.6.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/534Show RSS avatar when post is from RSS feed2023-08-29T13:27:10ZTorsten GroteShow RSS avatar when post is from RSS feedLike the Android app does it.Like the Android app does it.Desktop 0.6.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/533Blog post unread handling2023-08-02T19:26:53ZTorsten GroteBlog post unread handling* show when blog post is unread
* show unread bubble in sidebar
* show unread FAB to jump up to unread posts (if any)* show when blog post is unread
* show unread bubble in sidebar
* show unread FAB to jump up to unread posts (if any)Desktop 0.6.0Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/2438Incognito keyboard disables voice typing in Gboard2023-07-04T15:12:34ZakwizgranIncognito keyboard disables voice typing in GboardBriar uses the "no personalized learning" flag (incognito keyboard) for all text input. A user reported that this prevents them from using voice typing with Gboard.
We should probably provide a setting for this, as some users need voice...Briar uses the "no personalized learning" flag (incognito keyboard) for all text input. A user reported that this prevents them from using voice typing with Gboard.
We should probably provide a setting for this, as some users need voice typing for accessibility.https://code.briarproject.org/briar/briar-desktop/-/issues/532NoSuchGroupException when upgrading to 0.5.0-beta2023-09-05T11:00:37ZNicoNoSuchGroupException when upgrading to 0.5.0-betaI'm on Debian stable, i.e., version 12, titled `bookworm`, and have a Briar database which originated from Android in 2019.
After upgrading to 0.5.0-beta, I can't use Briar Desktop at all anymore, because it fails to "start a required c...I'm on Debian stable, i.e., version 12, titled `bookworm`, and have a Briar database which originated from Android in 2019.
After upgrading to 0.5.0-beta, I can't use Briar Desktop at all anymore, because it fails to "start a required component." I vaguely remember having had the same issue when I upgraded to the Briar Desktop version that introduced forums.
![Screenshot_from_2023-06-28_18-42-21](/uploads/eafbcb563141d68634f2540a35956c22/Screenshot_from_2023-06-28_18-42-21.png)
```
$ briar-desktop
2023-06-28 18:42:34,034 [main] INFO org.briarproject.briar.desktop.Main - This is briar-desktop version 0.5.0-beta
2023-06-28 18:42:34,036 [main] INFO org.briarproject.briar.desktop.Main - Build info:
2023-06-28 18:42:34,036 [main] INFO org.briarproject.briar.desktop.Main - Git hash 50cccb716940208c2a71257e3109d9c1cad5d53e
2023-06-28 18:42:34,036 [main] INFO org.briarproject.briar.desktop.Main - Commit time 2023-06-28 13:08:48
2023-06-28 18:42:34,037 [main] INFO org.briarproject.briar.desktop.Main - Tag 0.5.0-beta
2023-06-28 18:42:35,435 [AWT-EventQueue-0] INFO o.b.b.d.n.l.LibnotifyNotificationProvider - Notification server capabilities: actions, body, body-markup, icon-static, persistence, sound
2023-06-28 18:42:40,015 [pool-1-thread-1] WARN o.b.b.lifecycle.LifecycleManagerImpl - org.briarproject.bramble.api.lifecycle.ServiceException: org.briarproject.bramble.api.db.NoSuchGroupException
org.briarproject.bramble.api.lifecycle.ServiceException: org.briarproject.bramble.api.db.NoSuchGroupException
at org.briarproject.bramble.versioning.ClientVersioningManagerImpl.startService(ClientVersioningManagerImpl.java:149)
at org.briarproject.bramble.lifecycle.LifecycleManagerImpl.startServices(LifecycleManagerImpl.java:145)
at org.briarproject.briar.desktop.login.StartupViewModel.startBriarCore(StartupViewModel.kt:111)
at org.briarproject.briar.desktop.login.LoginSubViewModel$signIn$1.invoke(LoginSubViewModel.kt:100)
at org.briarproject.briar.desktop.login.LoginSubViewModel$signIn$1.invoke(LoginSubViewModel.kt:97)
at org.briarproject.briar.desktop.threading.BriarExecutorsImpl.onIoThread$lambda$5(BriarExecutorsImpl.kt:105)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: org.briarproject.bramble.api.db.NoSuchGroupException: null
at org.briarproject.bramble.db.DatabaseComponentImpl.getMessageMetadata(DatabaseComponentImpl.java:695)
at org.briarproject.bramble.client.ClientHelperImpl.getMessageMetadataAsDictionary(ClientHelperImpl.java:231)
at org.briarproject.briar.privategroup.invitation.GroupInvitationManagerImpl.getPreferredVisibilities(GroupInvitationManagerImpl.java:706)
at org.briarproject.briar.privategroup.invitation.GroupInvitationManagerImpl.onPrivateGroupClientVisibilityChanging(GroupInvitationManagerImpl.java:688)
at org.briarproject.bramble.versioning.ClientVersioningManagerImpl.callVisibilityHook(ClientVersioningManagerImpl.java:502)
at org.briarproject.bramble.versioning.ClientVersioningManagerImpl.callVisibilityHooks(ClientVersioningManagerImpl.java:494)
at org.briarproject.bramble.versioning.ClientVersioningManagerImpl.clientVersionsUpdated(ClientVersioningManagerImpl.java:345)
at org.briarproject.bramble.versioning.ClientVersioningManagerImpl.lambda$startService$0(ClientVersioningManagerImpl.java:145)
at org.briarproject.bramble.db.DatabaseComponentImpl.transaction(DatabaseComponentImpl.java:200)
at org.briarproject.bramble.versioning.ClientVersioningManagerImpl.startService(ClientVersioningManagerImpl.java:142)
... 8 common frames omitted
2023-06-28 18:42:40,018 [pool-1-thread-1] WARN o.b.b.desktop.login.StartupViewModel - Startup failed: SERVICE_ERROR
```
Besides that: congratulations to the team for releasing this very important features and platforms :tada:Desktop 0.5.0https://code.briarproject.org/briar/briar/-/issues/2437Use `SystemClock#currentNetworkTimeClock()` to diagnose clock sync isses2023-06-28T13:56:25ZTorsten GroteUse `SystemClock#currentNetworkTimeClock()` to diagnose clock sync isses`SystemClock#currentNetworkTimeClock()` may be useful for diagnosing whether clock sync issues are due to misconfiguration or NTP tampering.`SystemClock#currentNetworkTimeClock()` may be useful for diagnosing whether clock sync issues are due to misconfiguration or NTP tampering.https://code.briarproject.org/briar/briar-desktop/-/issues/531Draft message gone when navigating away from forum/group and back there2023-06-28T12:14:12ZSebastianDraft message gone when navigating away from forum/group and back thereThis is different in contrast to private messages, where we preserve the text in the input box. I think it would probably be better to keep the text in the input fields for forums and groups, too.This is different in contrast to private messages, where we preserve the text in the input box. I think it would probably be better to keep the text in the input fields for forums and groups, too.https://code.briarproject.org/briar/briar-desktop/-/issues/530Release 0.5.0-beta2023-09-28T11:05:27ZSebastianRelease 0.5.0-betasee #508 as reference
### Preparation
* [x] String freeze (disable auto-pull) and announcement on Transifex at least a week before the release
* [x] Update translations (!349)
- run `tx pull -a -f`, add new languages to `Unencrypt...see #508 as reference
### Preparation
* [x] String freeze (disable auto-pull) and announcement on Transifex at least a week before the release
* [x] Update translations (!349)
- run `tx pull -a -f`, add new languages to `UnencryptedSettings.kt` (see [java locale list](https://www.oracle.com/java/technologies/javase/jdk17-suported-locales.html)), create commit
- temporarily remove `minimum_perc = 50` from `.tx/config`
- run `tx pull -a -f && git add -u && git clean -f`
- re-add `minimum_perc = 50` to `.tx/config`, append changes to last commit
* [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 (!350)
* [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.5.0-beta) then `git push origin <tag_name>`
* [x] GitLab CI builds release files automatically (https://code.briarproject.org/briar/briar-desktop/-/pipelines/15015)
### 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 (stable pipelines links were broken at this time, so using pipeline ids for Windows and Linux instead)
* [x] Download macOS zip files from CI pipeline, sign and notarize, copy to server manually
* [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 [`get_hashsums.sh`](https://code.briarproject.org/briar/briar-desktop-servers/-/blob/main/get_hashsums.sh) and then verified using [`verify_hashsums.sh`](https://code.briarproject.org/briar/briar-desktop-servers/-/blob/main/verify_hashsums.sh)) on website (website!117)
* [x] Publish website
### PR
* [x] Inform 3rd party maintainers about release
* [x] Publish blog post
* [x] Post on social media ([Mastodon](https://fosstodon.org/@briar/110650543490188739), [Twitter](TWITTER)), useful [character counter](https://charactercounter.com/twitter)
* [ ] ~~Update screenshot on website~~
### Backlog
* [x] Update description, milestone and due date of #337
* [x] 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)Desktop 0.5.0SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/529Document building and running on macOS2023-06-23T10:50:29ZSebastianDocument building and running on macOS!332 brings support for building and running on macOS. The CI has been configured to produce distributable zip archives, however it's not entirely straightforward to run these as signing and notarization needs to be done for which a cert...!332 brings support for building and running on macOS. The CI has been configured to produce distributable zip archives, however it's not entirely straightforward to run these as signing and notarization needs to be done for which a certificate is required (either self-created or officially obtained from Apple). While we do take the zip created by the CI and sign it ourselves in order to publish it on the website as packages that can be installed by ordinary users, we should probably document how to sign packages, so that developers can run developments builds or people can use the nightly builds from the CI for experimentation and testing.
There's a script `utils/sign-mac.sh` that can be used for signing the packages build locally using pinpit or build on the CI, but it requires some modification in order to work. Either one needs to put the credentials for one's own Apple developer certificate into the script:
```
TEAM="ABCDEF1234"
APPLE_ID="<your apple id email>"
PASSWORD="<password>"
```
or it needs to be changed in a way to work with a self-created certificate. How that works hasn't been worked out yet. Per [this comment](https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40819#note_2897651) we could probably figure something out based on [this script](https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/blob/main/tools/browser-self-sign-macos.sh).https://code.briarproject.org/briar/briar-mailbox/-/issues/195IllegalStateException: Hilt service must be attached to an @AndroidEntryPoint...2023-06-19T14:35:27ZakwizgranIllegalStateException: Hilt service must be attached to an @AndroidEntryPoint Application* Android version: 12
* Phone model: TECNO TECNO-BF6 (TECNO POP 7)
* Mailbox version: 1.0.5
Stacktrace:
```
Exception java.lang.RuntimeException:
at android.app.ActivityThread.handleCreateService (ActivityThread.java:4579)
at androi...* Android version: 12
* Phone model: TECNO TECNO-BF6 (TECNO POP 7)
* Mailbox version: 1.0.5
Stacktrace:
```
Exception java.lang.RuntimeException:
at android.app.ActivityThread.handleCreateService (ActivityThread.java:4579)
at android.app.ActivityThread.access$1700 (ActivityThread.java:272)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2138)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loopOnce (Looper.java:201)
at android.os.Looper.loop (Looper.java:288)
at android.app.ActivityThread.main (ActivityThread.java:7981)
at java.lang.reflect.Method.invoke
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:553)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1003)
Caused by java.lang.IllegalStateException: Hilt service must be attached to an @AndroidEntryPoint Application. Found: class android.app.Application
at dagger.hilt.internal.Preconditions.checkState (Preconditions.java:10)
at dagger.hilt.android.internal.managers.ServiceComponentManager.generatedComponent (ServiceComponentManager.java:25)
at org.briarproject.mailbox.android.Hilt_MailboxService.generatedComponent (Hilt_MailboxService.java:5)
at org.briarproject.mailbox.android.Hilt_MailboxService.inject (Hilt_MailboxService.java:8)
at org.briarproject.mailbox.android.Hilt_MailboxService.onCreate (Hilt_MailboxService.java:1)
at org.briarproject.mailbox.android.MailboxService.onCreate (MailboxService.kt:1)
at android.app.ActivityThread.handleCreateService (ActivityThread.java:4566)
```https://code.briarproject.org/briar/briar-desktop/-/issues/528Unlinking mailbox doesn't remove the problem indicator2023-08-25T13:33:34ZMikolai GütschowUnlinking mailbox doesn't remove the problem indicatorAfter unlinking the mailbox, the sidebar is still showing the problem indicator.After unlinking the mailbox, the sidebar is still showing the problem indicator.Desktop 0.7.0Torsten GroteTorsten Grote