briar issueshttps://code.briarproject.org/groups/briar/-/issues2023-01-25T11:44:13Zhttps://code.briarproject.org/briar/briar/-/issues/1854Provide Tor/obfsproxy arm binaries for Linux2023-01-25T11:44:13ZNicoProvide Tor/obfsproxy arm binaries for Linux_Let's properly document all the ARM binary stuff for Briar Headless._
Briar Headless currently only includes binaries for `linux-x86_64`. While Briar Android works on ARM, we need a special binary for (plain) Linux systems and [enable ..._Let's properly document all the ARM binary stuff for Briar Headless._
Briar Headless currently only includes binaries for `linux-x86_64`. While Briar Android works on ARM, we need a special binary for (plain) Linux systems and [enable them in code](https://code.briarproject.org/briar/briar/-/blob/8d735b30237aaf8212bb42d37783134a56d6e9b6/bramble-java/src/main/java/org/briarproject/bramble/plugin/tor/UnixTorPluginFactory.java#L99).
Here is a table with required flags for specified target devices:
| command | `-march=` | other flags | target devices |
| ------ | ------ | ------ | ------ |
| `arm-linux-gnueabi-gcc` | `armv6` | `-marm` | Raspberry Pi Model B Rev 2 |
| `arm-linux-gnueabi-gcc` | `armv6zk` | `-marm` | Raspberry Pi Model B Rev 2 |
| `arm-linux-gnueabi-gcc` | `armv6zk+fp` | `-marm` | Raspberry Pi Model B Rev 2 |
| `arm-linux-gnueabihf-gcc` | `armv7-a+fp` | `-mmusl` | Google Nexus 5 (postmarketOS) |
| `arm-linux-gnueabihf-gcc` | `armv7ve+simd` | `-marm` | Raspberry Pi 2 Model B (not tested) |
| `arm-linux-gnueabihf-gcc` | unknown | unknown | Raspberry Pi Model 3 (not tested) |
| `aarch64-linux-gnu-gcc` | `armv8-a+crc+simd` | `-marm` | Raspberry Pi 4 Model B (not tested) |
| `aarch64-linux-gnu-gcc` | `armv8-a+crypto+crc` | - | Purism Librem 5 (not tested) |
To add information on another device, the following commands are helpful:
```bash
cat /proc/cpuinfo
gcc -c -Q -march=native --help=target
gcc -v
```
Python also gives interesting information (enter these commands after starting `python3`; you can exit with ctrl + d):
```python
import platform
platform.architecture()
platform.machine()
```
For detecting your device properly, we depend on Java to tell us which is it:
```java
public class Arch {
public static void main(String[] args) {
System.out.println(System.getProperty("os.arch"));
}
}
```
Please compile it with `javac Arch.java` and post the output of `java Arch`.
Once you have that information, feel free to post the output to this issues. Your work will help getting Briar run on your device.
You can further help by trying to do a test compile. Using the following `briar.c`...
```c
#include <stdio.h>
int main() {
float a = 3.33 + 6.66;
printf("Briar rocks, %f!", a);
return 0;
}
```
...you can compile the program using e.g. `arm-linux-gnueabi-gcc test.c -o test.out -march=armv6zk+fp -marm`. Under Debian, there are `gcc-arm-linux-gnueabihf` and `gcc-arm-linux-gnueabi` available as cross-compilers. Please compile the program on your desktop device using the right compiler flags, copy the _test.out_ binary to your target device and try to execute it there. If it works, you can additionally provide the exact compile command that worked for you.NicoNicohttps://code.briarproject.org/briar/briar/-/issues/1853Show a notice in the conversation when one party changes self-destruct timer2021-07-06T09:57:04ZTorsten GroteShow a notice in the conversation when one party changes self-destruct timerSort the conversation message items/headers by timestamp, work through them in order, and whenever the local or remote timer duration changes, insert a notice into the list.Sort the conversation message items/headers by timestamp, work through them in order, and whenever the local or remote timer duration changes, insert a notice into the list.Self-destructing messagesTorsten GroteTorsten Grote2021-01-31https://code.briarproject.org/briar/briar/-/issues/1851Move media related classes and interfaces from AttachmentModule into dedicate...2021-02-19T17:58:09ZSebastianMove media related classes and interfaces from AttachmentModule into dedicated MediaModuleWhile working on #1846 the idea came up to further refactor the attachment package and module by creating a dedicated media or image module that would be a new home for the various classes and interfaces dealing with images that might de...While working on #1846 the idea came up to further refactor the attachment package and module by creating a dedicated media or image module that would be a new home for the various classes and interfaces dealing with images that might deserve their own package now that they are also being used for other purposes. We decided to handle that further refactoring separately to not interfere too much with the ongoing work on #214Profile picturesSebastianSebastian2021-01-31https://code.briarproject.org/briar/website/-/issues/29Expand FAQs2022-11-18T17:32:17ZCleopatraExpand FAQsSubtask of #28
```
- What is Briar?
- How does Briar work?
- Why is it called Briar?
- How is Briar different from other messaging apps?
- How do I install/update/uninstall Briar?
- What platforms can I use Briar on?
- Can I send files ...Subtask of #28
```
- What is Briar?
- How does Briar work?
- Why is it called Briar?
- How is Briar different from other messaging apps?
- How do I install/update/uninstall Briar?
- What platforms can I use Briar on?
- Can I send files and images?
- Can I do video calls?
- Why is Briar is always logged out every time I open the app?
- What is the difference between a forum, private group and blog?
- What does Briar use for end2end encryption
- How are messages delivered?
- Why is my connection to a private group so slow?
- What happens to abandoned accounts?
- Why does Briar drain more battery?
- What are some limitations of Briar?
- how can briar sync over the internet without a server? how do you know where to send the sync to? don't you need some kind of known address or middleman to sync?
```CleopatraCleopatrahttps://code.briarproject.org/briar/briar-manual/-/issues/5Prepare manual for translation2020-12-01T14:00:23ZCleopatraPrepare manual for translationCleopatraCleopatrahttps://code.briarproject.org/briar/briar-reproducer/-/issues/1Build .deb containing briar-headless.jar2021-03-10T06:23:13ZNicoBuild .deb containing briar-headless.jarSince packaging briar-headless in Debian main (https://code.briarproject.org/briar/briar-debian/-/issues/1) is currently blocked, efforts will now focus on creating an official APT repository by The Briar Project (https://code.briarproje...Since packaging briar-headless in Debian main (https://code.briarproject.org/briar/briar-debian/-/issues/1) is currently blocked, efforts will now focus on creating an official APT repository by The Briar Project (https://code.briarproject.org/briar/briar-debian/-/issues/3). The *briar-headless.deb* provided in that repository will ideally come from briar-reproducer. We need to extend briar-reproducer to not only create a *briar-headless.jar*, but also a *briar-headless.deb* that contains the *.jar*.NicoNicohttps://code.briarproject.org/briar/briar-debian/-/issues/3Create official APT repository2021-02-01T12:32:41ZNicoCreate official APT repositorySince packaging briar-headless in Debian main (https://code.briarproject.org/briar/briar-debian/-/issues/1) is currently blocked, we decided to now focus on creating an official APT repository by The Briar Project. It will contain a .deb...Since packaging briar-headless in Debian main (https://code.briarproject.org/briar/briar-debian/-/issues/1) is currently blocked, we decided to now focus on creating an official APT repository by The Briar Project. It will contain a .deb of briar-headless, produced by briar-reproducer (https://code.briarproject.org/briar/briar-reproducer/-/issues/1), and imho should also contain .debs of briar-gtk (https://code.briarproject.org/briar/briar-gtk/issues/39) and python3-briar-wrapper (https://code.briarproject.org/briar/python-briar-wrapper/issues/14).https://code.briarproject.org/briar/briar/-/issues/1849Upgrade Tor to 0.3.5.122020-11-16T16:52:46ZakwizgranUpgrade Tor to 0.3.5.12Tor 0.3.5.12 is out. This release has a security fix that could affect anonymity, and an updated list of fallback directories, which might improve bootstrapping.
https://gitweb.torproject.org/tor.git/tree/ChangeLog?h=tor-0.3.5.12Tor 0.3.5.12 is out. This release has a security fix that could affect anonymity, and an updated list of fallback directories, which might improve bootstrapping.
https://gitweb.torproject.org/tor.git/tree/ChangeLog?h=tor-0.3.5.12Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1848Test performance of profile picture loading and caching2020-12-11T10:34:16ZakwizgranTest performance of profile picture loading and cachingCheck that performance is acceptable when loading a conversation with a large number of profile pictures (eg a forum with posts from many contacts).
Depends on #1845. Subtask of #214.Check that performance is acceptable when loading a conversation with a large number of profile pictures (eg a forum with posts from many contacts).
Depends on #1845. Subtask of #214.Profile picturesTorsten GroteTorsten Grote2021-01-31https://code.briarproject.org/briar/briar/-/issues/1846Refactor image compression code for reuse outside messaging client2020-12-07T11:49:19ZakwizgranRefactor image compression code for reuse outside messaging clientFactor out AttachmentCreationTask#compressImage() so it can be reused when storing the user's profile picture.
Subtask of #214.Factor out AttachmentCreationTask#compressImage() so it can be reused when storing the user's profile picture.
Subtask of #214.Profile picturesSebastianSebastian2021-01-31https://code.briarproject.org/briar/briar/-/issues/1845Show profile picture in AuthorView using Glide2020-12-11T10:34:26ZakwizgranShow profile picture in AuthorView using GlideIf an AuthorInfo specifies a profile picture, AuthorView should load it using Glide instead of showing an identicon.
Depends on #1842 and #1844. Subtask of #214.If an AuthorInfo specifies a profile picture, AuthorView should load it using Glide instead of showing an identicon.
Depends on #1842 and #1844. Subtask of #214.Profile picturesTorsten GroteTorsten Grote2021-01-31https://code.briarproject.org/briar/briar/-/issues/1844Add core method for loading a profile picture2020-11-30T12:31:04ZakwizgranAdd core method for loading a profile pictureAdd a core method for loading a profile picture as an InputStream, give the message ID and content type. This will be similar to MessagingManager#getAttachment(), so consider whether that method and the Attachment and AttachmentHeader cl...Add a core method for loading a profile picture as an InputStream, give the message ID and content type. This will be similar to MessagingManager#getAttachment(), so consider whether that method and the Attachment and AttachmentHeader classes should be factored out.
Subtask of #214.Profile picturesTorsten GroteTorsten Grote2021-01-31https://code.briarproject.org/briar/briar/-/issues/1843Create sync client to exchange profile pictures with contacts2020-11-30T12:31:03ZakwizgranCreate sync client to exchange profile pictures with contactsThis client will sync single-block messages initially, pending large message support.
Subtask of #214.This client will sync single-block messages initially, pending large message support.
Subtask of #214.Profile picturesTorsten GroteTorsten Grote2021-01-31https://code.briarproject.org/briar/briar/-/issues/1842Add message ID of profile picture to Identity, Contact and AuthorInfo classes2020-12-11T10:34:39ZakwizgranAdd message ID of profile picture to Identity, Contact and AuthorInfo classesThis field will be null for identities without a profile picture, or those whose profile picture is unknown.
Subtask of #214This field will be null for identities without a profile picture, or those whose profile picture is unknown.
Subtask of #214Profile picturesTorsten GroteTorsten Grote2021-01-31https://code.briarproject.org/briar/briar/-/issues/1836Automatically decline incoming private group invitations when they self-destruct2021-03-11T12:26:10ZakwizgranAutomatically decline incoming private group invitations when they self-destructWhen an incoming private group invitation self-destructs without being answered, automatically decline the request. This may require a protocol update (coordinated with #1831) to flag the decline as an automatic response that shouldn't b...When an incoming private group invitation self-destructs without being answered, automatically decline the request. This may require a protocol update (coordinated with #1831) to flag the decline as an automatic response that shouldn't be shown in the UI.
Subtask of #804Self-destructing messagesIvanaIvana2021-01-31https://code.briarproject.org/briar/briar/-/issues/1835Automatically decline incoming blog/forum invitations when they self-destruct2021-07-06T09:56:40ZakwizgranAutomatically decline incoming blog/forum invitations when they self-destructWhen an incoming blog/forum invitation self-destructs without being answered, automatically decline the invitation. This may require a protocol update (coordinated with #1830) to flag the decline as an automatic response that shouldn't b...When an incoming blog/forum invitation self-destructs without being answered, automatically decline the invitation. This may require a protocol update (coordinated with #1830) to flag the decline as an automatic response that shouldn't be shown in the UI.
Subtask of #804Self-destructing messagesIvanaIvana2021-01-31https://code.briarproject.org/briar/briar/-/issues/1834Automatically decline incoming introduction requests when they self-destruct2021-05-05T16:17:22ZakwizgranAutomatically decline incoming introduction requests when they self-destructWhen an incoming introduction request self-destructs without being answered, automatically decline the request. This may require a protocol update (coordinated with #1829) to flag the decline as an automatic response that shouldn't be sh...When an incoming introduction request self-destructs without being answered, automatically decline the request. This may require a protocol update (coordinated with #1829) to flag the decline as an automatic response that shouldn't be shown in the UI.
Subtask of #804
Test instructions:
* Use three devices, users A, B and C
* Enable self-destructing messages in the conversations A-B and A-C
* Let A introduce contacts B and C
* Expect invitation messages to arrive at B and C about the invitation
* Expect the invitation messages to have a auto-delete timers
* Let those timers expire. Expect that to trigger an automatic decline of the invitation, i.e. on all three devices it is visible that the introduction failed (due to the expired response)
* Expect all messages from that interaction to destroy after each message's timer expires
* Let A introduce B and C again. Expect this *not* to fail due to an introduction that is already going on (because none should be going on any longer)
* Let B and C accept the introduction
* Expect the introduction to work
* Confirm that B and C have each other in the contact list
* Expect all messages involved in the transaction to have auto-delete timers
* Let those timers expire and expect all those messages to disappearSelf-destructing messagesIvanaIvana2021-01-31https://code.briarproject.org/briar/briar/-/issues/1833Delete messages when their self-destruct timers expire2021-03-11T12:25:31ZakwizgranDelete messages when their self-destruct timers expireCreate a component that tracks pending self-destruct timers and deletes messages when their self-destruct timers expire.
Conversation clients will register messages for deletion during delivery. The new component will be responsible for...Create a component that tracks pending self-destruct timers and deletes messages when their self-destruct timers expire.
Conversation clients will register messages for deletion during delivery. The new component will be responsible for calling back into the client when a message is due to be deleted. This will allow the client to take any necessary steps before deletion, such as declining an open introduction.
Subtask of #804Self-destructing messagesIvanaIvana2021-01-31https://code.briarproject.org/briar/briar/-/issues/1832Store self-destruct timer duration2020-12-16T12:58:10ZakwizgranStore self-destruct timer durationFor each contact, store the local timer duration for self-destructing messages and the time when it was updated. When a message is received from the contact with a different timer duration and higher timestamp, update the local timer dur...For each contact, store the local timer duration for self-destructing messages and the time when it was updated. When a message is received from the contact with a different timer duration and higher timestamp, update the local timer duration. There should also be methods for setting the duration manually and querying the duration when sending a message.
Subtask of #804Self-destructing messagesakwizgranakwizgran2021-01-31https://code.briarproject.org/briar/briar/-/issues/1831Update private group sharing client to include a self-destruct timer in each ...2020-11-30T12:45:14ZakwizgranUpdate private group sharing client to include a self-destruct timer in each messageSubtask of #804Subtask of #804Self-destructing messagesakwizgranakwizgran2021-01-31