briar issueshttps://code.briarproject.org/groups/briar/-/issues2022-06-30T10:05:14Zhttps://code.briarproject.org/briar/briar/-/issues/2269Use full camera preview when scanning QR codes2022-06-30T10:05:14ZakwizgranUse full camera preview when scanning QR codesThe QR code scanner only uses the upper half of the camera preview, as this is the only part that's visible when adding contacts in person. However, when pairing a mailbox the whole preview is visible, so the QR code may fail to scan if ...The QR code scanner only uses the upper half of the camera preview, as this is the only part that's visible when adding contacts in person. However, when pairing a mailbox the whole preview is visible, so the QR code may fail to scan if positioned in the middle of the preview.
We should either add a flag to control whether the whole preview is used, or (if testing on bad device combinations allows this), use the whole preview in both cases.
An example of a bad device combination is the Huawei Ascend Y330 showing the QR code and the Moto E3 scanning it.Mailbox: PairingDaniel LublinDaniel Lublinhttps://code.briarproject.org/briar/briar/-/issues/2268new Option: allow to use your device as an connecting node.2022-02-26T13:09:51ZVladislavnew Option: allow to use your device as an connecting node.When main issue is missing a way to communicate and privacy become not so important.
Could briar have an option (to be able to activate it in emergency situation) when anyone in a range could send message to a known (inaccessible) conta...When main issue is missing a way to communicate and privacy become not so important.
Could briar have an option (to be able to activate it in emergency situation) when anyone in a range could send message to a known (inaccessible) contact, through the phone that has this option active.
To work like WiFi-repeater.
So multiple device with this option enabled could allow to interconnect people for a small city.
Alternatives: FireChat
Use case: Internet, landline, mobile networks are down or blocked, inaccessible. Ex.: being in a bunker, subway, tunnel, during the war or blackouts.
Briar could be a solution.https://code.briarproject.org/briar/briar-desktop/-/issues/324Unknown git branch in official beta build2022-04-10T18:21:23ZMikolai GütschowUnknown git branch in official beta buildJust noticed that with the version installed for Debian stable:
![image](/uploads/7f1d5ef1fef1da27a695b240f7fda37f/image.png)Just noticed that with the version installed for Debian stable:
![image](/uploads/7f1d5ef1fef1da27a695b240f7fda37f/image.png)Desktop 0.2.1SebastianSebastianhttps://code.briarproject.org/briar/briar-mailbox/-/issues/90Wait for hidden service to be reachable before showing QR code2022-05-02T13:37:48ZakwizgranWait for hidden service to be reachable before showing QR codeMailbox: PairingTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar-desktop/-/issues/323Introductions can only be declined at the moment2022-02-22T14:41:48ZSebastianIntroductions can only be declined at the momentsee https://code.briarproject.org/briar/briar-desktop/-/commit/f58c8b58b5b11d3e57eedd6d99b7c3ecc1b4c8c6#note_63820see https://code.briarproject.org/briar/briar-desktop/-/commit/f58c8b58b5b11d3e57eedd6d99b7c3ecc1b4c8c6#note_63820Desktop 0.2.0https://code.briarproject.org/briar/briar/-/issues/2267Broadcast event when recording connection status of own mailbox2022-04-01T11:18:01ZakwizgranBroadcast event when recording connection status of own mailboxMailbox: Status UI for Briar appDaniel LublinDaniel Lublinhttps://code.briarproject.org/briar/briar/-/issues/2266Check for API/behaviour changes in Android 13 that could affect Briar2023-07-03T11:21:13ZTorsten GroteCheck for API/behaviour changes in Android 13 that could affect Briar* https://developer.android.com/about/versions/13/behavior-changes-13
* https://blog.esper.io/android-13-deep-dive/
* https://commonsware.com/blog/2022/02/12/random-musings-android-13-dp1.html
* https://commonsware.com/blog/2022/03/19/ra...* https://developer.android.com/about/versions/13/behavior-changes-13
* https://blog.esper.io/android-13-deep-dive/
* https://commonsware.com/blog/2022/02/12/random-musings-android-13-dp1.html
* https://commonsware.com/blog/2022/03/19/random-musings-android-13-dp2.html
Changes that may affect us:
* [Low power standby](https://developer.android.com/reference/android/os/PowerManager.html#isLowPowerStandbyEnabled()) is a new power saving mode (apparently distinct from doze, light doze and power save mode) in which apps with foreground services lose network access and their wake locks are ignored. It's not clear whether doze exemption affects this mode. We should look for ADB commands that can be used to test this mode
* [Light idle mode](https://developer.android.com/reference/android/os/PowerManager#isDeviceLightIdleMode()) has also been added to the PowerManager API, although this may just be exposing the "light doze" mode that was [added in Android 7](https://developer.android.com/about/versions/nougat/android-7.0-changes#doze)
* [Apps are placed in the "restricted" app standby bucket](https://developer.android.com/about/versions/13/changes/battery#restricted-bucket) if they "drain a significant amount of device battery during a 24-hour period". This is likely to apply to Briar and Briar Mailbox. Apps are also placed in the "restricted" bucket if the user doesn't interact with them for 8 days. This is very likely to apply to Briar Mailbox and may also apply to Briar. Running a foreground service isn't enough to meet definition of "interaction" being used here. The [docs for app standby buckets](https://developer.android.com/topic/performance/appstandby#buckets) say "Apps that are on the Doze exemption list are exempted from the App Standby Bucket-based restrictions." We should test whether this remains true for the new restrictions. We should also add code to [log which bucket we're in](https://developer.android.com/reference/android/app/usage/UsageStatsManager#getAppStandbyBucket()) periodically
* [Apps need to ask permission to show notifications](https://developer.android.com/about/versions/13/changes/notification-permission) - if the app doesn't target API 33 then the permission prompt will be shown automatically when the notification channels are created, which in Briar's case happens after signing in
* The new [foreground services task manager](https://developer.android.com/about/versions/13/changes/fgs-manager) enables the user to stop foreground services. Stopping an app in this way is [roughly equivalent](https://developer.android.com/about/versions/13/changes/fgs-manager#compare-swipe-up-force-stop) to force-stopping the app, but just different enough to make sure we'll have to test both workflows. Related to #2010
* [New rules for intent filters](https://developer.android.com/about/versions/13/behavior-changes-13#security) could affect our use of intents to open other apps (such as manufacturer-specific power management apps). These rules apply if the app receiving the intent targets API 33 or higher, so it could take a while for any effects to be noticeable
Article: https://medium.com/androiddevelopers/making-sense-of-intent-filters-in-android-13-8f6656903dde
* We should check whether the [`RECEIVER_NOT_EXPORTED`](https://developer.android.com/reference/android/content/Context.html#RECEIVER_NOT_EXPORTED) flag is relevant to us (all our BroadcastReceivers are used for receiving system broadcasts)
* [`NEARBY_WIFI_DEVICES`](https://developer.android.com/reference/android/Manifest.permission#NEARBY_WIFI_DEVICES) permission - this replaces `ACCESS_FINE_LOCATION` for some wifi APIs. We should use the new permission and find out whether location services still need to be enabled for these APIs to work
* If the user places an app in the "restricted" state for background battery usage (which AFAICT is [unrelated](https://developer.android.com/topic/performance/power/power-details) to the "restricted" app standby bucket) then the app [can't run foreground services, schedule alarms or run jobs](https://developer.android.com/about/versions/13/changes/battery#restricted-background-battery-usage). If the app targets API 33 then it can't receive `ACTION_BOOT_COMPLETED` broadcasts either, which we use for the sign-in reminder
* [System notification for long-running foreground services](https://developer.android.com/about/versions/13/changes/battery#system-notification-long-running-fgs) ("APP is running in the background for a long time. Tap to review") - as CommonsWare says, the obvious response from developers is to add `FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK` or `FOREGROUND_SERVICE_TYPE_LOCATION`, and the obvious response from Google is to restrict those flags in the next update
* [System notification for excessive background battery usage](https://developer.android.com/about/versions/13/changes/battery#system-notification-battery-usage) - the docs say this notification will be shown after our foreground service finishes, ie after the user signs out, which may cause confusion
* I'm sure [TARE](https://blog.esper.io/android-13-deep-dive/#tare) will produce great value for users and won't just be the equivalent of adding a dice roll to every attempt to queue a job or schedule an alarm. We should keep it in mind when debugging alarm issues
* [Apps can release unused permissions](https://developer.android.com/about/versions/13/features#developer-downgradable-permissions) - this looks useful for privacy-conscious users but some care will be needed to integrate this into our app lifecycle, as the system kills the app asynchronously at some point after the API is called
* There's a [new AndroidX API for implementing in-app language pickers](https://developer.android.com/about/versions/13/features/app-languages#api-impl), which is great. The user can also pick a per-app language [through the system settings app](https://developer.android.com/about/versions/13/features/app-languages#app-language-settings), in which case "The list of available languages might not reflect the languages that your app supports". This will need testing
* There's a new API for [opting out of screenshots in the recent apps list](https://developer.android.com/reference/android/app/Activity.html#setRecentsScreenshotEnabled(boolean)) without preventing the user from taking screenshots. This may be useful if it doesn't open some other horrendous information leak
* [SystemClock#currentNetworkTimeClock()](https://developer.android.com/reference/android/os/SystemClock.html#currentNetworkTimeClock()) may be useful for diagnosing whether clock sync issues are due to misconfiguration or [NTP tampering](https://gitlab.torproject.org/tpo/core/tor/-/issues/26359)
* Apps with the `ACCESS_FINE_LOCATION` permission are [exempt from most of the power management changes in Android 13](https://developer.android.com/about/versions/13/changes/battery#exemptions), as are media players that are actively playing media. Perhaps Google thinks media players and navigation apps (or exercise trackers?) should be allowed to run in the background, which would be consistent with the apparent intent of previous loopholesTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar-desktop/-/issues/322FocusRequester is not initialized2022-02-22T11:48:39ZNicoFocusRequester is not initializedSteps to reproduce:
* make sure to have no .briar/ directory (i.e., no account)
* on the registration screen, enter a name
* press Enter to get to the next screen
![Screenshot_from_2022-02-22_12-24-03](/uploads/2d5b4bc56b3c02b093c12e033...Steps to reproduce:
* make sure to have no .briar/ directory (i.e., no account)
* on the registration screen, enter a name
* press Enter to get to the next screen
![Screenshot_from_2022-02-22_12-24-03](/uploads/2d5b4bc56b3c02b093c12e0336415ae5/Screenshot_from_2022-02-22_12-24-03.png)Desktop 0.2.0https://code.briarproject.org/briar/briar-desktop/-/issues/321Show languages in own language in .deb files, too2022-02-22T11:01:50ZNicoShow languages in own language in .deb files, tooWhen started with `gradlew run`, languages in the dropdown menu on the settings page are shown in their own language, e.g., "español" and "Deutsch". However, for .deb files it's all in English, e.g., "Spanish" and "German".When started with `gradlew run`, languages in the dropdown menu on the settings page are shown in their own language, e.g., "español" and "Deutsch". However, for .deb files it's all in English, e.g., "Spanish" and "German".Desktop 0.2.0SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/318Add option to hide expiry warning banner2022-05-03T14:50:39ZSebastianAdd option to hide expiry warning bannerWe want to keep the expiry banner #183 for now, but some users have given the feedback that it's annoying. I think we already discussed some time ago that it might be a good middle ground to offer an option to hide it and that it would r...We want to keep the expiry banner #183 for now, but some users have given the feedback that it's annoying. I think we already discussed some time ago that it might be a good middle ground to offer an option to hide it and that it would reappear after a certain time, for example 24 hours.Desktop 0.2.1Altynbek NurtazaAltynbek Nurtazahttps://code.briarproject.org/briar/briar-desktop/-/issues/314Move changing of password to db thread2023-01-17T23:21:52ZSebastianMove changing of password to db threadDesktop 0.5.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar/-/issues/2265Replace ETA with max latency in retransmission logic2022-03-29T13:12:39ZakwizgranReplace ETA with max latency in retransmission logicThe sync protocol allows a message to be retransmitted if either the message's send time (also called expiry time in the database code) has been reached, or if the message's ETA via the currently available transport would be earlier than...The sync protocol allows a message to be retransmitted if either the message's send time (also called expiry time in the database code) has been reached, or if the message's ETA via the currently available transport would be earlier than the ETA of the previous copy. The ETA is based on the max latency of the transport.
This second (ETA) condition is met when the previous copy was sent via a higher-latency transport and a lower-latency transport is now available. But this logic has a weird edge case: immediately after sending a message via a higher-latency transport, the message can be sent via a lower-latency transport, as intended. But as the ETA of the first copy approaches, the message stops being sendable via the lower-latency transport.
This edge case is unlikely to matter when the lower latency is a tiny fraction of the higher latency (eg 30 seconds for Tor vs 28 days for removable drives). But it may become important when the lower latency is a significant fraction of the higher latency (eg 14 days for mailboxes vs 28 days for removable drives).
To remove the edge case we should store the max latency of the transport rather than the ETA, and allow the message to be retransmitted if either the send time has been reached (as now), or if the max latency of the currently available transport is less than the max latency of the transport used for the previous copy. This will require a DB migration.MailboxDaniel LublinDaniel Lublinhttps://code.briarproject.org/briar/briar-desktop/-/issues/313Release 0.2.0-beta2022-05-10T20:06:21ZNicoRelease 0.2.0-beta* [x] Change version in build config (!187)
* [x] Update translations
* [x] Tag in Git
* [x] Update changelog
* [x] Build release files with GitLab CI (https://code.briarproject.org/briar/briar-desktop/-/pipelines/10047)
* [x] Copy relea...* [x] Change version in build config (!187)
* [x] Update translations
* [x] Tag in Git
* [x] Update changelog
* [x] Build release files with GitLab CI (https://code.briarproject.org/briar/briar-desktop/-/pipelines/10047)
* [x] Copy release files to desktop.briarproject.org
* [x] Check that permalink points to correct version
* [x] Inform 3rd party maintainers about release
* [x] Update hashsums on website (https://code.briarproject.org/briar/website/-/merge_requests/84)
* [x] Post on social media ([Mastodon](https://fosstodon.org/@briar/107846586715214487), [Twitter](https://twitter.com/BriarApp/status/1496415321615486982))Desktop 0.2.0NicoNicohttps://code.briarproject.org/briar/briar-desktop/-/issues/312Button font color hardcoded in login/setup forms2022-02-18T09:44:27ZSebastianButton font color hardcoded in login/setup formsDesktop 0.2.0SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/310Play notification sound when new messages arrive while window is not focused2022-09-10T08:35:04ZSebastianPlay notification sound when new messages arrive while window is not focusedImproving on !151 and addressing more of #156, I think it is customary for chat apps to play a sound when new messages arrive to draw the user's attention to the app. Of course, the user should be able to turn that off. I know it on the ...Improving on !151 and addressing more of #156, I think it is customary for chat apps to play a sound when new messages arrive to draw the user's attention to the app. Of course, the user should be able to turn that off. I know it on the desktop from RocketChat, Mattermost and on mobile basically any messaging app does this.Desktop 0.4.0https://code.briarproject.org/briar/briar/-/issues/2264change my nickname2022-02-25T14:59:41ZRoman Beslikme@beroal.in.uachange my nicknameI want to change my nickname after creating an account, but I don't see an option for this. However, I can change my avatar.I want to change my nickname after creating an account, but I don't see an option for this. However, I can change my avatar.https://code.briarproject.org/briar/briar-desktop/-/issues/308Make use of dependencies in BuildData2023-07-12T15:16:29ZSebastianMake use of dependencies in BuildDataDisplay them on the about dialog or something elseDisplay them on the about dialog or something elseDesktop 0.6.0SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/307Replace finalize-deb.sh with Gradle DSL packagingResourcesRootDir2023-01-13T21:52:40ZNicoReplace finalize-deb.sh with Gradle DSL packagingResourcesRootDirOnce Compose offers the option `packagingResourcesRootDir` in its Gradle DSL ([pull request](https://github.com/JetBrains/compose-jb/pull/1843)/[issue](https://github.com/JetBrains/compose-jb/issues/1766)), we no longer need the `utils/f...Once Compose offers the option `packagingResourcesRootDir` in its Gradle DSL ([pull request](https://github.com/JetBrains/compose-jb/pull/1843)/[issue](https://github.com/JetBrains/compose-jb/issues/1766)), we no longer need the `utils/finalize-deb.sh` script from !158.Desktop 0.4.0SebastianSebastianhttps://code.briarproject.org/briar/briar-mailbox/-/issues/89Adapt theme of DoNotKillFragment2022-03-30T12:50:39ZSebastianAdapt theme of DoNotKillFragmentSebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/303Briar Doesn't Read Files When Uploading On GTK Desktop2022-02-11T14:46:58ZUnix PhonesBriar Doesn't Read Files When Uploading On GTK DesktopBriar Desktop doesn't detect files that are in file directory, I can't determine whether it's by design or by permission.
Expected Result/Behavior:
Briar shows available files to upload and send
Reality Result/Behavior:
Briar doesn'...Briar Desktop doesn't detect files that are in file directory, I can't determine whether it's by design or by permission.
Expected Result/Behavior:
Briar shows available files to upload and send
Reality Result/Behavior:
Briar doesn't detect no files, nor allows drag and drop into the app of etc file, image, pdf, jpeg, img
Version:
0.1.0-beta
Hardware: Thinkpad T14s AMD
Operating System:
Linux thinkpad 5.11.0-27-generic 29~20.04.1-Ubuntu SMP x86_64 GNU/Linux
Image of issue:
https://ibb.co/0r56TBK