briar issueshttps://code.briarproject.org/groups/briar/-/issues2023-10-27T11:21:57Zhttps://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 Grotehttps://code.briarproject.org/briar/briar/-/issues/2436Explain signing of briar-headless on macOS2023-06-15T16:19:44ZSebastianExplain signing of briar-headless on macOSExplain how to sign using an Apple developer certificate and also how to sign using a certificate that has been created locally for debugging etc.Explain how to sign using an Apple developer certificate and also how to sign using a certificate that has been created locally for debugging etc.https://code.briarproject.org/briar/briar-mailbox/-/issues/194Documentation forthcoming?2023-08-28T16:00:10Zcoreless corelessDocumentation forthcoming?Will there be documentation added to the wiki about administering Briar Mailbox?
Perhaps I am mistaken, but the version number (1.0.5) implies Briar Mailbox is considered stable and fit for production use? If so, I'd like to deploy it ...Will there be documentation added to the wiki about administering Briar Mailbox?
Perhaps I am mistaken, but the version number (1.0.5) implies Briar Mailbox is considered stable and fit for production use? If so, I'd like to deploy it for my own use as well as my community, but I would benefit from documentation about how to do so.https://code.briarproject.org/briar/briar/-/issues/2435Camera can't focus on QR code in continuous-picture mode2023-06-08T12:13:45ZakwizgranCamera can't focus on QR code in continuous-picture modeA user reported that their camera can't focus on a QR code. The log shows that the camera's focus mode is continuous-picture (unlike #346 which concerns fixed-focus cameras).
* Android version: 10
* Phone model: Doogee S59 (S59_EEA)
* B...A user reported that their camera can't focus on a QR code. The log shows that the camera's focus mode is continuous-picture (unlike #346 which concerns fixed-focus cameras).
* Android version: 10
* Phone model: Doogee S59 (S59_EEA)
* Briar version: 1.5.3 (1f1a97f)
* User feedback: "I am writing again about the camera focus issue when adding a contact. It does not indicate the focus of the camera at all. Only with Briar do I have this problem."
Edited log:
```
05-26 10:17:14.255 I/CameraView: Opening camera
05-26 10:17:14.258 I/CameraView: Using back-facing camera
05-26 10:17:14.301 I/CameraView: Screen rotation 0 degrees, camera orientation 90 degrees
05-26 10:17:14.305 I/CameraView: Scene modes: [auto, action, portrait, landscape, night, night-portrait, theatre, beach, snow, sunset, steadyphoto, fireworks, sports, party, candlelight, barcode, hdr]
05-26 10:17:14.309 I/CameraView: Focus modes: [auto, macro, continuous-video, continuous-picture]
05-26 10:17:14.312 I/CameraView: Video stabilisation enabled: true
05-26 10:17:14.312 I/CameraView: Scene mode: barcode
05-26 10:17:14.312 I/CameraView: Focus mode: continuous-picture
05-26 10:17:14.312 I/CameraView: Flash mode: off
05-26 10:17:14.313 I/CameraView: Preview size: 1920x1080
05-26 10:17:14.368 I/CameraView: Surface created
05-26 10:17:14.368 I/CameraView: Surface changed: 720x1340
05-26 10:17:14.370 I/CameraView: Size 1920x1440, stretch 1.3958333, zoom 5.5296, score 0.12956055
05-26 10:17:14.370 I/CameraView: Size 1920x1088, stretch 1.0546296, zoom 4.17792, score 0.2269551
05-26 10:17:14.370 I/CameraView: Size 1920x1080, stretch 1.046875, zoom 4.1472, score 0.23032984
05-26 10:17:14.370 I/CameraView: Size 1600x1200, stretch 1.3958333, zoom 3.84, score 0.18656717
05-26 10:17:14.370 I/CameraView: Size 1440x1080, stretch 1.3958333, zoom 3.1104, score 0.23032986
05-26 10:17:14.370 I/CameraView: Size 1440x720, stretch 1.0746269, zoom 2.0736, score 0.44876328
05-26 10:17:14.370 I/CameraView: Size 1280x960, stretch 1.3958333, zoom 2.4576, score 0.2915112
05-26 10:17:14.370 I/CameraView: Size 1280x720, stretch 1.046875, zoom 1.8432, score 0.5182421
05-26 10:17:14.370 I/CameraView: Size 960x960, stretch 1.861111, zoom 1.8432, score 0.2915112
05-26 10:17:14.370 I/CameraView: Size 960x720, stretch 1.3958333, zoom 1.3824, score 0.5182422
05-26 10:17:14.370 I/CameraView: Size 960x540, stretch 1.046875, zoom 1.0368, score 0.92131937
05-26 10:17:14.370 I/CameraView: Size 960x480, stretch 1.0746269, zoom 1.0850694, score 0.8576
05-26 10:17:14.370 I/CameraView: Size 800x600, stretch 1.3958333, zoom 1.0416666, score 0.68776125
05-26 10:17:14.370 I/CameraView: Size 720x720, stretch 1.861111, zoom 1.0368, score 0.5182421
05-26 10:17:14.370 I/CameraView: Size 720x480, stretch 1.2407407, zoom 1.4467592, score 0.5570866
05-26 10:17:14.370 I/CameraView: Size 640x480, stretch 1.3958333, zoom 1.6276041, score 0.44016722
05-26 10:17:14.370 I/CameraView: Size 352x288, stretch 1.5227271, zoom 4.9321337, score 0.13315058
05-26 10:17:14.370 I/CameraView: Size 320x240, stretch 1.3958333, zoom 6.5104165, score 0.110041805
05-26 10:17:14.370 I/CameraView: Size 192x144, stretch 1.3958333, zoom 18.08449, score 0.03961505
05-26 10:17:14.370 I/CameraView: Size 192x108, stretch 1.046875, zoom 24.112654, score 0.039615046
05-26 10:17:14.371 I/CameraView: Size 176x144, stretch 1.5227271, zoom 19.728535, score 0.033287644
05-26 10:17:14.371 I/CameraView: Size 160x96, stretch 1.1166667, zoom 32.552082, score 0.027510447
05-26 10:17:14.371 I/CameraView: Best size 960x540
05-26 10:17:14.373 I/CameraView: Video stabilisation enabled: true
05-26 10:17:14.373 I/CameraView: Scene mode: barcode
05-26 10:17:14.373 I/CameraView: Focus mode: continuous-picture
05-26 10:17:14.373 I/CameraView: Flash mode: off
05-26 10:17:14.373 I/CameraView: Preview size: 960x540
05-26 10:17:14.373 I/CameraView: Starting preview
```https://code.briarproject.org/briar/briar/-/issues/2434IllegalArgumentException when pairing mailbox2023-05-31T16:58:06ZakwizgranIllegalArgumentException when pairing mailbox* Android version: 11
* Phone model: Xiaomi Redmi Not 6 Pro (lineage_twolip)
* Briar version: 1.5.3 (1f1a97f)
Stacktrace:
```
java.lang.IllegalArgumentException: Invalid URL host: \"[scrubbed].onion\"
at okhttp3.HttpUrl$Builder....* Android version: 11
* Phone model: Xiaomi Redmi Not 6 Pro (lineage_twolip)
* Briar version: 1.5.3 (1f1a97f)
Stacktrace:
```
java.lang.IllegalArgumentException: Invalid URL host: \"[scrubbed].onion\"
at okhttp3.HttpUrl$Builder.parse$okhttp(HttpUrl.kt:1338)
at okhttp3.HttpUrl$Companion.get(HttpUrl.kt:1634)
at okhttp3.Request$Builder.url(Request.kt:184)
at org.briarproject.bramble.mailbox.MailboxApiImpl.setup(MailboxApiImpl.java:85)
at org.briarproject.bramble.mailbox.MailboxPairingTaskImpl.pairMailbox(MailboxPairingTaskImpl.java:140)
at org.briarproject.bramble.mailbox.MailboxPairingTaskImpl.run(MailboxPairingTaskImpl.java:125)
at org.briarproject.bramble.mailbox.MailboxManagerImpl.lambda$startPairingTask$0(MailboxManagerImpl.java:97)
at org.briarproject.bramble.mailbox.MailboxManagerImpl.$r8$lambda$OqqL4NbxBrCG5gMD-GnzDqowbVk(Unknown Source:0)
at org.briarproject.bramble.mailbox.MailboxManagerImpl$$ExternalSyntheticLambda0.run(Unknown Source:4)
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:923)
```
I've scrubbed the hostname for privacy, but it was 56 valid-looking chars.
Last lines of log:
```
05-26 22:34:31.304 I/CameraView: Starting preview
05-26 22:34:33.480 I/MailboxViewModel: Got result from decoder
05-26 22:34:33.482 I/MailboxPairingTaskImpl: QR code is valid
05-26 22:34:33.482 I/MailboxViewModel: New pairing state: QrCodeReceived
05-26 22:34:33.484 I/CameraView: Stopping preview
```Mailbox: Releasehttps://code.briarproject.org/briar/briar/-/issues/2433IllegalStateException when storing attachments2023-08-24T14:33:28ZakwizgranIllegalStateException when storing attachments* Android version: 9
* Phone model: Coolpad cp3648AT (full_cp3648at)
* Briar version: 1.4.11 (2aa39e4)
Stacktrace:
```
java.lang.IllegalStateException
at org.briarproject.briar.android.attachment.AttachmentCreatorImpl.storeAttac...* Android version: 9
* Phone model: Coolpad cp3648AT (full_cp3648at)
* Briar version: 1.4.11 (2aa39e4)
Stacktrace:
```
java.lang.IllegalStateException
at org.briarproject.briar.android.attachment.AttachmentCreatorImpl.storeAttachments(AttachmentCreatorImpl.java:83)
at org.briarproject.briar.android.conversation.ConversationViewModel.storeAttachments(ConversationViewModel.java:277)
at org.briarproject.briar.android.view.TextAttachmentController.onNewUris(TextAttachmentController.java:178)
at org.briarproject.briar.android.view.TextAttachmentController.onImageReceived(TextAttachmentController.java:160)
at org.briarproject.briar.android.conversation.ConversationActivity.onImagesChosen(ConversationActivity.java:797)
at org.briarproject.briar.android.conversation.ConversationActivity.$r8$lambda$Yw3fl1gK9EIeGMTHPyKDfNfoOkI(Unknown Source:0)
at org.briarproject.briar.android.conversation.ConversationActivity$$ExternalSyntheticLambda3.onActivityResult(Unknown Source:4)
at androidx.activity.result.ActivityResultRegistry$1.onStateChanged(ActivityResultRegistry.java:148)
at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:354)
at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.java:265)
at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:307)
at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:148)
at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.java:134)
at androidx.lifecycle.ReportFragment.dispatch(ReportFragment.java:68)
at androidx.lifecycle.ReportFragment.dispatch(ReportFragment.java:144)
at androidx.lifecycle.ReportFragment.onStart(ReportFragment.java:109)
at android.app.Fragment.performStart(Fragment.java:2548)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1334)
at android.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1576)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1637)
at android.app.FragmentManagerImpl.dispatchMoveToState(FragmentManager.java:3046)
at android.app.FragmentManagerImpl.dispatchStart(FragmentManager.java:3003)
at android.app.FragmentController.dispatchStart(FragmentController.java:193)
at android.app.Activity.performStart(Activity.java:7165)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:2968)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1836)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6704)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:911)
```
Edited log:
```
01-12 20:00:06.622 I/ValidationManagerImpl: Validating message for org.briarproject.briar.messaging
01-12 20:00:06.831 I/ValidationManagerImpl: Delivering message for org.briarproject.briar.messaging
01-12 20:00:06.837 I/AutoDeleteManagerImpl: Mirroring auto-delete timer -1
01-12 20:00:06.940 I/ContactsViewModel: Conversation message tracked, updating item
01-12 20:00:11.836 I/BaseActivity: Destroying NavDrawerActivity
01-12 20:00:11.954 I/BaseActivity: Creating ConversationActivity
01-12 20:00:12.158 I/BaseActivity: Starting ConversationActivity
01-12 20:00:12.163 I/BaseActivity: Resuming ConversationActivity
01-12 20:00:12.233 I/ConversationViewModel: PrivateMessageFormat loaded: TEXT_IMAGES_AUTO_DELETE
01-12 20:00:25.255 I/ConversationActivity: Eagerly loading text for latest message
01-12 20:00:31.004 W/AttachmentRetrieverImpl: org.briarproject.bramble.api.db.MessageDeletedException
org.briarproject.bramble.api.db.MessageDeletedException
at org.briarproject.bramble.db.JdbcDatabase.getMessage(JdbcDatabase.java:1860)
at org.briarproject.bramble.db.JdbcDatabase.getMessage(JdbcDatabase.java:100)
at org.briarproject.bramble.db.DatabaseComponentImpl.getMessage(DatabaseComponentImpl.java:600)
at org.briarproject.bramble.client.ClientHelperImpl.getMessage(ClientHelperImpl.java:146)
at org.briarproject.briar.attachment.AttachmentReaderImpl.getAttachment(AttachmentReaderImpl.java:46)
at org.briarproject.briar.attachment.AttachmentReaderImpl.lambda$getAttachment$0(AttachmentReaderImpl.java:38)
at org.briarproject.briar.attachment.AttachmentReaderImpl.$r8$lambda$eCXQ8CbNfD8FSDzXT4wNgsUZiKY(Unknown Source:0)
at org.briarproject.briar.attachment.AttachmentReaderImpl$$ExternalSyntheticLambda0.call(Unknown Source:4)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:212)
at org.briarproject.briar.attachment.AttachmentReaderImpl.getAttachment(AttachmentReaderImpl.java:38)
at org.briarproject.briar.android.attachment.AttachmentRetrieverImpl.loadAttachmentItem(AttachmentRetrieverImpl.java:189)
at org.briarproject.briar.android.attachment.AttachmentRetrieverImpl.lambda$getAttachmentItems$0(AttachmentRetrieverImpl.java:129)
at org.briarproject.briar.android.attachment.AttachmentRetrieverImpl.$r8$lambda$IddQB3KJutztIvZ-pFcOKTYs1rM(Unknown Source:0)
at org.briarproject.briar.android.attachment.AttachmentRetrieverImpl$$ExternalSyntheticLambda0.run(Unknown Source:8)
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:764)
01-12 20:00:32.000 W/AttachmentRetrieverImpl: org.briarproject.bramble.api.db.MessageDeletedException
org.briarproject.bramble.api.db.MessageDeletedException
at org.briarproject.bramble.db.JdbcDatabase.getMessage(JdbcDatabase.java:1860)
at org.briarproject.bramble.db.JdbcDatabase.getMessage(JdbcDatabase.java:100)
at org.briarproject.bramble.db.DatabaseComponentImpl.getMessage(DatabaseComponentImpl.java:600)
at org.briarproject.bramble.client.ClientHelperImpl.getMessage(ClientHelperImpl.java:146)
at org.briarproject.briar.attachment.AttachmentReaderImpl.getAttachment(AttachmentReaderImpl.java:46)
at org.briarproject.briar.attachment.AttachmentReaderImpl.lambda$getAttachment$0(AttachmentReaderImpl.java:38)
at org.briarproject.briar.attachment.AttachmentReaderImpl.$r8$lambda$eCXQ8CbNfD8FSDzXT4wNgsUZiKY(Unknown Source:0)
at org.briarproject.briar.attachment.AttachmentReaderImpl$$ExternalSyntheticLambda0.call(Unknown Source:4)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:212)
at org.briarproject.briar.attachment.AttachmentReaderImpl.getAttachment(AttachmentReaderImpl.java:38)
at org.briarproject.briar.android.attachment.AttachmentRetrieverImpl.loadAttachmentItem(AttachmentRetrieverImpl.java:189)
at org.briarproject.briar.android.attachment.AttachmentRetrieverImpl.lambda$getAttachmentItems$0(AttachmentRetrieverImpl.java:129)
at org.briarproject.briar.android.attachment.AttachmentRetrieverImpl.$r8$lambda$IddQB3KJutztIvZ-pFcOKTYs1rM(Unknown Source:0)
at org.briarproject.briar.android.attachment.AttachmentRetrieverImpl$$ExternalSyntheticLambda0.run(Unknown Source:8)
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:764)
01-12 20:00:43.142 I/BaseActivity: Pausing ConversationActivity
01-12 20:00:43.192 I/BaseActivity: Stopping ConversationActivity
01-12 20:00:43.886 W/AttachmentRetrieverImpl: org.briarproject.bramble.api.db.MessageDeletedException
org.briarproject.bramble.api.db.MessageDeletedException
at org.briarproject.bramble.db.JdbcDatabase.getMessage(JdbcDatabase.java:1860)
at org.briarproject.bramble.db.JdbcDatabase.getMessage(JdbcDatabase.java:100)
at org.briarproject.bramble.db.DatabaseComponentImpl.getMessage(DatabaseComponentImpl.java:600)
at org.briarproject.bramble.client.ClientHelperImpl.getMessage(ClientHelperImpl.java:146)
at org.briarproject.briar.attachment.AttachmentReaderImpl.getAttachment(AttachmentReaderImpl.java:46)
at org.briarproject.briar.attachment.AttachmentReaderImpl.lambda$getAttachment$0(AttachmentReaderImpl.java:38)
at org.briarproject.briar.attachment.AttachmentReaderImpl.$r8$lambda$eCXQ8CbNfD8FSDzXT4wNgsUZiKY(Unknown Source:0)
at org.briarproject.briar.attachment.AttachmentReaderImpl$$ExternalSyntheticLambda0.call(Unknown Source:4)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:212)
at org.briarproject.briar.attachment.AttachmentReaderImpl.getAttachment(AttachmentReaderImpl.java:38)
at org.briarproject.briar.android.attachment.AttachmentRetrieverImpl.loadAttachmentItem(AttachmentRetrieverImpl.java:189)
at org.briarproject.briar.android.attachment.AttachmentRetrieverImpl.lambda$getAttachmentItems$0(AttachmentRetrieverImpl.java:129)
at org.briarproject.briar.android.attachment.AttachmentRetrieverImpl.$r8$lambda$IddQB3KJutztIvZ-pFcOKTYs1rM(Unknown Source:0)
at org.briarproject.briar.android.attachment.AttachmentRetrieverImpl$$ExternalSyntheticLambda0.run(Unknown Source:8)
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:764)
01-12 20:01:00.181 I/BaseActivity: Starting ConversationActivity
01-12 20:01:00.308 I/BaseActivity: Resuming ConversationActivity
01-12 20:01:07.726 I/AutoDeleteManagerImpl: Sending message with auto-delete timer -1
01-12 20:01:17.992 I/BaseActivity: Pausing ConversationActivity
01-12 20:01:18.633 I/BaseActivity: Stopping ConversationActivity
01-12 20:01:19.034 I/ConversationActivity: Eagerly loading text for latest message
01-12 20:01:19.041 I/ConversationActivity: Concurrent update, reloading
01-12 20:01:19.064 I/AutoDeleteManagerImpl: Sending message with auto-delete timer -1
01-12 20:01:23.296 I/BaseActivity: Starting ConversationActivity
01-12 20:01:23.335 I/BaseActivity: Resuming ConversationActivity
01-12 20:01:23.550 I/ImageCompressorImpl: Original image size: 720x1440
01-12 20:01:23.550 I/ImageCompressorImpl: Scaling attachment by factor of 2
01-12 20:01:23.784 I/ImageCompressorImpl: Compressed image to 32229 bytes, quality 70
01-12 20:01:25.507 I/BaseActivity: Pausing ConversationActivity
01-12 20:01:26.209 I/BaseActivity: Stopping ConversationActivity
01-12 20:01:27.381 I/BaseActivity: Starting ConversationActivity
01-12 20:01:27.383 I/BaseActivity: Resuming ConversationActivity
01-12 20:01:29.743 I/BaseActivity: Pausing ConversationActivity
01-12 20:01:30.425 I/BaseActivity: Stopping ConversationActivity
01-12 20:01:30.751 I/BaseActivity: Starting ConversationActivity
01-12 20:01:30.756 W/AttachmentCreatorImpl: Task already exists!
01-12 20:01:30.756 W/AttachmentCreatorImpl: Result already exists!
01-12 20:01:30.756 W/AttachmentCreatorImpl: Uris available: [content://com.android.providers.media.documents/document/image%3A10277]
```
This looks similar to #1647.Android 1.4https://code.briarproject.org/briar/briar/-/issues/2432IllegalStateException from BluetoothConnectionLimiterImpl2023-05-30T15:27:15ZakwizgranIllegalStateException from BluetoothConnectionLimiterImpl* Android version: 10
* Phone models: Motorola Moto G(8) Plus (doha_reteu_n)
* Briar version: 1.4.11 (2aa39e4)
Stacktrace:
```
java.lang.IllegalStateException
at org.briarproject.bramble.plugin.bluetooth.BluetoothConnectionLimit...* Android version: 10
* Phone models: Motorola Moto G(8) Plus (doha_reteu_n)
* Briar version: 1.4.11 (2aa39e4)
Stacktrace:
```
java.lang.IllegalStateException
at org.briarproject.bramble.plugin.bluetooth.BluetoothConnectionLimiterImpl.endLimiting(BluetoothConnectionLimiterImpl.java:53)
at org.briarproject.bramble.plugin.bluetooth.AbstractBluetoothPlugin.eventOccurred(AbstractBluetoothPlugin.java:523)
at org.briarproject.bramble.event.EventBusImpl.lambda$broadcast$0(EventBusImpl.java:42)
at org.briarproject.bramble.event.EventBusImpl.$r8$lambda$clxOMxNLcHINGTGi9tkg-7meojQ(Unknown Source:0)
at org.briarproject.bramble.event.EventBusImpl$$ExternalSyntheticLambda0.run(Unknown Source:4)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:241)
at android.app.ActivityThread.main(ActivityThread.java:7582)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:941)
```
Edited log:
```
10-02 08:57:47.978 I/AddNearbyContactViewModel: Got result from decoder
... ditto ...
10-02 08:57:48.310 I/AddNearbyContactViewModel: Got result from decoder
10-02 08:57:48.328 I/PollerImpl: Polling plugin org.briarproject.bramble.bluetooth
10-02 08:57:48.337 I/ConnectionRegistryImpl: 1 contacts connected or better: org.briarproject.bramble.bluetooth
10-02 08:57:48.350 I/AddNearbyContactViewModel: Got result from decoder
... ditto ...
10-02 08:57:50.709 I/AddNearbyContactViewModel: Got result from decoder
10-02 08:57:50.760 I/KeyAgreementConnector: Listening via org.briarproject.bramble.bluetooth
10-02 08:57:50.772 I/AddNearbyContactViewModel: Got result from decoder
10-02 08:57:50.783 I/KeyAgreementConnector: Listening via org.briarproject.bramble.lan
10-02 08:57:50.784 I/BluetoothConnectionLimiterImpl: Limiting started
10-02 08:57:50.784 I/AddNearbyContactViewModel: KeyAgreementListeningEvent received
10-02 08:57:50.784 I/KeyAgreementConnector: Stopping BQP listeners
10-02 08:57:50.785 I/ConnectionChooserImpl: Closing 0 unused connections
10-02 08:57:50.786 I/AddNearbyContactViewModel: Local payload is 40 bytes
10-02 08:57:50.786 I/KeyAgreementConnector: Stopping BQP listeners
10-02 08:57:50.786 I/ConnectionChooserImpl: Closing 0 unused connections
10-02 08:57:50.787 I/ConnectionChooserImpl: java.io.IOException: read failed, socket might closed or timeout, read ret: -1
10-02 08:57:50.788 I/KeyAgreementConnector: Starting BQP listeners
10-02 08:57:50.788 I/ConnectionChooserImpl: java.net.SocketException: Socket closed
10-02 08:57:50.788 I/AbstractBluetoothPlugin: Key agreement UUID be4822aa-1ecc-3c82-b00a-7e234a5efdba
10-02 08:57:50.786 I/BluetoothConnectionLimiterImpl: Limiting ended
```Android 1.4