briar issueshttps://code.briarproject.org/groups/briar/-/issues2023-08-28T16:00:11Zhttps://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/public-mesh-research/-/issues/20Investigate whether background location permission is needed for advertising/...2023-08-28T16:03:01ZakwizgranInvestigate whether background location permission is needed for advertising/discoveryFor all APIs that require location permissions (eg BLE, WFD), investigate the effect of starting advertising and discovery in the foreground, then moving the app to the background. Does advertising continue to work without the background...For all APIs that require location permissions (eg BLE, WFD), investigate the effect of starting advertising and discovery in the foreground, then moving the app to the background. Does advertising continue to work without the background location permission? Does discovery still work?
(This is important from a UX point of view because on Android 10, using the background location permission causes a scary "Foo got your location in the background" notification after about 24 hours, which may give the impression that the app is tracking the user.)Public mesh researchpaulpaulhttps://code.briarproject.org/briar/public-mesh-research/-/issues/16Initial investigations: Google Nearby2023-08-28T16:08:02ZakwizgranInitial investigations: Google NearbyInvestigate the performance of the (closed source) Google Nearby libraries to see whether they perform better on problematic devices than the other options we've identified.
https://developers.google.com/nearby/Investigate the performance of the (closed source) Google Nearby libraries to see whether they perform better on problematic devices than the other options we've identified.
https://developers.google.com/nearby/Public mesh researchhttps://code.briarproject.org/briar/public-mesh-research/-/issues/15Initial investigations: wifi client2023-08-28T16:08:02ZakwizgranInitial investigations: wifi clientInvestigate our options for connecting to a wifi hotspot (which could be a WFD legacy mode hotspot) as a wifi client, rather than by using the WFD API.
The APIs available for connecting to wifi networks have changed a lot over the years...Investigate our options for connecting to a wifi hotspot (which could be a WFD legacy mode hotspot) as a wifi client, rather than by using the WFD API.
The APIs available for connecting to wifi networks have changed a lot over the years, so we'll need to test on a lot of different API versions.
Questions:
* Can we scan for available networks? How often? What permissions are needed? Can we access the SSIDs of the networks?
* Can we request a connection to a network that's not currently in range? If so, do we connect automatically when the network comes in range? What if the client's screen is off? Is the connection kept if the network doesn't have internet access?
* If two or more devices are providing hotspots with the same SSID and password, can a client roam from one to the other?
* If a client has previously connected to a hotspot and accepted the dialog that warns about no internet access, is the dialog shown again when reconnecting to the same hotspot? Is it shown again when connecting to a different device's hotspot that uses the same SSID and password?
Subtask of #1. Related to #5.Public mesh researchakwizgranakwizgranhttps://code.briarproject.org/briar/public-mesh-research/-/issues/14Initial investigations: companion device pairing2023-08-28T16:08:02ZakwizgranInitial investigations: companion device pairinghttps://developer.android.com/guide/topics/connectivity/companion-device-pairinghttps://developer.android.com/guide/topics/connectivity/companion-device-pairingPublic mesh researchSebastianSebastianhttps://code.briarproject.org/briar/public-mesh-research/-/issues/13Evaluate testing libraries for automating mesh experiments2023-08-28T16:08:02ZakwizgranEvaluate testing libraries for automating mesh experimentsEvaluate libraries designed for automated on-device testing to see whether any of them would be suitable for automating mesh experiments that need to run on real devices.
* https://www.softwaretestingmagazine.com/tools/open-source-andro...Evaluate libraries designed for automated on-device testing to see whether any of them would be suitable for automating mesh experiments that need to run on real devices.
* https://www.softwaretestingmagazine.com/tools/open-source-android-testing-tools/
* https://android.googlesource.com/platform/tools/test/connectivity/+/master/acts
* https://source.android.com/docs/core/connect/acts
* https://source.android.com/docs/core/connect/acts-advanced-guide
* https://android.googlesource.com/platform/external/sl4a/+/master/README.md
* https://github.com/google/mobly
* https://github.com/google/mobly/issues/666Public mesh researchSebastianSebastianhttps://code.briarproject.org/briar/public-mesh-research/-/issues/11Initial investigations: LAN peer discovery2023-08-28T16:08:02ZakwizgranInitial investigations: LAN peer discoveryPort the LAN peer discovery code from the Disco app to the public mesh testbed, bring it up to date, wire it up to the UI, and see whether we can use wake locks, wifi locks and/or multicast locks to solve the issues reported [here](https...Port the LAN peer discovery code from the Disco app to the public mesh testbed, bring it up to date, wire it up to the UI, and see whether we can use wake locks, wifi locks and/or multicast locks to solve the issues reported [here](https://code.briarproject.org/briar/briar/-/issues/28#note_32217) with the success rate dropping when the screen is turned off. We also need to test on newer API levels and work out what permissions are required on each API level.
It would be useful to know whether LAN peer discovery typically works for devices connected to a wifi hotspot (created manually via the system settings app) and/or a Wi-Fi Direct legacy mode hotspot (we could use the Offline Hotspot app for testing this).
Subtask of #1. Related to briar#28.Public mesh researchakwizgranakwizgranhttps://code.briarproject.org/briar/public-mesh-research/-/issues/7Initial investigations: Bluetooth LE2023-08-28T16:08:02ZakwizgranInitial investigations: Bluetooth LESubtask of #1. Related to briar#28, briar#303, briar#1147, briar#1546.
Investigate BLE advertising and scanning (including larger advertisement packets in BT 5), L2CAP connections, and coded PHY.
https://www.bluetooth.com/wp-content/up...Subtask of #1. Related to briar#28, briar#303, briar#1147, briar#1546.
Investigate BLE advertising and scanning (including larger advertisement packets in BT 5), L2CAP connections, and coded PHY.
https://www.bluetooth.com/wp-content/uploads/2022/05/Bluetooth_LE_Primer_Paper.pdfPublic mesh researchakwizgranakwizgranhttps://code.briarproject.org/briar/public-mesh-research/-/issues/5Initial investigations: Wi-Fi Direct2023-08-28T16:08:03ZakwizgranInitial investigations: Wi-Fi DirectSubtask of #1. Related to briar#39, briar#28.
https://www.wi-fi.org/file/wi-fi-direct-specificationSubtask of #1. Related to briar#39, briar#28.
https://www.wi-fi.org/file/wi-fi-direct-specificationPublic mesh researchakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/2394Research how Tumblr and Twitter handle comments/reblogs for previously seen p...2023-03-15T12:34:52ZakwizgranResearch how Tumblr and Twitter handle comments/reblogs for previously seen postsWhen a Briar blog post receives a comment or reblog from someone whose blog we subscribe to, a duplicate of the post is added to our combined feed. Research how Tumblr and Twitter handle this, specifically in the case where the comment c...When a Briar blog post receives a comment or reblog from someone whose blog we subscribe to, a duplicate of the post is added to our combined feed. Research how Tumblr and Twitter handle this, specifically in the case where the comment chain forks (for example, Alice comments on the original post and then Bob comments on the original post rather than replying to Alice's comment).Sponsor 6 usability improvementshttps://code.briarproject.org/briar/briar/-/issues/2390Design UX for contextual help2023-03-15T12:34:52ZakwizgranDesign UX for contextual helpDesign a way of making contextual help available throughout the app. It should be possible to draw the user's attention to the fact that help is available in a given context, without interrupting their work.Design a way of making contextual help available throughout the app. It should be possible to draw the user's attention to the fact that help is available in a given context, without interrupting their work.Sponsor 6 usability improvementshttps://code.briarproject.org/briar/briar/-/issues/2389Research how other apps handle read receipts2023-03-15T12:34:52ZakwizgranResearch how other apps handle read receiptsResearch how other messaging apps handle read receipts:
* Is a message displayed differently when sent to a contact who has disabled read receipts, versus a contact who has enabled read receipts but has not read the message?
* Does the u...Research how other messaging apps handle read receipts:
* Is a message displayed differently when sent to a contact who has disabled read receipts, versus a contact who has enabled read receipts but has not read the message?
* Does the user have to allow read receipts to be sent in order to request that contacts send read receipts?
* Is the user informed if a contact allows read receipts to be sent to the user?
* Is the user informed if a contact asks for read receipts to be sent to the contact?
* In a group chat, is it possible to see which users, or how many users, have read a message? What is the UI for this?Sponsor 6 usability improvementshttps://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-gtk/-/issues/99React on ConversationMessagesDeletedEvents2021-03-02T12:19:12ZNicoReact on ConversationMessagesDeletedEventsPointed out by @grote in https://code.briarproject.org/briar/briar/-/merge_requests/1384#note_47198. Once https://code.briarproject.org/briar/briar-gtk/-/issues/80 is there this will be really easy.Pointed out by @grote in https://code.briarproject.org/briar/briar/-/merge_requests/1384#note_47198. Once https://code.briarproject.org/briar/briar-gtk/-/issues/80 is there this will be really easy.GTK 0.2.0-beta1https://code.briarproject.org/briar/briar-gtk/-/issues/87Port to GTK 4.02021-02-01T11:52:09ZNicoPort to GTK 4.0GTK 4.0 got released some days ago: https://blog.gtk.org/2020/12/16/gtk-4-0/
There are some cool new things in there that are all mentioned in the blog post. However, I marked this issues as blocked for now because I don't want to trans...GTK 4.0 got released some days ago: https://blog.gtk.org/2020/12/16/gtk-4-0/
There are some cool new things in there that are all mentioned in the blog post. However, I marked this issues as blocked for now because I don't want to transition to GTK 4.0 before [Debian stable ships it](https://packages.debian.org/experimental/libgtk-4-0). I think we have good chances to have it in the next Debian release coming in 2021. If we focused only on Flatpak, we could transition to GTK 4.0 today, though.
Related issues: https://code.briarproject.org/briar/briar-gtk/-/issues/80 and all the issues linked in there.
Related links:
* [Migrating from GTK 3.x to GTK 4 - GTK documentation](https://developer.gnome.org/gtk4/4.0/gtk-migrating-3-to-4.html)GTK 0.2.0-beta1https://code.briarproject.org/briar/briar-gtk/-/issues/80Use GTK 4 ListView and ListModel for lists2021-03-02T12:19:14ZNicoUse GTK 4 ListView and ListModel for listsWith the [scalable lists in GTK 4](https://blog.gtk.org/2020/06/07/scalable-lists-in-gtk-4/) (https://code.briarproject.org/briar/briar-gtk/-/issues/87), we can use something similar to Android's RecyclerView/ListViewAdapter. By using th...With the [scalable lists in GTK 4](https://blog.gtk.org/2020/06/07/scalable-lists-in-gtk-4/) (https://code.briarproject.org/briar/briar-gtk/-/issues/87), we can use something similar to Android's RecyclerView/ListViewAdapter. By using them, we could update the data and request GTK to render the updates. This is interesting for all sorts of issues:
* https://code.briarproject.org/briar/briar-gtk/-/issues/48
* https://code.briarproject.org/briar/briar-gtk/-/issues/47
* https://code.briarproject.org/briar/briar-gtk/-/issues/7
* https://code.briarproject.org/briar/briar-gtk/-/issues/69
* https://code.briarproject.org/briar/briar-gtk/-/issues/5
* https://code.briarproject.org/briar/briar-gtk/-/issues/8
* https://code.briarproject.org/briar/briar-gtk/-/issues/73
There's even an [`GtkTreeExpander`](https://developer.gnome.org/gtk4/4.0/gtk4-GtkTreeExpander.html) that will become quite handy with groups (https://code.briarproject.org/briar/briar-gtk/-/issues/21), forums (https://code.briarproject.org/briar/briar-gtk/-/issues/32) and blogs (https://code.briarproject.org/briar/briar-gtk/-/issues/33).
Interesting links:
* https://developer.gnome.org/gtk4/4.0/GtkListView.html
* https://developer.gnome.org/gio/2.64/GListModel.html
* https://developer.gnome.org/gtk4/4.0/GtkBuilderListItemFactory.htmlGTK 0.2.0-beta1https://code.briarproject.org/briar/briar/-/issues/1602Add block status table to database2022-06-15T12:02:16ZakwizgranAdd block status table to databaseFor multi-block messages we need to track the sync status of individual blocks as well as whole messages.
Subtask of #1240.For multi-block messages we need to track the sync status of individual blocks as well as whole messages.
Subtask of #1240.Multi-block messagesakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1601Delete block rows for deleted messages2022-06-15T12:02:17ZakwizgranDelete block rows for deleted messagesAs well as deleting the content of blocks when we delete a message, it would be nice if we could delete the rows from the blocks table.
Subtask of #1239.As well as deleting the content of blocks when we delete a message, it would be nice if we could delete the rows from the blocks table.
Subtask of #1239.Multi-block messageshttps://code.briarproject.org/briar/briar/-/issues/1595Add blocks table to database2022-06-15T12:02:17ZakwizgranAdd blocks table to databaseSubtask of #1240Subtask of #1240Multi-block messagesakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1500Check PNGs for exploits before passing them to Android2021-11-04T11:03:44ZakwizgranCheck PNGs for exploits before passing them to AndroidWe need to find out how to detect PNGs that can exploit this vulnerability, so we can avoid passing them to Android:
https://www.zdnet.com/article/opening-this-image-file-grants-hackers-access-to-your-android-phone/
Subtask of #1237.We need to find out how to detect PNGs that can exploit this vulnerability, so we can avoid passing them to Android:
https://www.zdnet.com/article/opening-this-image-file-grants-hackers-access-to-your-android-phone/
Subtask of #1237.Android 1.4