briar issueshttps://code.briarproject.org/groups/briar/-/issues2023-04-20T09:39:50Zhttps://code.briarproject.org/briar/briar-mailbox/-/issues/183ContactsManagerIntegrationTest is flaky2023-04-20T09:39:50ZSebastianContactsManagerIntegrationTest is flakySometimes, these checks fail on the CI:
* `ContactsManagerIntegrationTest > get contacts is initially empty() FAILED`
* `ContactsManagerIntegrationTest > owner can add contacts() FAILED`
Usually, a restart of the pipeline has fixed this...Sometimes, these checks fail on the CI:
* `ContactsManagerIntegrationTest > get contacts is initially empty() FAILED`
* `ContactsManagerIntegrationTest > owner can add contacts() FAILED`
Usually, a restart of the pipeline has fixed this.
Examples:
* https://code.briarproject.org/briar/briar-mailbox/-/jobs/25250
* https://code.briarproject.org/briar/briar-mailbox/-/jobs/24937
* https://code.briarproject.org/briar/briar-mailbox/-/jobs/25241
I have not been able to reproduce this locally yet.Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar-mailbox/-/issues/182No logs on Android since minification is enabled2023-01-27T11:40:24ZSebastianNo logs on Android since minification is enabledMailbox: ReleaseSebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/465Enable forum feature flag for release build2023-01-31T09:04:48ZMikolai GütschowEnable forum feature flag for release buildDesktop 0.4.0Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar-desktop/-/issues/464Differing UI for ContactListItemView and ForumItemView2023-01-31T08:52:28ZMikolai GütschowDiffering UI for ContactListItemView and ForumItemViewPadding around the items and verticalAlignment of the circles are different. We should probably decide on one and use that style consistently.
![image](/uploads/725fdaa23479b9f60f2d1a58fec6a4bd/image.png)
![image](/uploads/2f174f636bff9...Padding around the items and verticalAlignment of the circles are different. We should probably decide on one and use that style consistently.
![image](/uploads/725fdaa23479b9f60f2d1a58fec6a4bd/image.png)
![image](/uploads/2f174f636bff9525e77bc421e1e2c70a/image.png)Desktop 0.4.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/463Release 0.4.0-beta2023-03-11T14:33:38ZMikolai GütschowRelease 0.4.0-betasee #412 as reference
### Preparation
* [x] String freeze (disable auto-pull) and announcement on Transifex at least a week before the release
* [x] Update translations (!292)
- run `tx pull -a -f`, add new languages to `Unencrypt...see #412 as reference
### Preparation
* [x] String freeze (disable auto-pull) and announcement on Transifex at least a week before the release
* [x] Update translations (!292)
- 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 && rm briar-desktop/src/main/resources/strings/* && git restore briar-desktop/src/main/resources/strings/*`
- 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)
* [x] Prepare blog post announcing new features: Windows and Forums :tada: (website!102)
### Version bump
* [x] Change version in build config and metainfo.xml (!296)
* [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.4.0-beta)
* [x] GitLab CI builds release files automatically (https://code.briarproject.org/briar/briar-desktop/-/pipelines/13401)
### 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 (https://code.briarproject.org/briar/website/-/merge_requests/105)
* [x] Publish website
### PR
* [x] Inform 3rd party maintainers about release
* [x] Publish blog post
* [x] Post on social media ([Mastodon](), [Twitter](https://twitter.com/BriarApp/status/1620461035659337731)), useful [character counter](https://charactercounter.com/twitter)
* [x] 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.4.0Mikolai GütschowMikolai Gütschow2023-01-31https://code.briarproject.org/briar/briar-desktop/-/issues/457Remove open option for answered forum invitations2023-01-23T13:23:37ZMikolai GütschowRemove open option for answered forum invitationsAs a fix for #453 until we decide on some support for navigating from one screen to another.As a fix for #453 until we decide on some support for navigating from one screen to another.Desktop 0.4.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/456Consistent naming "Briar" throughout app2023-02-05T22:26:35ZMikolai GütschowConsistent naming "Briar" throughout appThe following discussion from !274 should be addressed:
- [ ] @ialokim started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/274#note_73755): (+3 comments)
> While trying out the installer gener...The following discussion from !274 should be addressed:
- [ ] @ialokim started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/274#note_73755): (+3 comments)
> While trying out the installer generated by the CI, I noticed we use "Briar" as the application name during installation and also for the `.desktop` file for Linux, but the title of the main window is "Briar Desktop". Not sure if we should instead be consistent.
TL;DR: We probably want to use "Briar" everywhere instead of "Briar Desktop".Desktop 0.4.1SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/455Upgrade Compose to 1.3.02023-02-17T17:19:03ZMikolai GütschowUpgrade Compose to 1.3.0see https://github.com/JetBrains/compose-jb/releases/tag/v1.3.0see https://github.com/JetBrains/compose-jb/releases/tag/v1.3.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/454Consider building for Raspberry Pi (arm64)2023-04-15T18:55:29ZMikolai GütschowConsider building for Raspberry Pi (arm64)We got the following mail some time back. I guess this should be quite easy when using pinpit after !274 is merged, @sebkur?
---
Dear Briar team,
for some time I have been following the development of the Briar app. First it was th...We got the following mail some time back. I guess this should be quite easy when using pinpit after !274 is merged, @sebkur?
---
Dear Briar team,
for some time I have been following the development of the Briar app. First it was the Android app only, which I use on a regular basis for some time now. Recently I'm trying to include the Linux desktop into my Briar environment. My intention was to run the desktop version of the Briar app on a Raspberry Pi system.
But the app crashes right at the start during initialization. After some searching the net I think the issue may be minor and could (possibly, hopefully) be easily fixed. (If not, please excuse my ignorance, I'm not a programmer).
There are two links with hints to a possible resolve for the issue:
- https://github.com/JetBrains/compose-jb/issues/1170
- https://stackoverflow.com/questions/70150052/org-jetbrains-skiko-libraryloadexception-cannot-find-libskiko-macos-arm64-dylib
According to these links, somewhere in the sources a call like this may be present:
`implementation(compose.desktop.currentOs)`
It may help to replace it with:
`implementation(compose.desktop.linux_arm64)`
Or with some kind of dynamic reference to the OS it is run on.
As can be seen with `uname -a` (see below) the architecture seems to identify itself as `aarch64`, not as `arm64` as seen in the exception error text.
Here is what I get when I try to start the app:
----------------------------------------------------------------------
```
> java -jar Briar-Desktop.jar
22:32:18.679 [main] INFO org.briarproject.briar.desktop.Main - This is briar-desktop version 0.3.0-beta
22:32:18.690 [main] INFO org.briarproject.briar.desktop.Main - Build info:
22:32:18.692 [main] INFO org.briarproject.briar.desktop.Main - Git hash 0a8c574cdd0942bee6fe709e0987a56c0360d349
22:32:18.697 [main] INFO org.briarproject.briar.desktop.Main - Commit time 2022-09-30 13:50:28
22:32:18.700 [main] INFO org.briarproject.briar.desktop.Main - Tag 0.3.0-beta
Exception in thread "main" java.lang.ExceptionInInitializerError
at androidx.compose.ui.awt.ComposeLayer.<init>(ComposeLayer.desktop.kt:72)
at androidx.compose.ui.awt.ComposeWindowDelegate.<init>(ComposeWindowDelegate.desktop.kt:50)
at androidx.compose.ui.awt.ComposeWindow.<init>(ComposeWindow.desktop.kt:43)
at androidx.compose.ui.awt.ComposeWindow.<init>(ComposeWindow.desktop.kt:40)
at androidx.compose.ui.window.Window_desktopKt$Window$3.invoke(Window.desktop.kt:161)
at androidx.compose.ui.window.Window_desktopKt$Window$3.invoke(Window.desktop.kt:156)
at androidx.compose.ui.window.Window_desktopKt$Window$10$1.invoke(Window.desktop.kt:367)
at androidx.compose.ui.window.Window_desktopKt$Window$10$1.invoke(Window.desktop.kt:366)
at androidx.compose.ui.window.AwtWindow_desktopKt$AwtWindow$2.invoke(AwtWindow.desktop.kt:75)
at androidx.compose.ui.window.AwtWindow_desktopKt$AwtWindow$2.invoke(AwtWindow.desktop.kt:74)
at androidx.compose.runtime.DisposableEffectImpl.onRemembered(Effects.kt:81)
at androidx.compose.runtime.CompositionImpl$RememberEventDispatcher.dispatchRememberObservers(Composition.kt:801)
at androidx.compose.runtime.CompositionImpl.applyChanges(Composition.kt:647)
at androidx.compose.runtime.Recomposer.composeInitial$runtime(Recomposer.kt:763)
at androidx.compose.runtime.CompositionImpl.setContent(Composition.kt:433)
at androidx.compose.ui.window.Application_desktopKt$awaitApplication$2$1$2.invokeSuspend(Application.desktop.kt:220)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: org.jetbrains.skiko.LibraryLoadException: Cannot find libskiko-linux-arm64.so.sha256, proper native dependency missing.
at org.jetbrains.skiko.Library.findAndLoad(Library.kt:105)
at org.jetbrains.skiko.Library.load(Library.kt:59)
at org.jetbrains.skiko.SkiaLayer.<clinit>(SkiaLayer.awt.kt:27)
```
----------------------------------------------------------------------
The java archive file used is the current beta version (101M):
`briar-desktop-linux-0.3.0-beta.jar`
The above mentioned jar file works fine on a AMD64 Linux system (Debian testing). No issue with the file, then. By the way, the same error occurred with the older version 0.2.1-beta as well.
The system the app was crashing on is a Raspberry Pi with current stable 64 bit PiOS. The hardware is a Raspberry Pi 4 with 4 GB of RAM and plenty of it is free.
Some other Java applications like MediathekView run without issues.
This leads me to the conclusion that the error is somewhere in the code.
I hope the information provided helps to get Briar running on a Raspberry Pi with a future release of the desktop app.
----------------------------------------------------------------------
```
> cat /etc/issue
Debian GNU/Linux 11 \n \l
```
----------------------------------------------------------------------
```
> uname -a
Linux myhost 5.15.61-v8+ #1579 SMP PREEMPT Fri Aug 26 11:16:44 BST 2022 aarch64 GNU/Linux
```
----------------------------------------------------------------------
```
> java --version
openjdk 17.0.4 2022-07-19
OpenJDK Runtime Environment (build 17.0.4+8-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 17.0.4+8-Debian-1deb11u1, mixed mode, sharing)
```https://code.briarproject.org/briar/briar-desktop/-/issues/449Implement ability to test locally that produced .deb files are installable on...2023-01-29T22:35:52ZSebastianImplement ability to test locally that produced .deb files are installable on target OSesUsing vagrant probably.Using vagrant probably.Desktop 0.4.0SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/447Strange overlay at right side on Windows 102023-01-20T10:01:33ZSebastianStrange overlay at right side on Windows 10I was testing the installer on Windows 10 and while that worked fine, I noticed something odd when running Briar itself. For some reason there's a narrow white overlay on the right hand side of the app. It sits below the expiry banner bu...I was testing the installer on Windows 10 and while that worked fine, I noticed something odd when running Briar itself. For some reason there's a narrow white overlay on the right hand side of the app. It sits below the expiry banner but above all other content. Makes it impossible to see the send button, the overflow menu and part of the text.
![Screenshot__6_](/uploads/b04112325381a103d02d1beb96e587cb/Screenshot__6_.png)
![Screenshot__1_](/uploads/3e9e89583de0f12e9eae14051af31faa/Screenshot__1_.png)
![Screenshot__2_](/uploads/78ea18023a2bcd698bef9d470034e665/Screenshot__2_.png)
It does not happen on Windows 11.
Any idea what this could be? Could have something to do with our drawer?Desktop 0.4.0https://code.briarproject.org/briar/briar-spec/-/issues/18Move BSP clients specs from wiki to this repo2023-02-20T15:10:17ZNicoMove BSP clients specs from wiki to this repoAs discussed with @akwizgran, instead of having them in the wiki they should live in this repo so that merge requests can be opened that can be reviewed.
https://code.briarproject.org/briar/briar/-/wikis/home#clientsAs discussed with @akwizgran, instead of having them in the wiki they should live in this repo so that merge requests can be opened that can be reviewed.
https://code.briarproject.org/briar/briar/-/wikis/home#clientsNicoNicohttps://code.briarproject.org/briar/briar/-/issues/2410Crash when adding a contact at a distance due to missing BLUETOOTH_CONNECT pe...2023-05-29T11:41:22ZKatelyn DickeyCrash when adding a contact at a distance due to missing BLUETOOTH_CONNECT permissionThis error is avoided by having the "Nearby devices" permission.
The "Add contact nearby" flow asks for this permission, but at a distance does not, while apparently still needing the permission.
1. Have the "Nearby devices" permission ...This error is avoided by having the "Nearby devices" permission.
The "Add contact nearby" flow asks for this permission, but at a distance does not, while apparently still needing the permission.
1. Have the "Nearby devices" permission disallowed
2. Add a contact at a distance
3. Exchange keys
4. After contact is added, wait a few seconds and the app will crash
```
Need android.permission.BLUETOOTH_CONNECT permission for android.content.AttributionSource@163e09fc: getAddress
java.lang.SecurityException: Need android.permission.BLUETOOTH_CONNECT permission for android.content.AttributionSource@163e09fc: getAddress
at android.os.Parcel.createExceptionOrNull(Parcel.java:3011)
at android.os.Parcel.createException(Parcel.java:2995)
at android.os.Parcel.readException(Parcel.java:2978)
at android.os.Parcel.readException(Parcel.java:2920)
at android.bluetooth.IBluetoothManager$Stub$Proxy.getAddress(IBluetoothManager.java:534)
at android.bluetooth.BluetoothAdapter.getAddress(BluetoothAdapter.java:1534)
at org.briarproject.bramble.util.AndroidUtils.getBluetoothAddressAndMethod(AndroidUtils.java:70)
at org.briarproject.bramble.util.AndroidUtils.getBluetoothAddress(AndroidUtils.java:63)
at org.briarproject.bramble.plugin.bluetooth.AndroidBluetoothPlugin.getBluetoothAddress(AndroidBluetoothPlugin.java:146)
at org.briarproject.bramble.plugin.bluetooth.AbstractBluetoothPlugin.updateProperties(AbstractBluetoothPlugin.java:239)
at org.briarproject.bramble.plugin.bluetooth.AbstractBluetoothPlugin.$r8$lambda$ZdCFKGKAr5elvl5L48zy5sncMIA(Unknown Source:0)
at org.briarproject.bramble.plugin.bluetooth.AbstractBluetoothPlugin$$ExternalSyntheticLambda2.run(Unknown Source:2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
Caused by: android.os.RemoteException: Remote stack trace:
at com.android.server.bluetooth.BluetoothManagerService.checkPermissionForDataDelivery(BluetoothManagerService.java:3239)
at com.android.server.bluetooth.BluetoothManagerService.checkConnectPermissionForDataDelivery(BluetoothManagerService.java:3257)
at com.android.server.bluetooth.BluetoothManagerService.getAddress(BluetoothManagerService.java:1908)
at android.bluetooth.IBluetoothManager$Stub.onTransact(IBluetoothManager.java:246)
at android.os.Binder.execTransactInternal(Binder.java:1280)
```https://code.briarproject.org/briar/briar/-/issues/2409SecurityException when binding Bluetooth socket2023-05-29T11:38:26ZakwizgranSecurityException when binding Bluetooth socketThis crash looks similar to #1698 but the stacktrace is different. The error message says the app lacks permission android.permission.BLUETOOTH, which was replaced by new permissions in Android 12. Is the error message out of date, or do...This crash looks similar to #1698 but the stacktrace is different. The error message says the app lacks permission android.permission.BLUETOOTH, which was replaced by new permissions in Android 12. Is the error message out of date, or does this device still use the old Bluetooth permissions?
* Android version: 12
* Phone model: Redmi M2101K6R (sweet_global)
* Briar version: 1.4.18 (4797151)
* User feedback: "The app stopped out of nowhere and I need it urgently."
Stacktrace:
```
java.lang.SecurityException: UID 10414 / PID 7993 lacks permission android.permission.BLUETOOTH
at android.os.Parcel.createExceptionOrNull(Parcel.java:2426)
at android.os.Parcel.createException(Parcel.java:2410)
at android.os.Parcel.readException(Parcel.java:2393)
at android.os.Parcel.readException(Parcel.java:2335)
at android.bluetooth.IBluetoothSocketManager$Stub$Proxy.createSocketChannel(IBluetoothSocketManager.java:265)
at android.bluetooth.BluetoothSocket.bindListen(BluetoothSocket.java:453)
at android.bluetooth.BluetoothAdapter.createNewRfcommSocketAndRecord(BluetoothAdapter.java:2883)
at android.bluetooth.BluetoothAdapter.listenUsingInsecureRfcommWithServiceRecord(BluetoothAdapter.java:2830)
at org.briarproject.bramble.plugin.bluetooth.AndroidBluetoothPlugin.openServerSocket(AndroidBluetoothPlugin.java:152)
at org.briarproject.bramble.plugin.bluetooth.AndroidBluetoothPlugin.openServerSocket(AndroidBluetoothPlugin.java:61)
at org.briarproject.bramble.plugin.bluetooth.AbstractBluetoothPlugin.lambda$bind$0(AbstractBluetoothPlugin.java:215)
at org.briarproject.bramble.plugin.bluetooth.AbstractBluetoothPlugin.$r8$lambda$Nv27P8uQlCv6FpD1a0uQUudeR9U(Unknown Source:0)
at org.briarproject.bramble.plugin.bluetooth.AbstractBluetoothPlugin$$ExternalSyntheticLambda0.run(Unknown Source:2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
```
Edited log:
```
12-28 01:54:17.763 I/PluginManagerImpl: Starting simplex plugins
12-28 01:54:17.763 I/PluginManagerImpl: Starting duplex plugins
12-28 01:54:17.779 I/PluginManagerImpl: org.briarproject.bramble.bluetooth changed from state STARTING_STOPPING to INACTIVE
12-28 01:54:17.799 I/AbstractBluetoothPlugin: Local address null
12-28 01:54:17.802 I/PluginViewModel: TransportStateEvent: org.briarproject.bramble.bluetooth is INACTIVE
```
Looks like the plugin was enabled and the crash happened at startup.Android 1.4akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/2408Split big BSP Records2023-01-31T21:44:51ZThomasSplit big BSP RecordsIn #407, the requested feature is to send files with sizes bigger than one BSP Record. The issue is cluttered with user feedback-quotes, therefore I thought I make a new issue to propose an implementation (I don't know if this is the bes...In #407, the requested feature is to send files with sizes bigger than one BSP Record. The issue is cluttered with user feedback-quotes, therefore I thought I make a new issue to propose an implementation (I don't know if this is the best way to handle that ...).
I realized that I basically need the same feature for https://code.briarproject.org/thomas/briar/-/issues/1 (with custom BSP-Record sizes). My thoughts are intended to allow for minimal overhead (saving every byte).
My idea is to introduce message-fragments/slices. I think it is not enough to add a new message-type to BSPv0, I think it will require BSPv1. (the slices will be required also for e.g. the REQUEST-Type)
I imagine to send message fragments like { message-hash, start of slice, slice length, byte-array }.
The message itself is prefixed with its total size (needs only to be transmitted with the first slice; since the message is only composed when all slices are there, it is no problem if the first slice is retransmitted).
The receiver can acknowledge fragments (by hash, start and length). When all fragments are available, the sender internally acknowledges the whole record and the receiver assembles the message. I could also imagine the sender caching which BTP-Frame contains which message-fragments so that the receiver can acknowledge BTP-Frames which might save some space. But it will add additional complexity ...
Having sizes&positions as varints ([an Implementation](https://github.com/bazelbuild/bazel/blob/master/src/main/java/com/google/devtools/build/lib/util/VarInt.java)) would be awesome.
Btw: Sorry for not replying to https://code.briarproject.org/thomas/briar/-/issues/1 yethttps://code.briarproject.org/briar/briar/-/issues/2407Crash when getting Bluetooth address2023-01-06T16:28:57ZakwizgranCrash when getting Bluetooth address* Android version: 12
* Phone model: Redmi M2004J19C (galahad_global)
* Briar version: 1.4.18 (4797151)
Edited log:
```
12-17 21:55:20.433 I/AbstractBluetoothPlugin: Bluetooth enabled
```
Stacktrace:
```
java.lang.SecurityException: Ne...* Android version: 12
* Phone model: Redmi M2004J19C (galahad_global)
* Briar version: 1.4.18 (4797151)
Edited log:
```
12-17 21:55:20.433 I/AbstractBluetoothPlugin: Bluetooth enabled
```
Stacktrace:
```
java.lang.SecurityException: Need android.permission.BLUETOOTH_CONNECT permission for android.content.AttributionSource@458c6c33: getAddress
at android.os.Parcel.createExceptionOrNull(Parcel.java:2426)
at android.os.Parcel.createException(Parcel.java:2410)
at android.os.Parcel.readException(Parcel.java:2393)
at android.os.Parcel.readException(Parcel.java:2335)
at android.bluetooth.IBluetoothManager$Stub$Proxy.getAddress(IBluetoothManager.java:789)
at android.bluetooth.BluetoothAdapter.getAddress(BluetoothAdapter.java:1290)
at org.briarproject.bramble.util.AndroidUtils.getBluetoothAddressAndMethod(AndroidUtils.java:70)
at org.briarproject.bramble.util.AndroidUtils.getBluetoothAddress(AndroidUtils.java:63)
at org.briarproject.bramble.plugin.bluetooth.AndroidBluetoothPlugin.getBluetoothAddress(AndroidBluetoothPlugin.java:146)
at org.briarproject.bramble.plugin.bluetooth.AbstractBluetoothPlugin.updateProperties(AbstractBluetoothPlugin.java:239)
at org.briarproject.bramble.plugin.bluetooth.AbstractBluetoothPlugin.$r8$lambda$ZdCFKGKAr5elvl5L48zy5sncMIA(Unknown Source:0)
at org.briarproject.bramble.plugin.bluetooth.AbstractBluetoothPlugin$$ExternalSyntheticLambda2.run(Unknown Source:2)
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:920)
Caused by: android.os.RemoteException: Remote stack trace:
at com.android.server.BluetoothManagerService.checkPermissionForDataDelivery(BluetoothManagerService.java:3327)
at com.android.server.BluetoothManagerService.checkConnectPermissionForDataDelivery(BluetoothManagerService.java:3345)
at com.android.server.BluetoothManagerService.getAddress(BluetoothManagerService.java:1951)
at android.bluetooth.IBluetoothManager$Stub.onTransact(IBluetoothManager.java:373)
at android.os.Binder.execTransactInternal(Binder.java:1190)
```Android 1.4akwizgranakwizgranhttps://code.briarproject.org/briar/briar-desktop/-/issues/445Forums: lateinit property not initialized2023-01-31T08:48:44ZSebwinForums: lateinit property not initializedI can provoke this exception on the log:
```
15:14:28.221 [AWT-EventQueue-0] WARN o.b.b.d.RunWithMultipleTemporaryAccounts - Uncaught exception in thread AWT-EventQueue-0
kotlin.UninitializedPropertyAccessException: lateinit property g...I can provoke this exception on the log:
```
15:14:28.221 [AWT-EventQueue-0] WARN o.b.b.d.RunWithMultipleTemporaryAccounts - Uncaught exception in thread AWT-EventQueue-0
kotlin.UninitializedPropertyAccessException: lateinit property groupItem has not been initialized
at org.briarproject.briar.desktop.forums.ThreadedConversationViewModel.getGroupItem(ThreadedConversationViewModel.kt:66)
at org.briarproject.briar.desktop.forums.ThreadedConversationViewModel.eventOccurred(ThreadedConversationViewModel.kt:89)
at org.briarproject.bramble.event.EventBusImpl.lambda$broadcast$0(EventBusImpl.java:42)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
```
It happens when I run two connected instances and send a message in the forum from one client to the other, while the other one has already opened the forum screen, but not yet opened any specific forum (doesn't need to be the one with the incoming message).Desktop 0.4.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/443Check and fix all i18n warnings found via code inspection2023-02-24T13:42:05ZSebastianCheck and fix all i18n warnings found via code inspectioneither add NON-NLS comments or `@file:Suppress("nls")` to ignore whole files (mostly useful for testing code)either add NON-NLS comments or `@file:Suppress("nls")` to ignore whole files (mostly useful for testing code)Desktop 0.4.1SebastianSebastianhttps://code.briarproject.org/briar/public-mesh-research/-/issues/21Initial investigations: Bluetooth Mesh2022-12-16T13:08:29ZakwizgranInitial investigations: Bluetooth MeshInvestigate whether the Bluetooth Mesh standard could be useful.
https://www.bluetooth.com/wp-content/uploads/2019/03/Mesh-Technology-Overview.pdf
https://www.bluetooth.com/bluetooth-resources/controlling-bluetooth-mesh-networks-with-a...Investigate whether the Bluetooth Mesh standard could be useful.
https://www.bluetooth.com/wp-content/uploads/2019/03/Mesh-Technology-Overview.pdf
https://www.bluetooth.com/bluetooth-resources/controlling-bluetooth-mesh-networks-with-android-applications/Public mesh researchhttps://code.briarproject.org/briar/briar-mailbox/-/issues/180Outline button style2022-12-16T17:22:01ZSebastianOutline button styleIt wasn't mentioned in the usability report that users had problems to find the non-outlined buttons on the mailbox app. But now that we have that style in the briar app, I'm thinking it might make sense for visual consistency between bo...It wasn't mentioned in the usability report that users had problems to find the non-outlined buttons on the mailbox app. But now that we have that style in the briar app, I'm thinking it might make sense for visual consistency between both apps to also use that style on the mailbox app.
Related: https://code.briarproject.org/briar/briar/-/merge_requests/1746Mailbox: Usability testingSebastianSebastian