briar issueshttps://code.briarproject.org/groups/briar/-/issues2018-12-19T12:22:43Zhttps://code.briarproject.org/briar/briar/-/issues/685IllegalArgumentException: String is shorter than TEASER_LENGTH2018-12-19T12:22:43ZakwizgranIllegalArgumentException: String is shorter than TEASER_LENGTH```
09-29 14:47:30.602 16471-16471/? E/ACRA: ACRA caught a IllegalArgumentException for org.briarproject
java.lang.IllegalArgumentException: String is shorter than TEASER_LENGTH
at org.briarproject.android.util.AndroidUtils.getTe...```
09-29 14:47:30.602 16471-16471/? E/ACRA: ACRA caught a IllegalArgumentException for org.briarproject
java.lang.IllegalArgumentException: String is shorter than TEASER_LENGTH
at org.briarproject.android.util.AndroidUtils.getTeaser(AndroidUtils.java:130)
at org.briarproject.android.blogs.BlogPostViewHolder.bindItem(BlogPostViewHolder.java:122)
at org.briarproject.android.blogs.BlogPostAdapter.onBindViewHolder(BlogPostAdapter.java:73)
at org.briarproject.android.blogs.BlogPostAdapter.onBindViewHolder(BlogPostAdapter.java:14)
```
The crash is caused by checking the length of the text before spanning, then passing in the spanned text, which is apparently shorter. Should be an easy fix.Milestone Eakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/680CameraView surface is leaked on Android 4.2.2 and older2018-06-12T11:32:17ZakwizgranCameraView surface is leaked on Android 4.2.2 and olderA few seconds after leaving the CameraView on the Y330 I get the following warning:
```
09-28 12:04:36.925 17763-17773/org.briarproject E/StrictMode: A resource was acquired at attached stack trace but never released. See java.io.Closeab...A few seconds after leaving the CameraView on the Y330 I get the following warning:
```
09-28 12:04:36.925 17763-17773/org.briarproject E/StrictMode: A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.
java.lang.Throwable: Explicit termination method 'release' not called
at dalvik.system.CloseGuard.open(CloseGuard.java:184)
at android.view.Surface.<init>(Surface.java:291)
at android.view.SurfaceView.<init>(SurfaceView.java:102)
at org.briarproject.android.view.CameraView.<init>(CameraView.java:51)
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.view.LayoutInflater.createView(LayoutInflater.java:587)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
at org.briarproject.android.keyagreement.ShowQrCodeFragment.onCreateView(ShowQrCodeFragment.java:111)
```
The cause appears to be this bug, which was fixed some time after Android 4.2.2:
https://code.google.com/p/android/issues/detail?id=54285
The bug can be worked around by manually releasing the surface.Milestone Eakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/679Own personal blogs can be removed2018-06-12T11:32:17ZTorsten GroteOwn personal blogs can be removedThe `canBeRemoved()` method seems to return `true` for own personal blogs now. There should be a test for that to prevent this regression in the future.The `canBeRemoved()` method seems to return `true` for own personal blogs now. There should be a test for that to prevent this regression in the future.Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/676Keyboard isn't shown when forum text entry field gets focus2018-06-12T11:32:17ZakwizgranKeyboard isn't shown when forum text entry field gets focusWhen touching the compose or reply button in a forum, the text entry field appears and gets focus, but the keyboard isn't shown until the field is touched. The keyboard should be shown automatically.When touching the compose or reply button in a forum, the text entry field appears and gets focus, but the keyboard isn't shown until the field is touched. The keyboard should be shown automatically.Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/665Potential NPE in AndroidExecutorImpl2018-06-12T11:32:18ZakwizgranPotential NPE in AndroidExecutorImplIf two threads call `AndroidExecutor#runOnBackgroundThread()` in quick succession, the first call will initialise the Handler for the background thread and wait for it to be initialised before using it. The second call will assume the Ha...If two threads call `AndroidExecutor#runOnBackgroundThread()` in quick succession, the first call will initialise the Handler for the background thread and wait for it to be initialised before using it. The second call will assume the Handler has been initialised and try to use it immediately, potentially throwing an NPE.Milestone Eakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/664Don't throw an exception if a client has no delivery hook2018-06-12T11:32:18ZakwizgranDon't throw an exception if a client has no delivery hookThe validation manager throws an exception if it tries to deliver a message to a client and the client hasn't registered a delivery hook. The transport property manager doesn't register a delivery hook, so apparently it's possible to wri...The validation manager throws an exception if it tries to deliver a message to a client and the client hasn't registered a delivery hook. The transport property manager doesn't register a delivery hook, so apparently it's possible to write a client that doesn't need one, and the validation manager should just mark the message a delivered.Milestone Eakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/644Header not visible after account creation2018-06-12T11:32:19ZErnir ErlingssonHeader not visible after account creation1. Run Briar for the first time
2. Perform the necessary step to create an account.
3. The Contact list is displayed in an empty state, notice that the header is not visible, rendering all user interaction is impossible.
The issue c...1. Run Briar for the first time
2. Perform the necessary step to create an account.
3. The Contact list is displayed in an empty state, notice that the header is not visible, rendering all user interaction is impossible.
The issue corrects itself if I close the app (via the home button) and re-enter it.
This problem might be affected by #642Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/641RSS Feed Entry Comparator wrongly assumes existing date2018-06-12T11:32:19ZTorsten GroteRSS Feed Entry Comparator wrongly assumes existing dateThe `EntryComparator` in the `FeedManager` can cause a crash when run on a feed with entries that do not have dates at all.The `EntryComparator` in the `FeedManager` can cause a crash when run on a feed with entries that do not have dates at all.Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/638IllegalStateException when navigating out of combined feed and back in2018-06-12T11:32:19ZakwizgranIllegalStateException when navigating out of combined feed and back inSteps to reproduce:
* Sign into Briar
* Open combined blog feed via nav drawer
* Return to contact list via back button
* Open combined blog feed via nav drawer
Apparently the controller instance is being reused, and it doesn't expect ...Steps to reproduce:
* Sign into Briar
* Open combined blog feed via nav drawer
* Return to contact list via back button
* Open combined blog feed via nav drawer
Apparently the controller instance is being reused, and it doesn't expect to have a new listener attached.
```
09-02 12:34:44.543 20694-20694/? E/ACRA: ACRA caught a IllegalStateException for org.briarproject
java.lang.IllegalStateException: Listener was already set
at org.briarproject.android.blogs.BaseControllerImpl.setOnBlogPostAddedListener(BaseControllerImpl.java:89)
at org.briarproject.android.blogs.FeedControllerImpl.setOnBlogPostAddedListener(FeedControllerImpl.java:20)
at org.briarproject.android.blogs.FeedFragment.injectFragment(FeedFragment.java:85)
at org.briarproject.android.fragment.BaseFragment.onActivityCreated(BaseFragment.java:39)
at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:1983)
```Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/637Effect of touching a post is inconsistent2018-06-12T11:32:19ZakwizgranEffect of touching a post is inconsistent* In the combined feed, touching a post does nothing
* In the single blog feed, touching an ordinary post opens BlogPostFragment
* In the single blog feed, touching an imported RSS post does nothing (I know this sounds implausible, but t...* In the combined feed, touching a post does nothing
* In the single blog feed, touching an ordinary post opens BlogPostFragment
* In the single blog feed, touching an imported RSS post does nothing (I know this sounds implausible, but try it)Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/636BlogPostFragment should use the same layout as the blog feed2018-06-12T11:32:19ZakwizgranBlogPostFragment should use the same layout as the blog feedBlogPostFragment's layout needs to be updated to handle reblogging and comments. Currently it shows the latest reblogger as the author of the post, and doesn't show comments.BlogPostFragment's layout needs to be updated to handle reblogging and comments. Currently it shows the latest reblogger as the author of the post, and doesn't show comments.Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/635Touching the author of the currently open blog opens another copy2018-06-12T11:32:19ZakwizgranTouching the author of the currently open blog opens another copyTouching the author of the currently open blog opens another activity showing the same blog.
There are two ways we could handle this: replace the current activity if the author is the same, or replace the current activity in all cases (...Touching the author of the currently open blog opens another activity showing the same blog.
There are two ways we could handle this: replace the current activity if the author is the same, or replace the current activity in all cases (so that pressing the back button once takes us back to the combined feed, however many blogs we've browsed through). I can see arguments for either solution and I don't mind which one we choose.Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/634Blog title is not set when opening a blog by touching the author2018-06-12T11:32:19ZakwizgranBlog title is not set when opening a blog by touching the authorWhen navigating to a blog by touching the author, the title of the activity is "Briar" rather than the title of the blog.
![device-2016-09-02-120010](/uploads/c8b993bcfc6cf786f6c8ea9b86854518/device-2016-09-02-120010.png)When navigating to a blog by touching the author, the title of the activity is "Briar" rather than the title of the blog.
![device-2016-09-02-120010](/uploads/c8b993bcfc6cf786f6c8ea9b86854518/device-2016-09-02-120010.png)Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/633Blog posts from other users sometimes have bold nicknames2018-06-12T11:32:19ZakwizgranBlog posts from other users sometimes have bold nicknamesThis is a screenshot from the Sony Xperia Tipo (nickname Sony, Moto is the nickname of a contact).
![device-2016-09-02-120010](/uploads/271d983a3dda8e15532f93bdf503db6a/device-2016-09-02-120010.png)This is a screenshot from the Sony Xperia Tipo (nickname Sony, Moto is the nickname of a contact).
![device-2016-09-02-120010](/uploads/271d983a3dda8e15532f93bdf503db6a/device-2016-09-02-120010.png)Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/632BadTokenException if RSS error dialog is show after activity is destroyed2018-06-12T11:32:19ZakwizgranBadTokenException if RSS error dialog is show after activity is destroyedI got this crash when trying to add an RSS feed with a mistyped hostname. I backed out of the feed import activity rather than waiting for the connection to fail, and the app tried to show the error dialog after the activity had been des...I got this crash when trying to add an RSS feed with a mistyped hostname. I backed out of the feed import activity rather than waiting for the connection to fail, and the app tried to show the error dialog after the activity had been destroyed.
```
09-01 22:49:07.851 15929-15929/org.briarproject E/ACRA: ACRA caught a BadTokenException for org.briarproject
android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@13b88199 is not valid; is your activity running?
at android.view.ViewRootImpl.setView(ViewRootImpl.java:579)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:282)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85)
at android.app.Dialog.show(Dialog.java:298)
at org.briarproject.android.blogs.RssFeedImportActivity$5.run(RssFeedImportActivity.java:172)
```Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/619Transaction is set complete unconditionally2018-06-12T11:32:19ZakwizgranTransaction is set complete unconditionallyValidationManagerImpl line 323:
```
} finally {
if (!txn.isComplete()) txn.setComplete();
db.endTransaction(txn);
}
```
This will commit the transaction even if an exception is thrown, which is probably not the intended be...ValidationManagerImpl line 323:
```
} finally {
if (!txn.isComplete()) txn.setComplete();
db.endTransaction(txn);
}
```
This will commit the transaction even if an exception is thrown, which is probably not the intended behaviour. Fix this and check for the same pattern being used elsewhere.Milestone Eakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/616Continue button is off-screen when adding a contact2018-06-12T11:32:20ZakwizgranContinue button is off-screen when adding a contactThe new explanatory graphics for adding a contact are great, but on a small screen (Sony Xperia Tipo, 320x480) the continue button is now off-screen. If I wasn't familiar with that screen I might not realise the button existed.
![devi...The new explanatory graphics for adding a contact are great, but on a small screen (Sony Xperia Tipo, 320x480) the continue button is now off-screen. If I wasn't familiar with that screen I might not realise the button existed.
![device-2016-08-25-122749](/uploads/b7524cb8d0aa65be698a4e329ac1946e/device-2016-08-25-122749.png)Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/615Forums: Keyboard stays open2018-06-12T11:32:20ZMegaloxForums: Keyboard stays openI wanted to reply but decided against and left the forums via backarrow. The keyboard stayed open.
![forum_keyboard_bug](/uploads/c417c600e6239e19fb00398080363f01/forum_keyboard_bug.jpg)I wanted to reply but decided against and left the forums via backarrow. The keyboard stayed open.
![forum_keyboard_bug](/uploads/c417c600e6239e19fb00398080363f01/forum_keyboard_bug.jpg)Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/611Body cache in ConversationActivity isn't thread-safe2018-06-12T11:32:20ZakwizgranBody cache in ConversationActivity isn't thread-safeChanges to ConversationActivity in June broke the thread-safety of the body cache. If it's going to be accessed from the UI and DB threads it should be a `final ConcurrentHashMap<MessageId, byte[]>` rather than a `volatile HashMap<Messag...Changes to ConversationActivity in June broke the thread-safety of the body cache. If it's going to be accessed from the UI and DB threads it should be a `final ConcurrentHashMap<MessageId, byte[]>` rather than a `volatile HashMap<MessageId, byte[]>`.Milestone Eakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/610Result handlers can return results to destroyed activities/fragments2018-06-12T11:32:20ZakwizgranResult handlers can return results to destroyed activities/fragments@grote spotted this problem in !276, but it could happen anywhere a `ResultHandler` or `ResultExceptionHandler` is used. The activity or fragment that created the handler may be destroyed before the result or exception is handled.@grote spotted this problem in !276, but it could happen anywhere a `ResultHandler` or `ResultExceptionHandler` is used. The activity or fragment that created the handler may be destroyed before the result or exception is handled.Milestone ETorsten GroteTorsten Grote