briar issueshttps://code.briarproject.org/groups/briar/-/issues2022-07-13T11:16:37Zhttps://code.briarproject.org/briar/briar/-/issues/2338Building headless platform jars should depend on jar task2022-07-13T11:16:37ZSebastianBuilding headless platform jars should depend on jar taskI think the tasks created using `jarFactory` such as `x86LinuxJar` and `windowsJar` should depend on the jar task.
Otherwise, if not building the jars using an additional clean target (e.g. `./gradlew clean windowsJar`), it will use a p...I think the tasks created using `jarFactory` such as `x86LinuxJar` and `windowsJar` should depend on the jar task.
Otherwise, if not building the jars using an additional clean target (e.g. `./gradlew clean windowsJar`), it will use a potentially outdated jar for producing the platform jar.Android 1.4https://code.briarproject.org/briar/briar/-/issues/2337Briar on PIxel 2 able to link with two mailbox devices2022-07-13T11:04:48ZIvanaBriar on PIxel 2 able to link with two mailbox devicesSteps to reproduce: (17th June)
Install newest version of Briar on Pixel 2 (android 11)
Install newest version of mailbox on Nokia 3.2 (android 10)
Install newest version of mailbox on Samsung 6810 (Android 4.1.2)
Link the Briar app on...Steps to reproduce: (17th June)
Install newest version of Briar on Pixel 2 (android 11)
Install newest version of mailbox on Nokia 3.2 (android 10)
Install newest version of mailbox on Samsung 6810 (Android 4.1.2)
Link the Briar app on Pixel 2 with mailbox app on Nokia 3.2
When both devices show the 'Connected' screens, switch the internet off (at router, modem...)
Both devices show the offline screen. Pixel 2 shows offline screen (briar app) and Nokia 3.2 only shows the offline screen after I tap on Finish.
The Briar offline screen has a button Try again. this works well before the two devices are actually linked, and it gives them the opportunity to try and link again.
However, this button is still available even after they have successfully linked.
Switch the internet back on.
I restart the internet. Nokia 3.2 shows the Mailbox is running screen. Pixel 2 still shows the offline screen. If I tap the Try again button, it leads me to the Scan Mailbox QR code screen.
**- It should show me Mailbox is runnign screen at this point. **
I then take another device (Samsung 6810) and display the QR code. I use the briar app (which is already linked to one mailbox) to scan the code, and the scan goes ahead OK. I get a success screen.
This means that I am able to use briar to connect to two different mailbox devices.
At this point, each of the two mailbox devices is showing Mailbox is running screen, as does the Briar app.
Repeated the same steps twice - it appears to be repeatable.
I have tried to repeat it with another combination ofdevices - HTc E9 One Android 5.0.2, Samsing I9195 (Android 4.4.2) and Nokia 3.2 Android 10. Using HTC as the briar device, I still get the 'Try again'button on the offline screen, and it takes me to the Scan the QR code screen. But scanning doesn't seem to work - ie I just get Unable to connect, Try again. This workflow seems slightly different from the above one, but it is still not correct...Mailbox: PairingIvanaIvanahttps://code.briarproject.org/briar/briar-mailbox/-/issues/140When mailbox Offline screen is displayed notification is not correct2022-08-01T13:42:49ZIvanaWhen mailbox Offline screen is displayed notification is not correctSteps to reproduce:
Install the mailbox and tap the icon to start it.
During the starting process, whilst the progress screen is displayed - switch the internet off (at router, modem etc)
Expected results:
- Mailbox 'notices' that...Steps to reproduce:
Install the mailbox and tap the icon to start it.
During the starting process, whilst the progress screen is displayed - switch the internet off (at router, modem etc)
Expected results:
- Mailbox 'notices' that there is no internet and disaplyed the 'Offline' screen.
- Notifications are also updated with this status and say something like: Mailbox is offline. Or similar.
Actual results:
- Mailbox notices that there is no internet connectivity, and it displays the offline screen correctly
- However, user notification is not updated correctly - instead it shows 'Mailbox is running'... (even though no linking with Briar was actually done yet)Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/2336DatabaseComponent#getNextSendTime() should consider latency2022-06-17T13:33:31ZakwizgranDatabaseComponent#getNextSendTime() should consider latencyDatabaseComponent#getNextSendTime() returns the earliest retransmission time of any message that's eligible to be sent to a given contact. It should also consider the rule that a message can be retransmitted immediately if the current tr...DatabaseComponent#getNextSendTime() returns the earliest retransmission time of any message that's eligible to be sent to a given contact. It should also consider the rule that a message can be retransmitted immediately if the current transport has lower latency than the transport over which the message was last transmitted.Mailbox: Manage mailbox connectionsakwizgranakwizgranhttps://code.briarproject.org/briar/briar-mailbox/-/issues/139Cannot find geoip.zip2022-06-15T10:03:50ZSebastianCannot find geoip.zipI get a crash during startup and this stacktrace on current `main` (c8cc251327e):
```
2022-06-15 09:59:53.599 19837-19837/? I/o.b.m.c.l.LifecycleManagerImpl: [main] Registering service AndroidTorPlugin
2022-06-15 09:59:54.842 19837-1986...I get a crash during startup and this stacktrace on current `main` (c8cc251327e):
```
2022-06-15 09:59:53.599 19837-19837/? I/o.b.m.c.l.LifecycleManagerImpl: [main] Registering service AndroidTorPlugin
2022-06-15 09:59:54.842 19837-19864/? E/AndroidRuntime: FATAL EXCEPTION: AndroidExecutor
Process: org.briarproject.mailbox, PID: 19837
android.content.res.Resources$NotFoundException: Resource ID #0x0
at android.content.res.ResourcesImpl.getValue(ResourcesImpl.java:248)
at android.content.res.ResourcesImpl.openRawResource(ResourcesImpl.java:363)
at android.content.res.Resources.openRawResource(Resources.java:1378)
at android.content.res.Resources.openRawResource(Resources.java:1322)
at org.briarproject.mailbox.core.tor.AndroidTorModule.provideResourceProvider$lambda-0(AndroidTorModule.kt:57)
at org.briarproject.mailbox.core.tor.AndroidTorModule.$r8$lambda$KdQ4hVPDfH1cNYDGSUQ8EZAwDA4(Unknown Source:0)
at org.briarproject.mailbox.core.tor.AndroidTorModule$$ExternalSyntheticLambda0.getResourceInputStream(Unknown Source:2)
at org.briarproject.mailbox.core.tor.TorPlugin.getGeoIpInputStream(TorPlugin.java:322)
at org.briarproject.mailbox.core.tor.TorPlugin.installAssets(TorPlugin.java:285)
at org.briarproject.mailbox.core.tor.TorPlugin.startService(TorPlugin.java:184)
at org.briarproject.mailbox.core.lifecycle.LifecycleManagerImpl.startServices(LifecycleManagerImpl.kt:137)
at org.briarproject.mailbox.android.MailboxService.onCreate$lambda-0(MailboxService.kt:121)
at org.briarproject.mailbox.android.MailboxService.$r8$lambda$nB5tsAdL05RBwWtIkVvT-p8bZe4(Unknown Source:0)
at org.briarproject.mailbox.android.MailboxService$$ExternalSyntheticLambda1.run(Unknown Source:2)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at org.briarproject.mailbox.core.system.AndroidExecutorImpl.lambda$new$0$org-briarproject-mailbox-core-system-AndroidExecutorImpl(AndroidExecutorImpl.java:51)
at org.briarproject.mailbox.core.system.AndroidExecutorImpl$$ExternalSyntheticLambda0.run(Unknown Source:2)
at java.lang.Thread.run(Thread.java:923)
```
I think this probably got introduced with the recent upgrade of Tor from 3.X to 4.X in !97.Mailbox: TorSebastianSebastianhttps://code.briarproject.org/briar/briar-mailbox/-/issues/138Show a warning dialog if Tor detects clock skew2022-07-13T11:03:53ZakwizgranShow a warning dialog if Tor detects clock skewThe Tor plugin should listen for STATUS_GENERAL events from Tor, parse CLOCK_SKEW messages, and use them to broadcast events that can be received by the UI.
The UI should react to these events by showing a warning dialog telling the use...The Tor plugin should listen for STATUS_GENERAL events from Tor, parse CLOCK_SKEW messages, and use them to broadcast events that can be received by the UI.
The UI should react to these events by showing a warning dialog telling the user to check that the device's time, date and timezone are correct (perhaps with some filtering to ensure that we don't show the dialog again immediately after the user has dismissed it).
The dialog should be shown immediately if clock skew is detected while the app's in the foreground. If clock skew is detected while the app is in the background then the dialog should be shown when the app's brought to the foreground. We may be able to use a LiveEvent for this.Mailbox: TorTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar-mailbox/-/issues/137Upgrade to Tor 0.4.5.122022-06-14T11:52:14ZakwizgranUpgrade to Tor 0.4.5.12Mailbox: Torakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/2330NPE when getting IPv6 address for network interface2023-09-06T15:37:00ZakwizgranNPE when getting IPv6 address for network interface* Android version: 11
* Phone model: OnePlus HD1903 (OnePlus7T)
* Briar version: 1.4.6 (d5e17c8)
Stacktrace:
```
java.lang.NullPointerException: Attempt to read from field 'java.util.List java.net.NetworkInterface.childs' on a null obje...* Android version: 11
* Phone model: OnePlus HD1903 (OnePlus7T)
* Briar version: 1.4.6 (d5e17c8)
Stacktrace:
```
java.lang.NullPointerException: Attempt to read from field 'java.util.List java.net.NetworkInterface.childs' on a null object reference
at java.net.NetworkInterface.getAll(NetworkInterface.java:498)
at java.net.NetworkInterface.getByInetAddress(NetworkInterface.java:365)
at org.briarproject.bramble.plugin.tcp.AndroidLanTcpPlugin.getIpv6AddressForInterface(AndroidLanTcpPlugin.java:199)
at org.briarproject.bramble.plugin.tcp.AndroidLanTcpPlugin.getWifiAddress(AndroidLanTcpPlugin.java:125)
at org.briarproject.bramble.plugin.tcp.AndroidLanTcpPlugin.getUsableLocalInetAddresses(AndroidLanTcpPlugin.java:110)
at org.briarproject.bramble.plugin.tcp.LanTcpPlugin.getLocalSocketAddresses(LanTcpPlugin.java:140)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.bind(TcpPlugin.java:159)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.lambda$bind$0(TcpPlugin.java:152)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.$r8$lambda$IG7OujafuxmUKGD9Z35IgV8DTwo(Unknown Source:0)
at org.briarproject.bramble.plugin.tcp.TcpPlugin$$ExternalSyntheticLambda0.run(Unknown Source:2)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0(PoliteExecutor.java:57)
at org.briarproject.bramble.PoliteExecutor.$r8$lambda$wSvuPL6t_HUoaaqCVexrhJX_RSg(Unknown Source:0)
at org.briarproject.bramble.PoliteExecutor$$ExternalSyntheticLambda0.run(Unknown Source:6)
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)
```Android 1.4https://code.briarproject.org/briar/briar-mailbox/-/issues/136Adapt Xiaomi power setup for MIUI 12.52022-07-14T17:46:03ZTorsten GroteAdapt Xiaomi power setup for MIUI 12.5backport: https://code.briarproject.org/briar/briar/-/merge_requests/1667backport: https://code.briarproject.org/briar/briar/-/merge_requests/1667Mailbox: Manage app lifecycleTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar-mailbox/-/issues/135After linking briar and mailbox, mailbox showing 'never' as the last connetion2022-06-13T10:25:22ZIvanaAfter linking briar and mailbox, mailbox showing 'never' as the last connetionSteps to reproduce:
- Link the briar and mailbox apps
- After receiving the 'success'message, check the status screen for each application
Expected results:
- the last connection on both applications shoudl show 'now'
Actual results...Steps to reproduce:
- Link the briar and mailbox apps
- After receiving the 'success'message, check the status screen for each application
Expected results:
- the last connection on both applications shoudl show 'now'
Actual results:
- the last connection on the mailbox status screen shows 'never' and on briar status screen it shows (correctly) 'now'
Closing as just seen that this is reported in ticket https://code.briarproject.org/briar/briar-mailbox/-/issues/133https://code.briarproject.org/briar/briar-desktop/-/issues/365Update screenshot in README after color updates2022-09-13T19:34:13ZSebastianUpdate screenshot in README after color updatesSebastianSebastianhttps://code.briarproject.org/briar/briar-mailbox/-/issues/134Rotating devices during startup causes crash2023-01-19T13:10:55ZSebastianRotating devices during startup causes crashSteps to reproduce:
* fresh install of mailbox
* disable battery optimization using do-not-kill-me dialog
* continue to startup fragment
* rotate device
Crash:
```
2022-06-10 15:27:05.320 23832-23832/org.briarproject.mailbox E/AndroidR...Steps to reproduce:
* fresh install of mailbox
* disable battery optimization using do-not-kill-me dialog
* continue to startup fragment
* rotate device
Crash:
```
2022-06-10 15:27:05.320 23832-23832/org.briarproject.mailbox E/AndroidRuntime: FATAL EXCEPTION: main
Process: org.briarproject.mailbox, PID: 23832
java.lang.IllegalArgumentException: Navigation action/destination org.briarproject.mailbox:id/action_doNotKillMeFragment_to_startupFragment cannot be found from the current destination Destination(org.briarproject.mailbox:id/startupFragment) label=StartupFragment class=org.briarproject.mailbox.android.ui.StartupFragment
at androidx.navigation.NavController.navigate(NavController.kt:1536)
at androidx.navigation.NavController.navigate(NavController.kt:1468)
at androidx.navigation.NavController.navigate(NavController.kt:1926)
at org.briarproject.mailbox.android.ui.MainActivity.onCreate$lambda-0(MainActivity.kt:68)
```IvanaIvanahttps://code.briarproject.org/briar/briar-mailbox/-/issues/132Check that system clock is reasonable when starting2023-05-16T12:36:04ZakwizgranCheck that system clock is reasonable when startingThe lifecycle manager should check that the system's clock is reasonable (eg between 1 Jan 2022 and 1 Jan 2122) and return a startup error if not.The lifecycle manager should check that the system's clock is reasonable (eg between 1 Jan 2022 and 1 Jan 2122) and return a startup error if not.Mailbox: Manage app lifecycleIvanaIvanahttps://code.briarproject.org/briar/briar-mailbox/-/issues/131Linking success screen and wiping complete screen don't look right in landscape2022-08-01T13:44:35ZIvanaLinking success screen and wiping complete screen don't look right in landscapeSteps to reproduce
Install the mailbox app in a device Android 5.0.2 (HTC E9 One in this case) and link it to the briar app on another device.
When you get the success screen, rotate the device into ladnscape orientation
Expected res...Steps to reproduce
Install the mailbox app in a device Android 5.0.2 (HTC E9 One in this case) and link it to the briar app on another device.
When you get the success screen, rotate the device into ladnscape orientation
Expected results:
all text that is visible in portrait orientation should also be visible in the landscape orientation - screen needs to be scrollable if it needs to be
Actual results:
Mailbox app - Some text is hidden behind the Finish button, and the screen is not scrollable. (The sames creen in Briar app is scrollable)
![Screenshot_20220610_094333](/uploads/440da8a3beeb4597949ce97c4fbd7a19/Screenshot_20220610_094333.png)
The same applies to the Wiping complete screen, see attached - Android 4.4.2
![Screenshot_20220610_101614](/uploads/bab5f219d30708b32ac6aa6fa01ba856/Screenshot_20220610_101614.png)MailboxTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/2329Translations for TrustIndicatorView trust levels2022-07-14T17:37:37Zjohndoe4221Translations for TrustIndicatorView trust levelsThe `TrustIndicatorView` can display 5 different trust levels:
- ANONYMOUS
- UNVERIFIED
- VERIFIED
- OURSELVES
- default
In order to implement features like #1052 and make the trust levels easier to understand we need descriptive trans...The `TrustIndicatorView` can display 5 different trust levels:
- ANONYMOUS
- UNVERIFIED
- VERIFIED
- OURSELVES
- default
In order to implement features like #1052 and make the trust levels easier to understand we need descriptive translations of trust levels and what they mean for a contact.
I suggest to create the translation keys:
- `contact_trust_level_anonymous`
- `contact_trust_level_unverified`
- `contact_trust_level_verified`
- `contact_trust_level_ourselves`
- `contact_trust_level_default`
The this can be used to show the symbolic trust level and the descriptive text side by side, e.g:
![trust_level_translation](/uploads/f7c70c4002729ffc3fbe5537b654b742/trust_level_translation.png)Android 1.4https://code.briarproject.org/briar/briar-desktop/-/issues/363Cannot run ConversationList#main()2022-06-10T17:56:56ZSebastianCannot run ConversationList#main()It complains about `LocalWindowFocusState` not being provided. I think this got introduced with c438318a64ada9c and we need to provide it in our `preview()` utility method.It complains about `LocalWindowFocusState` not being provided. I think this got introduced with c438318a64ada9c and we need to provide it in our `preview()` utility method.SebastianSebastianhttps://code.briarproject.org/briar/briar-mailbox/-/issues/130Use flexible layouts for small screens2023-01-19T13:03:05ZakwizgranUse flexible layouts for small screensAdapt the Mailbox to work on small screens, maybe using the techinique from https://code.briarproject.org/akwizgran/flexible-layouts .Adapt the Mailbox to work on small screens, maybe using the techinique from https://code.briarproject.org/akwizgran/flexible-layouts .Mailboxhttps://code.briarproject.org/briar/briar/-/issues/2326Briar's mailbox status screen should fetch the mailbox's supported API versions2022-06-14T12:29:48ZakwizgranBriar's mailbox status screen should fetch the mailbox's supported API versionsBriar's mailbox status screen uses the `status` API endpoint for its connectivity check. Let's use the `versions` endpoint instead, so that if we've warned the user that Briar and the Mailbox are using incompatible API versions, and the ...Briar's mailbox status screen uses the `status` API endpoint for its connectivity check. Let's use the `versions` endpoint instead, so that if we've warned the user that Briar and the Mailbox are using incompatible API versions, and the user has upgraded one of the apps to fix the issue, the user can use the "check connection" button in the status screen to check that the issue has been fixed.
(This is specifically needed for the case where the user has upgraded the Mailbox, because in the case where the user has upgraded Briar, Briar should automatically check the mailbox's API versions when it comes back online after upgrading.)Mailbox: Status UI for Briar appTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar-mailbox/-/issues/128Cancelling setup is not clearing "Mailbox starting" notification2022-07-13T11:05:42ZTorsten GroteCancelling setup is not clearing "Mailbox starting" notificationStart mailbox, go through onboarding until QR code is visible. The press cancel button. Notice that "Briar Mailbox starting" notification is still there (and has wrong text?)Start mailbox, go through onboarding until QR code is visible. The press cancel button. Notice that "Briar Mailbox starting" notification is still there (and has wrong text?)Mailbox: Manage app lifecycleSebastianSebastianhttps://code.briarproject.org/briar/briar/-/issues/2323Missing blanks in the german translation for auto delete messages2022-07-13T11:18:27Zjohndoe4221Missing blanks in the german translation for auto delete messagesThe german translation for the _auto_delete_msg_you_enabled_ and _auto_delete_msg_contact_enabled_ doesn't use blanks around a variable substitution. This leads to an unwanted concatenation of words in the final translation:
![eb99964a-...The german translation for the _auto_delete_msg_you_enabled_ and _auto_delete_msg_contact_enabled_ doesn't use blanks around a variable substitution. This leads to an unwanted concatenation of words in the final translation:
![eb99964a-c8cb-4716-b235-248a4eb8dd6a](/uploads/5fce55092dce358f5c49bc6c1b8b0add/eb99964a-c8cb-4716-b235-248a4eb8dd6a.jpg)