briar issueshttps://code.briarproject.org/briar/briar/-/issues2017-12-18T07:40:23Zhttps://code.briarproject.org/briar/briar/-/issues/876Group Invitation not marked unavailable2017-12-18T07:40:23ZTorsten GroteGroup Invitation not marked unavailableInviteeProtocolEngine: the invitation isn't marked unavailable if the creator dissolves the group while the invitee's in the INVITED state.InviteeProtocolEngine: the invitation isn't marked unavailable if the creator dissolves the group while the invitee's in the INVITED state.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/870Blog Posts Sometimes Not Shown in the UI2021-05-05T16:13:19ZMegaloxBlog Posts Sometimes Not Shown in the UISometimes posts don't get displayed at all (there should be a single blog post in the gap):
![Blogs_missing_post](/uploads/85b793cfd26ee88984e406cd4e25cb0e/Blogs_missing_post.png)Sometimes posts don't get displayed at all (there should be a single blog post in the gap):
![Blogs_missing_post](/uploads/85b793cfd26ee88984e406cd4e25cb0e/Blogs_missing_post.png)https://code.briarproject.org/briar/briar/-/issues/869UI Bug after deleting a private group2019-02-27T11:36:18ZMegaloxUI Bug after deleting a private group![UI_bug_in_private_groups_Screenshot_2016-12-16-10-54-45](/uploads/4abaade452eb0a79a93faacec39054a6/UI_bug_in_private_groups_Screenshot_2016-12-16-10-54-45.png)![UI_bug_in_private_groups_Screenshot_2016-12-16-10-54-45](/uploads/4abaade452eb0a79a93faacec39054a6/UI_bug_in_private_groups_Screenshot_2016-12-16-10-54-45.png)Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/863Blog: Single view has no up-arrow in the appbar2018-06-11T10:53:26ZMegaloxBlog: Single view has no up-arrow in the appbarTesters could not go back to the blog without going to another top level navdrawer destination and back.Testers could not go back to the blog without going to another top level navdrawer destination and back.https://code.briarproject.org/briar/briar/-/issues/861No verification icons in contact list2018-06-11T11:06:30ZMegaloxNo verification icons in contact listThere are no verification icons in the contact list. Is this intentional?There are no verification icons in the contact list. Is this intentional?https://code.briarproject.org/briar/briar/-/issues/857Introduction: No notification for contact established confirmation.2018-04-28T00:15:25ZMegaloxIntroduction: No notification for contact established confirmation.A introducted B to C. B accepted. Then C accepted. B did not receive a notification that C is now her contact.A introducted B to C. B accepted. Then C accepted. B did not receive a notification that C is now her contact.Android 1.0Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/852More room for private group titles by hiding more icons behind the overflow2018-06-11T10:47:18ZMegaloxMore room for private group titles by hiding more icons behind the overflow![Screenshot_20161214-110339](/uploads/9060cc7f36edff23221cbc9f0a339cc8/Screenshot_20161214-110339.png)
The member list icon can be hidden behind the overflow. The compose icon should always be visible.![Screenshot_20161214-110339](/uploads/9060cc7f36edff23221cbc9f0a339cc8/Screenshot_20161214-110339.png)
The member list icon can be hidden behind the overflow. The compose icon should always be visible.https://code.briarproject.org/briar/briar/-/issues/850Group sharing status is not updated when creator joins2021-01-26T19:58:09ZTorsten GroteGroup sharing status is not updated when creator joinsWhen within a private group, the sharing status is not updated when the creator joins the group.
Leaving the group and reentering it fixes the sharing status count.When within a private group, the sharing status is not updated when the creator joins the group.
Leaving the group and reentering it fixes the sharing status count.Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/844New message badge doesn't disappear2019-02-26T14:43:07ZMegaloxNew message badge doesn't disappearI made a video:
![badge_doesnt_disappear](/uploads/33859344bdaabb59430b217c2b8db921/badge_doesnt_disappear.mp4)
If I'm opening the contact I should be able to read all unread messages that are indicated by the badge and they should...I made a video:
![badge_doesnt_disappear](/uploads/33859344bdaabb59430b217c2b8db921/badge_doesnt_disappear.mp4)
If I'm opening the contact I should be able to read all unread messages that are indicated by the badge and they should be marked as "read" and the badge should disappear (at least that's what I would expect). Please notice that the badge of Rinre stays the same while the other two badges are partly reduced.https://code.briarproject.org/briar/briar/-/issues/874Forums: Make tree indicator more visible2017-12-18T07:40:24ZMegaloxForums: Make tree indicator more visibleThe testers noticed that the tree indicator isn't visible enough.
I suggest we make the grey of the lines, the number and the outline of the circle at least 30% darker.The testers noticed that the tree indicator isn't visible enough.
I suggest we make the grey of the lines, the number and the outline of the circle at least 30% darker.Android Beta 1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/868Add contact: "Face-to-face" is confusing2017-12-18T07:40:24ZMegaloxAdd contact: "Face-to-face" is confusingWe discussed this somewhere before (couldn't find this at the moment) but one tester thought he had to take a picture of his contact when he read something about "face-to-face"We discussed this somewhere before (couldn't find this at the moment) but one tester thought he had to take a picture of his contact when he read something about "face-to-face"https://code.briarproject.org/briar/briar/-/issues/867RSS feed: Posts from the RSS feed stayed in the blog after deleting the RSS feed2017-12-18T07:40:24ZMegaloxRSS feed: Posts from the RSS feed stayed in the blog after deleting the RSS feedThe testers had no problem deleting an RSS feed, but they expected the posts from the RSS feed to disappear.The testers had no problem deleting an RSS feed, but they expected the posts from the RSS feed to disappear.Android Beta 1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/866RSS feed: Tester B did not like the "spamming" of his feed after A imported a...2017-12-18T07:40:24ZMegaloxRSS feed: Tester B did not like the "spamming" of his feed after A imported an RSS feedThe testers had no problem to import RSS feeds. But when A imported a feed B got 28 notifications for new blog entries (we stopped counting after 28). He didn't like this at all.The testers had no problem to import RSS feeds. But when A imported a feed B got 28 notifications for new blog entries (we stopped counting after 28). He didn't like this at all.Android Beta 1https://code.briarproject.org/briar/briar/-/issues/860Spelling mistake2017-12-18T07:40:24ZMegaloxSpelling mistakeWe noticed a spelling mistake in the german localisation. Did anyone check this?We noticed a spelling mistake in the german localisation. Did anyone check this?https://code.briarproject.org/briar/briar/-/issues/855Reveal relationship: testers did not understand concept2017-12-18T07:40:24ZMegaloxReveal relationship: testers did not understand conceptThe first thing the testers saw was the visibility indicator in the group. They didn't understand what that meant at all.
Then we told them to go to the "reveal contact" section. The onboarding dialog was displayed but they did not und...The first thing the testers saw was the visibility indicator in the group. They didn't understand what that meant at all.
Then we told them to go to the "reveal contact" section. The onboarding dialog was displayed but they did not understand what it meant.
The creator of the group saw in her "reveal contact" menu that she had one person that was checked and greyed out. She did not know why that was or what it meant.
<br/>
To put it in a nutshell: This wont work in any way without a very good explanation. If we presume that users don't read manuals at all we can kick the whole feature because it will only confuse the users.https://code.briarproject.org/briar/briar/-/issues/853Disabled menu items are not greyed out on all devices2017-12-18T07:40:24ZMegaloxDisabled menu items are not greyed out on all devicesIf the user has only one contact she can't make an introduction. Nonetheless the "Make introduction" button in the overflow menu is visble. It just doesn't do anything if the user taps it.If the user has only one contact she can't make an introduction. Nonetheless the "Make introduction" button in the overflow menu is visble. It just doesn't do anything if the user taps it.Android Beta 1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/851The refresher in BriarRecyclerView is leaking memory2017-12-18T07:40:24ZErnir ErlingssonThe refresher in BriarRecyclerView is leaking memoryThis is a sub-ticket of #839This is a sub-ticket of #839Milestone Fhttps://code.briarproject.org/briar/briar/-/issues/849Rotating Screen in NavDrawerActivity always selects blogs2017-12-18T07:40:24ZTorsten GroteRotating Screen in NavDrawerActivity always selects blogsThe expected behavior is that the same last visible fragment is recreated, not another one.The expected behavior is that the same last visible fragment is recreated, not another one.https://code.briarproject.org/briar/briar/-/issues/839OutOfMemoryErrors2017-12-18T07:40:24ZErnir ErlingssonOutOfMemoryErrorsThe Briar app seems, unfortunately, saturated with memory leaks of some sort. It seems that the more data you have in the app, the more likely you are of experiencing an OOME. I can produce an OOME consistently by opening and closing pri...The Briar app seems, unfortunately, saturated with memory leaks of some sort. It seems that the more data you have in the app, the more likely you are of experiencing an OOME. I can produce an OOME consistently by opening and closing private groups, ~20-50 times, I've got 6 groups with different amounts of data in them. I feel this gets worse when more data is added to a group/more groups.
This problem is not only bound to the private groups though, during our extensive tests yesterday I experienced this in other parts of the app (don't remember which though). Note that I did not rotate the phone at all, was in portrait mode the whole time.Milestone Fhttps://code.briarproject.org/briar/briar/-/issues/836Opening and closing threads produces artifacts2017-12-18T07:40:24ZMegaloxOpening and closing threads produces artifactsI made a video (it's the same as in #835, the artifact occurs after opening and cosing the thread)
![reply_counter_doesnt_update_v02](/uploads/57c81960efa4cf91d441f9fe3a0affb9/reply_counter_doesnt_update_v02.mp4)I made a video (it's the same as in #835, the artifact occurs after opening and cosing the thread)
![reply_counter_doesnt_update_v02](/uploads/57c81960efa4cf91d441f9fe3a0affb9/reply_counter_doesnt_update_v02.mp4)https://code.briarproject.org/briar/briar/-/issues/835Reply counter doesn't update2017-12-18T07:40:24ZMegaloxReply counter doesn't updateI made a video. I captured another problem (artifacts), I#ll open an extra ticket for those.
![reply_counter_doesnt_update_v02](/uploads/e630dacd2eb2de85913ae7e975f7115f/reply_counter_doesnt_update_v02.mp4)I made a video. I captured another problem (artifacts), I#ll open an extra ticket for those.
![reply_counter_doesnt_update_v02](/uploads/e630dacd2eb2de85913ae7e975f7115f/reply_counter_doesnt_update_v02.mp4)Milestone Fhttps://code.briarproject.org/briar/briar/-/issues/829Create new launcher icon2017-12-18T07:40:24ZTorsten GroteCreate new launcher iconThe current launcher icon (on the left) is difficult to recognize:
![device-2016-12-13-134037](/uploads/84db532df3821ad74ba57719f0763b7b/device-2016-12-13-134037.png)
There, this ticket is about designing a new launcher icon based ...The current launcher icon (on the left) is difficult to recognize:
![device-2016-12-13-134037](/uploads/84db532df3821ad74ba57719f0763b7b/device-2016-12-13-134037.png)
There, this ticket is about designing a new launcher icon based on the new vector logo we have that adheres to the latest material design specs.Milestone GTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/828Update Briar logo in app2017-12-18T07:40:25ZTorsten GroteUpdate Briar logo in appUse the new logo from #820 and add it as vector drawables to the app.Use the new logo from #820 and add it as vector drawables to the app.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/822Revisit private group creation workflow2018-12-19T12:22:32ZakwizgranRevisit private group creation workflowCreating a private group consists of two steps: choosing a name for the group and inviting contacts. In the current workflow, the group is created after choosing the name, even if the user backs out before inviting any contacts. Users mi...Creating a private group consists of two steps: choosing a name for the group and inviting contacts. In the current workflow, the group is created after choosing the name, even if the user backs out before inviting any contacts. Users might expect that backing out would cancel the whole operation.
Let's see if we can redesign this workflow so that the two operations are either clearly separated, or merged into a single operation that's either carried out completely or cancelled.akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/820Recreate Briar logo using one of an endless array of fonts that only a philis...2017-12-18T07:40:25ZakwizgranRecreate Briar logo using one of an endless array of fonts that only a philistine would consider similarWe need versions of the logo with the text on the right (for the nav drawer) and underneath (for the splash screen and website).We need versions of the logo with the text on the right (for the nav drawer) and underneath (for the splash screen and website).Milestone Fhttps://code.briarproject.org/briar/briar/-/issues/816BlogSharingManager removes shared blog when removing contact2017-12-18T07:40:25ZTorsten GroteBlogSharingManager removes shared blog when removing contactWhen deleting a contact, the contact's blog is also removed. The same is true when this blog is independently shared by other contacts.
So the blog should either not be deleted if it is also shared by others, or the people that share th...When deleting a contact, the contact's blog is also removed. The same is true when this blog is independently shared by other contacts.
So the blog should either not be deleted if it is also shared by others, or the people that share this blog should at least get a LEAVE message when it is deleted.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/841Settings: Check-marks blink2020-11-23T10:57:36ZErnir ErlingssonSettings: Check-marks blinkThis bug is only visible on larger screens where a check mark is visible in the settings screen without scrolling.
1. Make sure you've previously unchecked that top check-mark (private group notifications)and that it's visible on the se...This bug is only visible on larger screens where a check mark is visible in the settings screen without scrolling.
1. Make sure you've previously unchecked that top check-mark (private group notifications)and that it's visible on the settings screen without scrolling.
2. open the settings from another window, notice that the check-mark starts as being selected and blinks away in an inelegant fashion.https://code.briarproject.org/briar/briar/-/issues/814NPE: ShowQrCodeFragment.qrCodeScanned2017-12-18T07:40:25ZTorsten GroteNPE: ShowQrCodeFragment.qrCodeScannedI scanned a code with a phone while waiting for its own QR code to finally load.
```
12-06 12:25:02.964 E/ACRA: ACRA caught a NullPointerException for org.briarproject.briar
java.lang.NullPointerException
...I scanned a code with a phone while waiting for its own QR code to finally load.
```
12-06 12:25:02.964 E/ACRA: ACRA caught a NullPointerException for org.briarproject.briar
java.lang.NullPointerException
at org.briarproject.briar.android.keyagreement.ShowQrCodeFragment.qrCodeScanned(ShowQrCodeFragment.java:218)
at org.briarproject.briar.android.keyagreement.ShowQrCodeFragment.access$900(ShowQrCodeFragment.java:62)
at org.briarproject.briar.android.keyagreement.ShowQrCodeFragment$11.run(ShowQrCodeFragment.java:346)
at org.briarproject.briar.android.fragment.BaseFragment$1.run(BaseFragment.java:89)
```Milestone FJulian DehmJulian Dehmhttps://code.briarproject.org/briar/briar/-/issues/840Blogs: Strange behaviour when tapping an entry2019-02-25T10:11:34ZMegaloxBlogs: Strange behaviour when tapping an entryI made a video:
![blog_strange_tapping_behaviour](/uploads/3ab9c30610f56a24abafc99f70458392/blog_strange_tapping_behaviour.mp4)
I'll try to explain what happens here and what I think is the problem:
(1) I'm in the Blog view an...I made a video:
![blog_strange_tapping_behaviour](/uploads/3ab9c30610f56a24abafc99f70458392/blog_strange_tapping_behaviour.mp4)
I'll try to explain what happens here and what I think is the problem:
(1) I'm in the Blog view and tap on Rinre's name
(2) Rinre's personal blog opens (so far so good)
(3) Than I tap on Rinre's name again and get a "Back" transition, but I don't get back to the blog but am still in the personal blog (I repeat this three times in the video)
(4) Next I tap on an entry outside of Rinre's name and the single view for the blog opens. I would only expect the single view to open when I reblog. The appbar still tells me I'm in Rinres personal blog.
(5) Tapping on Rinres name again brings me to his personal blog (That is correct I think)
(6) The rest of the video I'm having some fun tapping here and there, essentially I'm only repeating the steps I took before.https://code.briarproject.org/briar/briar/-/issues/813Add online status and creator information to group memberlist2017-12-18T07:40:25ZTorsten GroteAdd online status and creator information to group memberlistFrom #646:
> Personally I'd vote for a simple emphasis like adding "Created the group" under the creator's name in the member listFrom #646:
> Personally I'd vote for a simple emphasis like adding "Created the group" under the creator's name in the member listMilestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/838reply counter disappears2018-06-11T15:26:06ZMegaloxreply counter disappearsSometimes the reply counter and the chevron disappear when I post a quick reply:
![reply_counter_disappears](/uploads/87f2ede8025b8ff3b94ceddebc67daff/reply_counter_disappears.mp4)Sometimes the reply counter and the chevron disappear when I post a quick reply:
![reply_counter_disappears](/uploads/87f2ede8025b8ff3b94ceddebc67daff/reply_counter_disappears.mp4)https://code.briarproject.org/briar/briar/-/issues/832Factor out Android-specific code from TorPlugin2018-08-09T19:36:16ZakwizgranFactor out Android-specific code from TorPluginMost of the code in TorPlugin could be reused in a J2SE plugin - factor out the Android-specific code.Most of the code in TorPlugin could be reused in a J2SE plugin - factor out the Android-specific code.akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/831Refactor BluetoothPlugin and DroidtoothPlugin to share common code2018-01-19T12:29:40ZakwizgranRefactor BluetoothPlugin and DroidtoothPlugin to share common codeMost of the logic in BluetoothPlugin and DroidtoothPlugin is identical. Refactor the common code into a shared superclass.Most of the logic in BluetoothPlugin and DroidtoothPlugin is identical. Refactor the common code into a shared superclass.Android 1.0akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/830Some text input fields don't work in landscape mode2019-03-19T10:38:50ZakwizgranSome text input fields don't work in landscape modeCheck that all text input fields can be used in landscape mode. We may need to set `android:imeOptions` so the done button works.Check that all text input fields can be used in landscape mode. We may need to set `android:imeOptions` so the done button works.Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/821Research whether network traffic can wake an app from sleep or doze2019-02-21T10:34:00ZakwizgranResearch whether network traffic can wake an app from sleep or dozeThe all-knowing oracles of Stack Overflow have conflicting opinions about whether an Android app that's blocked reading from a TCP connection while the device is sleeping will be woken when data arrives. This may be device-dependent. Cer...The all-knowing oracles of Stack Overflow have conflicting opinions about whether an Android app that's blocked reading from a TCP connection while the device is sleeping will be woken when data arrives. This may be device-dependent. Certainly the connection that's used for GCM/Firebase can wake the device, but the same may not be true of other connections. We also need to investigate whether doze behaves differently from sleep in this respect. Some sources claim that wifi behaves differently from mobile data - if so, we should investigate whether holding a wifi lock affects this.
It would also be useful to know whether an incoming connection to a server socket wakes the app.
Related to #44, #268.Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/812Update screenshots on website2017-12-18T07:40:26ZakwizgranUpdate screenshots on websiteWe should probably use a newer phone, too.We should probably use a newer phone, too.Milestone Fakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/810Fix Sharing Status Screens2017-12-18T07:40:26ZTorsten GroteFix Sharing Status ScreensCurrently, the sharing status screen distinguishes between contacts the shareable is shared with and contacts the sharable is shared by. This distinction should be removed and all contacts we are sharing the shareable `Group` with should...Currently, the sharing status screen distinguishes between contacts the shareable is shared with and contacts the sharable is shared by. This distinction should be removed and all contacts we are sharing the shareable `Group` with should be shown.
Also, personal blogs are automatically shared with all contacts. That should be shown in the UI as well.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/808Introduction client logs contact names2017-12-18T07:40:26ZakwizgranIntroduction client logs contact namesContact names are private information that shouldn't be logged.
Similarly, the IDs or hash codes of groups could be used to identify contacts or subscriptions and shouldn't be logged.Contact names are private information that shouldn't be logged.
Similarly, the IDs or hash codes of groups could be used to identify contacts or subscriptions and shouldn't be logged.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/803Remove permanent foreground notification2020-11-19T13:02:04ZTorsten GroteRemove permanent foreground notificationDuring testing session #788, a user asked why there was this notification and how they can remove it. They didn't like this notification being there all the time and they were not used to that from similar apps they use.During testing session #788, a user asked why there was this notification and how they can remove it. They didn't like this notification being there all the time and they were not used to that from similar apps they use.CleopatraCleopatrahttps://code.briarproject.org/briar/briar/-/issues/799Who can see user's content is unclear2017-12-18T07:40:26ZTorsten GroteWho can see user's content is unclearDuring a testing session (#788), users asked whether their blog is public. It turned out, they didn't know about how public their content is in the various features and who can see it.
They didn't know that
* all their contacts get thei...During a testing session (#788), users asked whether their blog is public. It turned out, they didn't know about how public their content is in the various features and who can see it.
They didn't know that
* all their contacts get their blog posts
* their contacts can share their blogs with people they don't know
* forums can be shared with everybody and also strangers
* only the group's creator can invite other membersAndroid Beta 1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/798Remove people's blogs or posts from blog feed2017-12-18T07:40:26ZTorsten GroteRemove people's blogs or posts from blog feedDuring a testing session (#788), a user imported an RSS feed into their personal blog without knowing that would happen (#796) and then another user complained about all these posts in their blog feed. They asked how they could remove in...During a testing session (#788), a user imported an RSS feed into their personal blog without knowing that would happen (#796) and then another user complained about all these posts in their blog feed. They asked how they could remove individual posts or maybe even an entire blog (of somebody whose posts they don't like to see). They were disappointed to find out that they could neither remove posts no blogs.Android Beta 1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/796Unclear what RSS Import will do2017-12-18T07:40:26ZTorsten GroteUnclear what RSS Import will doDuring a testing session (#788), a user found the RSS import feature, liked it and started to import a feed. However, the user was very surprised to find lots of RSS entries posted to their personal blog and shared with all contacts auto...During a testing session (#788), a user found the RSS import feature, liked it and started to import a feed. However, the user was very surprised to find lots of RSS entries posted to their personal blog and shared with all contacts automatically. The expectation of the user was that the RSS feed is only imported for the user alone. Automatic publishing was not expected.Android Beta 1https://code.briarproject.org/briar/briar/-/issues/795Use different notification icons for different features2017-12-18T07:40:26ZTorsten GroteUse different notification icons for different featuresDuring a testing session (#788), a user was confused by the fact that all notifications were using the little envelop icon, especially when a new blog post arrived. They asked for different icons for different kinds of notifications.During a testing session (#788), a user was confused by the fact that all notifications were using the little envelop icon, especially when a new blog post arrived. They asked for different icons for different kinds of notifications.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/793Show open button after accepting invitations2017-12-18T07:40:26ZTorsten GroteShow open button after accepting invitationsDuring a testing session (#788), a user was confused about where to find the private group they just had been invited to. This could partly be addressed by opening the group after accepting the invitation. The other part can be addressed...During a testing session (#788), a user was confused about where to find the private group they just had been invited to. This could partly be addressed by opening the group after accepting the invitation. The other part can be addressed by #792.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/791Permanent Message Input for Threaded Conversations2017-12-18T07:40:26ZTorsten GrotePermanent Message Input for Threaded ConversationsUsers in a testing session (#788) were confused that they had to press the pen icon in the toolbar to write a message. The group of testers agreed that they all would expect the text input at the bottom to be there permanently like they ...Users in a testing session (#788) were confused that they had to press the pen icon in the toolbar to write a message. The group of testers agreed that they all would expect the text input at the bottom to be there permanently like they know it from all other messengers they use and like Briar also does it for private messages.
![device-2016-11-30-102956](/uploads/6c588c41b1d95334dcff3c252d4ccff4/device-2016-11-30-102956.png)![device-2016-11-30-103007](/uploads/53d638f92738463dfa8e154e822a1ecb/device-2016-11-30-103007.png)Android Beta 1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/788Sao Paulo User Testing Session2017-12-18T07:40:26ZTorsten GroteSao Paulo User Testing Session[![300px-Garoa_Briar](/uploads/738b5c18e042969a3e48771b4f9f84e1/300px-Garoa_Briar.png)](https://garoa.net.br/wiki/Workshop_Briar:_Comunica%C3%A7%C3%A3o_Criptografada_P2P)
Subticket of #140[![300px-Garoa_Briar](/uploads/738b5c18e042969a3e48771b4f9f84e1/300px-Garoa_Briar.png)](https://garoa.net.br/wiki/Workshop_Briar:_Comunica%C3%A7%C3%A3o_Criptografada_P2P)
Subticket of #140Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/787Blog: Tap on name opens individual blog while being open already2017-12-18T07:40:26ZMegaloxBlog: Tap on name opens individual blog while being open alreadyIf I'm in the individual blog of a user the tap on her name opens her individual blog again and again (with a slide animation). Shouldn't it simply do nothing?
I made a recording:
![device-2016-11-30-110230](/uploads/54d5db04cf7e5af9...If I'm in the individual blog of a user the tap on her name opens her individual blog again and again (with a slide animation). Shouldn't it simply do nothing?
I made a recording:
![device-2016-11-30-110230](/uploads/54d5db04cf7e5af939eb030ce015d993/device-2016-11-30-110230.mp4)Android Beta 1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/782Wrong item selected in nav drawer after going back2017-12-18T07:40:26ZakwizgranWrong item selected in nav drawer after going backA tester reported this ages ago, but it looks like I forgot to create a ticket.
Steps to reproduce:
* Start from the contact list
* Select an item from the nav drawer, for example Forums
* Use the back button to return to the contact li...A tester reported this ages ago, but it looks like I forgot to create a ticket.
Steps to reproduce:
* Start from the contact list
* Select an item from the nav drawer, for example Forums
* Use the back button to return to the contact list
* The nav drawer still shows the previous item as selected
A variant:
* Start from a nav drawer fragment other than the contact list, for example Forums
* Select Settings from the nav drawer
* Use the back button (or up button) to return to the previous screen
* The nav drawer still shows Settings as selected
I mention the variant to show that there are cases that don't involve switching between nav drawer fragments.
A related question: should navigating back from Settings return us to the previous screen, or to the contact list, as with other nav drawer destinations?Milestone Fhttps://code.briarproject.org/briar/briar/-/issues/778Move unit tests into their respective modules2017-12-18T07:40:26ZakwizgranMove unit tests into their respective modulesThe briar-tests module contains a mixture of Briar and Bramble tests. Move the tests into their respective modules.
Subtask of #136.The briar-tests module contains a mixture of Briar and Bramble tests. Move the tests into their respective modules.
Subtask of #136.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/777Move integration tests into their respective modules2017-12-18T07:40:27ZakwizgranMove integration tests into their respective modulesWhen we switched from Guice to Dagger, we put the integration tests in an Android module because the android-apt plugin didn't support Java modules. An APT plugin that supports Java modules is now available, so we can move the integratio...When we switched from Guice to Dagger, we put the integration tests in an Android module because the android-apt plugin didn't support Java modules. An APT plugin that supports Java modules is now available, so we can move the integration tests into their respective modules and remove the briar-android-tests module.
https://bitbucket.org/hvisser/android-apt/issues/18/support-java-plugin#comment-20327914
https://plugins.gradle.org/plugin/net.ltgt.apt
The "idea" plugin should also be used so that Android Studio recognises the generated classes:
http://stackoverflow.com/a/37963784
Subtask of #136.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/774Adding contacts via bluetooth only fails2017-12-18T07:40:27ZJulian DehmAdding contacts via bluetooth only failsAdding contacts with wifi disabled fails. I suspect it's an issue in the KeyAgreementListener because reading from/connecting to the ServerSocket seems to fail. Maybe someone with different phone models can confirms this bug.
Adding contacts with wifi disabled fails. I suspect it's an issue in the KeyAgreementListener because reading from/connecting to the ServerSocket seems to fail. Maybe someone with different phone models can confirms this bug.
Milestone FJulian DehmJulian Dehmhttps://code.briarproject.org/briar/briar/-/issues/771Create Bramble modules2017-12-18T07:40:27ZakwizgranCreate Bramble modules* bramble-android: plugins and any backend code needed for running bramble-core on Android
* bramble-api: API for bramble-core
* bramble-core: crypto, data, db, event, identity, keyagreement, lifecycle, plugins, properties, reliability...* bramble-android: plugins and any backend code needed for running bramble-core on Android
* bramble-api: API for bramble-core
* bramble-core: crypto, data, db, event, identity, keyagreement, lifecycle, plugins, properties, reliability, reporting, settings, socks, sync, system, transport, util (excluding HtmlUtils)
* bramble-j2se: plugins and any backend code needed for running bramble-core on J2SE (everything in briar-desktop, by the look of it)
Subtask of #136.Milestone Fakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/769Test whether wake lock is still needed with Tor 0.2.82017-12-18T07:40:27ZakwizgranTest whether wake lock is still needed with Tor 0.2.8Test whether Tor 0.2.8 still needs a wake lock in order to keep the hidden service available when the device is idle. The wake lock is a major source of battery drain.
Related to #44, #574.Test whether Tor 0.2.8 still needs a wake lock in order to keep the hidden service available when the device is idle. The wake lock is a major source of battery drain.
Related to #44, #574.Milestone Fakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/807Explain tor build enough that normal people can modify/rebuild tor2018-06-11T09:35:42ZGreg TroxelExplain tor build enough that normal people can modify/rebuild torThe build uses a pre-built binary, and the directory with the binary doesn't have a README that explains where it came from. I'd like to be able to build the tor binary and use my own instead of the one in the repo, to be able to chang...The build uses a pre-built binary, and the directory with the binary doesn't have a README that explains where it came from. I'd like to be able to build the tor binary and use my own instead of the one in the repo, to be able to change the timeouts, etc.
I'm only asking for enough information so that someone who is already comfortable with building for Android can succeed. Presumably the tor binary is a normal build output of something else (orbot?), and that has build instructions. But I'm really not sure.https://code.briarproject.org/briar/briar/-/issues/768KeyAgreementConnector regression: UnsupportedOperationException2017-12-18T07:40:27ZTorsten GroteKeyAgreementConnector regression: UnsupportedOperationException```
11-21 08:33:07.371 W/KeyAgreementConnector: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException
java.util.concurrent.ExecutionException: java.lang.UnsupportedOp...```
11-21 08:33:07.371 W/KeyAgreementConnector: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException
java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:223)
at java.util.concurrent.FutureTask.get(FutureTask.java:82)
at org.briarproject.keyagreement.KeyAgreementConnector.connect(KeyAgreementConnector.java:124)
at org.briarproject.keyagreement.KeyAgreementTaskImpl.run(KeyAgreementTaskImpl.java:89)
Caused by: java.lang.UnsupportedOperationException
at org.briarproject.plugins.tor.TorPlugin.createKeyAgreementConnection(TorPlugin.java:585)
at org.briarproject.keyagreement.KeyAgreementConnector$ConnectorTask.call(KeyAgreementConnector.java:195)
at org.briarproject.keyagreement.KeyAgreementConnector$ConnectorTask.call(KeyAgreementConnector.java:174)
at org.briarproject.keyagreement.KeyAgreementConnector$ReadableTask.call(KeyAgreementConnector.java:221)
at org.briarproject.keyagreement.KeyAgreementConnector$ReadableTask.call(KeyAgreementConnector.java:209)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
``Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/767Add some additional padding to forums2017-12-18T07:40:27ZMegaloxAdd some additional padding to forumsForum entries have not enough padding at the bottom. The "j" of "jetzt" nearly touches the divider:
![Screenshot_20161121-101855](/uploads/41d9233c6e3ffdc7db08ae9782df783c/Screenshot_20161121-101855.png)
A little more padding at the...Forum entries have not enough padding at the bottom. The "j" of "jetzt" nearly touches the divider:
![Screenshot_20161121-101855](/uploads/41d9233c6e3ffdc7db08ae9782df783c/Screenshot_20161121-101855.png)
A little more padding at the bottom would improve the layout.https://code.briarproject.org/briar/briar/-/issues/804Self-destruct timer for messages2021-07-06T09:57:26ZTorsten GroteSelf-destruct timer for messagesDuring testing session #788 and during the first Briar presentation at Cryptorave, users asked if we support a self-destruct timer for messages like Signal introduced recently and like it is also supported by Telegram.
The user seemed t...During testing session #788 and during the first Briar presentation at Cryptorave, users asked if we support a self-destruct timer for messages like Signal introduced recently and like it is also supported by Telegram.
The user seemed to see less need for the feature after it was explained that this feature does not help against adversaries who also receive that message, because they can always retain it despite the self-destruct timer. Most users might not know that and get a false sense of security from such a feature. However, testers still found it nice to be able to let messages delete automatically in case they are forced to enter their password or somebody gets hold of their phone unlocked.Self-destructing messages2021-01-31https://code.briarproject.org/briar/briar/-/issues/790Ask before turning on Bluetooth2018-02-01T10:39:35ZTorsten GroteAsk before turning on BluetoothWhen adding contacts in a testing session (#788), a user noticed immediately that Bluetooth was suddenly turned on. The user didn't like that and wants to at least be asked before Bluetooth is being turned on by Briar.When adding contacts in a testing session (#788), a user noticed immediately that Bluetooth was suddenly turned on. The user didn't like that and wants to at least be asked before Bluetooth is being turned on by Briar.akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/789Initial Account Creation Unclear2018-04-29T12:57:06ZTorsten GroteInitial Account Creation UnclearDuring a user testing session (#788) a user installed the app and failed to create the initial account that is required to use the app.
The user saw the disabled button, tried to click it several times, but eventually gave up and turned...During a user testing session (#788) a user installed the app and failed to create the initial account that is required to use the app.
The user saw the disabled button, tried to click it several times, but eventually gave up and turned to other members of the group saying that it doesn't work. The user did not take time to read the explanatory text and either did not see or understand the toolbar title "Briar Setup" (in Spanish translation).
![device-2016-11-30-101817](/uploads/cc23f59cf11e5553eeae3d3fe7b753ff/device-2016-11-30-101817.png)Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/785Blogs: Interface bug while reblogging2018-05-31T09:01:35ZMegaloxBlogs: Interface bug while rebloggingOne more reproducable interface bug:
![device-2016-11-29-094211](/uploads/fde68dd00c24f3d938c0cb6059475bd1/device-2016-11-29-094211.mp4)
When I hit the reblog icon the blog entry shortly covers the software keys.One more reproducable interface bug:
![device-2016-11-29-094211](/uploads/fde68dd00c24f3d938c0cb6059475bd1/device-2016-11-29-094211.mp4)
When I hit the reblog icon the blog entry shortly covers the software keys.https://code.briarproject.org/briar/briar/-/issues/784Blogs: Reblogging snackbar is not shown correctly2019-02-25T10:10:11ZMegaloxBlogs: Reblogging snackbar is not shown correctlyPlease take a look at the recording:
![device-2016-11-29-092645](/uploads/d013b9f701f6ae4230808354ceb6fc6f/device-2016-11-29-092645.mp4)
First I'm creating a blogpost (everything is fine) but when I reblog, the snackbar is not shown...Please take a look at the recording:
![device-2016-11-29-092645](/uploads/d013b9f701f6ae4230808354ceb6fc6f/device-2016-11-29-092645.mp4)
First I'm creating a blogpost (everything is fine) but when I reblog, the snackbar is not shown correctly. The first time you can only see a small upper part above the software keys, the second time I reblog without commentary and there is no snackbar at all and the third time I reblog you can see a little bit more of the snackbar, but it gets definitley cut. I could reproduce this several times.https://code.briarproject.org/briar/briar/-/issues/783Make build process meet f-droid norms (no binaries)2018-05-11T14:19:12ZGreg TroxelMake build process meet f-droid norms (no binaries)(This ticket is not about actually getting briar into f-droid.)
Currently, the build downloads binaries, at least tor. My understanding is that f-droid, as part of reproducible builds, wants apps to build from source.
In addition to ...(This ticket is not about actually getting briar into f-droid.)
Currently, the build downloads binaries, at least tor. My understanding is that f-droid, as part of reproducible builds, wants apps to build from source.
In addition to f-droid issues, not being able to build tor from source easily makes it harder to debug #769.https://code.briarproject.org/briar/briar/-/issues/781Use H2's small build target2021-12-03T14:26:41ZakwizgranUse H2's small build targetH2 provides a 'jarSmall' build target that produces a smaller jar containing fewer optional features and resources. The smaller jar includes everything we need, and would reduce our APK size by around 500 k. Unfortunately it's not availa...H2 provides a 'jarSmall' build target that produces a smaller jar containing fewer optional features and resources. The smaller jar includes everything we need, and would reduce our APK size by around 500 k. Unfortunately it's not available from JCenter.
Removing the unneeded features and resources with ProGuard isn't simple, as most of the savings come from resources in a zip file embedded in the jar.https://code.briarproject.org/briar/briar/-/issues/766Unit tests for group invitation client2017-12-18T07:40:36ZTorsten GroteUnit tests for group invitation clientMilestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/764BdfList and BdfDictionary don't need to be thread-safe2017-12-18T07:40:36ZakwizgranBdfList and BdfDictionary don't need to be thread-safeAlthough the norm is for classes in briar-api to be thread-safe, there's no reasonable scenario where we'd share one of these data structures between threads, so they can be based on ArrayList and TreeMap rather than Vector and Concurren...Although the norm is for classes in briar-api to be thread-safe, there's no reasonable scenario where we'd share one of these data structures between threads, so they can be based on ArrayList and TreeMap rather than Vector and ConcurrentSkipListMap.Android Beta 2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/763Remove old signature API2017-12-18T07:40:36ZakwizgranRemove old signature APIRemove the Signature and SignatureImpl classes, which aren't needed any more. CryptoComponentImpl can directly use the Bouncy Castle class that they wrap.Remove the Signature and SignatureImpl classes, which aren't needed any more. CryptoComponentImpl can directly use the Bouncy Castle class that they wrap.Milestone Fakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/772Set up Maven repo2018-05-23T10:30:01ZakwizgranSet up Maven repoInitially this will just serve the Bramble jars so that Briar can depend on them. Eventually we should serve reproducible builds of all our dependencies from this repo, with no external dependencies.
Subtask of #136.Initially this will just serve the Bramble jars so that Briar can depend on them. Eventually we should serve reproducible builds of all our dependencies from this repo, with no external dependencies.
Subtask of #136.akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/762Text input does not increase to three lines anymore2017-12-18T07:40:36ZTorsten GroteText input does not increase to three lines anymoreWe had changed the input field for forums and private conversations once to automatically enlarge when lots of text is entered (up to three lines). The emoji changes introduced a regression, so the input field does not extend anymore.We had changed the input field for forums and private conversations once to automatically enlarge when lots of text is entered (up to three lines). The emoji changes introduced a regression, so the input field does not extend anymore.Milestone FJulian DehmJulian Dehmhttps://code.briarproject.org/briar/briar/-/issues/761Keyboard doesn't close when navigating up2017-12-18T07:40:36ZakwizgranKeyboard doesn't close when navigating upA user on IRC reported this. Steps to reproduce:
* Open the keyboard in the coversation screen
* Press the up button in the action bar to leave the conversation screenA user on IRC reported this. Steps to reproduce:
* Open the keyboard in the coversation screen
* Press the up button in the action bar to leave the conversation screenMilestone FJulian DehmJulian Dehmhttps://code.briarproject.org/briar/briar/-/issues/765Move onboarding instructions from empty state messages to dialogs2018-07-25T13:34:55ZakwizgranMove onboarding instructions from empty state messages to dialogsWe're using empty state messages to show onboarding instructions in various places. This text doesn't need to be shown every time. Now that we have a pattern for onboarding, let's use it to show this information: show a dialog once, and ...We're using empty state messages to show onboarding instructions in various places. This text doesn't need to be shown every time. Now that we have a pattern for onboarding, let's use it to show this information: show a dialog once, and recall it with an action menu item if the user wants to read it again.https://code.briarproject.org/briar/briar/-/issues/758Throw an exception if deleted message is requested from DB2018-08-24T09:21:46ZakwizgranThrow an exception if deleted message is requested from DB`DatabaseComponent#getRawMessage()` returns null if the message has been deleted. It should throw an exception instead. (If clients want to check whether a message has been deleted, we can add a separate method for that.)`DatabaseComponent#getRawMessage()` returns null if the message has been deleted. It should throw an exception instead. (If clients want to check whether a message has been deleted, we can add a separate method for that.)Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/760Integration tests for private group invitation protocol2017-12-18T07:40:36ZakwizgranIntegration tests for private group invitation protocolMilestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/759Introduction responses are not marked as read2017-12-18T07:40:36ZTorsten GroteIntroduction responses are not marked as readStep to reproduce:
1. invite two contacts to each other
2. accept the introduction from both contacts and wait for new contacts to be added
3. enter and leave private conversations with introducer with both contacts
4. return to contact ...Step to reproduce:
1. invite two contacts to each other
2. accept the introduction from both contacts and wait for new contacts to be added
3. enter and leave private conversations with introducer with both contacts
4. return to contact list and observe one unread messageMilestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/757Remove DeviceId code2017-12-18T07:40:36ZakwizgranRemove DeviceId codeThe DeviceId is a leftover from an early attempt to add multi-device support. Remove it as part of the Grand Refactoring of #136.The DeviceId is a leftover from an early attempt to add multi-device support. Remove it as part of the Grand Refactoring of #136.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/749Emoji are invisible on some devices when using LAYER_TYPE_NONE2018-09-03T12:14:15ZakwizgranEmoji are invisible on some devices when using LAYER_TYPE_NONEThis issue can be reproduced on master with the Samsung Galaxy Ace 2 (Android 4.1.2) by creating a large EmojiTextView (for example a long forum post), so that rendering switches from LAYER_TYPE_SOFTWARE to LAYER_TYPE_NONE. In the screen...This issue can be reproduced on master with the Samsung Galaxy Ace 2 (Android 4.1.2) by creating a large EmojiTextView (for example a long forum post), so that rendering switches from LAYER_TYPE_SOFTWARE to LAYER_TYPE_NONE. In the screenshot below, the post at the top of the screen is below the threshold and uses LAYER_TYPE_SOFTWARE, while the invisible post filling the rest of the screen is above the threshold and uses LAYER_TYPE_NONE.
![device-2016-11-10-144841](/uploads/c55ea098cebfb45b5974816af3be4353/device-2016-11-10-144841.png)
The issue can be reproduced with EmojiTextViews of any size by changing the code to always use LAYER_TYPE_NONE. This makes it easier to see that emoji are sometimes drawn and sometimes not. For example, the screenshot below shows a mixture of posts, all of which use LAYER_TYPE_NONE and contain strings of emoji.
![device-2016-11-10-135603](/uploads/e0a04004b56ed1a4cc3286b09c60b3fa/device-2016-11-10-135603.png)
The issue also affects EmojiEditText if the rendering type is changed to LAYER_TYPE_NONE. In the screenshot below, one emoji has been typed but it's invisible.
![device-2016-11-10-135216](/uploads/9c3b4a7ca9afbf2ed24ab741d6c9d1cc/device-2016-11-10-135216.png)
Selecting invisible emoji makes them visible.
![device-2016-11-10-144910](/uploads/e7fecfe91ad52b0676343fde866fa805/device-2016-11-10-144910.png)
The issue also occurs on master with the Huawei Ascend Y330 (Android 4.2.2).
![device-2016-11-10-152529](/uploads/6893ab42d5ae585c38a76337c9186ad6/device-2016-11-10-152529.png)
If an EmojiTextView contains a mixture of emoji and text, the text is rendered normally. In the following screenshot, the post starts with one emoji, which is invisible.
![device-2016-11-10-150808](/uploads/de3bd61eb4f0aa9cf3955d5a837dbecb/device-2016-11-10-150808.png)Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/756Creator discards new member's join message2017-12-18T07:40:36ZakwizgranCreator discards new member's join messageThe creator of a private group will discard a join message from a new member that arrives before the corresponding invitation protocol message has been handled. The new member will eventually retransmit the message and the creator will h...The creator of a private group will discard a join message from a new member that arrives before the corresponding invitation protocol message has been handled. The new member will eventually retransmit the message and the creator will handle it, but this causes an unnecessary delay in the creator handling the new member's join message.Milestone Eakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/755Timestamp of new group message should be higher than that of all messages in ...2017-12-18T07:40:36ZTorsten GroteTimestamp of new group message should be higher than that of all messages in the groupMilestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/754Add visibility information to group member list2017-12-18T07:40:36ZTorsten GroteAdd visibility information to group member listThe member list currently only says if the group is shared with a contact or not using a sharing icon. It does not give any details on whether the relationship to that user is revealed or not.The member list currently only says if the group is shared with a contact or not using a sharing icon. It does not give any details on whether the relationship to that user is revealed or not.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/752Break up ActivityModule so controller implementations can be package-private2017-12-18T07:40:36ZakwizgranBreak up ActivityModule so controller implementations can be package-privateController implementations need to be public so that ActivityModule can access them. Break up ActivityModule into smaller package-specific modules, like we do in the core, so we can reduce the visibility of the controllers.
Related to #...Controller implementations need to be public so that ActivityModule can access them. Break up ActivityModule into smaller package-specific modules, like we do in the core, so we can reduce the visibility of the controllers.
Related to #368.Milestone Fhttps://code.briarproject.org/briar/briar/-/issues/748Re-encoding of QR code payloads may produce different results2017-12-18T07:40:37ZakwizgranRe-encoding of QR code payloads may produce different resultsSince !394, adding a contact sometimes fails at the confirmation stage.
The Payload class contains a map from TransportIds to BdfLists. When calculating confirmation records, the Payload object received from the contact is re-encoded us...Since !394, adding a contact sometimes fails at the confirmation stage.
The Payload class contains a map from TransportIds to BdfLists. When calculating confirmation records, the Payload object received from the contact is re-encoded using the map's iteration order. The map is implemented as a HashMap, which doesn't have a defined iteration order. Devices with different HashMap implementations may re-encode each other's payloads differently from the original encoding, thus producing different confirmation records.Milestone Fakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/740App silently quits when out of memory2019-02-25T10:04:29ZTorsten GroteApp silently quits when out of memory```
11-07 13:04:42.066 D/dalvikvm: GC_FOR_ALLOC freed 618K, 40% free 28656K/47559K, paused 75ms, total 76ms
11-07 13:04:42.066 I/dalvikvm-heap: Forcing collection of SoftReferences for 2385116-byte allocation
11-07 13:04:42.146 D/dalv...```
11-07 13:04:42.066 D/dalvikvm: GC_FOR_ALLOC freed 618K, 40% free 28656K/47559K, paused 75ms, total 76ms
11-07 13:04:42.066 I/dalvikvm-heap: Forcing collection of SoftReferences for 2385116-byte allocation
11-07 13:04:42.146 D/dalvikvm: GC_BEFORE_OOM freed 26K, 40% free 28629K/47559K, paused 84ms, total 84ms
11-07 13:04:42.146 E/dalvikvm-heap: Out of memory on a 2385116-byte allocation.
11-07 13:04:42.146 I/dalvikvm: "main" prio=5 tid=1 RUNNABLE
11-07 13:04:42.146 I/dalvikvm: | group="main" sCount=0 dsCount=0 obj=0x2b545568 self=0x12ad8
11-07 13:04:42.146 I/dalvikvm: | sysTid=24662 nice=0 sched=0/0 cgrp=apps handle=715976496
11-07 13:04:42.146 I/dalvikvm: | schedstat=( 0 0 0 ) utm=5505 stm=1699 core=0
11-07 13:04:42.146 I/dalvikvm: at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
11-07 13:04:42.146 I/dalvikvm: at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:500)
11-07 13:04:42.146 I/dalvikvm: at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:353)
11-07 13:04:42.146 I/dalvikvm: at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:781)
11-07 13:04:42.146 I/dalvikvm: at android.content.res.Resources.loadDrawable(Resources.java:1959)
11-07 13:04:42.146 I/dalvikvm: at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
11-07 13:04:42.146 I/dalvikvm: at android.widget.ImageView.<init>(ImageView.java:120)
11-07 13:04:42.156 I/dalvikvm: at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:57)
11-07 13:04:42.156 I/dalvikvm: at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:53)
11-07 13:04:42.156 I/dalvikvm: at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:106)
11-07 13:04:42.156 I/dalvikvm: at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:972)
11-07 13:04:42.156 I/dalvikvm: at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:1031)
11-07 13:04:42.156 I/dalvikvm: at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)
11-07 13:04:42.156 I/dalvikvm: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:675)
11-07 13:04:42.156 I/dalvikvm: at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
11-07 13:04:42.156 I/dalvikvm: at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
11-07 13:04:42.156 I/dalvikvm: at android.support.design.internal.NavigationMenuPresenter.inflateHeaderView(NavigationMenuPresenter.java:189)
11-07 13:04:42.156 I/dalvikvm: at android.support.design.widget.NavigationView.inflateHeaderView(NavigationView.java:258)
11-07 13:04:42.156 I/dalvikvm: at android.support.design.widget.NavigationView.<init>(NavigationView.java:173)
11-07 13:04:42.156 I/dalvikvm: at android.support.design.widget.NavigationView.<init>(NavigationView.java:95)
11-07 13:04:42.156 I/dalvikvm: at java.lang.reflect.Constructor.constructNative(Native Method)
11-07 13:04:42.156 I/dalvikvm: at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
11-07 13:04:42.156 I/dalvikvm: at android.view.LayoutInflater.createView(LayoutInflater.java:587)
11-07 13:04:42.156 I/dalvikvm: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
11-07 13:04:42.156 I/dalvikvm: at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
11-07 13:04:42.156 I/dalvikvm: at android.view.LayoutInflater.parseInclude(LayoutInflater.java:830)
11-07 13:04:42.156 I/dalvikvm: at android.view.LayoutInflater.rInflate(LayoutInflater.java:736)
11-07 13:04:42.156 I/dalvikvm: at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
11-07 13:04:42.156 I/dalvikvm: at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
11-07 13:04:42.156 I/dalvikvm: at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
11-07 13:04:42.156 I/dalvikvm: at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:276)
11-07 13:04:42.156 I/dalvikvm: at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
11-07 13:04:42.156 I/dalvikvm: at org.briarproject.android.NavDrawerActivity.onCreate(NavDrawerActivity.java:96)
```https://code.briarproject.org/briar/briar/-/issues/747Remove injected field from BlogManagerImplTest2017-12-18T07:40:37ZakwizgranRemove injected field from BlogManagerImplTestBlogManagerImplTest has an @Inject annotated field, but injections aren't used in the briar-tests module. Replace it with a mock.BlogManagerImplTest has an @Inject annotated field, but injections aren't used in the briar-tests module. Replace it with a mock.Milestone Fakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/746Crash while trying to add contact2017-12-18T07:40:37ZMegaloxCrash while trying to add contact@ernir installed the newest version of briar on my two test devices this morning (Nexus 5 and Sony Xperia M2). I tried to add these as contacts and both devices crashed after scanning the QR code. I reproduced this crash three times.@ernir installed the newest version of briar on my two test devices this morning (Nexus 5 and Sony Xperia M2). I tried to add these as contacts and both devices crashed after scanning the QR code. I reproduced this crash three times.akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/742Use unique request IDs across the app2017-12-18T07:40:37ZakwizgranUse unique request IDs across the app@ernir came up with a nice solution for this: a static method that returns an incrementing counter.
```
private final static int REQUEST_INVITE = SomeUtil.getUniqueRequestId();
```@ernir came up with a nice solution for this: a static method that returns an incrementing counter.
```
private final static int REQUEST_INVITE = SomeUtil.getUniqueRequestId();
```Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/741Move events into their respective packages2017-12-18T07:40:37ZakwizgranMove events into their respective packagesAll events are currently in the package `org.briarproject.api.event`. Events that are specific to a given package should be moved into the package that uses them.
Sub-task of #136All events are currently in the package `org.briarproject.api.event`. Events that are specific to a given package should be moved into the package that uses them.
Sub-task of #136Milestone Fakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/738Older devices show overflow icon on some screens but not others2017-12-18T07:40:37ZakwizgranOlder devices show overflow icon on some screens but not othersOn the Sony Xperia Tipo (Android 4.0.4), which has a hardware menu button, the action bar overflow icon is shown on some screens but not others. For example, it's shown in the private conversation, but not in private groups. This should ...On the Sony Xperia Tipo (Android 4.0.4), which has a hardware menu button, the action bar overflow icon is shown on some screens but not others. For example, it's shown in the private conversation, but not in private groups. This should be consistent across the app.
In screens where it's shown, the menu can be opened by pressing either the overflow icon or the hardware button.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/737Private group conversation is not updated when group is dissolved2017-12-18T07:40:37ZakwizgranPrivate group conversation is not updated when group is dissolvedIf a private group is dissolved while it's being viewed, the view doesn't update until the activity is recreated.If a private group is dissolved while it's being viewed, the view doesn't update until the activity is recreated.Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/736Private group list is not updated when group is dissolved2017-12-18T07:40:37ZakwizgranPrivate group list is not updated when group is dissolvedThe activity has to be recreated for the change to appear.The activity has to be recreated for the change to appear.Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/713Don't always scroll to bottom of conversation when a message arrives2019-06-17T10:10:29ZakwizgranDon't always scroll to bottom of conversation when a message arrivesIf the conversation is already scrolled to the bottom, scroll to the bottom after adding the new item so it becomes visible. Otherwise don't scroll, as the user may be manually scrolling back in the conversation to look for something.If the conversation is already scrolled to the bottom, scroll to the bottom after adding the new item so it becomes visible. Otherwise don't scroll, as the user may be manually scrolling back in the conversation to look for something.Android 1.3Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/692Forum/blog sharing layout is too large for small screens2019-02-25T10:03:19ZakwizgranForum/blog sharing layout is too large for small screensThe screenshot comes from the Sony Xperia Tipo (Android 4.0.4, 320x480 screen).
![device-2016-10-04-155033](/uploads/b5f3f5b4c2ef7fd007e4df0603384e9a/device-2016-10-04-155033.png)
Suggested solution: remove the "You may compose..." mes...The screenshot comes from the Sony Xperia Tipo (Android 4.0.4, 320x480 screen).
![device-2016-10-04-155033](/uploads/b5f3f5b4c2ef7fd007e4df0603384e9a/device-2016-10-04-155033.png)
Suggested solution: remove the "You may compose..." message, replace the text field's hint text with "Add a message (optional)".https://code.briarproject.org/briar/briar/-/issues/735Back button in Invite Members screen returns to group list2017-12-18T07:40:38ZakwizgranBack button in Invite Members screen returns to group listPressing the back button in the private group Invite Members screen should return to the group, not the group list.Pressing the back button in the private group Invite Members screen should return to the group, not the group list.Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/734Notifications for private group messages2017-12-18T07:40:38ZakwizgranNotifications for private group messagesNotifications should be shown for private group messages as they are for blog and forum posts.Notifications should be shown for private group messages as they are for blog and forum posts.Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/684Inject EmojiProvider2018-09-03T12:14:34ZakwizgranInject EmojiProviderInject a singleton EmojiProvider so we can get rid of the static instance. (It needs to be a singleton because it loads the emoji bitmaps and keeps references to them.)Inject a singleton EmojiProvider so we can get rid of the static instance. (It needs to be a singleton because it loads the emoji bitmaps and keeps references to them.)Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/733Incoming messages aren't added to private group conversation2017-12-18T07:40:38ZakwizgranIncoming messages aren't added to private group conversationWhen a new private message arrives, it isn't shown in the conversation until the activity is recreated.When a new private message arrives, it isn't shown in the conversation until the activity is recreated.Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/668Invitation messages can be displayed in the wrong order2018-01-11T16:18:53ZakwizgranInvitation messages can be displayed in the wrong orderWhen devices have slightly inaccurate clocks, an invitation response can have an earlier timestamp than the corresponding request. This causes the messages to be displayed in the wrong order in both parties' conversations, so the invitat...When devices have slightly inaccurate clocks, an invitation response can have an earlier timestamp than the corresponding request. This causes the messages to be displayed in the wrong order in both parties' conversations, so the invitation seems to have been accepted before it was sent.
![device-2016-09-21-155626](/uploads/4f1fe82a8c962c4b103339b5cc802124/device-2016-09-21-155626.png)
One possible solution is for the sender to set the timestamp of the response to max(timestamp of request + 1, current time) when creating the response.
Another possible solution is for the recipient to set the metadata timestamp of the response to max(timestamp of request + 1, timestamp of response) in the delivery hook. This could backfire if the message timestamp is used in some places and the metadata timestamp is used in others.akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/732Implement UX design for revealing contacts to a private group2017-12-18T07:40:38ZTorsten GroteImplement UX design for revealing contacts to a private groupSubticket of #654 and #127.
![654_reveal_neu_v01](/uploads/e88db85207db1a8b807e08f34722a303/654_reveal_neu_v01.jpg)Subticket of #654 and #127.
![654_reveal_neu_v01](/uploads/e88db85207db1a8b807e08f34722a303/654_reveal_neu_v01.jpg)Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/647Use Tor bridges2018-10-09T14:09:20ZakwizgranUse Tor bridgesWe should ship the default set of bridges used by Tor Browser, and automatically use them if we can't connect directly to the Tor network (or if we're in a location where we don't expect to be able to connect directly).We should ship the default set of bridges used by Tor Browser, and automatically use them if we can't connect directly to the Tor network (or if we're in a location where we don't expect to be able to connect directly).Android 1.2Torsten GroteTorsten Grote2018-10-01https://code.briarproject.org/briar/briar/-/issues/731Open BDF Lists and Dictionary throw IllegalStateException2017-12-18T07:40:38ZTorsten GroteOpen BDF Lists and Dictionary throw IllegalStateExceptionThese tests should not fail:
```java
@Test(expected = FormatException.class)
public void testOpenList() throws Exception {
// A list that is not closed
String list = "60";
setContents(list);
r.readList();
}
@Test(expected = ...These tests should not fail:
```java
@Test(expected = FormatException.class)
public void testOpenList() throws Exception {
// A list that is not closed
String list = "60";
setContents(list);
r.readList();
}
@Test(expected = FormatException.class)
public void testOpenDictionary() throws Exception {
// A dictionary that is not closed
String dicts = "70" + "41" + "03" + "666F6F";
setContents(dicts);
r.readDictionary();
}
```Milestone Fakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/727Refactor integration tests2017-12-18T07:40:38ZakwizgranRefactor integration testsSome of the code for delivering messages could be factored out of integration tests into a common superclass or utility class. Some tests create more component instances than they need.Some of the code for delivering messages could be factored out of integration tests into a common superclass or utility class. Some tests create more component instances than they need.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/726Layout for private group join message isn't i18n-friendly2017-12-18T07:40:38ZakwizgranLayout for private group join message isn't i18n-friendlyThe layout for private group join messages combines an AuthorView with a TextView to form a sentence. This won't work for languages where the subject doesn't come at the start of the sentence.
Review the layout so that the AuthorView is...The layout for private group join messages combines an AuthorView with a TextView to form a sentence. This won't work for languages where the subject doesn't come at the start of the sentence.
Review the layout so that the AuthorView is separate from the sentence.Milestone E