briar issueshttps://code.briarproject.org/briar/briar/-/issues2018-06-12T11:32:41Zhttps://code.briarproject.org/briar/briar/-/issues/11Can't scroll within a forum post while writing2018-06-12T11:32:41ZakwizgranCan't scroll within a forum post while writingA user reported that it wasn't possible to scroll within a forum post while writing it if the soft keyboard was open, except by moving the cursor. Scrolling was possible with the keyboard closed, and when writing a private message in the...A user reported that it wasn't possible to scroll within a forum post while writing it if the soft keyboard was open, except by moving the cursor. Scrolling was possible with the keyboard closed, and when writing a private message in the conversation view.Milestone Dhttps://code.briarproject.org/briar/briar/-/issues/53Use XML for Android layouts2018-06-12T11:32:40ZakwizgranUse XML for Android layoutsThe Android UI uses Java rather than XML to define its layouts -- that's easier for developers but harder for designers, who can't use the graphical layout tools. We should use XML, which is the standard way to define layouts on Android.The Android UI uses Java rather than XML to define its layouts -- that's easier for developers but harder for designers, who can't use the graphical layout tools. We should use XML, which is the standard way to define layouts on Android.Milestone Dhttps://code.briarproject.org/briar/briar/-/issues/78Replace the stars with some other indicator2018-06-12T11:32:39ZakwizgranReplace the stars with some other indicatorUsers commented that they didn't understand what the stars next to identities meant - they eventually understood it but would have liked an explanation up-front.Users commented that they didn't understand what the stars next to identities meant - they eventually understood it but would have liked an explanation up-front.Milestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/128User testing sessions2018-06-12T11:32:38ZakwizgranUser testing sessionsTwo user testing sessions for Milestone D -- findings to be documented in the issue tracker.Two user testing sessions for Milestone D -- findings to be documented in the issue tracker.Milestone Dhttps://code.briarproject.org/briar/briar/-/issues/129Protocol spec for BTP2018-06-12T11:32:38ZakwizgranProtocol spec for BTPMilestone Dhttps://code.briarproject.org/briar/briar/-/issues/130Protocol spec for BSP2018-04-16T16:24:37ZakwizgranProtocol spec for BSPMilestone Dhttps://code.briarproject.org/briar/briar/-/issues/131Protocol spec for BQP2018-06-12T11:32:38ZakwizgranProtocol spec for BQPMilestone Dhttps://code.briarproject.org/briar/briar/-/issues/133Security testing2018-06-12T11:32:38ZakwizgranSecurity testingWhite-box security testing of the latest beta for Milestone D -- findings to be documented in the issue tracker.White-box security testing of the latest beta for Milestone D -- findings to be documented in the issue tracker.Milestone Dakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/134Blogs2018-06-12T11:32:38ZakwizgranBlogsUsers should be able to publish and read blogs through the Briar app. This will be a new top-level section in the UI, alongside forums and private groups. Blogs will be shared with contacts in a similar way to forums.Users should be able to publish and read blogs through the Briar app. This will be a new top-level section in the UI, alongside forums and private groups. Blogs will be shared with contacts in a similar way to forums.Milestone Dhttps://code.briarproject.org/briar/briar/-/issues/135RSS import2018-06-12T11:32:38ZakwizgranRSS importUsers with internet access should be able to import RSS feeds (via Tor) and re-publish them as Briar blogs.
First iteration:
* UI for importing a feed -- no preview, show an error if the feed can't be fetched and parsed (#483)
* ...Users with internet access should be able to import RSS feeds (via Tor) and re-publish them as Briar blogs.
First iteration:
* UI for importing a feed -- no preview, show an error if the feed can't be fetched and parsed (#483)
* Fetch the feed periodically in the background -- not via Tor (#484)
* Extract new entries from the feed -- not fetching the full text (#485)
* Convert any new entries to Briar blog posts -- just strip HTML tags (#486)
* Post converted entries to the user's personal blog (part of #486)
* Simple UI for Managing RSS Feeds (#483 & #517)
# RSS/Atom Java libraries
## [ROME](https://rometools.github.io/rome/)
* actively maintained and looks to be the most popular on the net
* Does [not support Android fully](https://github.com/rometools/rome/labels/android), support will come with ~~2.0.0~~ 1.6.1 version
* quite big with lots of stuff we don't need such as feed generation, but looks like these are in separate jars
* Has a ROME Fetcher to fetch the feeds, but [is deprecated](https://github.com/rometools/rome/issues/276) in favor of dedicated HTTP libraries such as Apache HttpClient. We can use a library as okhttp as well and just pass the `InputStream` to the feed parser.
* On Maven Central and [jcenter](https://bintray.com/bintray/jcenter/com.rometools%3Arome/view)
* License: Apache License 2.0
* Dependencies:
* rome-utils
* jdom2
* slf4j-api
## [PkRSS](https://pkmmte.github.io/PkRSS/)
* Android library can not be in briar-core
* lightweight
* License: Apache License 2.0
## [Jakarta FeedParser](https://commons.apache.org/dormant/feedparser/)
* Part of apache commons, has *dormant* in the URL
* License: Apache License 2.0
* Dependencies:
* jaxen-full
* jdom
* log4j
* xercesImpl
* xml-apis
* commons-httpclient (starting from version 3)
## [informa](http://informa.sourceforge.net/)
* Last release 2007Milestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/151Explain what "account creation" means on first run2018-06-12T11:32:37Zstr4dExplain what "account creation" means on first runWhen I first started the app after building it, I saw the initial screen and immediately got nervous, thinking "ooh, I'd better not use my actual username because 'Create Account' could break my pseudonymity by talking to a server over t...When I first started the app after building it, I saw the initial screen and immediately got nervous, thinking "ooh, I'd better not use my actual username because 'Create Account' could break my pseudonymity by talking to a server over the clearnet". This was despite knowing *full well* that Briar is a distributed app, and therefore logically the 'Create Account' button should only set up the local app, and not talk to anything. I expect that other new users could also feel anxious about the lack of explanation of what is happening (somewhat related: #94).
Perhaps the fix is as simple as changing the "Create Account" text, to something that isn't so closely associated by users with the client-server model. Or adding some text at the top to explain what is happening. Or maybe it's just me :smile:Milestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/182Research Gingerbread ubiquity outside of the Play store2018-06-12T11:32:35ZErnir ErlingssonResearch Gingerbread ubiquity outside of the Play storeTo help us decide where to set the supported OS's lower limit we need a rough estimation of Gingerbread devices outside of Google .
Here is a device/os/screen-size breakdown from the Play store:
http://developer.android.com/about/d...To help us decide where to set the supported OS's lower limit we need a rough estimation of Gingerbread devices outside of Google .
Here is a device/os/screen-size breakdown from the Play store:
http://developer.android.com/about/dashboards/index.htmlMilestone Dakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/207SetupActivity UI improvements2018-06-12T11:32:34ZErnir ErlingssonSetupActivity UI improvements1. The password strength bar should be over the password input fields otherwise it will be partially or completely obscured by the soft keyboard (depending on the device). The user should not have to scroll down to see the meter.
2. S...1. The password strength bar should be over the password input fields otherwise it will be partially or completely obscured by the soft keyboard (depending on the device). The user should not have to scroll down to see the meter.
2. Styling! The "Create Account" button has no style at all and does not really fit with the rest. Re-evaluate margins/paddings and consider using the EditText hints rather than TextView headers that makes scrolling necessary for smaller devices. Milestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/230Make timestamps prettier and more useful2018-06-12T11:32:33ZErnir ErlingssonMake timestamps prettier and more usefulFor recent timestamps we should display the duration since that timestamp, "prettify" it. We don't want the user to have to subtract the current time from the timestamp to find out how long ago something is.
Examples
"2 minutes ago"
...For recent timestamps we should display the duration since that timestamp, "prettify" it. We don't want the user to have to subtract the current time from the timestamp to find out how long ago something is.
Examples
"2 minutes ago"
"3 hours ago"
etc.
Relevant links:
http://stackoverflow.com/questions/13018550/time-since-ago-library-for-android-java
http://www.ocpsoft.org/prettytime/
Milestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/244IllegalStateException: ContactListFragment not attached to Activity2018-06-12T11:32:33ZTorsten GroteIllegalStateException: ContactListFragment not attached to ActivityWhile testing my own work, I noticed this unrelated crash:
```
java.lang.IllegalStateException: Fragment ContactListFragment{8b90f25} not attached to Activity
at android.support.v4.app.Fragment....While testing my own work, I noticed this unrelated crash:
```
java.lang.IllegalStateException: Fragment ContactListFragment{8b90f25} not attached to Activity
at android.support.v4.app.Fragment.getResources(Fragment.java:639)
at org.briarproject.android.contact.ContactListFragment.onCreateOptionsMenu(ContactListFragment.java:133)
at android.support.v4.app.Fragment.performCreateOptionsMenu(Fragment.java:2044)
at android.support.v4.app.FragmentManagerImpl.dispatchCreateOptionsMenu(FragmentManager.java:2114)
at android.support.v4.app.FragmentController.dispatchCreateOptionsMenu(FragmentController.java:270)
at android.support.v4.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:299)
at android.support.v7.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:85)
at android.support.v7.app.AppCompatDelegateImplBase$AppCompatWindowCallbackBase.onCreatePanelMenu(AppCompatDelegateImplBase.java:241)
at android.support.v7.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:85)
at android.support.v7.app.ToolbarActionBar.populateOptionsMenu(ToolbarActionBar.java:443)
at android.support.v7.app.ToolbarActionBar$1.run(ToolbarActionBar.java:60)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5466)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
```Milestone Dhttps://code.briarproject.org/briar/briar/-/issues/310Client layer events for forums2018-06-12T11:32:30ZakwizgranClient layer events for forumsThe forum UI currently depends on sync layer events such as MessageStateChangedEvent. The forum and forum sharing clients should broadcast their own high-level events with the information the UI needs.
Related to #122, #289.The forum UI currently depends on sync layer events such as MessageStateChangedEvent. The forum and forum sharing clients should broadcast their own high-level events with the information the UI needs.
Related to #122, #289.Milestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/326Trim leading and trailing whitespace when displaying messages2018-06-12T11:32:29ZakwizgranTrim leading and trailing whitespace when displaying messagesMilestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/327empty state design2018-06-12T11:32:29ZMegaloxempty state designSome parts of the app can show empty states. We will develop an excellent design for these empty states.Some parts of the app can show empty states. We will develop an excellent design for these empty states.Milestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/333Font color2018-06-12T11:32:29ZMegaloxFont colorWe have to define system wide font colorsWe have to define system wide font colorsMilestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/334Navigation menu causes crash with support library 23.3.02018-06-12T11:32:29ZakwizgranNavigation menu causes crash with support library 23.3.0After "upgrading" the support library to 23.3.0, clicking any button in the navigation drawer causes a crash with the following stacktrace:
```
java.lang.IllegalStateException: Could not find a method onNavigationClick(View) in the a...After "upgrading" the support library to 23.3.0, clicking any button in the navigation drawer causes a crash with the following stacktrace:
```
java.lang.IllegalStateException: Could not find a method onNavigationClick(View) in the activity class android.support.v7.widget.TintContextWrapper for onClick handler on view class android.support.v7.widget.AppCompatButton with id 'nav_btn_contacts'
at android.view.View$1.onClick(View.java:4012)
at android.view.View.performClick(View.java:4785)
at android.view.View$PerformClick.run(View.java:19884)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5343)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)
Caused by: java.lang.NoSuchMethodException: onNavigationClick [class android.view.View]
at java.lang.Class.getMethod(Class.java:664)
at java.lang.Class.getMethod(Class.java:643)
at android.view.View$1.onClick(View.java:4005)
at android.view.View.performClick(View.java:4785)
at android.view.View$PerformClick.run(View.java:19884)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5343)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)
```Milestone D