briar issueshttps://code.briarproject.org/briar/briar/-/issues2018-10-23T09:44:41Zhttps://code.briarproject.org/briar/briar/-/issues/1270User testing for Tor bridges2018-10-23T09:44:41ZakwizgranUser testing for Tor bridgesSubtask of #647.Subtask of #647.Android 1.2Renata GegajRenata Gegaj2018-09-24https://code.briarproject.org/briar/briar/-/issues/1271Update manual for Tor bridges2018-10-09T14:10:00ZakwizgranUpdate manual for Tor bridgesSubtask of #647.Subtask of #647.Android 1.2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1272Reproducible builds2018-07-30T16:52:37ZakwizgranReproducible buildsUmbrella ticket for sponsor 1, objective 9.Umbrella ticket for sponsor 1, objective 9.Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1273Reproducible scripted build process2019-02-27T12:09:07ZakwizgranReproducible scripted build processWrite a script that produces a reproducible APK from a fresh checkout of the repo. This should include optionally compiling the Tor binaries rather than downloading them.
Subtask of #1272.Write a script that produces a reproducible APK from a fresh checkout of the repo. This should include optionally compiling the Tor binaries rather than downloading them.
Subtask of #1272.Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1274Reproducible Tor builds2018-07-30T16:52:06ZakwizgranReproducible Tor buildsSubtask of #1272.Subtask of #1272.Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1291Huawei power management UI has changed2018-06-15T15:23:18ZakwizgranHuawei power management UI has changedWhen installing Briar on the Huawei P8 Lite 2017 (Android 7.0/EMUI 5.0.1), the "Protect Briar" button in the setup wizard opens a screen with power management controls that seem to be the opposite of those on older devices like the Ascen...When installing Briar on the Huawei P8 Lite 2017 (Android 7.0/EMUI 5.0.1), the "Protect Briar" button in the setup wizard opens a screen with power management controls that seem to be the opposite of those on older devices like the Ascend Y330 (Android 4.2.2/EmotionUI 2.0).
![device-2018-05-30-145840](/uploads/3120e842df0ce698a66b0a25b8d7089e/device-2018-05-30-145840.png) ![device-2018-05-30-151203](/uploads/2ca5e5416beff355d8e8e59175c48747/device-2018-05-30-151203.png)
Users might think they need to change the setting for Briar, which would have the opposite of the intended effect.
Subtask of #1260.Android 1.1https://code.briarproject.org/briar/briar/-/issues/1334Resource compression differs between original APK and reproduced APK2018-07-04T17:22:43ZakwizgranResource compression differs between original APK and reproduced APKWhen trying to reproduce the release-1.0.11 APK, we saw differences in the Gradle output between the original build and the reproducer.
Original:
```
Removed unused resources: Binary resource data reduced from 11278KB to 11276KB: Remove...When trying to reproduce the release-1.0.11 APK, we saw differences in the Gradle output between the original build and the reproducer.
Original:
```
Removed unused resources: Binary resource data reduced from 11278KB to 11276KB: Removed 0%
```
Reproducer:
```
Removed unused resources: Binary resource data reduced from 11278KB to 11278KB: Removed 0%
```
Some XML resources with names starting with `abc_` have their contents replaced with an empty `<x/>` tag in the original APK, but not in the reproduced APK.
Subtask of #1272.Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1340Use Onionoo to check the health of bridges2018-10-15T21:10:14ZakwizgranUse Onionoo to check the health of bridgesUse [Onionoo](https://metrics.torproject.org/onionoo.html) to check the health of bridges we're planning to distribute or have already distributed.
Unhealthy bridges should not be distributed. If an already distributed bridge becomes un...Use [Onionoo](https://metrics.torproject.org/onionoo.html) to check the health of bridges we're planning to distribute or have already distributed.
Unhealthy bridges should not be distributed. If an already distributed bridge becomes unhealthy, we may need to distribute a new list.
Subtask of #647.Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1341AccountManager: Refactor authentication and account management code2018-08-20T19:47:46ZTorsten GroteAccountManager: Refactor authentication and account management codeRefactor the authentication and account management code into an `AccountManager` component in the core. At the moment the logic's spread across various parts of the UI.
It might be nice, for example, if we had a single method that would...Refactor the authentication and account management code into an `AccountManager` component in the core. At the moment the logic's spread across various parts of the UI.
It might be nice, for example, if we had a single method that would return an enum for the account state (no account, creating account, signing in, signed in, signing out, signed out), which we could then extend with new states (locked, unlocking).
Sub-ticket of #1247Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1358New Design and UX for Message Bubbles2018-08-20T19:47:36ZElio Qoshielio@ura.designNew Design and UX for Message BubblesWhile working on the Dark Theme with @grote we discovered that the message bubble colors required changes made to PNG drawables, split into 9 pieces (for dark, light, incoming, outgoing and system notices). This makes it quite rough to w...While working on the Dark Theme with @grote we discovered that the message bubble colors required changes made to PNG drawables, split into 9 pieces (for dark, light, incoming, outgoing and system notices). This makes it quite rough to work with and is time consuming when it comes to updating changes. Also, the current design is an old message bubble pattern and one can see from Facebook or Telegram that a more rounded approach might be more suitable:
![image](/uploads/59dd7e30bf3126a0e36e9fdbb6e91c9b/image.png)Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1386App locks after signing out2018-09-20T11:06:10ZTorsten GroteApp locks after signing outThe app inactivity timeout even kicks in after signing out.
Steps to reproduce:
* activate app lock in settings
* set timeout to 1 minute
* sign out
* wait for one minute
* observe the new locked notification that you can only remove by...The app inactivity timeout even kicks in after signing out.
Steps to reproduce:
* activate app lock in settings
* set timeout to 1 minute
* sign out
* wait for one minute
* observe the new locked notification that you can only remove by signing in againAndroid 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1434Implement backend for sending and receiving image attachments2019-11-12T13:45:59ZTorsten GroteImplement backend for sending and receiving image attachments### Receiving Image Attachments
Private message headers will include a list of attachments, and there will be a `MessagingManager` method for loading an attachment, which will include the attachment data as a `ByteBuffer`, later to be c...### Receiving Image Attachments
Private message headers will include a list of attachments, and there will be a `MessagingManager` method for loading an attachment, which will include the attachment data as a `ByteBuffer`, later to be converted to an `InputStream` if we find that loading images into ByteBuffers won't scale.
This implies that private message headers (in the sense of headers belonging to the private messaging client) will no longer correspond to the root class `PrivateMessageHeader` (from which all one-to-one headers currently inherit). The root class may need to be renamed, and some refactoring of the code that handles that hierarchy will be needed.
### Sending Image Attachments
*TODO*: MessagingManager API for creating local messages with optional attachmentsAndroid 1.3Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1438Implement UX for sending image attachments2020-11-16T10:11:30ZTorsten GroteImplement UX for sending image attachmentsWhen the message field is empty, there's an image icon to attach an image:
![Image_Attachment_Preselection](/uploads/cfaa2500f2d39f3b4e9c540d8ce46b88/Image_Attachment_Preselection.png)
Clicking it opens the system file selector:
![Ima...When the message field is empty, there's an image icon to attach an image:
![Image_Attachment_Preselection](/uploads/cfaa2500f2d39f3b4e9c540d8ce46b88/Image_Attachment_Preselection.png)
Clicking it opens the system file selector:
![Image_Attachment_Selection__System_](/uploads/97ad63158569fd22d7dc35b28453e6e4/Image_Attachment_Selection__System_.png)
If chosen image is shown as a preview, with an option to cancel the operation and to add an image caption:
![Confirmation](/uploads/621ca864593e0670f654ebdc832fbf48/Confirmation.png)
A seascape image shows a black/grey or color picked from the image on the sides:
![Confirmation_Tall_Image](/uploads/9ca88cffecbed1ee167835ba5efdd167/Confirmation_Tall_Image.png)
Subtask of #1237.Android 1.3Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1452Websocket Authentication2018-11-27T10:00:33ZTorsten GroteWebsocket AuthenticationDespite many (older) claims in the internet that you can establish websocket connections with basic auth, this doesn't seem to be true for javascript libraries running in a recent browser. I managed to do it in Python and assumed it will...Despite many (older) claims in the internet that you can establish websocket connections with basic auth, this doesn't seem to be true for javascript libraries running in a recent browser. I managed to do it in Python and assumed it will just work on browsers as well, but it seems that isn't the case. At least I haven't been able to make this work. The only thing we can send in the upgrade request from a browser is a list of protocols. In absence of a standardized authentication mechanism, there's people using this already to pass auth tokens. I confirmed that we can access this header on the server side and check if there's an auth token in it.
If we don't want that hacky (but easy) solution, I am afraid we need to get into the business of tracking each session's authentication state and require them to send a first message with the token before we start sending stuff to it. Maybe even terminate sessions that haven't authenticated after a timeout.Headless MVPTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1467Improve Conversation Scrolling Behaviour2019-06-17T10:10:29ZTorsten GroteImprove Conversation Scrolling BehaviourCurrently, we scroll down after loading the list of messages (after each activity start). We also scroll down when loading a message text or image asynchronously.
This is problematic, because the user can't scroll up right after a large...Currently, we scroll down after loading the list of messages (after each activity start). We also scroll down when loading a message text or image asynchronously.
This is problematic, because the user can't scroll up right after a large conversation is displayed and because when looking at older photos, the user forcibly gets scrolled to the end of the conversation and needs to find where she was.
Subtask of #1242Android 1.3Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1468Restrict size of image attachments2021-06-28T08:08:18ZTorsten GroteRestrict size of image attachmentsWe can not process images of arbitrary size, because the device may lack the memory to load the entire image into it or because the maximum texture size is smaller than the image.
* [x] don't read entire images in memory
* [x] scale ful...We can not process images of arbitrary size, because the device may lack the memory to load the entire image into it or because the maximum texture size is smaller than the image.
* [x] don't read entire images in memory
* [x] scale full screen images down to screen size to avoid exceeding max texture size
* [x] add tests for [MarkEnforcingInputStream](https://github.com/bumptech/glide/blob/ad33b8d503024c8a3a6a3da60ce28c4d7732ae58/library/src/main/java/com/bumptech/glide/util/MarkEnforcingInputStream.java)
* [x] tests for our own code that handles the various image types and edge cases
* [x] limit our supported mime types to image/gif, image/jpeg and image/png
* [x] limit the size of images that can be sent
Subtask of #1237.Android 1.3Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1473Implement UX for displaying multiple image attachments2018-12-18T18:21:59ZTorsten GroteImplement UX for displaying multiple image attachmentsSubtask of #1237.Subtask of #1237.Android 1.3Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1475Resolve issues with image attachment transitions2019-03-19T10:43:04ZTorsten GroteResolve issues with image attachment transitions* [x] Use a counter as the transition name in `AttachmentItem`.
* [x] Tapping partly covered images makes them pop up from under the cover which looks glitchy
* [ ] Under mysterious circumstances messages can overlap each other (or leave...* [x] Use a counter as the transition name in `AttachmentItem`.
* [x] Tapping partly covered images makes them pop up from under the cover which looks glitchy
* [ ] Under mysterious circumstances messages can overlap each other (or leave gaps) after a return transition to the conversation
* [x] On Moto G 4G (API 22), the exit transition still uses sliding
* [x] Fix shared element exit transition when the list position is lost (activity was stopped or made into fullscreen)
* [ ] ~~Change shared element of return transition when fullscreen view was swiped to another image when returning~~
* [x] Return transition lands slightly below thumbnail when status bar is hidden
Subtask of #1237.
![device-2018-11-28-175203](/uploads/62e4bbd7bc0af62196bc04c3d8433337/device-2018-11-28-175203.png)
![device-2018-11-28-175149](/uploads/e9f3124a919ca57370ece56e894f3ad6/device-2018-11-28-175149.png)Android 1.3Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1476Design UX for finding out whether contacts support image attachments2018-12-17T18:14:27ZakwizgranDesign UX for finding out whether contacts support image attachmentsWhen the user upgrades to a version of Briar that supports image attachments, it may not be possible to send images to a given contact until the contact has also upgraded to a suitable version.
We need to let the user know whether it's ...When the user upgrades to a version of Briar that supports image attachments, it may not be possible to send images to a given contact until the contact has also upgraded to a suitable version.
We need to let the user know whether it's possible to send images to each contact, and if not, what needs to change before it will be possible, and how the user will know when it's changed.
Subtask of #1241.Android 1.3Elio Qoshielio@ura.designElio Qoshielio@ura.designhttps://code.briarproject.org/briar/briar/-/issues/1477Implement UX for finding out whether contacts support image attachments2019-02-21T10:34:38ZakwizgranImplement UX for finding out whether contacts support image attachmentsImplement the design from #1476 for finding out whether each contact supports image attachments.
Subtask of #1438.Implement the design from #1476 for finding out whether each contact supports image attachments.
Subtask of #1438.Android 1.3Torsten GroteTorsten Grote