briar issueshttps://code.briarproject.org/groups/briar/-/issues2021-02-19T17:55:49Zhttps://code.briarproject.org/briar/briar/-/issues/1947NPE when forum post arrives before parent is loaded2021-02-19T17:55:49ZakwizgranNPE when forum post arrives before parent is loaded* Android version: 4.1.2
* Phone model: Samsung Galaxy Ace 2 (GT-I8160)
* Briar version: 1.2.15 (885b03c) (debug build)
The crash happened when I opened a forum from the invitation message in a private conversation, then quickly hit the...* Android version: 4.1.2
* Phone model: Samsung Galaxy Ace 2 (GT-I8160)
* Briar version: 1.2.15 (885b03c) (debug build)
The crash happened when I opened a forum from the invitation message in a private conversation, then quickly hit the back button.
Stacktrace:
```
java.lang.NullPointerException
at org.briarproject.briar.client.MessageTreeImpl.parseNode(MessageTreeImpl.java:74)
at org.briarproject.briar.client.MessageTreeImpl.add(MessageTreeImpl.java:50)
at org.briarproject.briar.client.MessageTreeImpl.add(MessageTreeImpl.java:57)
at org.briarproject.briar.android.threaded.ThreadListViewModel.addItem(ThreadListViewModel.java:200)
at org.briarproject.briar.android.forum.ForumViewModel.eventOccurred(ForumViewModel.java:98)
at org.briarproject.bramble.event.EventBusImpl.lambda$broadcast$0(EventBusImpl.java:42)
at org.briarproject.bramble.event.EventBusImpl.lambda$broadcast$0$EventBusImpl(EventBusImpl.java)
at org.briarproject.bramble.event.-$$Lambda$EventBusImpl$clxOMxNLcHINGTGi9tkg-7meojQ.run(lambda)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4867)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1007)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:774)
at dalvik.system.NativeStart.main(Native Method)
```
Edited log:
```
02-19 14:29:35.867 I/BaseActivity: Pausing ConversationActivity
02-19 14:29:35.918 I/BaseActivity: Creating ForumActivity
02-19 14:29:36.128 I/BaseActivity: Starting ForumActivity
02-19 14:29:36.129 I/BaseActivity: Resuming ForumActivity
02-19 14:29:36.253 I/DuplexOutgoingSession: Generated ack: true
02-19 14:29:36.254 I/DuplexOutgoingSession: Sent ack
02-19 14:29:36.643 I/BaseActivity: Pausing ForumActivity
02-19 14:29:36.692 I/BaseActivity: Resuming ConversationActivity
02-19 14:29:36.763 I/ForumViewModel: Forum post received, adding...
```
The message tree assumes that when a message is added, its parent (which is a dependency) is already in the tree.
ForumViewModel logs the amount of time taken to load the message headers and bodies. This is a debug build, so messages logged with logDuration() would appear in the log. Those messages don't appear in the log, so it looks like the new message was added to the tree before the initial load completed, so its parent was present in the DB but not in the tree.Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1946Text in blog comments has no padding on the left side (API 16)2021-09-02T12:26:21ZakwizgranText in blog comments has no padding on the left side (API 16)On the Galaxy Ace 2 (Android 4.1.2) blog posts are shown with the correct amount of padding but comments are not: the text touches the left side of the card. On other devices posts and comments have a similar amount of padding.
![device...On the Galaxy Ace 2 (Android 4.1.2) blog posts are shown with the correct amount of padding but comments are not: the text touches the left side of the card. On other devices posts and comments have a similar amount of padding.
![device-2021-02-19-142657](/uploads/afce2bc980a7e1ed9be254a25696e3ec/device-2021-02-19-142657.png)Android 1.3IvanaIvanahttps://code.briarproject.org/briar/briar/-/issues/1945Previous/next unread message buttons sometimes don't appear2021-03-29T13:00:18ZakwizgranPrevious/next unread message buttons sometimes don't appearOn the Galaxy Ace 2 (Android 4.1.2), the previous/next unread message buttons in forums and private groups don't always appear. The small badge showing the number of unread messages above/below is shown, but not the large button it's sup...On the Galaxy Ace 2 (Android 4.1.2), the previous/next unread message buttons in forums and private groups don't always appear. The small badge showing the number of unread messages above/below is shown, but not the large button it's supposed to be attached to.
Sometimes the large button appears late, after the badge, and sometimes it doesn't appear at all. Turning the screen off and on doesn't make a difference, but scrolling causes the large button to appear.
![device-2021-02-19-154020](/uploads/25f68f4b6ce2652f62d0a2d963675d12/device-2021-02-19-154020.png)https://code.briarproject.org/briar/briar/-/issues/1943Warn the user when the last shutdown wasn't clean2021-07-26T10:31:11ZakwizgranWarn the user when the last shutdown wasn't cleanShow some kind of warning (a notification, or something in the main UI when signing in) when the last shutdown wasn't clean (see #57).
We may also want to know whether the dirty shutdown happened before or after the last reboot.
Subtas...Show some kind of warning (a notification, or something in the main UI when signing in) when the last shutdown wasn't clean (see #57).
We may also want to know whether the dirty shutdown happened before or after the last reboot.
Subtask of #1824.https://code.briarproject.org/briar/briar/-/issues/1941making the ### clickable and show a small dialog2021-07-23T11:18:13Zsystermaking the ### clickable and show a small dialogNext to an account name of someone that wrote a message there are 3 hashes shown. They can vary in color.
Make a clickable dialogue that will explain its meaning.Next to an account name of someone that wrote a message there are 3 hashes shown. They can vary in color.
Make a clickable dialogue that will explain its meaning.https://code.briarproject.org/briar/briar/-/issues/1940Check if Localizer requires context.createConfigurationContext()2021-02-17T18:49:59ZSebastianCheck if Localizer requires context.createConfigurationContext()It's possible that we can remove this entirely:
https://code.briarproject.org/briar/briar/-/merge_requests/1367#note_46627
Should be tested on many API levels and with toggling themes while testing.It's possible that we can remove this entirely:
https://code.briarproject.org/briar/briar/-/merge_requests/1367#note_46627
Should be tested on many API levels and with toggling themes while testing.https://code.briarproject.org/briar/briar-manual/-/issues/8Add layout support for RTL languages2021-10-29T12:04:02ZakwizgranAdd layout support for RTL languagesThe manual has been translated into Persian but the layout is still left-to-right.
Adding `dir="rtl"` to the `html` element doesn't fix this, as it causes the ToC sidebar to overlay the content.
Setting `direction: rtl` on the `toc` an...The manual has been translated into Persian but the layout is still left-to-right.
Adding `dir="rtl"` to the `html` element doesn't fix this, as it causes the ToC sidebar to overlay the content.
Setting `direction: rtl` on the `toc` and `wrapper` divs, and then somehow conditionally styling the images to float left rather than right, may work.
Whatever solution we find, we need to be able to trigger it conditionally in the Hugo template based on the `.Site.Language.LanguageDirection` parameter:
https://discourse.gohugo.io/t/direction-rtl/25904/2Sponsor 6 outreach campaignTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1939Private group is greyed out after rotating screen2021-02-18T16:51:40ZakwizgranPrivate group is greyed out after rotating screen![device-2021-02-11-150926](/uploads/b17c093a0c55f126e950c695aee3ae00/device-2021-02-11-150926.png)
Should be fixed by !1371.![device-2021-02-11-150926](/uploads/b17c093a0c55f126e950c695aee3ae00/device-2021-02-11-150926.png)
Should be fixed by !1371.Android 1.2IvanaIvanahttps://code.briarproject.org/briar/briar/-/issues/1938UnknownServiceException: Cleartext communication not permitted2021-02-17T12:27:36ZakwizgranUnknownServiceException: Cleartext communication not permitted* Android version: 10
* Phone model: Fairphone FP3
* Briar version: 1.2.13 (5fdc7e7)
* User feedback: "Import RSS fail"
Log snippet:
```
02-14 16:15:58.259 W/RssFeedImportActivity: java.net.UnknownServiceException: CLEARTEXT communicati...* Android version: 10
* Phone model: Fairphone FP3
* Briar version: 1.2.13 (5fdc7e7)
* User feedback: "Import RSS fail"
Log snippet:
```
02-14 16:15:58.259 W/RssFeedImportActivity: java.net.UnknownServiceException: CLEARTEXT communication to [scrubbed] not permitted by network security policy
java.net.UnknownServiceException: CLEARTEXT communication to [scrubbed] not permitted by network security policy
at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:148)
at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:258)
at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:135)
at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:114)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:127)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:257)
at okhttp3.RealCall.execute(RealCall.java:93)
at org.briarproject.briar.feed.FeedManagerImpl.getFeedInputStream(FeedManagerImpl.java:385)
at org.briarproject.briar.feed.FeedManagerImpl.fetchSyndFeed(FeedManagerImpl.java:332)
at org.briarproject.briar.feed.FeedManagerImpl.addFeed(FeedManagerImpl.java:171)
at org.briarproject.briar.android.blog.RssFeedImportActivity.lambda$importFeed$2(RssFeedImportActivity.java:137)
at org.briarproject.briar.android.blog.RssFeedImportActivity.lambda$importFeed$2$RssFeedImportActivity(Unknown Source:0)
at org.briarproject.briar.android.blog.-$$Lambda$RssFeedImportActivity$yMsHehcx_j-aBTiyhHwsHyxrpIs.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)
```
Note: the domain name wasn't scrubbed from the original log. We should fix that.https://code.briarproject.org/briar/briar/-/issues/1937IndexOutOfBoundsException when selecting text2023-09-14T12:20:44ZakwizgranIndexOutOfBoundsException when selecting text* Android version: 7.1.1
* Phone model: OnePlus A5000 (OnePlus5)
* Briar version: 1.2.13 (5fdc7e7)
* User feedback: "I was trying to use this app offline to contact my friend."
Stacktrace:
```
java.lang.IndexOutOfBoundsException: setSpa...* Android version: 7.1.1
* Phone model: OnePlus A5000 (OnePlus5)
* Briar version: 1.2.13 (5fdc7e7)
* User feedback: "I was trying to use this app offline to contact my friend."
Stacktrace:
```
java.lang.IndexOutOfBoundsException: setSpan (-1 ... -1) starts before 0
at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1325)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:683)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:676)
at android.text.Selection.setSelection(Selection.java:76)
at android.text.method.ArrowKeyMovementMethod.onTouchEvent(ArrowKeyMovementMethod.java:291)
at android.widget.TextView.onTouchEvent(TextView.java:8546)
at android.view.View.dispatchTouchEvent(View.java:10180)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:414)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1808)
at android.app.Activity.dispatchTouchEvent(Activity.java:3122)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:376)
at android.view.View.dispatchPointerEvent(View.java:10400)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4445)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4313)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3860)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3913)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3879)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4006)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3887)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4063)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3860)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3913)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3879)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3887)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3860)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6254)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6228)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6189)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6357)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:323)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:6138)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:893)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:783)
```
No log due to #1917.
Looks like a platform bug - I'm opening this ticket in case there's a known workaround.Android 1.4https://code.briarproject.org/briar/briar/-/issues/1936Contact was shown as offline when online2021-02-17T11:15:26ZakwizgranContact was shown as offline when online* Android version: 10
* Phone model: Huawei LYA-L29 (LYA-L29RU)
* Briar version: 1.2.13 (5fdc7e7)
* User feedback: "Very often displays incorrect information about the network status of another contact. The interlocutor is online for all...* Android version: 10
* Phone model: Huawei LYA-L29 (LYA-L29RU)
* Briar version: 1.2.13 (5fdc7e7)
* User feedback: "Very often displays incorrect information about the network status of another contact. The interlocutor is online for all network conditions, and displays as if he is not available."
Edited log:
```
02-12 20:59:14.597 I/DuplexOutgoingSession: Sending keepalive
02-12 20:59:44.598 I/DuplexOutgoingSession: Sending keepalive
02-12 20:59:53.360 I/AndroidNetworkManager: Received broadcast android.intent.action.SCREEN_ON
02-12 20:59:53.367 I/TorPlugin: Online: true, wifi: true, IPv6 only: false
02-12 20:59:53.367 I/TorPlugin: Country code: RU
02-12 20:59:53.367 I/TorPlugin: Charging: false
02-12 20:59:53.367 I/TorPlugin: Enabling network
02-12 20:59:53.367 I/TorPlugin: Using obfs4 bridges
02-12 20:59:53.367 I/TorPlugin: Disabling connection padding
02-12 21:00:02.666 I/PollerImpl: Polling plugin org.briarproject.bramble.bluetooth
02-12 21:00:02.672 I/ConnectionRegistryImpl: 0 contacts connected or better: org.briarproject.bramble.bluetooth
02-12 21:00:09.531 I/BaseActivity: Creating SplashScreenActivity
02-12 21:00:09.575 I/BaseActivity: Creating NavDrawerActivity
02-12 21:00:09.597 I/BaseActivity: Starting NavDrawerActivity
02-12 21:00:09.598 I/BaseActivity: Resuming NavDrawerActivity
02-12 21:00:10.158 I/BaseActivity: Destroying SplashScreenActivity
02-12 21:00:14.598 I/DuplexOutgoingSession: Sending keepalive
02-12 21:00:16.395 I/BaseActivity: Pausing NavDrawerActivity
02-12 21:00:16.818 I/BaseActivity: Stopping NavDrawerActivity
02-12 21:00:17.015 I/PollerImpl: Polling plugin org.briarproject.bramble.tor
02-12 21:00:17.019 I/ConnectionRegistryImpl: 1 contacts connected or better: org.briarproject.bramble.tor
02-12 21:00:17.020 I/TorPlugin: Connecting to v3 wwi[scrubbed]
02-12 21:00:17.793 I/TorPlugin: Connected to v3 wwi[scrubbed]
02-12 21:00:17.824 I/DuplexOutgoingSession: Generated ack: false
02-12 21:00:17.827 I/DuplexOutgoingSession: Generated batch: false
02-12 21:00:17.830 I/DuplexOutgoingSession: Generated offer: false
02-12 21:00:17.830 I/DuplexOutgoingSession: Generated request: false
02-12 21:00:18.981 I/ConnectionRegistryImpl: Outgoing connection registered: org.briarproject.bramble.tor
02-12 21:00:18.982 I/ConnectionRegistryImpl: Contact connected
02-12 21:00:18.982 I/ConnectionRegistryImpl: Setting connection priority: org.briarproject.bramble.tor
02-12 21:00:28.954 I/AndroidNetworkManager: Received broadcast android.intent.action.SCREEN_OFF
02-12 21:00:28.959 I/TorPlugin: Online: true, wifi: true, IPv6 only: false
02-12 21:00:28.959 I/TorPlugin: Country code: RU
02-12 21:00:28.959 I/TorPlugin: Charging: false
02-12 21:00:28.959 I/TorPlugin: Enabling network
02-12 21:00:28.959 I/TorPlugin: Using obfs4 bridges
02-12 21:00:28.959 I/TorPlugin: Disabling connection padding
02-12 21:00:33.955 I/TorPlugin: V3 descriptor uploaded
02-12 21:00:34.584 I/TorPlugin: V3 descriptor uploaded
02-12 21:00:34.720 I/TorPlugin: V3 descriptor uploaded
02-12 21:00:34.942 I/TorPlugin: V3 descriptor uploaded
02-12 21:00:35.030 I/TorPlugin: V3 descriptor uploaded
02-12 21:00:39.403 I/TorPlugin: V3 descriptor uploaded
02-12 21:00:44.598 I/DuplexOutgoingSession: Sending keepalive
02-12 21:00:47.823 I/DuplexOutgoingSession: Sending keepalive
02-12 21:00:50.914 I/AndroidNetworkManager: Received broadcast android.intent.action.SCREEN_ON
02-12 21:00:50.918 I/TorPlugin: Online: true, wifi: true, IPv6 only: false
02-12 21:00:50.918 I/TorPlugin: Country code: RU
02-12 21:00:50.918 I/TorPlugin: Charging: false
02-12 21:00:50.918 I/TorPlugin: Enabling network
02-12 21:00:50.918 I/TorPlugin: Using obfs4 bridges
02-12 21:00:50.918 I/TorPlugin: Disabling connection padding
02-12 21:00:57.771 I/BaseActivity: Starting NavDrawerActivity
02-12 21:00:57.772 I/BaseActivity: Resuming NavDrawerActivity
02-12 21:01:02.667 I/PollerImpl: Polling plugin org.briarproject.bramble.bluetooth
02-12 21:01:02.673 I/ConnectionRegistryImpl: 0 contacts connected or better: org.briarproject.bramble.bluetooth
02-12 21:01:05.717 I/TorPlugin: V3 descriptor uploaded
02-12 21:01:06.601 I/TorPlugin: V3 descriptor uploaded
02-12 21:01:06.988 I/BaseActivity: Pausing NavDrawerActivity
02-12 21:01:07.007 I/BaseActivity: Creating SettingsActivity
02-12 21:01:07.026 I/BaseActivity: Starting SettingsActivity
02-12 21:01:07.060 I/BaseActivity: Resuming SettingsActivity
02-12 21:01:07.539 I/BaseActivity: Stopping NavDrawerActivity
02-12 21:01:11.405 I/PollerImpl: Polling plugin org.briarproject.bramble.lan
02-12 21:01:11.418 I/ConnectionRegistryImpl: 0 contacts connected or better: org.briarproject.bramble.lan
02-12 21:01:11.539 I/BaseActivity: Pausing SettingsActivity
02-12 21:01:11.551 I/BaseActivity: Creating FeedbackActivity
```
Notes:
* A duplex connection to a contact is open at the start of the log
* Later log messages from the poller show that this is a Tor connection, rather than Bluetooth or LAN
* A second Tor connection is made at 21:00:17
* The Tor hidden service descriptor is being uploaded, which may indicate that the device recently came online, or may be the daily republishing of the descriptor
The reported issue could be a UI bug (failing to show/update the online state of one or both contacts), or it could be a network or power management issue at the contact's end, causing the contact's Tor connection to be lost.https://code.briarproject.org/briar/briar/-/issues/1935ArrayIndexOutOfBoundsException in RecyclerView2021-11-04T11:03:23ZakwizgranArrayIndexOutOfBoundsException in RecyclerView* Android version: 10
* Briar version: 1.2.10 (54b852d)
Stacktrace:
```
java.lang.ArrayIndexOutOfBoundsException: length=5; index=7
at java.util.Arrays$ArrayList.get(Arrays.java:3766)
at androidx.recyclerview.selection.T...* Android version: 10
* Briar version: 1.2.10 (54b852d)
Stacktrace:
```
java.lang.ArrayIndexOutOfBoundsException: length=5; index=7
at java.util.Arrays$ArrayList.get(Arrays.java:3766)
at androidx.recyclerview.selection.ToolHandlerRegistry.get(ToolHandlerRegistry.java:69)
at androidx.recyclerview.selection.EventRouter.onInterceptTouchEvent(EventRouter.java:57)
at androidx.recyclerview.widget.RecyclerView.findInterceptingOnItemTouchListener(RecyclerView.java:3151)
at androidx.recyclerview.widget.RecyclerView.onInterceptTouchEvent(RecyclerView.java:3170)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2620)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2709)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2709)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2709)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2709)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2709)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2709)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2709)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2709)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3073)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2709)
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:613)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1933)
at android.app.Activity.dispatchTouchEvent(Activity.java:4147)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:559)
at android.view.View.dispatchPointerEvent(View.java:13766)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5824)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5619)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5063)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5116)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5082)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5239)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5090)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5296)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5063)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5116)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5082)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5090)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5063)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7954)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7905)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7859)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:8144)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:233)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:363)
at android.os.Looper.loop(Looper.java:173)
at android.app.ActivityThread.main(ActivityThread.java:8169)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101)
```
Edited log:
```
02-12 21:12:09.963 I/BaseActivity: Starting ConversationActivity
02-12 21:12:09.965 I/BaseActivity: Resuming ConversationActivity
02-12 21:12:10.590 I/AndroidNetworkManager: Received broadcast android.intent.action.SCREEN_ON
```
Crash occurred at 21:12:18.697.
This looks like a RecyclerView bug. Opening a ticket in case we need to upgrade the relevant library.Android 1.4https://code.briarproject.org/briar/website/-/issues/32Public roadmap2021-02-17T01:04:47ZakwizgranPublic roadmapUser feedback: "It would be nice if your web site listed planned versions and added features so users could know what capabilities are in the pipeline."
The closest we currently have is this:
https://code.briarproject.org/briar/briar/w...User feedback: "It would be nice if your web site listed planned versions and added features so users could know what capabilities are in the pipeline."
The closest we currently have is this:
https://code.briarproject.org/briar/briar/wikis/product-backlogCleopatraCleopatrahttps://code.briarproject.org/briar/briar/-/issues/1934Upgrade obfs4proxy to fix meek's certificate pinning2021-02-17T17:15:34ZakwizgranUpgrade obfs4proxy to fix meek's certificate pinningobfs4proxy's meek-lite transport stopped working on 7 December due to a change in the TLS certificate chain of the Azure infrastructure. This will prevent Briar users in China from connecting to Tor, as well as any users in other countri...obfs4proxy's meek-lite transport stopped working on 7 December due to a change in the TLS certificate chain of the Azure infrastructure. This will prevent Briar users in China from connecting to Tor, as well as any users in other countries who are on IPv6-only networks and have bridges enabled.
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/meek/-/issues/40001
https://gitweb.torproject.org/pluggable-transports/obfs4.git/log/
There hasn't been a new obfs4proxy release since the fix was merged, so we'll need to build from master. I suggest we use `0.0.12-dev-<commit ID>` as the version number, as this isn't a snapshot build in the Maven sense (the artifact won't change when changes are made upstream).Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1933Testing new release (test issue)2022-02-25T15:03:13ZSebastianTesting new release (test issue)Briar settings:
Settings > Connections >
- Connect to contact via bluetooth = off
- Connect to contacts on the same wi-fi network = off
- Connect to contacts via internet = on
Device settngs:
- Wi-fi = on
- Bluetooth = off
Scenarios...Briar settings:
Settings > Connections >
- Connect to contact via bluetooth = off
- Connect to contacts on the same wi-fi network = off
- Connect to contacts via internet = on
Device settngs:
- Wi-fi = on
- Bluetooth = off
Scenarios:
1. Both devices online at the same time
- [ ] Use two devices with above settings and exchange their connection codes(send via email, sms, other chat apps etc) using the share button
- [ ] Verify that connection is successfully created and the new contact's name appears on top of the list on Contacts screen. This should happen within seconds if both devices are online.
2. One device online and the other connects later on ( a few hours later)
- [ ] at the bottom of the Contacts screen, there is a message tothe user 'Pending contacts...' and the user can click on Show, which will display the name of the user whose connection is pending.
- [ ] It is possible to delete this pending contact by tapping on the bin icon - delet it
- [ ] recreate contact at a distance in the same way
- [ ] Contact should be created successfully when the contact comes online
3. Recreate the same contact with the same code when the contact is already created
- [ ] there should be a message saying: "is this the same person" and the user can choose Yes or No.
- [ ] If Yes is chosen, no new contact is created. If No, then a new contact is created.
4. Delete an already created contact on one device and re-create it with the same code that was used previously. Used the Copy and Paste buttons underneath each field.
- [ ] Contact should be created successfully
5. Perform copying of code whilst the device is in portrait and pasting whilst device is in landscape. Give the contact name in portrait, then tap Add contact in landscape.
- [ ] Contact should be created successfully
6. Copy and paste the codes (using the popup Paste button), give the new contact a name, and tap Add contact, then immediately - home button. Restart briar from recently used apps.
- [ ] Contact should be created successfully
7. Copy and paste the codes (using the popup Paste button) in landscape, give the new contact a name, and tap Add contact, then immediately - home button. Restart briar from recently used apps in portrait.
- [ ] Contact should be created successfully
8. copy and paste codes for a contact that is not online - so the contact creation remains in Connecting/Waiting for the contact to come online. Repeat for another contact. Then, whilst the first two are 'waiting for the contact to come online', create a third and a fourth contact in the same way.
- [ ] Contact should be created successfully
9. The 'waiting to come online' contacts should time out after certain time.IvanaIvanahttps://code.briarproject.org/briar/briar-gtk/-/issues/98Provide flatpak builds for arm architectures2021-02-16T09:30:56ZNicoProvide flatpak builds for arm architecturesOnce we got https://code.briarproject.org/briar/briar/-/issues/1854 fixed, we can provide flatpak builds for other architectures than x86/linux, too. All we need to do is to ship the correct version of briar-headless in the manifest.
@f...Once we got https://code.briarproject.org/briar/briar/-/issues/1854 fixed, we can provide flatpak builds for other architectures than x86/linux, too. All we need to do is to ship the correct version of briar-headless in the manifest.
@fphemeral found [org.freedesktop.Sdk.Extension.rust-stable](https://github.com/flathub/org.freedesktop.Sdk.Extension.rust-stable/blob/branch/20.08/org.freedesktop.Sdk.Extension.rust-stable.json) as an example of using different sources per architecture.https://code.briarproject.org/briar/briar/-/issues/1932API 28 emulator stalled on "decrypting database..." screen2021-02-16T23:16:46ZSebastianAPI 28 emulator stalled on "decrypting database..." screenI tested the current master on a bunch of devices and emulators.
On API 28 I got the problem that briar does not get past the "decrypting database..." screen after entering the password. When switching back to a different app and then ba...I tested the current master on a bunch of devices and emulators.
On API 28 I got the problem that briar does not get past the "decrypting database..." screen after entering the password. When switching back to a different app and then back to briar, I'm properly logged in and can see the contact list.
Tried to reproduce on other devices, but it only appears on my API 28 emulator. Also tried emulators with levels 23, 24, 29 and 30 as well as real devices with levels 16 and 23. All work fine.
@akwizgran you do have API level 28 devices, maybe you could try and see if the problem can be reproduced there?https://code.briarproject.org/briar/briar/-/issues/1931Add new contact FAB labels not visible in landscape orientation2021-02-11T13:25:47ZIvanaAdd new contact FAB labels not visible in landscape orientationWth your device in landscape orientation
Tap on + to add a contact
The icons for adding contacts at a distance or nearby are visible, but labels are not so user doesn't know what to tap.
The workaround is: use phone in portrait orienta...Wth your device in landscape orientation
Tap on + to add a contact
The icons for adding contacts at a distance or nearby are visible, but labels are not so user doesn't know what to tap.
The workaround is: use phone in portrait orientation, where labels are clearly visible
(Mattermost conversation 11/2/21: perhaps solution is to stack icons vertically?)
Low priority as the contact creation is successful in both landscape and portrait, plus workaround super easy - it's jsut a matter of labels showing/not showing...https://code.briarproject.org/briar/briar/-/issues/1929Scan QR codes from DigiSafeGuard encryption app2021-02-10T15:09:30ZRion OcerusScan QR codes from DigiSafeGuard encryption appThis app could be much more robust, if preparation was made to share, & have shared QR codes from DigiSafe Guard (DSG)from SecuryptoThis app could be much more robust, if preparation was made to share, & have shared QR codes from DigiSafe Guard (DSG)from Securyptohttps://code.briarproject.org/briar/briar/-/issues/1927Make entire crash report/feedback exportable2021-02-08T17:30:19ZakwizgranMake entire crash report/feedback exportableThe crash report/feedback entries are selectable individually but not collectively. A tester asked for them to be selectable/exportable/shareable collectively for easier sending of reports via other means when Tor isn't available.The crash report/feedback entries are selectable individually but not collectively. A tester asked for them to be selectable/exportable/shareable collectively for easier sending of reports via other means when Tor isn't available.