briar issueshttps://code.briarproject.org/briar/briar/-/issues2023-11-06T19:49:17Zhttps://code.briarproject.org/briar/briar/-/issues/2417Add ability to mark private message / groups / forums as read2023-11-06T19:49:17Zre tiolusAdd ability to mark private message / groups / forums as readEx: When joining a forum with over 1000 posts, it is horrible to have to manually scroll to the last post. It would be necessary to add an option to mark conversations as read.Ex: When joining a forum with over 1000 posts, it is horrible to have to manually scroll to the last post. It would be necessary to add an option to mark conversations as read.https://code.briarproject.org/briar/briar/-/issues/2413Show verification status of contacts when inviting them to a forum2023-02-07T10:14:37ZBirgerShow verification status of contacts when inviting them to a forumThe dialog for inviting contacts to a forum currently does not show their verification status (verified/unverified contact). In some cases I might only want to invite verified contacts to a forum. Therefore, the verification status shoul...The dialog for inviting contacts to a forum currently does not show their verification status (verified/unverified contact). In some cases I might only want to invite verified contacts to a forum. Therefore, the verification status should be shown in the contact list when selecting contacts to invite to a forum.https://code.briarproject.org/briar/briar/-/issues/2411Xiaomi device Android 11, API 30 - crash after 'no battery restrictions' sele...2023-01-25T17:23:06ZIvanaXiaomi device Android 11, API 30 - crash after 'no battery restrictions' selectedSteps to reproduce:
- install briar debug (build 0cea137)
- when prompted go to device settings and select 'no battery restirctions'
- Briar crashes(logfile attached)
When restarted after crash, the user is not prompted to go back to ...Steps to reproduce:
- install briar debug (build 0cea137)
- when prompted go to device settings and select 'no battery restirctions'
- Briar crashes(logfile attached)
When restarted after crash, the user is not prompted to go back to battery restriction settings, but the 'Open Security settings', 'Boost speed', then 'Manual'. But when th euser navigates back to the Briar screen (by tapping the back button on the bottom of the screen, Briar crashes (logfile 2)
[Xiaomi_Briar_crash_settings.txt](/uploads/33d9e54f54cb5ccc95d8ad76205b3e91/Xiaomi_Briar_crash_settings.txt)
[Xiaomi_crash_settings_2.txt](/uploads/591436e71141cdfbf35e82c296a11312/Xiaomi_crash_settings_2.txt)https://code.briarproject.org/briar/briar/-/issues/2406Error fragment after scanning QR code for adding contacts does not auto-rotat...2022-12-21T12:21:47ZSebastianError fragment after scanning QR code for adding contacts does not auto-rotate to landscape modeAfter trying to add a contact nearby and scanning a random QR code, an error fragment is displayed. Since we're disabling auto-rotation in the scanning fragment and set that on the activity, the following fragment has the same restrictio...After trying to add a contact nearby and scanning a random QR code, an error fragment is displayed. Since we're disabling auto-rotation in the scanning fragment and set that on the activity, the following fragment has the same restriction. We call there:
```
requireActivity().setRequestedOrientation(SCREEN_ORIENTATION_NOSENSOR);
```
and probably could just call this in the error fragment:
```
requireActivity().setRequestedOrientation(SCREEN_ORIENTATION_UNSPECIFIED);
```https://code.briarproject.org/briar/briar/-/issues/2404Animated GIF doesn't play2022-11-30T18:13:08ZTerence EdenAnimated GIF doesn't playI sent an animated .gif file via Bluetooth. It was received as a JPEG and, naturally, didn't play.
GIFs are fun! I'm not asking that the app integrates a GIF search engine. But it shouldn't transcode the media I send.
Briar 1.4.15 for ...I sent an animated .gif file via Bluetooth. It was received as a JPEG and, naturally, didn't play.
GIFs are fun! I'm not asking that the app integrates a GIF search engine. But it shouldn't transcode the media I send.
Briar 1.4.15 for Android.
(If this is the wrong forum for this report, please let me know.)https://code.briarproject.org/briar/briar/-/issues/2382Continuation of illustration revamp2022-11-01T17:27:27ZSebastianContinuation of illustration revampWe've had the illustrations revamped recently and added them to the app in !1722, however some screens still use old illustrations or large material icons kind of as illustrations too. Let's replace those eventually. In order to not forg...We've had the illustrations revamped recently and added them to the app in !1722, however some screens still use old illustrations or large material icons kind of as illustrations too. Let's replace those eventually. In order to not forget any of them, let's collect the relevant screens here.https://code.briarproject.org/briar/briar/-/issues/2381Image attachment button doesn't get enabled while conversation is open2022-10-31T12:35:50ZakwizgranImage attachment button doesn't get enabled while conversation is openWhen we receive a client versioning message informing us that a contact supports image attachments, the image attachment button in the conversation screen should be enabled. Currently this only happens after leaving and re-entering the c...When we receive a client versioning message informing us that a contact supports image attachments, the image attachment button in the conversation screen should be enabled. Currently this only happens after leaving and re-entering the conversation screen.https://code.briarproject.org/briar/briar/-/issues/2380Include bridge fingerprint in Snowflake params2022-10-28T10:57:09ZakwizgranInclude bridge fingerprint in Snowflake paramsTor Browser includes the bridge fingerprint in the key=value params passed to the Snowflake process, but Briar doesn't. Currently this doesn't matter because the Snowflake binary includes a default fingerprint that's the same as the one ...Tor Browser includes the bridge fingerprint in the key=value params passed to the Snowflake process, but Briar doesn't. Currently this doesn't matter because the Snowflake binary includes a default fingerprint that's the same as the one Tor Browser passes. But we should probably match what Tor Browser is doing so we don't get any surprises if the bridge fingerprint changes.
This would involve adding the fingerprint to the key=value params and removing one of the STUN servers, to keep the total length of the params within the limit.
* https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40665
* https://gitlab.torproject.org/tpo/anti-censorship/team/-/issues/101https://code.briarproject.org/briar/briar/-/issues/2379Hotspot fails to start if hotspot was previously running when app was killed2022-10-28T10:29:52ZakwizgranHotspot fails to start if hotspot was previously running when app was killedIf the app is killed (eg by revoking permissions) while a hotspot is running, it's not possible to start another hotspot until the phone has been rebooted or the phone's wifi has been turned off and on again.
This is a platform bug, but...If the app is killed (eg by revoking permissions) while a hotspot is running, it's not possible to start another hotspot until the phone has been rebooted or the phone's wifi has been turned off and on again.
This is a platform bug, but we might be able to find a workaround. Some things we could try:
* Call removeGroup() and wait for the async response before calling createGroup()
* If the hotspot fails to start, ask the user to turn wifi off and on again, and perhaps open the settings panel that provides a toggle for this (like we do if wifi is turned off when we're preparing to start the hotspot)https://code.briarproject.org/briar/briar/-/issues/2378borders around threads in dark view theme have too little contrast2023-01-31T18:14:28ZRubenborders around threads in dark view theme have too little contrastIn dark mode it is hard to recognize the indentions in threads.
The borders around the messages should have more contrastIn dark mode it is hard to recognize the indentions in threads.
The borders around the messages should have more contrasthttps://code.briarproject.org/briar/briar/-/issues/2376Feature request: ignoring/hiding/excluding users in forums/groups2023-01-31T18:14:44ZAminda SuomalainenFeature request: ignoring/hiding/excluding users in forums/groupsI have been recently added to multiple forums that are probably wider than Briar is intended for, and I have came across hatespeech that I would prefer to not be subjected to.
Lacking moderation features (https://code.briarproject.org/b...I have been recently added to multiple forums that are probably wider than Briar is intended for, and I have came across hatespeech that I would prefer to not be subjected to.
Lacking moderation features (https://code.briarproject.org/briar/briar/-/issues/512), I would like an option to ignore the user in style of IRC that it just hides all posts that person does. Optionally something to soft-hide requiring me to touch the post would make it visible like is possible on negative karma posts on Reddit, while I am not sure I would like that.
I think the best case scenario let me also not redistribute the hate speech to those I share the forums to, while I guess that might break Briar's design.https://code.briarproject.org/briar/briar/-/issues/2375Android 12 - New installation of Briar under certain conditions - Start Hostp...2022-10-24T11:58:48ZIvanaAndroid 12 - New installation of Briar under certain conditions - Start Hostpot button disabledSteps to reproduce:
- Clean installation of Briar = OK
- "Stop optimising battery usage? " => Allow
- Create Account = OK
- Briar > Settings > Share this app offline (no contacts yet)
- Start Hotspot
- Dialog: Allow Briar Debug access t...Steps to reproduce:
- Clean installation of Briar = OK
- "Stop optimising battery usage? " => Allow
- Create Account = OK
- Briar > Settings > Share this app offline (no contacts yet)
- Start Hotspot
- Dialog: Allow Briar Debug access to devices location?
- I select "Approximate" and "Only this time"
- Start Hotspot screen (again)
- "Location Permission" Dialog "You have denied access to your precise location, but Briar needs this permission to create a wifi hotspot. Please consider granting access". I click OK
- App permissions screen opens = OK
- I tap Permissions, I see location is marked as "Ask every time" - which is OK, as that is what I selected earlier.
- I tap Location and I see the location setting details - the Use Precise Location setting is OFF. I switch it on.
- Then I use the app switcher to go bac to Briar and I see the Start Hotspot screen, but with the Start Hotspot button disabled. See video for details.
Do not keep activities = OFF.
branch tested: 25f99bd7decfb1494462e54c7f92d2a11e025df0
![device-2022-10-24-134926](/uploads/6fbd116207ce0058a516bb0811db1894/device-2022-10-24-134926.mp4)https://code.briarproject.org/briar/briar/-/issues/2374Android 12 - hotspot error when nearby devices = ON and location = OFF2022-10-20T13:14:50ZIvanaAndroid 12 - hotspot error when nearby devices = ON and location = OFFSteps to reproduce:
Android 12 device
- Briar build 25f99bd7decfb1494462e54c7f92d2a11e025df0 is running
- in device settings - set the location permission to Off and nearby devices to ON.
- go back to Briar app > settings > share this...Steps to reproduce:
Android 12 device
- Briar build 25f99bd7decfb1494462e54c7f92d2a11e025df0 is running
- in device settings - set the location permission to Off and nearby devices to ON.
- go back to Briar app > settings > share this app offline
- tap Start hotspot
- a dialog box comes up asking the user to select the precise or approximate location...
- select the approximate location
- Start the Hitspot again
- A message comes up asking the user to set the device location to on (or some such)
- User continues and on the following dialog box selects 'change to precise location'.
- The progress circle starts and the hotspot is opening... and then...
- the error message - see attached screens.
If at the start of this process both nearby devices and location are off, then hotspot starts OK
Interesting maybe - if I go back to Briar > settings and restart the process of sharing the app, the process does not restart, but imemdiately the error screen shows again. And If I log out of Briar all together, and log back in, the same thing happens.
![Screenshot_20221020_133441](/uploads/1b32fff4eb4149c9851d677f06b991e8/Screenshot_20221020_133441.png)
![Screenshot_20221020_133502](/uploads/a660d1ee89930a71a604193a628022b2/Screenshot_20221020_133502.png)
![Screenshot_20221020_133515](/uploads/61cbc6014500fd8af49f8ea663131605/Screenshot_20221020_133515.png)
![Screenshot_20221020_133529](/uploads/9862fd1068b92d40f249f0597eb5ae14/Screenshot_20221020_133529.png)
![Screenshot_20221020_133546](/uploads/fa2ee59a4f6415d3c1ee017acf6ae7e0/Screenshot_20221020_133546.png)https://code.briarproject.org/briar/briar/-/issues/2372Restarting the app after having killed it, shows the last screen displayed be...2022-10-19T12:44:00ZIvanaRestarting the app after having killed it, shows the last screen displayed before killing the app -which hangsSteps to reproduce
Android 12, Samsung device
- In Briar app go to contacts screen and tap create a new nearby contact
- go through the steps as required, and Allow briar to access 'nearby devices'
- when the camera is showing, leave t...Steps to reproduce
Android 12, Samsung device
- In Briar app go to contacts screen and tap create a new nearby contact
- go through the steps as required, and Allow briar to access 'nearby devices'
- when the camera is showing, leave the Briar app and go to device settings, and change the 'nearby devices' setting
- This will kill the Briar app -
- log in again
- The first screen that the user sees after the log in is the camera screen again, which hangs... see attached - it is from this screen that I left the Briar app and went to the device settings
-expectation: after the log in, the Briar main screen should be shown and not the camera screen.
the 'do not keep activities' = Off in this case.
This may not be specifically the Android 12 issue... Will try and reproduce with other phones and add comments
![device-2022-10-19-140006](/uploads/bdc3665c4517e133373a76753dd2b438/device-2022-10-19-140006.mp4)https://code.briarproject.org/briar/briar/-/issues/2371Adding remote contact on API 19 crashes the app.2022-10-18T16:52:29ZFlyingP1g FlyingP1gAdding remote contact on API 19 crashes the app.I was adding a remote contact with virtual device (Nexus 5x API 19), it crashed without even giving briar crash fragment. (Tested multiple times)
Adding a remote contact with virtual device (Pixel 4a API 31) works ok.
I was using master ...I was adding a remote contact with virtual device (Nexus 5x API 19), it crashed without even giving briar crash fragment. (Tested multiple times)
Adding a remote contact with virtual device (Pixel 4a API 31) works ok.
I was using master branch and the latest comit was this 718d95f3d5426f8bbb65b8c8664874bb4f6ac53d
Steps to reproduce:
1) Add contact at distance
2) adb shell input text 'briar link'
3) Go to the next screen
4) give nickname and press add contact (Note: sometimes briar doesn't crash instantly, but later, I was never able to add a contact.)
5) Briar should crash
Last lines in Logcat:
```
2022-10-16 14:25:12.140 2745-2745/org.briarproject.briar.android.debug W/dalvikvm: VFY: unable to resolve virtual method 2963: Landroid/widget/Button;.setAutoSizeTextTypeWithDefaults (I)V
2022-10-16 14:25:12.140 2745-2745/org.briarproject.briar.android.debug D/dalvikvm: VFY: replacing opcode 0x6f at 0x0004
2022-10-16 14:25:12.140 2745-2745/org.briarproject.briar.android.debug I/BaseActivity: Resuming StartupActivity
2022-10-16 14:25:12.180 2745-2745/org.briarproject.briar.android.debug D/: HostConnection::get() New Host Connection established 0xb8e34bc0, tid 2745
2022-10-16 14:25:12.180 2745-2745/org.briarproject.briar.android.debug D/EGL_emulation: eglCreateContext: 0xb8e33a00: maj 3 min 1 rcv 4
2022-10-16 14:25:12.220 2745-2745/org.briarproject.briar.android.debug D/EGL_emulation: eglMakeCurrent: 0xb8e33a00: ver 3 1
2022-10-16 14:25:12.220 2745-2745/org.briarproject.briar.android.debug E/eglCodecCommon: glUtilsParamSize: unknow param 0x000082da
2022-10-16 14:25:12.220 2745-2745/org.briarproject.briar.android.debug E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008cdf
2022-10-16 14:25:12.220 2745-2745/org.briarproject.briar.android.debug E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008824
2022-10-16 14:25:12.220 2745-2745/org.briarproject.briar.android.debug E/EGL_emulation: tid 2745: eglSurfaceAttrib(1199): error 0x3009 (EGL_BAD_MATCH)
2022-10-16 14:25:12.220 2745-2745/org.briarproject.briar.android.debug W/HardwareRenderer: Backbuffer cannot be preserved
2022-10-16 14:25:12.220 2745-2745/org.briarproject.briar.android.debug D/OpenGLRenderer: Enabling debug mode 0
2022-10-16 14:25:12.250 2745-2745/org.briarproject.briar.android.debug I/dalvikvm: Could not find method android.view.View.setTooltipText, referenced from method androidx.appcompat.widget.TooltipCompat.setTooltipText
2022-10-16 14:25:12.250 2745-2745/org.briarproject.briar.android.debug W/dalvikvm: VFY: unable to resolve virtual method 2302: Landroid/view/View;.setTooltipText (Ljava/lang/CharSequence;)V
2022-10-16 14:25:12.250 2745-2745/org.briarproject.briar.android.debug D/dalvikvm: VFY: replacing opcode 0x6e at 0x0006
2022-10-16 14:25:12.270 2745-2745/org.briarproject.briar.android.debug I/BaseActivity: Stopping NavDrawerActivity
```https://code.briarproject.org/briar/briar/-/issues/2365DesktopLifecycleModule extends LifecycleModule which probably doesn't work2022-09-21T19:16:45ZSebastianDesktopLifecycleModule extends LifecycleModule which probably doesn't workSee [this discussion](https://code.briarproject.org/briar/briar/-/merge_requests/1699#note_71081) on IoModule and TestIoModule which had a similar problem.See [this discussion](https://code.briarproject.org/briar/briar/-/merge_requests/1699#note_71081) on IoModule and TestIoModule which had a similar problem.https://code.briarproject.org/briar/briar/-/issues/2364Do we need a revocation mechanism or remote-destruction? Is it helpful?2022-09-15T09:20:43ZThomasDo we need a revocation mechanism or remote-destruction? Is it helpful?Hi!
I found this ancient thread:https://sourceforge.net/p/briar/mailman/briar-devel/thread/4F33A780.8050705%40gmx.com/#msg28809772
>(Starting a new thread for this because the old thread was getting frayed.)
>
>On 09/02/12 03:14, awgh wr...Hi!
I found this ancient thread:https://sourceforge.net/p/briar/mailman/briar-devel/thread/4F33A780.8050705%40gmx.com/#msg28809772
>(Starting a new thread for this because the old thread was getting frayed.)
>
>On 09/02/12 03:14, awgh wrote:
>> - Cert revocations are signed with the cert they're revoking. If that
>> cert isn't in the local table, this is one string compare. Not much of
>> a DoS.
>
>Cool, I think we have the beginnings of a design here. Thanks Ben!
>
>1. Each user creates a personal keypair (this is separate from any
>pseudonyms she may create).
>
>2. The user creates a revocation certificate and signs it with the
>private key.
>
>3. The user applies a secret sharing algorithm to the revocation
>certificate. She chooses a few trusted friends and sends each friend a
>SAVE_SHARE message, which contains a share of the revocation certificate
>and the ID of the key.
>
>4. The user creates a KEY_ID message containing the ID of the key and
>sends it to any contacts who didn't receive shares.
>
>5. If a friend thinks the user's key has been compromised, she creates a
>REVOKE_SHARE message containing her share of the certificate and the ID
>of the key. She stores the message and sends it to all her contacts.
>
>6. If a user receives a REVOKE_SHARE message and recognises the ID, she
>stores the message and forwards it to all her contacts.
>
>7. If a user receives enough shares to reconstruct the revocation
>certificate, she considers the key revoked. She creates a REVOKE_CERT
>message containing the certificate, stores the message and sends it to
>all her contacts.
>
>8. If a user receives a REVOKE_CERT message and recognises the ID, she
>considers the key revoked, stores the message and forwards it to all her
>contacts.
>
>Does this look like a reasonable start?
>
>Cheers,
>Michael
I know that a lot has changed since then. But do we need a revocation mechanism in Briar now?
It also made me think: Is a remote-identity-destruction-mechanism helpful? (If the phone gets into the wrong hands and the phone can still access another contact some way - that contacts can together derive a revocation-key which tells the phone to delete the Briar-Identity?) Or is that remote-mechanism more in the scope of a panic-button-app?https://code.briarproject.org/briar/briar/-/issues/2362Timestamps in contact list (and maybe other lists) aren't updated2022-08-30T13:17:55ZakwizgranTimestamps in contact list (and maybe other lists) aren't updatedTimestamps in the contact list aren't updated if the screen timeout is set to less than 1 minute, as the refresher task is cancelled when the screen turns off.
Other BriarRecyclerViews may be affected if they don't reload their data or ...Timestamps in the contact list aren't updated if the screen timeout is set to less than 1 minute, as the refresher task is cancelled when the screen turns off.
Other BriarRecyclerViews may be affected if they don't reload their data or redraw their lists when started/resumed.https://code.briarproject.org/briar/briar/-/issues/2361Walkie-talkie feature2022-10-26T19:35:27ZVladislavWalkie-talkie featureFeatures:
1. Possibility to record and send short audio message (~10 sec), to a person, group or blog.
2. Hands off possibility. (Voice detection for recording an sending & auto play for incoming audio messages)
3. Push-to-talk possibili...Features:
1. Possibility to record and send short audio message (~10 sec), to a person, group or blog.
2. Hands off possibility. (Voice detection for recording an sending & auto play for incoming audio messages)
3. Push-to-talk possibility. (record and send message while holding on-display button or volume-up button)
Use case:
Communicate while driving, playing, workout.
Tips:
While recording is performed in app, we could use low quality audio format (8-16 kHz), just for voice recording.https://code.briarproject.org/briar/briar/-/issues/2359Reduce traffic activity by sending BSP VERSIONS Records less often2023-02-07T15:54:53ZThomasReduce traffic activity by sending BSP VERSIONS Records less oftenI am working on a PoC for a LoRa Transport. Even with all messages and acknowledges being exchanged, I see Traffic every X seconds. From a BSP perspective this is being sent: `00 04 00 01 00`
Its basically saying: This is protocol versio...I am working on a PoC for a LoRa Transport. Even with all messages and acknowledges being exchanged, I see Traffic every X seconds. From a BSP perspective this is being sent: `00 04 00 01 00`
Its basically saying: This is protocol version 0, I am supporting only protocol version 0.
I get this same message every X seconds. Yes, the traffic is encrypted (randomized), still I think this makes the traffic easier to categorize using timing-attacks and it takes bandwidth.
I argue this should only be sent:
- during contact exchange
- if it changed and the other contact hasn't acknowledged the change or sent BSP Frames themselves with the new version
Ideally the old Version is still valid and the change doesn't have to be propagated by creating new Streams - the client can transmit it once before it sends another BSP Packet.
This mainly affects Simplex Connections (https://code.briarproject.org/briar/briar/-/blob/master/bramble-core/src/main/java/org/briarproject/bramble/sync/SimplexOutgoingSession.java#L95). It could also be changes on Duplex Connections (https://code.briarproject.org/briar/briar/-/blob/master/bramble-core/src/main/java/org/briarproject/bramble/sync/DuplexOutgoingSession.java#L136) but I don't know the real-life impact there since it won't be regularly re-sent on established connections.
My workaround for the PoC will be to just comment-out this specific line of code.