briar issueshttps://code.briarproject.org/groups/briar/-/issues2020-11-16T10:31:13Zhttps://code.briarproject.org/briar/briar/-/issues/1419Online status in contact list can be confused with radio button2020-11-16T10:31:13ZTorsten GroteOnline status in contact list can be confused with radio buttonThe circle on the right of the avatar gives you an impression of a select radio button instead of online status.
![Online_1](/uploads/05ec34f3580ae8f05846fd807b516e9f/Online_1.png)
Placing the green circle on the corner of the avatar m...The circle on the right of the avatar gives you an impression of a select radio button instead of online status.
![Online_1](/uploads/05ec34f3580ae8f05846fd807b516e9f/Online_1.png)
Placing the green circle on the corner of the avatar might be more understandable:
![online](/uploads/055feea1e3c6de24587eb05c75b10f78/online.png)https://code.briarproject.org/briar/briar/-/issues/1415Develop scripts to use the OONI API to find locations where pluggable transpo...2020-11-15T20:02:27ZTorsten GroteDevelop scripts to use the OONI API to find locations where pluggable transports are neededhttps://code.briarproject.org/briar/briar/-/issues/1414Work with Briar users to set up OONI tests in censored locations2020-11-15T20:03:14ZTorsten GroteWork with Briar users to set up OONI tests in censored locationsThis is so we can find out where bridges are needed, so we can enable them automatically.This is so we can find out where bridges are needed, so we can enable them automatically.https://code.briarproject.org/briar/briar/-/issues/1412Briar's liberapay account is not configured to accept new payments2020-11-15T20:04:24ZmicressorBriar's liberapay account is not configured to accept new paymentsTried to setup from my side, but got an error.Tried to setup from my side, but got an error.https://code.briarproject.org/briar/briar/-/issues/1411RSS/ATOM: Name of the menus2020-11-15T20:05:22ZmicressorRSS/ATOM: Name of the menusIt seems like Briar understands RSS and ATOM feeds.
Ideally, the description of the menus would be general. For example "Manage Feeds", "Import Feed", "Enter the URL of the RSS/ATOM feed".It seems like Briar understands RSS and ATOM feeds.
Ideally, the description of the menus would be general. For example "Manage Feeds", "Import Feed", "Enter the URL of the RSS/ATOM feed".https://code.briarproject.org/briar/briar/-/issues/1410Share content from another app as a Briar message2020-11-15T20:06:29ZmicressorShare content from another app as a Briar message### Steps to reproduce
1. For example: open a RSS or podcast app.
2. Select an article/podcast
3. Select share button
### Actual behaviour
It is not possible to select briar as a target.
### Expected behaviour
It should be possible to ...### Steps to reproduce
1. For example: open a RSS or podcast app.
2. Select an article/podcast
3. Select share button
### Actual behaviour
It is not possible to select briar as a target.
### Expected behaviour
It should be possible to select briar for sharing.https://code.briarproject.org/briar/briar/-/issues/1408Reduce memory usage2020-11-15T20:07:02ZakwizgranReduce memory usageA user asked for Briar to use less memory.A user asked for Briar to use less memory.https://code.briarproject.org/briar/briar/-/issues/1407Allow conversation view to be more compact2020-11-15T20:07:49ZakwizgranAllow conversation view to be more compactUser feedback: "Please add an option to make the chat message view more compact. I do not like the whitespace between two messages. I have a small device with bad resolution and would like to use every pixel for information."User feedback: "Please add an option to make the chat message view more compact. I do not like the whitespace between two messages. I have a small device with bad resolution and would like to use every pixel for information."https://code.briarproject.org/briar/briar/-/issues/1406User feedback screen: Possibility to share/save device data2020-11-15T20:08:27ZmicressorUser feedback screen: Possibility to share/save device dataIt would be helpful if it could also be possible to edit the data via a different channel (Email / Save as...). This would make it easier to create a dedicated bug report.It would be helpful if it could also be possible to edit the data via a different channel (Email / Save as...). This would make it easier to create a dedicated bug report.https://code.briarproject.org/briar/briar/-/issues/1404Phone resets when Briar is running in background2019-03-01T14:22:33ZakwizgranPhone resets when Briar is running in background* Android version: 7.1.2
* Briar version: 1.0.13
User feedback: "I am not so sure that this a bug in briar, but since last update my phone is often resetting when briar is signed in. What i have noticed is that briar cannot negotiate a ...* Android version: 7.1.2
* Briar version: 1.0.13
User feedback: "I am not so sure that this a bug in briar, but since last update my phone is often resetting when briar is signed in. What i have noticed is that briar cannot negotiate a new connection when app is in background or when screen is locked. Example is i am signing in and switch to browser app - ten minutes later i will look back and app is still signing in. When sign in finished i return to browser, look back in ten minutes and only then it finds contacts online (while i an looking at the app) and receives messages. Once it is signed in and connection is found then it works in background fine and will receive messages. If i am not checking briar while signing in and making connection though, phone will sooner or later reset. Same if i am changing type of internet connection, like i am going from WiFi to data. I must keep app open and active until it finds contacts again or else phone will reset. As i say, i am not sure this is caused by briar, but it started near time of last update and by keeping app open during such times i have almost stopped sudden resets which before were happening many times each day."
Unfortunately the user didn't include a log, details of the phone or an email address.https://code.briarproject.org/briar/briar/-/issues/1402Green send button might be mistaken for online indicator2020-11-15T20:10:14ZakwizgranGreen send button might be mistaken for online indicatorUser feedback: "#1252 I think green color of the send button is a mistake, because it can indicate contact is online. Maybe blue, like outgoing message bubbles."User feedback: "#1252 I think green color of the send button is a mistake, because it can indicate contact is online. Maybe blue, like outgoing message bubbles."https://code.briarproject.org/briar/briar/-/issues/1401Make transport indicators usable by colourblind users2020-11-15T20:10:45ZakwizgranMake transport indicators usable by colourblind usersUser feedback: "For productivity purposes I use my phone in greyscale mode, it's at the same time a simulation of color blindness. I've noticed that it's hard to distinguish the internet/WiFi/Bluetooth indicators' active green from the i...User feedback: "For productivity purposes I use my phone in greyscale mode, it's at the same time a simulation of color blindness. I've noticed that it's hard to distinguish the internet/WiFi/Bluetooth indicators' active green from the inactive grey. The solution could be putting a dot/underscore to indicate WiFi is enabled."https://code.briarproject.org/briar/briar/-/issues/1400Explain that if Tor is turned off, nothing will be sent via the internet2020-11-15T20:11:59ZakwizgranExplain that if Tor is turned off, nothing will be sent via the internetUser feedback: "Settings should indicate that if Tor is turned off, messages will not be sent via the internet (there is no non-Tor P2P WAN option)."User feedback: "Settings should indicate that if Tor is turned off, messages will not be sent via the internet (there is no non-Tor P2P WAN option)."CleopatraCleopatrahttps://code.briarproject.org/briar/briar/-/issues/1398IndexOutOfBoundsException in contact list2021-11-04T11:03:43ZakwizgranIndexOutOfBoundsException in contact list* Android version: 7.0
* Briar version: 1.1.1 (9476782)
* Phone model: AGM A8 (T88Q_14)
* User feedback: "Spontaneously crashes by itself. The impact of any third-party applications is not noticed. I cannot name any apparent reasons."
S...* Android version: 7.0
* Briar version: 1.1.1 (9476782)
* Phone model: AGM A8 (T88Q_14)
* User feedback: "Spontaneously crashes by itself. The impact of any third-party applications is not noticed. I cannot name any apparent reasons."
Stacktrace:
```
java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHolder{91bdea4 position=3 id=-1, old Pos=3, pLpos:-1 scrap [attachedScrap] tmpDetached no parent} android.support.v7.widget.RecyclerView{63190e8 VFED.V... .F....I. 0,0-720,1120 #7f09012d app:id/recyclerView}, adapter:org.briarproject.briar.android.contact.ContactListAdapter@cb5480b, layout:android.support.v7.widget.LinearLayoutManager@8a536e8, context:org.briarproject.briar.android.navdrawer.NavDrawerActivity@679576e
at android.support.v7.widget.RecyclerView$Recycler.validateViewHolderForOffsetPosition(RecyclerView.java:5610)
at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5792)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5752)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5748)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2232)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1559)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1519)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:614)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep1(RecyclerView.java:3763)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3527)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:4082)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.support.constraint.ConstraintLayout.onLayout(ConstraintLayout.java:1855)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1171)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:724)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2342)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2069)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1246)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6307)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:871)
at android.view.Choreographer.doCallbacks(Choreographer.java:683)
at android.view.Choreographer.doFrame(Choreographer.java:619)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:857)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6086)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
```Android 1.4https://code.briarproject.org/briar/briar/-/issues/1397Quote private message when replying2022-09-30T11:22:02ZakwizgranQuote private message when replyingUser feedback: "Please add the ability to quote the messages of the interlocutor."
Related to #81.User feedback: "Please add the ability to quote the messages of the interlocutor."
Related to #81.https://code.briarproject.org/briar/briar/-/issues/1394Confirmation dialog isn't shown when connecting panic button app2020-11-17T16:07:07ZakwizgranConfirmation dialog isn't shown when connecting panic button appSteps to reproduce:
* Uninstall and reinstall Briar and Ripple so they're definitely not connected
* Start Briar, create an account, go to "Settings > Panic button setup > Panic Button App"
* Choose Ripple as the panic button app
* Expe...Steps to reproduce:
* Uninstall and reinstall Briar and Ripple so they're definitely not connected
* Start Briar, create an account, go to "Settings > Panic button setup > Panic Button App"
* Choose Ripple as the panic button app
* Expected: A dialog is shown to confirm that Ripple is allowed to trigger destructive actions
* Action: No dialog is shown, Ripple can trigger destructive actionshttps://code.briarproject.org/briar/briar/-/issues/1388Discussion: Only poll contacts if necessary2021-12-13T14:13:45ZBen WieDiscussion: Only poll contacts if necessaryFor some transports we could reduce the polling effort if we only poll contacts that we want to sent messages/ACKs to. This works for transports where both peers are able to connect to each other if one is able to.For some transports we could reduce the polling effort if we only poll contacts that we want to sent messages/ACKs to. This works for transports where both peers are able to connect to each other if one is able to.https://code.briarproject.org/briar/briar/-/issues/1387Keep persistent log messages2020-11-17T15:47:48ZTorsten GroteKeep persistent log messagesIt might be useful to have logs that persist across restarts (e.g. to find out why users get signed out). But that would require one of the following solutions:
* write logs to an encrypted file that we can read back after restarting...It might be useful to have logs that persist across restarts (e.g. to find out why users get signed out). But that would require one of the following solutions:
* write logs to an encrypted file that we can read back after restarting
* write logs to the system log, use the `READ_LOGS` permission to read them back after restarting - this results in a scary permission warning at installation time on API < 23
* write logs to the system log, read them back without the `READ_LOGS` permission - this only works on API >= 16, but that's nearly all our users, so we could just live without this feature on API 15. the bigger issue with using the system log is that the logs are stored in plaintexthttps://code.briarproject.org/briar/briar/-/issues/1365Camera error and connection aborted when screen turns off while adding contact2020-11-17T16:07:23ZakwizgranCamera error and connection aborted when screen turns off while adding contactSteps to reproduce:
* Ensure that device A's screen timeout is set to the default (30 seconds)
* Connect devices A and B to the same LAN
* Navigate to the QR code screen on both devices
* Wait 10 seconds without touching the screen on d...Steps to reproduce:
* Ensure that device A's screen timeout is set to the default (30 seconds)
* Connect devices A and B to the same LAN
* Navigate to the QR code screen on both devices
* Wait 10 seconds without touching the screen on device A
* Use device A to scan device B's QR code
* Device A should connect and show "Waiting for contact to scan and connect"
* Device A's screen should turn off before the connection times out
* Turn device A's screen back on
* Device A is still showing "Waiting for contact to scan and connect" although the original timeout has passed
* Device A exits the QR code screen with a "Camera error" toast
* Device A shows a "Connection aborted" toast
Possibly related to #1302, #1364.https://code.briarproject.org/briar/briar/-/issues/1364EOFException when adding contact2020-11-17T15:59:15ZakwizgranEOFException when adding contactSteps to reproduce:
* Device A scans device B, connects via LAN (Bluetooth would also work AFAICT)
* Wait for device A to time out
* Device A closes the connection
* Device B scans device A
* Device B tries to read from the closed conne...Steps to reproduce:
* Device A scans device B, connects via LAN (Bluetooth would also work AFAICT)
* Wait for device A to time out
* Device A closes the connection
* Device B scans device A
* Device B tries to read from the closed connection, throws EOFException
* Device B shows "Connection aborted" toast
* Adding contact fails