briar issueshttps://code.briarproject.org/groups/briar/-/issues2022-04-08T12:33:12Zhttps://code.briarproject.org/briar/briar/-/issues/2300Show more information about startup failures2022-04-08T12:33:12ZakwizgranShow more information about startup failuresRecently we've had several reports of corrupt databases (StartResult#DB_ERROR). Because these errors prevent the app from starting, we can't use crash reports or user feedback to learn about the cause.
We should expose more information ...Recently we've had several reports of corrupt databases (StartResult#DB_ERROR). Because these errors prevent the app from starting, we can't use crash reports or user feedback to learn about the cause.
We should expose more information about startup failures in the UI. This will involve returning the information from LifecycleManager#startService() and then attaching it to the intent that launches StartupFailureActivity. StartupFailureActivity should allow the user to copy the information so they can send it to us.Android 1.4https://code.briarproject.org/briar/briar-mailbox/-/issues/100Refactor TorPlugin into a library2023-08-28T16:00:09ZSebastianRefactor TorPlugin into a libraryhttps://code.briarproject.org/briar/briar-desktop/-/issues/334Consider builds for Debian oldstable (10 / Buster)2022-05-03T02:08:46ZSebastianConsider builds for Debian oldstable (10 / Buster)There might still be a number of distros with their latest version based on that version of Debian.
A known example is Deepin 20.5, release 1st of April 2022.
Maybe we should get an overview over significant distros still based on olds...There might still be a number of distros with their latest version based on that version of Debian.
A known example is Deepin 20.5, release 1st of April 2022.
Maybe we should get an overview over significant distros still based on oldstable.https://code.briarproject.org/briar/website/-/issues/41Include hashes and PGP signatures for APK downloads2022-03-29T10:43:06ZakwizgranInclude hashes and PGP signatures for APK downloadsJenny at eQ asked us to provide hashes and PGP signatures for APK downloads, like we do for Briar Desktop downloads.Jenny at eQ asked us to provide hashes and PGP signatures for APK downloads, like we do for Briar Desktop downloads.https://code.briarproject.org/briar/website/-/issues/40Show current app version on APK download page2022-03-29T10:42:04ZakwizgranShow current app version on APK download pageJenny at eQ pointed out that there's no indication of the current app version on the APK download page. We already include this in the front page's metadata so it could be moved to config.yaml and inserted into the APK download page too.Jenny at eQ pointed out that there's no indication of the current app version on the APK download page. We already include this in the front page's metadata so it could be moved to config.yaml and inserted into the APK download page too.https://code.briarproject.org/briar/tor-reproducer/-/issues/13Tor binaries are not being stripped properly2022-03-21T11:18:43ZakwizgranTor binaries are not being stripped properlyThe Tor binaries for 0.4.5.12 aren't being stripped properly. `file` reports the binaries as unstripped and running `strip` with no arguments significantly reduces the size of the binaries.
For the previous release (0.3.5.17), `file` re...The Tor binaries for 0.4.5.12 aren't being stripped properly. `file` reports the binaries as unstripped and running `strip` with no arguments significantly reduces the size of the binaries.
For the previous release (0.3.5.17), `file` reports the binaries as stripped and `strip` with no arguments has no effect on the size.https://code.briarproject.org/briar/briar/-/issues/2288Check whether Tor complains about absence of ec_nistp_64_gcc_128 optimisation...2022-03-18T14:56:41ZakwizgranCheck whether Tor complains about absence of ec_nistp_64_gcc_128 optimisation on Android x86_64On Windows and Linux x64_64, Tor complains if the `ec_nistp_64_gcc_128` optimisation wasn't enabled at compile time. Check whether this also needs to be enabled on Android x86_64.On Windows and Linux x64_64, Tor complains if the `ec_nistp_64_gcc_128` optimisation wasn't enabled at compile time. Check whether this also needs to be enabled on Android x86_64.https://code.briarproject.org/briar/tor-circumvention-analytics/-/issues/1Update OONI scripts2022-03-15T12:35:51ZakwizgranUpdate OONI scriptsThe OONI scripts use data from the `vanilla_tor` and `tcp_reachability` tests. `vanilla_tor` has been [retired](https://ooni.org/nettest/) and `tcp_reachability` is no longer run for Tor bridges. Instead, the new `tor` test measures the ...The OONI scripts use data from the `vanilla_tor` and `tcp_reachability` tests. `vanilla_tor` has been [retired](https://ooni.org/nettest/) and `tcp_reachability` is no longer run for Tor bridges. Instead, the new `tor` test measures the ability to make HTTP and vanilla Tor connections to directory authorities and obfs4 connections to Tor Browser's default obfs4 bridges.
The `ooni-sync` tool has been deprecated - [bulk data access is now via S3](https://ooni.org/post/mining-ooni-data).
We should update our OONI scripts to fetch the results of the `tor` test from S3. The `test_keys` field contains a summary of the number of reachable dir ports, OR ports and obfs4 bridges. We can use the dir port and OR port reachability to check whether Tor is blocked and the obfs4 reachability to check whether the default bridges are blocked.
The `probe_asn` field can be used to separate the measurements by AS. Since Briar clients don't know which AS they belong to, I suggest we use the most restrictive AS in each country to choose our default strategy for that country. So for example if one AS blocks Tor and the default bridges while another blocks Tor but not the default bridges, we should use non-default bridges for that country.https://code.briarproject.org/briar/briar-desktop/-/issues/332Update Conversation Search to Material Spec2023-08-25T13:33:35ZpaulUpdate Conversation Search to Material SpecI found https://material.io/design/navigation/search.html#expandable-search which covers how we likely should handle the contact list search bar in a "material way". If this looks good to everyone, I can try and implement this change.I found https://material.io/design/navigation/search.html#expandable-search which covers how we likely should handle the contact list search bar in a "material way". If this looks good to everyone, I can try and implement this change.Desktop 0.7.0https://code.briarproject.org/briar/briar-desktop/-/issues/330ContextMenu Typography2022-09-23T04:16:24ZpaulContextMenu TypographyWhen right-clicking on a message, the contextmenu that opens doesn't use the updated Roboto font. Easiest way to see this is the way the 'C' glyph is rendered.When right-clicking on a message, the contextmenu that opens doesn't use the updated Roboto font. Easiest way to see this is the way the 'C' glyph is rendered.https://code.briarproject.org/briar/briar/-/issues/2287Scrub path to Tor config file2022-06-20T17:10:53ZakwizgranScrub path to Tor config fileWhen Tor starts it prints the path to the config file, which we log. On Android this path doesn't contain any sensitive information, but on Desktop it might (eg usernames). We should scrub that line before logging it.When Tor starts it prints the path to the config file, which we log. On Android this path doesn't contain any sensitive information, but on Desktop it might (eg usernames). We should scrub that line before logging it.https://code.briarproject.org/briar/website/-/issues/39Create desktop screenshots, update Android screenshots2022-03-22T09:34:25ZCleopatraCreate desktop screenshots, update Android screenshotshttps://code.briarproject.org/briar/tor-reproducer/-/issues/12Investigate whether we can use --enable-static-tor2022-03-10T14:24:04ZakwizgranInvestigate whether we can use --enable-static-torWhen configuring the Tor build, the `--enable-static-tor` flag sets two flags we're not currently using on all platforms: `--enable-static-zlib` and `-static`.
We had some issues with `--enable-static-zlib` on Android, and `-static` may...When configuring the Tor build, the `--enable-static-tor` flag sets two flags we're not currently using on all platforms: `--enable-static-zlib` and `-static`.
We had some issues with `--enable-static-zlib` on Android, and `-static` may cause portability issues with glibc and NSS on Linux. Find out more about these issues and decide whether we should use `--enable-static-tor` on each platform.https://code.briarproject.org/briar/tor-reproducer/-/issues/11Check git commit hashes when downloading source repos2022-03-10T14:06:45ZakwizgranCheck git commit hashes when downloading source reposTo hinder supply chain attacks, record the expected git commit hashes for the source repos in the version file alongside the tag names, and check the commit hashes when checking out the tags.To hinder supply chain attacks, record the expected git commit hashes for the source repos in the version file alongside the tag names, and check the commit hashes when checking out the tags.https://code.briarproject.org/briar/tor-reproducer/-/issues/10Share more code between platforms2022-03-10T14:07:20ZakwizgranShare more code between platformsRefactor the code to share more code between platforms, perhaps through inheritance. Depends on #9.Refactor the code to share more code between platforms, perhaps through inheritance. Depends on #9.https://code.briarproject.org/briar/tor-reproducer/-/issues/9Extract code from Android Makefile2022-03-10T14:07:20ZakwizgranExtract code from Android MakefileConvert some of the code in the Android Makefile to Python so we more easily compare the Android, Linux and Windows builds and share code between them.Convert some of the code in the Android Makefile to Python so we more easily compare the Android, Linux and Windows builds and share code between them.https://code.briarproject.org/briar/briar-desktop/-/issues/329Contacts list are sorted by sent time and can lead to confusion2022-03-08T19:07:53ZSebastianContacts list are sorted by sent time and can lead to confusionWhen messages that were sent a long time ago by Alice and arrive only now at Bob's briar, because they only came online simultaneously now, the timestamp that is used for sorting contacts in Bob's contact list is the one from when the me...When messages that were sent a long time ago by Alice and arrive only now at Bob's briar, because they only came online simultaneously now, the timestamp that is used for sorting contacts in Bob's contact list is the one from when the messages were sent. The result is that Alice won't move to the top of contacts on Bob's end and might lead to Bob not noticing the new messages.https://code.briarproject.org/briar/briar/-/issues/2283Add menu item to select custom tor bridge2022-08-17T05:41:15ZJohan SchmurgeAdd menu item to select custom tor bridgeAdd menu item to select custom tor bridge. In some countries public tor bridges are blocked, and app does not work. Using custom bridges resolve this problem as it do in tor browser.Add menu item to select custom tor bridge. In some countries public tor bridges are blocked, and app does not work. Using custom bridges resolve this problem as it do in tor browser.https://code.briarproject.org/briar/briar/-/issues/2282iOS feasibility study2022-03-03T17:03:06ZakwizgraniOS feasibility studyTo know whether Briar can be viable on iOS we need to answer the following questions.
Online:
* Can the app run a Tor hidden service on iOS? (Bearing in mind that this requires a wake lock on Android to prevent Tor's circuits from timin...To know whether Briar can be viable on iOS we need to answer the following questions.
Online:
* Can the app run a Tor hidden service on iOS? (Bearing in mind that this requires a wake lock on Android to prevent Tor's circuits from timing out when the CPU sleeps.)
* Can the hidden service keep running for a limited time when the app goes into the background?
* Can the app wake periodically while running in the background, connect to a mailbox via Tor and check for messages?
* If the app finds messages when checking the mailbox, can it (a) store the messages in the local database, (b) show a notification?
Offline:
* Can the app advertise a UUID/other info via BLE such that nearby iOS/Android devices can discover it?
* Can the app scan for UUIDs/other info advertised via BLE by nearby iOS/Android devices?
* Can the app make/receive GATT connections to/from iOS/Android devices?
* Can the app make/receive L2CAP-CoC connections to/from iOS/Android devices?
* Can the app provide a wifi hotspot (without internet access)? Can it make/receive TCP connections to/from devices connected to the hotspot?
* Can the app connect to a wifi hotspot (without internet access) provided by another device? Can it make/receive TCP connections to/from other devices connected to the hotspot?
For all of the above we need to know:
* Differences between foreground and background behaviour
* API limits such as rate limits, number of UUIDs that can be scanned for
* Any other circumstances that could affect the behaviour, such as screen being off, low battery, device reboot, user not bringing the app to the foreground for a long time
* Whether user interaction is neededhttps://code.briarproject.org/briar/briar/-/issues/2281IllegalArgumentException when resuming NavDrawerActivity2023-03-13T13:50:06ZakwizgranIllegalArgumentException when resuming NavDrawerActivity* Android version: 8.1.0
* Phone model: Meizu 16th (meizu_16th_CN)
* Briar version: 1.4.5 (4df523a)
Edited log:
```
03-02 16:07:06.639 I/PluginViewModel: TransportStateEvent: org.briarproject.bramble.tor is ACTIVE
03-02 16:07:11.736 I/A...* Android version: 8.1.0
* Phone model: Meizu 16th (meizu_16th_CN)
* Briar version: 1.4.5 (4df523a)
Edited log:
```
03-02 16:07:06.639 I/PluginViewModel: TransportStateEvent: org.briarproject.bramble.tor is ACTIVE
03-02 16:07:11.736 I/AndroidNetworkManager: Received broadcast android.intent.action.SCREEN_OFF
03-02 16:07:12.294 I/AndroidNetworkManager: Received broadcast android.intent.action.SCREEN_ON
3-02 16:07:14.655 I/BaseActivity: Starting NavDrawerActivity
03-02 16:07:14.999 I/BaseActivity: Stopping NavDrawerActivity
03-02 16:07:18.771 I/AndroidNetworkManager: Received broadcast android.intent.action.SCREEN_OFF
03-02 16:07:19.751 I/BaseActivity: Starting NavDrawerActivity
03-02 16:07:19.753 I/BaseActivity: Resuming NavDrawerActivity
03-02 16:07:19.954 I/AndroidNetworkManager: Received broadcast android.intent.action.SCREEN_ON
03-02 16:07:21.559 I/BaseActivity: Pausing NavDrawerActivity
03-02 16:07:22.150 I/BaseActivity: Stopping NavDrawerActivity
03-02 16:07:23.976 I/BaseActivity: Starting NavDrawerActivity
03-02 16:07:23.977 I/BaseActivity: Resuming NavDrawerActivity
```
Stacktrace:
```
java.lang.IllegalArgumentException: View=DecorView@4228967[] not attached to window manager
at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:488)
at android.view.WindowManagerGlobal.updateViewLayout(WindowManagerGlobal.java:383)
at android.view.WindowManagerImpl.updateViewLayout(WindowManagerImpl.java:101)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3952)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1796)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:192)
at android.app.ActivityThread.main(ActivityThread.java:6842)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:886)
```
This looks like it's most likely a platform bug, so I'm not adding it to the current milestone for the time being.Android 1.4