briar issueshttps://code.briarproject.org/groups/briar/-/issues2023-01-31T12:06:52Zhttps://code.briarproject.org/briar/briar-desktop/-/issues/474Missing padding in introduction contact list2023-01-31T12:06:52ZMikolai GütschowMissing padding in introduction contact list![image](/uploads/aa16f4cf1323736a9133d76222834f5f/image.png)![image](/uploads/aa16f4cf1323736a9133d76222834f5f/image.png)Desktop 0.4.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/465Enable forum feature flag for release build2023-01-31T09:04:48ZMikolai GütschowEnable forum feature flag for release buildDesktop 0.4.0Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar-desktop/-/issues/427Implement upper bound on nesting level in threaded conversations2023-01-31T08:55:44ZMikolai GütschowImplement upper bound on nesting level in threaded conversationsSimilar to Briar Android, to avoid strange visual representation with arbitrarily deep nesting. We could probably adopt a higher limit though since the screen size is usually bigger on desktops. Or we could get fancy and dynamically adap...Similar to Briar Android, to avoid strange visual representation with arbitrarily deep nesting. We could probably adopt a higher limit though since the screen size is usually bigger on desktops. Or we could get fancy and dynamically adapt the limit to the window size?
![grafik](/uploads/1d1dd5014443826c3b3816b953ea413b/grafik.png)Desktop 0.4.0Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar-desktop/-/issues/464Differing UI for ContactListItemView and ForumItemView2023-01-31T08:52:28ZMikolai GütschowDiffering UI for ContactListItemView and ForumItemViewPadding around the items and verticalAlignment of the circles are different. We should probably decide on one and use that style consistently.
![image](/uploads/725fdaa23479b9f60f2d1a58fec6a4bd/image.png)
![image](/uploads/2f174f636bff9...Padding around the items and verticalAlignment of the circles are different. We should probably decide on one and use that style consistently.
![image](/uploads/725fdaa23479b9f60f2d1a58fec6a4bd/image.png)
![image](/uploads/2f174f636bff9525e77bc421e1e2c70a/image.png)Desktop 0.4.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/445Forums: lateinit property not initialized2023-01-31T08:48:44ZSebwinForums: lateinit property not initializedI can provoke this exception on the log:
```
15:14:28.221 [AWT-EventQueue-0] WARN o.b.b.d.RunWithMultipleTemporaryAccounts - Uncaught exception in thread AWT-EventQueue-0
kotlin.UninitializedPropertyAccessException: lateinit property g...I can provoke this exception on the log:
```
15:14:28.221 [AWT-EventQueue-0] WARN o.b.b.d.RunWithMultipleTemporaryAccounts - Uncaught exception in thread AWT-EventQueue-0
kotlin.UninitializedPropertyAccessException: lateinit property groupItem has not been initialized
at org.briarproject.briar.desktop.forums.ThreadedConversationViewModel.getGroupItem(ThreadedConversationViewModel.kt:66)
at org.briarproject.briar.desktop.forums.ThreadedConversationViewModel.eventOccurred(ThreadedConversationViewModel.kt:89)
at org.briarproject.bramble.event.EventBusImpl.lambda$broadcast$0(EventBusImpl.java:42)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
```
It happens when I run two connected instances and send a message in the forum from one client to the other, while the other one has already opened the forum screen, but not yet opened any specific forum (doesn't need to be the one with the incoming message).Desktop 0.4.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/377Received messages in selected chat are dropped when different screen is selec...2023-01-30T07:56:58ZMikolai GütschowReceived messages in selected chat are dropped when different screen is selected in the SidebarTo reproduce:
1. start two instances B1 and B2 of Briar and wait for them to connect
2. in B1, select the chat with B2, then go to Settings
3. in B2, select the chat with B1 and send a message
4. notice that the taskbar icon of B1 chang...To reproduce:
1. start two instances B1 and B2 of Briar and wait for them to connect
2. in B1, select the chat with B2, then go to Settings
3. in B2, select the chat with B1 and send a message
4. notice that the taskbar icon of B1 changes (the message is received)
5. in B1, go back to private messages
6. notice that the chat is still selected and the contact shows one unread message in the contact list, but no message is visible
7. select a different contact and then again the chat with B2
8. notice that the message is now visible
This has most probably to do with our mechanism of stopping listening to events in the corresponding viewModel as soon as the Composable is out of scope: The ConversationViewModel does not get informed about the new message, but no message reload is triggered since the same chat is still selected when coming back from the settings.Desktop 0.4.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/449Implement ability to test locally that produced .deb files are installable on...2023-01-29T22:35:52ZSebastianImplement ability to test locally that produced .deb files are installable on target OSesUsing vagrant probably.Using vagrant probably.Desktop 0.4.0SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/399Build for/on current Ubuntu LTS 22.042023-01-29T22:35:51ZMikolai GütschowBuild for/on current Ubuntu LTS 22.04additionally to Ubuntu 20.04 and perhaps instead of Ubuntu 18.04?
This is also the base for the current Linux Mint 21, and will be for upcoming elementary OS 7 and Trisquel 11additionally to Ubuntu 20.04 and perhaps instead of Ubuntu 18.04?
This is also the base for the current Linux Mint 21, and will be for upcoming elementary OS 7 and Trisquel 11Desktop 0.4.0SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/408Load and cache avatars in forums, if available2023-01-28T15:49:40ZTorsten GroteLoad and cache avatars in forums, if availableI only found one image loading library that seems to support compose for desktop: https://github.com/alialbaali/KamelI only found one image loading library that seems to support compose for desktop: https://github.com/alialbaali/KamelDesktop 0.4.0Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar-mailbox/-/issues/182No logs on Android since minification is enabled2023-01-27T11:40:24ZSebastianNo logs on Android since minification is enabledMailbox: ReleaseSebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/431Allow to share forums with contacts2023-01-26T10:39:57ZMikolai GütschowAllow to share forums with contactspart of #13part of #13Desktop 0.4.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar/-/issues/2318Crash on HTC One M9 when switching between the briar app and the settings ap...2023-01-25T17:23:06ZIvanaCrash on HTC One M9 when switching between the briar app and the settings app in the foregroundSteps to reproduce
- Install Briar and create a user account
- user is asked to "allow connections" (ie allow battery optimisation to be switched off)
- before tapping the "allow connections" button, go to settings app and verify that...Steps to reproduce
- Install Briar and create a user account
- user is asked to "allow connections" (ie allow battery optimisation to be switched off)
- before tapping the "allow connections" button, go to settings app and verify that the battery optimisation is 'on' (although probabky not relevant for this crash)
- then bring briar app back into the foreground tap the "allow connections"
- go to settings
- bring briar back into the foreground -> crash.
This as reproduced 2 times on HTC One M9 (android 7) and it doesn't have when the user performs the same steps with mailbox app.
Logfiles are attached
@akwizgran analysed and here are his comments (from MM)
looks like this is the stacktrace of the crash:
org.briarproject.briar.android.account.SetupActivity}: java.lang.RuntimeException: Parcel android.os.Parcel@7c94038: Unmarshalling unknown type code 6881391 at offset 684
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2729)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2790)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1505)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:173)
at android.app.ActivityThread.main(ActivityThread.java:6523)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:938)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:828)
Caused by: java.lang.RuntimeException: Parcel android.os.Parcel@7c94038: Unmarshalling unknown type code 6881391 at offset 684
at android.os.Parcel.readValue(Parcel.java:2452)
at android.os.Parcel.readSparseArrayInternal(Parcel.java:2807)
at android.os.Parcel.readSparseArray(Parcel.java:2076)
at android.os.Parcel.readValue(Parcel.java:2430)
at android.os.Parcel.readArrayMapInternal(Parcel.java:2726)
at android.os.BaseBundle.unparcel(BaseBundle.java:269)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:910)
at androidx.fragment.app.FragmentStateManager.restoreState(FragmentStateManager.java:405)
at androidx.fragment.app.FragmentManager.restoreSaveState(FragmentManager.java:2735)
at androidx.fragment.app.FragmentController.restoreSaveState(FragmentController.java:198)
at androidx.fragment.app.FragmentActivity$2.onContextAvailable(FragmentActivity.java:149)
at androidx.activity.contextaware.ContextAwareHelper.dispatchOnContextAvailable(ContextAwareHelper.java:99)
at androidx.activity.ComponentActivity.onCreate(ComponentActivity.java:297)
at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:273)
at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:115)
at org.briarproject.briar.android.activity.BaseActivity.onCreate(BaseActivity.java:92)
at org.briarproject.briar.android.account.SetupActivity.onCreate(SetupActivity.java:52)
at android.app.Activity.performCreate(Activity.java:6673)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2682)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2790)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1505)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:173)
at android.app.ActivityThread.main(ActivityThread.java:6523)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:938)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:828) [Briar_crash_11_May_2022_reproduced.txt](/uploads/ddad5db164d4d61b49a3ac11b70d9394/Briar_crash_11_May_2022_reproduced.txt)
[Briar_crash_11_May_2022.txt](/uploads/920b2d55e162d999725a2f03d704348a/Briar_crash_11_May_2022.txt)https://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-mailbox/-/issues/165TestMailbox is using real TorPlugin that bootstraps in each test2023-01-24T10:33:12ZTorsten GroteTestMailbox is using real TorPlugin that bootstraps in each testIdeally, the TestMailbox also uses a FakeTorPlugin or simply excludes the TorModule?Ideally, the TestMailbox also uses a FakeTorPlugin or simply excludes the TorModule?Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar-mailbox/-/issues/166Investigate if in-progress uploads will be listed and are available for download2023-01-24T10:32:37ZTorsten GroteInvestigate if in-progress uploads will be listed and are available for downloadSee https://code.briarproject.org/briar/briar/-/merge_requests/1725#note_72023See https://code.briarproject.org/briar/briar/-/merge_requests/1725#note_72023Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar-mailbox/-/issues/27Clean up things copied over from briar we don't need in the end2023-01-24T10:18:19ZSebastianClean up things copied over from briar we don't need in the endFiles that most likely contain some methods that won't be needed:
* `IoUtils`
* `StringUtils`
* `PrivacyUtils`
Check `TorPlugin` which has a bunch of commented calls to the `callback` field which doesn't exist here yetFiles that most likely contain some methods that won't be needed:
* `IoUtils`
* `StringUtils`
* `PrivacyUtils`
Check `TorPlugin` which has a bunch of commented calls to the `callback` field which doesn't exist here yetMailboxSebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/457Remove open option for answered forum invitations2023-01-23T13:23:37ZMikolai GütschowRemove open option for answered forum invitationsAs a fix for #453 until we decide on some support for navigating from one screen to another.As a fix for #453 until we decide on some support for navigating from one screen to another.Desktop 0.4.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/412Release 0.3.1-beta2023-01-20T15:19:28ZMikolai GütschowRelease 0.3.1-betasee #384 as reference
### Preparation
* [x] String freeze (disable auto-pull) and announcement on Transifex at least a week before the release > done via #403
* [x] Update translations using `tx pull -a -f`, potentially adding new langu...see #384 as reference
### Preparation
* [x] String freeze (disable auto-pull) and announcement on Transifex at least a week before the release > done via #403
* [x] Update translations using `tx pull -a -f`, potentially adding new languages to `UnencryptedSettings.kt` (!253)
* [x] Extensive testing
* [x] Update [changelog](https://code.briarproject.org/briar/briar-desktop/-/wikis/Changelog)
### Version bump
* [x] Change version in build config and metainfo.xml (!253)
* [x] Tag in Git (use `git tag -a -s <version-name>-beta -m "Briar Desktop <version-name>-beta"`) (https://code.briarproject.org/briar/briar-desktop/-/tags/0.3.1-beta)
* [x] GitLab CI builds release files automatically (https://code.briarproject.org/briar/briar-desktop/-/pipelines/12366)
### Deployment
* [x] Copy release files to desktop.briarproject.org (using [`update-binaries.sh`](https://code.briarproject.org/briar/briar-desktop-servers/-/blob/main/root/update-binaries.sh) with updated version code)
* [x] Rewrite and check that permalink points to correct version (don't forget to test and reload web server)
* [x] Update version and checksums (calculated using [`verify_hashsums.sh`](https://code.briarproject.org/briar/briar-desktop-servers/-/blob/main/verify_hashsums.sh)) on website (https://code.briarproject.org/briar/website/-/merge_requests/100)
* [x] Publish website
### PR
* [x] Inform 3rd party maintainers about release
* [ ] ~~Post on social media ([Mastodon](), [Twitter]()), useful [character counter](https://charactercounter.com/twitter)~~ (only translation update)
* [ ] ~~Update screenshot on website~~ (no visual changes)
### Backlog
* [x] Update description, milestone and due date of #337
* [x] Re-enable auto-pull on Transifex under Resources > Auto update resources > add [url](https://code.briarproject.org/briar/briar-desktop/-/raw/main/briar-desktop/src/main/resources/strings/BriarDesktop.properties)Desktop 0.3.1https://code.briarproject.org/briar/briar/-/issues/1897Groups/forums/blogs are shown as "already sharing" if initial connection to c...2023-01-20T14:33:34ZakwizgranGroups/forums/blogs are shown as "already sharing" if initial connection to contact is lostIf the initial connection to a contact is lost before client versioning messages are exchanged, any group/forum/blog we try to share with the contact will be shown as "already sharing".If the initial connection to a contact is lost before client versioning messages are exchanged, any group/forum/blog we try to share with the contact will be shown as "already sharing".Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/90Handle Hyperlinks (Clickable Links)2023-01-20T13:47:10ZakwizgranHandle Hyperlinks (Clickable Links)Users asked for the ability to include clickable links in messages and forum posts.
We need to think about how to handle this safely: hyperlinks can be used to identify forum subscribers ("barium"), or to spread malware.
A warning ...Users asked for the ability to include clickable links in messages and forum posts.
We need to think about how to handle this safely: hyperlinks can be used to identify forum subscribers ("barium"), or to spread malware.
A warning dialog could be shown before opening a hyperlink from an unknown source, but users would probably learn to ignore it. Perhaps hyperlinks should be allowed in private messages but scrubbed from forum posts?