Briar Mailbox issueshttps://code.briarproject.org/briar/briar-mailbox/-/issues2023-10-20T11:54:46Zhttps://code.briarproject.org/briar/briar-mailbox/-/issues/197Add Briar Mailbox to main F-Droid repo2023-10-20T11:54:46ZakwizgranAdd Briar Mailbox to main F-Droid repoA user suggested that we should add Briar Mailbox to the main F-Droid repo.A user suggested that we should add Briar Mailbox to the main F-Droid repo.https://code.briarproject.org/briar/briar-mailbox/-/issues/196Support for running on a linux server (also containers)2023-10-27T11:21:57ZmicressorSupport for running on a linux server (also containers)I would love to be able to run the mailbox on my own server.
The most optimal would probably be a container like podman or docker.
Small advantage of this variant: The smartphone used for this does not radiate unnecessarily.I would love to be able to run the mailbox on my own server.
The most optimal would probably be a container like podman or docker.
Small advantage of this variant: The smartphone used for this does not radiate unnecessarily.https://code.briarproject.org/briar/briar-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-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-mailbox/-/issues/192Set up fastlane for app store metadata2023-08-28T16:00:10ZTorsten GroteSet up fastlane for app store metadatahttps://code.briarproject.org/briar/briar-mailbox/-/issues/190Pairing issue: Jackson 2.14.x can't serialize on Android < 8 (SDK 26)2023-08-28T16:00:11ZTorsten GrotePairing issue: Jackson 2.14.x can't serialize on Android < 8 (SDK 26)ktor-serialization-jackson 2.2.3 depends on jackson-databind 2.14.1. but jackson 2.14 has dropped support for android < 26
upstream ticket: https://youtrack.jetbrains.com/issue/KTOR-5579/Jackson-serialization-is-broken-on-older-Android-...ktor-serialization-jackson 2.2.3 depends on jackson-databind 2.14.1. but jackson 2.14 has dropped support for android < 26
upstream ticket: https://youtrack.jetbrains.com/issue/KTOR-5579/Jackson-serialization-is-broken-on-older-Android-devices
downgrading ktor to 2.1.3 would give us a temporary workaround, if needed
https://github.com/ktorio/ktor/blob/2.1.3/gradle/libs.versions.toml
forcing a jackson version without downgrading ktor may also work.
other serialization options: https://ktor.io/docs/serialization.html#register_jsonMailbox: Releasehttps://code.briarproject.org/briar/briar-mailbox/-/issues/188Use periodic alarm to check whether Mailbox is running2023-08-28T16:00:09ZakwizgranUse periodic alarm to check whether Mailbox is runningSchedule a periodic alarm to check whether the Mailbox is running. If it's not running and was not manually stopped, start it automatically just like we would after the device restarts. This may help us to work around issues with power m...Schedule a periodic alarm to check whether the Mailbox is running. If it's not running and was not manually stopped, start it automatically just like we would after the device restarts. This may help us to work around issues with power managers that kill long-running apps.https://code.briarproject.org/briar/briar-mailbox/-/issues/181Splash screen on Android 12 does not look nice2023-08-28T16:00:10ZSebastianSplash screen on Android 12 does not look niceWith Android 12 there are now [Splash screens](https://developer.android.com/develop/ui/views/launch/splash-screen) when launching the app, showing our logo. In our case that logo is white on a gray background. I think we should probably...With Android 12 there are now [Splash screens](https://developer.android.com/develop/ui/views/launch/splash-screen) when launching the app, showing our logo. In our case that logo is white on a gray background. I think we should probably set the tint in the app icon directly instead of the fragment. We just need to check light mode and dark mode both look good.https://code.briarproject.org/briar/briar-mailbox/-/issues/168Dead code in StatusFragment2023-08-28T16:00:10ZSebastianDead code in StatusFragmentIn the StatusFragment, we still have code for changing the fragment if the app detects a no-network situation, however, we actually move to the NoNetwork fragment in the main activity anyway, so this is essentially dead code.
I think we...In the StatusFragment, we still have code for changing the fragment if the app detects a no-network situation, however, we actually move to the NoNetwork fragment in the main activity anyway, so this is essentially dead code.
I think we should either remove that or remove the navigation in the main activity, but having both doesn't make sense.
I think showing the NoNetwork fragment is the simpler solution.https://code.briarproject.org/briar/briar-mailbox/-/issues/167Continuation of illustration revamp2023-08-28T16:00:10ZSebastianContinuation of illustration revampWe've had the illustrations revamped recently and added them to the mailbox app in !124, however some screens still use large material icons kind of as illustrations too. Let's replace those eventually. In order to not forget any of them...We've had the illustrations revamped recently and added them to the mailbox app in !124, however some screens still use large material icons kind of as illustrations too. Let's replace those eventually. In order to not forget any of them, let's collect the relevant screens here.https://code.briarproject.org/briar/briar-mailbox/-/issues/164AS cannot resolve version variables in build.gradle2023-08-28T16:00:11ZSebastianAS cannot resolve version variables in build.gradleAfter moving the version variables to the external file at `gradle/variables.gradle` so that they can be reused on briar for the integration tests, it seems while Gradle has no problem using those variables at that location, AS has a pro...After moving the version variables to the external file at `gradle/variables.gradle` so that they can be reused on briar for the integration tests, it seems while Gradle has no problem using those variables at that location, AS has a problem understanding where those variables are defined. As a result Ctrl-clicking the variables does not navigate us to their source and also the version checks that AS usually performs and displays warnings about possible library upgrades does not work. Both are suboptimal I think. I have not found any report for this or upstream issue yet.https://code.briarproject.org/briar/briar-mailbox/-/issues/161About screen2023-08-28T16:00:10ZakwizgranAbout screenAdd a screen that shows the Mailbox version, to help with debugging.Add a screen that shows the Mailbox version, to help with debugging.https://code.briarproject.org/briar/briar-mailbox/-/issues/154Last connection on the mailbox status screen not updating as minutes pass by2023-08-28T16:00:11ZIvanaLast connection on the mailbox status screen not updating as minutes pass bySteps to reproduce
- do not keep activities = ON
- on any two device where Briar and Mailbox are linked check the values for last connection.
- this can be after initial linking, or after the screens have fallen asleep and been woken ...Steps to reproduce
- do not keep activities = ON
- on any two device where Briar and Mailbox are linked check the values for last connection.
- this can be after initial linking, or after the screens have fallen asleep and been woken up, or after the link Check Connection on Briar is tapped
- What happens is that initially both values are set to 'now' and the Briar device then updates its 'last connection' value as minutes roll by, but the mailbox device does not.
- Here are the photos to illustrate
- Whilst I was typing this and taking the photos, the difference has become 7 mins...
- after the mailbox screen falls asleep and is reactivate by the user - the value is reset to the correct value - ie the same as on the Briar app
- Andanother microscoping inconsistency with briar screens - on mailbox Last connection says 1 min. ago, on Briar it says 1 min ago. Ie in one place we have a full stop after the short 'min', and in the other place we do not. This really is splitting hairs, but I thought as we will be looking into it anyway, we may as well make it consistent. It should take only a milisecond to do it.
![20220808_145527](/uploads/5d30834bc307c2391773262381aaee21/20220808_145527.jpg)
![20220808_145620](/uploads/030d1fd2ad075b07f3fbef23471a3564/20220808_145620.jpg)
![20220808_145714](/uploads/610ee7753f5ae0066fa0694ddcd70742/20220808_145714.jpg)https://code.briarproject.org/briar/briar-mailbox/-/issues/149Send feedback and crash reports via Tor2023-08-28T16:00:11ZakwizgranSend feedback and crash reports via TorSubtask of #82Subtask of #82Mailboxhttps://code.briarproject.org/briar/briar-mailbox/-/issues/148UI for sending feedback and crash reports2023-08-28T16:00:09ZakwizgranUI for sending feedback and crash reportsSubtask of #82.Subtask of #82.Mailboxhttps://code.briarproject.org/briar/briar-mailbox/-/issues/147Research accessibility testing2023-08-28T16:00:09ZakwizgranResearch accessibility testingFind out what would be involved in testing the Mailbox app for accessibility, and what resources are available to help with this testing.Find out what would be involved in testing the Mailbox app for accessibility, and what resources are available to help with this testing.https://code.briarproject.org/briar/briar-mailbox/-/issues/129Accessibility optimizations2023-08-28T16:00:12ZSebastianAccessibility optimizationsWe could check that accessibility is working nicely within the app, i.e. screenreaders can give visually impaired users a nice overview across the different workflows and fragments.We could check that accessibility is working nicely within the app, i.e. screenreaders can give visually impaired users a nice overview across the different workflows and fragments.https://code.briarproject.org/briar/briar-mailbox/-/issues/127Use better mechanism than counting number of descriptor uploads to determine ...2023-08-28T16:00:12ZSebastianUse better mechanism than counting number of descriptor uploads to determine published state of TorIt was reported that counting uploads of the descriptor isn't maybe the best metric.
So first we test connecting without waiting for descriptor uploads right after bootstrapping. Then we test waiting for one upload.
Test instructions:
...It was reported that counting uploads of the descriptor isn't maybe the best metric.
So first we test connecting without waiting for descriptor uploads right after bootstrapping. Then we test waiting for one upload.
Test instructions:
* uninstall mailbox app on test device (or clear app data in settings)
* install mailbox version from [`127-no-tor-wait-after-bootstrapping`](https://code.briarproject.org/briar/briar-mailbox/commits/127-no-tor-wait-after-bootstrapping)
* prepare briar app on another device for scanning
* go through onboarding on mailbox app
* try to record the time the progress bar is shown
* as soon as mailbox app shows QR code scan it with briar as fast as possible
* record whether the first attempt was successful or failed
Test variation:
* as above, but use current `main` branch of mailbox apphttps://code.briarproject.org/briar/briar-mailbox/-/issues/124Handle Huawei and Xiaomi auto-start restrictions2023-08-28T16:01:38ZTorsten GroteHandle Huawei and Xiaomi auto-start restrictionsHuawei has a `StartupManager` where the user needs to allow the app to start: https://stackoverflow.com/a/43914328/4856311
For Xiaomi MIUI there's even a library to check autostart permissions: https://github.com/XomaDev/MIUI-autostart ...Huawei has a `StartupManager` where the user needs to allow the app to start: https://stackoverflow.com/a/43914328/4856311
For Xiaomi MIUI there's even a library to check autostart permissions: https://github.com/XomaDev/MIUI-autostart It seems to use pre-built jars though
If the library isn't helpful, maybe we can bring the user as close to the right screen as possible.
The other vendors preventing auto-start have way smaller market share, maybe not worth dealing with those as well?https://code.briarproject.org/briar/briar-mailbox/-/issues/119Allow navigating back to onboarding activity2023-08-28T16:00:09ZIvanaAllow navigating back to onboarding activityA question arose during the testing of the implementation of #32
The context: When a user installs the app, the first screen they see gives them two options: either skip intro, or walk through intro.
If the user skips intro, then the...A question arose during the testing of the implementation of #32
The context: When a user installs the app, the first screen they see gives them two options: either skip intro, or walk through intro.
If the user skips intro, then they see the do-not-kill-me fragment, which asks them to "Allow connections"... ithout tapping on that button they cannot continue, as the "Continue button" is disabled.
If the user does skip the intro, this is the next screen they see. If the user tries to navigate back, they are kicked out of the app. This may be OK, as the only previous screen is the 'home' screen? Or should the user be able to navigate back to it?
If the user does not skip the intro, they can navigate back and forth between the 4 intro screens, which is OK. However, after the 4th intro screen, the 'do not kill me' fragment is shown to them, and from there they cannot navigate back. A user may want to navigate back if they accidentally pressed the Continue button on the previous screen before thye properly read the contents? But if the user tries to navigate back to the previous screen, they are kicked out of the app.
To be considered: is the navigation back from the 'do not kill me' to the previous screen something that we would want to see implemented? Or not?
In any case, this is a Low priority now, because it is not necessary for the first version of the product. If the decision is made to address this and implement it, then it is a nice to have for the first version - ie only to be implemented if we have lots of time to spare. At the moment **NOT SPONSOR6**
If the decision is made to not implement it even in future releases, then this ticket can be closed.