briar issueshttps://code.briarproject.org/briar/briar/-/issues2018-03-08T15:59:02Zhttps://code.briarproject.org/briar/briar/-/issues/509Tapping QR code viewfinder should initiate auto focus2018-03-08T15:59:02ZakwizgranTapping QR code viewfinder should initiate auto focusFeedback from user testing:
> Almost anybody tried to tab the camera view finder to change the focus mode when it didn't scan immediately. People seem to be used to doing that with their regular camera. Maybe we could implement someth...Feedback from user testing:
> Almost anybody tried to tab the camera view finder to change the focus mode when it didn't scan immediately. People seem to be used to doing that with their regular camera. Maybe we could implement something similar to assist the scanning.Android 1.0akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/508Don't warn about leaving forum unless the user has shared it2020-11-21T18:35:19ZakwizgranDon't warn about leaving forum unless the user has shared itWhen the user leaves a forum we ask for confirmation, with a warning that any contacts the user has shared the forum with may stop receiving updates if she leaves. This warning should only be shown if the user has shared the forumWhen the user leaves a forum we ask for confirmation, with a warning that any contacts the user has shared the forum with may stop receiving updates if she leaves. This warning should only be shown if the user has shared the forumhttps://code.briarproject.org/briar/briar/-/issues/506Metadata collections2018-06-12T11:32:23ZakwizgranMetadata collectionsA key/value map of metadata can be associated with any group ID or message ID in the local DB. Some clients also need to store metadata for protocol sessions, which requires a hack to associate the session ID with a message ID where the ...A key/value map of metadata can be associated with any group ID or message ID in the local DB. Some clients also need to store metadata for protocol sessions, which requires a hack to associate the session ID with a message ID where the metadata is stored.
We can generalise the current approach by replacing the group ID or message ID with an arbitrary collection ID. However, we still want all metadata to belong to a group so it can be garbage collected if the group is removed. So the metadata structure becomes: group/collection/key/value. To associate metadata with a message, use the message ID as the collection ID. Metadata queries that currently return message IDs will return collection IDs instead.
This change will allow protocol clients to store metadata directly under the session ID. It will also allow settings to be stored as metadata rather than using a separate DB table, and the group and message metadata tables can be merged.
Sub-task of #136.https://code.briarproject.org/briar/briar/-/issues/505highlighting/marking for copy/paste in dark speech bubbles not visible2019-02-22T15:28:30ZMegaloxhighlighting/marking for copy/paste in dark speech bubbles not visiblea tester tried to copy text from his own speech bubble. the highlighting cannot be seen clearly on the dark background.a tester tried to copy text from his own speech bubble. the highlighting cannot be seen clearly on the dark background.https://code.briarproject.org/briar/briar/-/issues/504Define and design primary and secondary actions2018-06-12T11:32:23ZMegaloxDefine and design primary and secondary actionsIn some cases we might want to lead the user to the "right" decision by defining and designing primary and secondary actions.
For example:
Do you want to send the crash report?
YES (on a prominently colored button) NO (grey but...In some cases we might want to lead the user to the "right" decision by defining and designing primary and secondary actions.
For example:
Do you want to send the crash report?
YES (on a prominently colored button) NO (grey button)
Because we want to get as many crash reports as possible.
Please feel free to add more cases where this may be helpful.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/503Deliver private messages in order2020-11-21T18:37:21ZakwizgranDeliver private messages in orderTo reduce confusion when private messages arrive asynchronously, deliver them in the order they were sent, either by using a message queue or by making each message depend on the previous one.To reduce confusion when private messages arrive asynchronously, deliver them in the order they were sent, either by using a message queue or by making each message depend on the previous one.https://code.briarproject.org/briar/briar/-/issues/502Forums: remember closed nested discussions2018-06-12T11:32:23ZErnir ErlingssonForums: remember closed nested discussionsCurrently, when a user enters any forum the whole forum tree is open, i.e. there are no branches closed. One user had already closed off some branches (by pressing the chevron) but was annoyed that it was re-opened the next time he enter...Currently, when a user enters any forum the whole forum tree is open, i.e. there are no branches closed. One user had already closed off some branches (by pressing the chevron) but was annoyed that it was re-opened the next time he entered the forum.
I understand the resentment and am for storing the visibility state of any forum. We might need to improve the UX though when a user receives a message in a branch that he has closed. Right now the discussion branch is re-opened in that case but this feels like the wrong approach at the moment. Closing a discussion branch should maybe be seen as a way of muting that discussion and we should perhaps be much more passive when it comes to displaying messages in muted branches.
My suggestion: We don't re-open closed branches automatically when new messages in those branches are received but rather display some indicator that the closed branch contains new messages.
Then there are the notifications, should we display a notification for a new message on a "muted" branch ? I'm torn on this subject and can find arguments for both. Perhaps just best to keep it simple for us and display them regularly ?https://code.briarproject.org/briar/briar/-/issues/501Private messaging: speech bubble width "jumps" when the time-stamp text is up...2020-11-21T18:37:42ZErnir ErlingssonPrivate messaging: speech bubble width "jumps" when the time-stamp text is updated for short messages1. Write a really short private message, e.g. "no". Note that the time-stamp is "now"
2. Wait at least one minute and notice how the time-stamp changes to ~"1 minute ago". This text is longer than the message which causes the bubble to j...1. Write a really short private message, e.g. "no". Note that the time-stamp is "now"
2. Wait at least one minute and notice how the time-stamp changes to ~"1 minute ago". This text is longer than the message which causes the bubble to jump in an unaesthetic way.
Suggestion for a fix: make speech bubble minimum width large enough to contain the longest possible time-stamp string.https://code.briarproject.org/briar/briar/-/issues/500Private messaging: time stamp confusion2020-11-21T18:38:52ZErnir ErlingssonPrivate messaging: time stamp confusionSometimes private messages are not delivered for a very long time, one use found the time-stamp a bit confusing and would rather have it show the time it was received. I disagree with this but it does raise a valid point: shouldn't we al...Sometimes private messages are not delivered for a very long time, one use found the time-stamp a bit confusing and would rather have it show the time it was received. I disagree with this but it does raise a valid point: shouldn't we also display (somewhere) the time the message was received ? This information might be very relevant to the respective context.https://code.briarproject.org/briar/briar/-/issues/499Private messaging: cancel undelivered messages2020-11-21T18:39:19ZErnir ErlingssonPrivate messaging: cancel undelivered messagesIf the recipient's phone is offline messages are not delivered, this can cause messages to become obsolete and one tester suggested that we allow the user to cancel any pending messages.
This feature will make message dependencies more ...If the recipient's phone is offline messages are not delivered, this can cause messages to become obsolete and one tester suggested that we allow the user to cancel any pending messages.
This feature will make message dependencies more difficult, such as was suggested in #232https://code.briarproject.org/briar/briar/-/issues/498Implement UI for sharing blogs2018-06-12T11:32:24ZakwizgranImplement UI for sharing blogsSub-task of #406. Depends on #497.Sub-task of #406. Depends on #497.Milestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/497Implement backend for sharing blogs2018-06-12T11:32:24ZakwizgranImplement backend for sharing blogsSub-task of #406.Sub-task of #406.Milestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/496Implement UI for reblogging and blog comments2018-06-12T11:32:24ZakwizgranImplement UI for reblogging and blog commentsSub-task of #437. Depends on #494.Sub-task of #437. Depends on #494.Milestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/495Design UX for sharing blogs2018-06-12T11:32:24ZakwizgranDesign UX for sharing blogsThe user's personal blog is automatically shared with contacts. The user may also want to share other blogs that she subscribes to.
Example: A and B are contacts, B and C are contacts. B automatically subscribes to A and C's personal ...The user's personal blog is automatically shared with contacts. The user may also want to share other blogs that she subscribes to.
Example: A and B are contacts, B and C are contacts. B automatically subscribes to A and C's personal blogs. B wants to share A's personal blog with C.
I think this can be very similar to the UX for sharing forums. But we need to think about how the user will access this feature. Unlike forums, we don't have a screen that shows posts from a single blog, where the share action would naturally fit.
Sub-task of #406.Milestone Dhttps://code.briarproject.org/briar/briar/-/issues/494Implement backend for reblogging and blog comments2018-04-16T16:24:37ZakwizgranImplement backend for reblogging and blog commentsSub-task of #437.
# Group Messages
The group descriptor is a BDF list with three elements: `name` (string), `author_name` (string) and `public_key` (raw). Posts are signed with the corresponding private key.
## 0: Post
A blog p...Sub-task of #437.
# Group Messages
The group descriptor is a BDF list with three elements: `name` (string), `author_name` (string) and `public_key` (raw). Posts are signed with the corresponding private key.
## 0: Post
A blog post.
* `type` (int) - Must be 0
* `content` (string) - The content of the blog post
* `signature` (raw) - A signature over a list with the following elements:
* `group_id` (raw) - Taken from the [message header](BSP#message-format)
* `timestamp` (int) - Taken from the [message header](BSP#message-format)
* `type` (int) - As described above
* `content` (string) - As described above
Dependencies: None
## 1: Comment
A comment on a blog post.
* `type` (int) - Must be 1
* `content` (string or null) - An optional comment added to the post
* `parent_original_id` (raw) - The ID of a post or comment in this group or another group
* `parent_id` (raw) - The ID of a post, comment, wrapped post or wrapped comment in this group, which had the ID `parent_original_id` in the group where it was originally posted
* `signature` (raw) - A signature over a list with the following elements:
* `group_id` (raw) - Taken from the [message header](BSP#message-format)
* `timestamp` (int) - Taken from the [message header](BSP#message-format)
* `type` (int) - As described above
* `content` (string or null) - As described above
* `parent_original_id` (raw) - As described above
* `parent_id` (raw) - As described above
Dependencies: `parent_id`
## 2: Wrapped Post
A post from another group that has been reposted to this group. Not shared with other subscribers unless it is a transitive dependency of a valid post or comment in this group.
* `type` (int) - Must be 2
* `post_group_descriptor` (raw) - The descriptor of the group where the post was originally posted
* `post_timestamp` (int) - Taken from the original post
* `post_content`(string) - Taken from the original post
* `post_signature` (raw) - Taken from the original post
Dependencies: None
## 3: Wrapped Comment
A comment from another group that has been reposted to this group. Not shared with other subscribers unless it is a transitive dependency of a valid post or comment in this group.
* `type` (int) - Must be 3
* `comment_group_descriptor` (raw) - The descriptor of the group where the comment was originally posted
* `comment_timestamp` (int) - Taken from the original comment
* `comment_content` (string or null) - Taken from the original comment
* `comment_parent_original_id` (raw) - Taken from the original comment
* `comment_parent_id` (raw) - Taken from the original comment
* `comment_signature` (raw) - Taken from the original comment
* `parent_id` (raw) - The ID of a post, comment, wrapped post or wrapped comment in this group, which had the ID `comment_parent_original_id` in the group where it was originally posted
Dependencies: `parent_id`
Milestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/493Design UX for reblogging and blog comments2018-06-12T11:32:24ZakwizgranDesign UX for reblogging and blog commentsSub-task of #437.Sub-task of #437.Milestone Dhttps://code.briarproject.org/briar/briar/-/issues/492Remove crash report settings2018-06-12T11:32:24ZakwizgranRemove crash report settingsMost users should never see the crash reporter, so we don't need to allow them to configure it.Most users should never see the crash reporter, so we don't need to allow them to configure it.Milestone CTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/491Compose blog posts in the same screen as the blog feed2020-11-21T18:39:55ZakwizgranCompose blog posts in the same screen as the blog feedAllow the user to compose blog posts in the same screen as the blog feed, like we do for forums.Allow the user to compose blog posts in the same screen as the blog feed, like we do for forums.https://code.briarproject.org/briar/briar/-/issues/490Show only the first few lines of long blog posts2018-06-12T11:32:24ZakwizgranShow only the first few lines of long blog postsVery long blog posts should not automatically be shown in their entirety. Show the first few lines plus a 'Show more' or 'Read more' control that expands the post to its full length.Very long blog posts should not automatically be shown in their entirety. Show the first few lines plus a 'Show more' or 'Read more' control that expands the post to its full length.Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/489Show only the first few lines of long forum posts2020-11-21T18:40:21ZakwizgranShow only the first few lines of long forum postsVery long forum posts should not automatically be shown in their entirety. Show the first few lines plus a 'Show more' or 'Read more' control that expands the post to its full length.Very long forum posts should not automatically be shown in their entirety. Show the first few lines plus a 'Show more' or 'Read more' control that expands the post to its full length.