briar issueshttps://code.briarproject.org/briar/briar/-/issues2023-09-14T12:20:44Zhttps://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/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.https://code.briarproject.org/briar/briar/-/issues/1925More config options for metered connection/mobile data2021-02-16T23:17:23ZJens KorteMore config options for metered connection/mobile dataAndroid distinguishes between metered and non-metered connections. It could be useful, if users can decide, when to connect to the tor-network. The mobile option is a similar option.
~~Does an option like "connect once per hour until al...Android distinguishes between metered and non-metered connections. It could be useful, if users can decide, when to connect to the tor-network. The mobile option is a similar option.
~~Does an option like "connect once per hour until all messages are received" or "disconnect after fetching all messages" make sense? An extreme way to configure this would be to offer an repeating event configuration like a calendar software, but I am unsure, if this would be a privacy related issue, because the connections could get predictable. On the other hand this could save bandwidth and battery, if people would agree upon connect every beginning of an hour for some minutes.~~ see #1588
Original issue: https://code.briarproject.org/briar/briar-manual/-/issues/7https://code.briarproject.org/briar/briar/-/issues/1924After switching language, "sign out" dialog button doesn't appear to work2021-11-04T11:03:24ZakwizgranAfter switching language, "sign out" dialog button doesn't appear to workAfter changing the app language in the Briar settings screen, a dialog is shown prompting the user to sign out. On the Samsung Galaxy Ace 2 (Android 4.1.2) the "sign out" button dismisses the dialog and brings the contact list to the for...After changing the app language in the Briar settings screen, a dialog is shown prompting the user to sign out. On the Samsung Galaxy Ace 2 (Android 4.1.2) the "sign out" button dismisses the dialog and brings the contact list to the foreground. The UI remains visible and usable for about 15 seconds and then disappears when sign out completes.
Ideally the UI should be hidden immediately and if the app's relaunched it should show the "signing out" fragment, as happens when the "sign out" menu option is used.Android 1.4SebastianSebastianhttps://code.briarproject.org/briar/briar/-/issues/1923Mailing list migration2021-02-16T23:06:44ZsysterMailing list migrationMailing list migration:
For the reasons:
https://code.briarproject.org/briar/briar/-/issues/988
https://code.briarproject.org/briar/briar/-/issues/1741
"_sourceforge doesn't give us access to the subscriptions_"
migration is bet...Mailing list migration:
For the reasons:
https://code.briarproject.org/briar/briar/-/issues/988
https://code.briarproject.org/briar/briar/-/issues/1741
"_sourceforge doesn't give us access to the subscriptions_"
migration is better done soonish, then later.
-----------------------------------------------------------
**Solution 1:**
Creating new lists and announcing them. Letting the old lists run for 1 year or something and regular invite folks to join the new lists.
**Solution 2:**
There is access to subscribers email pre-2017. They can be migrated to new service and sending them an email asking for confirmation. Sending announcement via sourceforge to all, that there's a new email list. There is no option that pre-2017 subscribers won't receive that same email, even if they're already part of the new list. Potential legal issue: Do you have the consent, that allows you to switch the pre-2017 subscribers to new service?
**Solution 3:**
?
Concern:
- discussion in devel list will be split between 2 lists until everyone participating switched to the new one, or if this issue is mitigated by bridging the lists (could be as simple as coping the digest of the daily mails into the other list with a link to read them in the browser)https://code.briarproject.org/briar/briar/-/issues/1920Change Password 'Done' IME action button doesn't complete flow2021-02-03T14:09:31ZIvanaChange Password 'Done' IME action button doesn't complete flowThis is a very small issue in that when that user types up a new password, and taps Done on the keyboard, the keybaoard itself is dismissed, the the page remains disaplayed, as thought eh workflow is not complete. Only when the user tap...This is a very small issue in that when that user types up a new password, and taps Done on the keyboard, the keybaoard itself is dismissed, the the page remains disaplayed, as thought eh workflow is not complete. Only when the user taps on Change password button the screen is dismissed and the next one shows.
This is really only a very small annoyance to the user - so ... ti fix or not to fix will be a decision based on project priorities.![device-2021-02-03-142650](/uploads/ea69b203021c4b46419e86db1e156b78/device-2021-02-03-142650.mp4)https://code.briarproject.org/briar/briar/-/issues/1918Onion address collision when adding contact2021-02-03T12:37:49ZakwizgranOnion address collision when adding contact* Android version: 10
* Phone model: Samsung SM-A107F (a10sxx)
* Briar version: 1.2.13 (5fdc7e7)
* User feedback: "Unfortunately, I could not connect to my friend. It didn't work. I could not understand the problem."
Log snippet:
```
02...* Android version: 10
* Phone model: Samsung SM-A107F (a10sxx)
* Briar version: 1.2.13 (5fdc7e7)
* User feedback: "Unfortunately, I could not connect to my friend. It didn't work. I could not understand the problem."
Log snippet:
```
02-03 11:37:17.631 I/PluginManagerImpl: org.briarproject.bramble.tor changed from state ENABLING to ACTIVE
02-03 11:37:17.631 I/TorPlugin: First circuit built
02-03 11:37:17.631 I/PluginViewModel: TransportStateEvent: org.briarproject.bramble.tor is ACTIVE
02-03 11:37:17.640 I/AndroidTaskScheduler: Running 1 due tasks
02-03 11:37:17.640 I/AndroidTaskScheduler: Task is 0 ms overdue
02-03 11:37:17.642 I/PollerImpl: Polling plugin org.briarproject.bramble.tor
02-03 11:37:17.643 I/ConnectionRegistryImpl: 0 contacts connected or better: org.briarproject.bramble.tor
02-03 11:37:17.688 I/TorPlugin: WARN tor_bug_occurred_(): Bug: src/feature/hs/hs_service.c:3603: hs_servic
e_add_ephemeral: Non-fatal assertion !(register_service(hs_service_map, service) < 0) failed. (on Tor 0.3.5.12 a0b827eb5b50aa81)
02-03 11:37:17.689 I/TorPlugin: WARN Bug: Tor 0.3.5.12 (git-a0b827eb5b50aa81): Non-fatal assertion !(register_service(hs_service_map, service) < 0) failed in hs_service_add_ephemeral at src/feature/hs/hs_service.c:3603. (Stack trace not available) (on Tor 0.3.5.12 a0b827eb5b50aa81)
02-03 11:37:17.689 I/TorPlugin: WARN Onion Service private key collides with an existing v3 service.
02-03 11:37:17.689 W/TorPlugin: net.freehaven.tor.control.TorControlError: Error reply: Onion address collision
net.freehaven.tor.control.TorControlError: Error reply: Onion address collision
at net.freehaven.tor.control.TorControlConnection.sendAndWaitForResponse(TorControlConnection.java:204)
at net.freehaven.tor.control.TorControlConnection.addOnion(TorControlConnection.java:837)
at net.freehaven.tor.control.TorControlConnection.addOnion(TorControlConnection.java:786)
at org.briarproject.bramble.plugin.tor.TorPlugin.createRendezvousEndpoint(TorPlugin.java:751)
at org.briarproject.bramble.rendezvous.RendezvousPollerImpl.createEndpoint(RendezvousPollerImpl.java:213)
at org.briarproject.bramble.rendezvous.RendezvousPollerImpl.addTransport(RendezvousPollerImpl.java:350)
at org.briarproject.bramble.rendezvous.RendezvousPollerImpl.lambda$addTransportAsync$5(RendezvousPollerImpl.java:339)
at org.briarproject.bramble.rendezvous.RendezvousPollerImpl.lambda$addTransportAsync$5$RendezvousPollerImpl(Unknown Source:0)
at org.briarproject.bramble.rendezvous.-$$Lambda$RendezvousPollerImpl$h19OH8Qm1qYh76tkmxUCO9U4dzc.run(Unknown Source:4)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0(PoliteExecutor.java:57)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0$PoliteExecutor(Unknown Source:0)
at org.briarproject.bramble.-$$Lambda$PoliteExecutor$wSvuPL6t_HUoaaqCVexrhJX_RSg.run(Unknown Source:6)
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)
```https://code.briarproject.org/briar/briar/-/issues/1916Remove locking from MessageTreeImpl and mark the interface @UiThread2021-04-30T13:35:41ZakwizgranRemove locking from MessageTreeImpl and mark the interface @UiThreadSubtask of #1823.Subtask of #1823.https://code.briarproject.org/briar/briar/-/issues/1915Optimise ConnectionRegistry calls in SharingControllerImpl2021-04-30T13:35:47ZakwizgranOptimise ConnectionRegistry calls in SharingControllerImplSubtask of #1823.Subtask of #1823.https://code.briarproject.org/briar/briar/-/issues/1911Emoji Input does not work on LG-P875H (Android 4.4)2021-05-31T13:41:01ZTorsten GroteEmoji Input does not work on LG-P875H (Android 4.4)Clicking the emoji icon brings up the normal keyboard. The icon stays emoji. When clicking it again, it turns into a keyboard icon, but the keyboard itself is still shown without change.
Running Android 4.1.2Clicking the emoji icon brings up the normal keyboard. The icon stays emoji. When clicking it again, it turns into a keyboard icon, but the keyboard itself is still shown without change.
Running Android 4.1.2https://code.briarproject.org/briar/briar/-/issues/1909When adding contact at distance, remind that both users need to send link2023-02-23T10:17:39ZIvanaWhen adding contact at distance, remind that both users need to send linkAs a new briar user, Ivana didn't find clear how to connect to other users via internet. These are the points that came up during the walk-through..
When a phone has no access to internet, or wifi, and the briar user select to add a co...As a new briar user, Ivana didn't find clear how to connect to other users via internet. These are the points that came up during the walk-through..
When a phone has no access to internet, or wifi, and the briar user select to add a contact, via 'at a distance' option, they are not warned about absence of internet connection...
- Should there be a message to the user that they are not connected to internet, therefore cannot use the 'connect at a distance option'?
- A sender then sends the code to a contacg via SMS.
- The recipient receives the code in an SMS and retrieves it (using copy/paste of the android phone - which to this user was not immediately clear as they were not familiar with copy/paste facility of the android phones
- The recipient then briar application, add new contact page, and pastes this code into the field provided.
(To a new user who receives a code with no explanation what to do with it, it may not be clear what it is for? this presuposes some familiarity with briar app)
- Then the user taps 'continue button'. What happens next is that they get the next screen where they are given a little green 'tick' that everything was correct, and they are asked to enter a nickname for their new contact.
- However, at this point, the recipient did not send their own code back to the the person who invited them. So alhough they are given the OK by the app, this new contact (on the recipient's phone) stays in the 'connecting', or 'waiting for the contact to come online'..; and nothign else happens.
- Of course the connection cannot be established because the first user (sender) did not receive their firend's (recipient's) code at this point.
Ther was a talk on mattermost about how this could be handled in a way that guides the recipient a bit more, so that connection is actually achieved.
Suggestions made were:
- popup box before the receiving user clicks on 'Continue' - that would remind them to send their code to the person who invited them. But this wqs thought to be quite annoying to the more experienced users - hving to dismiss this popup. To get around this annoyance, they could select, maybe, a checkbox that says: 'do not show this info again'.
- another suggestion was to include a little checkbox before enabling the continue button (like the checkboxes included in webpaged to signal that the user accepts the terms and conditions). It could say something like 'I sent my own code to the person who send me their own' or whatever makes more sense; This could be easy to use for experienced users, as it woudl just be a checkbox ont he screen, but for newbies, it would be guidance to follow the propoer procedure to establish a connection.
-https://code.briarproject.org/briar/briar/-/issues/1907Identical messages are treated as duplicates2021-01-19T12:38:48ZakwizgranIdentical messages are treated as duplicatesUnder unlikely circumstances, different devices may create identical messages. If a device receives a message that's identical to one it created, it will treat it as a redundant copy of its own message.
We could prevent this by includin...Under unlikely circumstances, different devices may create identical messages. If a device receives a message that's identical to one it created, it will treat it as a redundant copy of its own message.
We could prevent this by including salt in each message at the client layer or the sync layer.https://code.briarproject.org/briar/briar/-/issues/1906Make app less visible.2021-01-18T22:50:15ZVladislavMake app less visible.If it is possible to have an option, or another version of briar, that would be less visible in androd launcher.
So, in case, someone get acces to your phone, he will not find there secured messenger app, and will not insult you to logi...If it is possible to have an option, or another version of briar, that would be less visible in androd launcher.
So, in case, someone get acces to your phone, he will not find there secured messenger app, and will not insult you to login.
For example: Traccar android client app '''
In addition to standard version available on the Google Play, Traccar Client for Android comes in a special hidden version. It includes modifications to make the app less visible to the phone's owner. Name is changed from "Traccar Client" to "Device Settings". Default Android settings icon is used as an app icon. After first start, the app removes itself from the launcher on older versions of Android. To open it again dial 8722227 (TRACCAR).'''https://code.briarproject.org/briar/briar/-/issues/1903IllegalArgumentException when opening forum2021-11-04T11:03:23ZakwizgranIllegalArgumentException when opening forum* Android version: 9
* Phone model: OnePlus ONE A2003 (lineage_oneplus2)
* Briar version: 1.2.7 (eb562f8)
Stacktrace:
```
java.lang.IllegalArgumentException
at android.os.Parcel.createException(Parcel.java:1954)
at andro...* Android version: 9
* Phone model: OnePlus ONE A2003 (lineage_oneplus2)
* Briar version: 1.2.7 (eb562f8)
Stacktrace:
```
java.lang.IllegalArgumentException
at android.os.Parcel.createException(Parcel.java:1954)
at android.os.Parcel.readException(Parcel.java:1918)
at android.os.Parcel.readException(Parcel.java:1868)
at android.app.IActivityManager$Stub$Proxy.startActivity(IActivityManager.java:3756)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1669)
at android.app.Activity.startActivityForResult(Activity.java:4587)
at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:676)
at android.app.Activity.startActivityForResult(Activity.java:4545)
at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:663)
at android.app.Activity.startActivity(Activity.java:4906)
at android.app.Activity.startActivity(Activity.java:4874)
at org.briarproject.briar.android.forum.ForumListAdapter.lambda$onBindViewHolder$0$ForumListAdapter(ForumListAdapter.java:77)
at org.briarproject.briar.android.forum.-$$Lambda$ForumListAdapter$kAL6Ao0lW0KDG5V1g1qgxdCGy3I.onClick(Unknown Source:4)
at android.view.View.performClick(View.java:6597)
at android.view.View.performClickInternal(View.java:6574)
at android.view.View.access$3100(View.java:778)
at android.view.View$PerformClick.run(View.java:25906)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6718)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: android.os.RemoteException: Remote stack trace:
at android.view.SurfaceControl.nativeCreate(Native Method)
at android.view.SurfaceControl.<init>(SurfaceControl.java:630)
at android.view.SurfaceControl.<init>(SurfaceControl.java:60)
at android.view.SurfaceControl$Builder.build(SurfaceControl.java:386)
at com.android.server.wm.WindowContainer.onParentSet(WindowContainer.java:184)
android.os.RemoteException: Remote stack trace:
at android.view.SurfaceControl.nativeCreate(Native Method)
at android.view.SurfaceControl.<init>(SurfaceControl.java:630)
at android.view.SurfaceControl.<init>(SurfaceControl.java:60)
at android.view.SurfaceControl$Builder.build(SurfaceControl.java:386)
at com.android.server.wm.WindowContainer.onParentSet(WindowContainer.java:184)
```
Edited log:
```
05-12 17:27:04.042 I/BaseActivity: Starting ForumActivity
05-12 17:27:04.091 I/ThreadListControllerImpl: Loaded last top visible message id MessageId(BF612DC59E492610586538167B84439EF006DC1023B5657A39A8C209E7547F5D)
05-12 17:27:05.922 I/ThreadScrollListener: Updating unread count: top=0 bottom=0
05-12 17:27:05.932 I/ThreadScrollListener: Updating unread count: top=0 bottom=0
05-12 17:27:06.895 I/BaseActivity: Starting NavDrawerActivity
05-12 17:27:07.458 I/BaseActivity: Stopping ForumActivity
05-12 17:27:30.902 I/BasePostFragment: Adding Handler Callback
05-12 17:27:30.903 I/BaseControllerImpl: Loaded header from cache
05-12 17:27:30.903 I/BaseControllerImpl: Loaded text from cache
05-12 17:28:03.454 I/BasePostFragment: Removing Handler Callback
05-12 17:28:12.397 I/BasePostFragment: Adding Handler Callback
05-12 17:28:12.397 I/BaseControllerImpl: Loaded header from cache
05-12 17:28:12.397 I/BaseControllerImpl: Loaded text from cache
05-12 17:28:13.457 I/BasePostFragment: Removing Handler Callback
05-12 17:28:23.866 I/BaseActivity: Stopping NavDrawerActivity
05-12 17:28:51.251 I/BaseActivity: Starting NavDrawerActivity
```
The crash happens when calling startActivity() to open ForumActivity. The extras are the group ID and forum name.
Note: on current master this call has moved to ForumViewHolder.Android 1.4https://code.briarproject.org/briar/briar/-/issues/1902TransactionTooLargeException when writing very long private message2021-01-13T14:35:36ZakwizgranTransactionTooLargeException when writing very long private message* Android version: 9
* Phone model: Motorola Moto Z3 Play (beckham)
* Briar version: 1.2.7 (eb562f8)
* User feedback: "I wanted to send a text that was too long."
Stacktrace:
```
java.lang.RuntimeException: android.os.TransactionTooLarg...* Android version: 9
* Phone model: Motorola Moto Z3 Play (beckham)
* Briar version: 1.2.7 (eb562f8)
* User feedback: "I wanted to send a text that was too long."
Stacktrace:
```
java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 4025580 bytes
at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:160)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6923)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:870)
Caused by: android.os.TransactionTooLargeException: data parcel size 4025580 bytes
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(Binder.java:1138)
at android.app.IActivityManager$Stub$Proxy.activityStopped(IActivityManager.java:3964)
at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:144)
... 7 more
android.os.TransactionTooLargeException: data parcel size 4025580 bytes
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(Binder.java:1138)
at android.app.IActivityManager$Stub$Proxy.activityStopped(IActivityManager.java:3964)
at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:144)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6923)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:870)
```
Edited log:
```
11-09 19:33:43.995 I/BriarActivity: Recreating NavDrawerActivity after signing in
11-09 19:33:44.001 I/BaseActivity: Starting NavDrawerActivity
11-09 19:33:44.029 I/BaseActivity: Stopping NavDrawerActivity
11-09 19:33:44.156 I/BaseActivity: Starting NavDrawerActivity
11-09 19:33:44.843 I/BaseActivity: Stopping StartupActivity
11-09 19:33:44.988 I/AccountManagerImpl: Found database key in primary file
11-09 19:33:47.541 I/BaseActivity: Starting ConversationActivity
11-09 19:33:47.714 I/ConversationActivity: Eagerly loading text for latest message
11-09 19:33:48.270 I/BaseActivity: Stopping NavDrawerActivity
11-09 19:33:59.358 I/BaseActivity: Stopping ConversationActivity
11-09 19:34:39.957 I/BaseActivity: Starting ConversationActivity
11-09 19:34:48.386 I/BaseActivity: Starting NavDrawerActivity
11-09 19:34:49.305 I/BaseActivity: Stopping ConversationActivity
11-09 19:34:50.934 I/ContactListFragment: Conversation message received, updating item
11-09 19:34:51.020 I/ContactListFragment: Conversation message received, updating item
11-09 19:34:51.116 I/ContactListFragment: Conversation message received, updating item
11-09 19:34:51.215 I/ContactListFragment: Conversation message received, updating item
11-09 19:34:57.231 I/BaseActivity: Starting ConversationActivity
11-09 19:34:57.374 I/ConversationActivity: Eagerly loading text for latest message
11-09 19:34:57.675 I/BaseActivity: Stopping NavDrawerActivity
11-09 19:35:11.617 I/BaseActivity: Stopping ConversationActivity
11-09 19:35:39.537 I/BaseActivity: Starting ConversationActivity
11-09 19:37:15.534 I/BaseActivity: Stopping ConversationActivity
```
Looks like there was 4 MB of text in the text field, and when the activity was stopped it tried to serialise its state.