briar issueshttps://code.briarproject.org/briar/briar/-/issues2021-07-14T09:48:19Zhttps://code.briarproject.org/briar/briar/-/issues/2125Disappearing message baloon poins to the previous message2021-07-14T09:48:19ZStoyanDisappearing message baloon poins to the previous messageTake a look at the first image between the first and second blue messages. The balloon explaining the disappearing message is hard to tell to which of the two relates. Moreover the right top corner of the balloon points to the top and vi...Take a look at the first image between the first and second blue messages. The balloon explaining the disappearing message is hard to tell to which of the two relates. Moreover the right top corner of the balloon points to the top and visually message misleading the user (second image shows the message and corresponding balloon selected together).
Balloon preceding the message breaks the visual and logical relation of the elements on screen. As the elements are added from the bottom the logical way to read and comprehend follows suit.
<details><summary>First Image</summary>
![first image](/uploads/249612f236fcd1b04cd8a3af5149ae5b/disappearing-msg.png)
</details>
<details><summary>Second Image</summary>
![second image](/uploads/7d8ff807b74bfdd0cd96c7fc700fe7ec/disappearing-msg.png)
</details>https://code.briarproject.org/briar/briar/-/issues/2124The empty RSS Feed screen differs from others2021-07-23T11:23:23ZStoyanThe empty RSS Feed screen differs from othersThe empty RSS Feed screen has different layout than the other sections of the app. Take for example the Blogs screen. The empty blog screen has large icon in the center with a title underneath and a small description under the title. The...The empty RSS Feed screen has different layout than the other sections of the app. Take for example the Blogs screen. The empty blog screen has large icon in the center with a title underneath and a small description under the title. The RSS Feed empty screen has two rows of text that feels like are not styled at all.https://code.briarproject.org/briar/briar/-/issues/2123Add manual/FAQ entry explaining the relationship revealing2021-10-25T08:28:44ZStoyanAdd manual/FAQ entry explaining the relationship revealingCopying @akwizgran's explanation as summary:
> When a Private Group is created, messages are only synced via the Creator of the group by default. This is done for two reasons: other members of the group may not be contacts, and thus may ...Copying @akwizgran's explanation as summary:
> When a Private Group is created, messages are only synced via the Creator of the group by default. This is done for two reasons: other members of the group may not be contacts, and thus may not be able to sync with each other; or they may be contacts, but may not wish the rest of the group to know that.
If two members of the group carry on a conversation while the creator is offline this reveals that they were syncing the group with each other while the creator was offline, so they must be contacts. Therefore members other than the creator don't sync with each other by default. But if two members want to sync the group between each other and don't mind revealing to the group that they're contacts, they can do this.https://code.briarproject.org/briar/briar/-/issues/2122Add manual/FAQ entry explaining ### colors2022-06-17T13:33:57ZStoyanAdd manual/FAQ entry explaining ### colorsThe three hashes near the contact name in the groups need explanation, whether in the manual or as entry in the FAQ. Related to #1941.The three hashes near the contact name in the groups need explanation, whether in the manual or as entry in the FAQ. Related to #1941.https://code.briarproject.org/briar/briar/-/issues/2121Inconsistency in "add new" button position and icon2021-07-23T11:23:23ZStoyanInconsistency in "add new" button position and icon* Contacts are added with "+" button on bottom right;
* Private groups are added with "+" button on top right;
* Forums are added with "+" button on top right;
* Blogs are added with "pen" button on the top right after the three-dot-menu...* Contacts are added with "+" button on bottom right;
* Private groups are added with "+" button on top right;
* Forums are added with "+" button on top right;
* Blogs are added with "pen" button on the top right after the three-dot-menu. Additionally the "pen" stays when I read (at least my) blogs and I expected taping on it to actually edit the post;
* RSS feeds are added with "+" button on top right.
Unifying the position and symbol of the action will improve the UX.https://code.briarproject.org/briar/briar/-/issues/2120Wrong order of settings items2021-07-23T11:23:23ZStoyanWrong order of settings itemsIn the bottom part of the menu the connection options are ordered like that:
* Internet
* Wi-Fi
* Bluetooth
When you tap on any of them in the presented dialogue they are ordered the same way.
In `Settings > Connections` they are ordered...In the bottom part of the menu the connection options are ordered like that:
* Internet
* Wi-Fi
* Bluetooth
When you tap on any of them in the presented dialogue they are ordered the same way.
In `Settings > Connections` they are ordered differently:
* Bluetooth
* Wi-Fi
* Internet.https://code.briarproject.org/briar/briar/-/issues/2119Optimize user experience after successful install of APK2021-10-21T10:47:04ZSebastianOptimize user experience after successful install of APKCurrently there's not much feedback on the receiver's side that the APK got installed successfully. What actually happens depends on the version of the OS, but its likely the user might just be put back to the browser where they download...Currently there's not much feedback on the receiver's side that the APK got installed successfully. What actually happens depends on the version of the OS, but its likely the user might just be put back to the browser where they downloaded the APK and might wonder if the installation already happened or aborted and try again.https://code.briarproject.org/briar/briar/-/issues/2118Investigate problems when creating WiFi hotspot while connected to some WiFi2021-08-26T10:17:53ZSebastianInvestigate problems when creating WiFi hotspot while connected to some WiFiat least the Galaxy Ace 2 seems to have a problem with thisat least the Galaxy Ace 2 seems to have a problem with thisInstall via Bluetooth or Wi-Fiakwizgranakwizgran2021-07-31https://code.briarproject.org/briar/briar/-/issues/2117Make passwords more user friendly2021-08-04T12:13:59ZSebastianMake passwords more user friendly* Avoid '5' and 'S' which can be hard to distinguish
* Maybe use only digits for the password* Avoid '5' and 'S' which can be hard to distinguish
* Maybe use only digits for the passwordInstall via Bluetooth or Wi-FiTorsten GroteTorsten Grote2021-07-31https://code.briarproject.org/briar/briar/-/issues/2116Larger view of profile picture2021-07-12T11:32:41ZakwizgranLarger view of profile pictureUser feedback: "Please add ability to view the profile picture in large mode when tapping on the icon."User feedback: "Please add ability to view the profile picture in large mode when tapping on the icon."https://code.briarproject.org/briar/briar/-/issues/2115Shorter timer for disappearing messages2022-03-07T12:43:29ZakwizgranShorter timer for disappearing messagesA couple of users asked for the option to set a shorter timer for disappearing messages.A couple of users asked for the option to set a shorter timer for disappearing messages.https://code.briarproject.org/briar/briar/-/issues/2113Tapping send button twice sends duplicate message2022-05-16T19:53:43ZakwizgranTapping send button twice sends duplicate message* Android version: 11
* Phone model: Pixel 3a (aosp_sargo)
* Briar version: 1.3.4 (76b7e6f)
* User feedback: "When I hit send twice it double sent the same message."
Log snippet:
```
05-31 23:06:14.209 I/BaseActivity: Starting Conversat...* Android version: 11
* Phone model: Pixel 3a (aosp_sargo)
* Briar version: 1.3.4 (76b7e6f)
* User feedback: "When I hit send twice it double sent the same message."
Log snippet:
```
05-31 23:06:14.209 I/BaseActivity: Starting ConversationActivity
05-31 23:06:14.211 I/BaseActivity: Resuming ConversationActivity
05-31 23:06:14.676 I/BaseActivity: Stopping NavDrawerActivity
05-31 23:06:16.966 I/ConversationActivity: Eagerly loading text for latest message
05-31 23:06:28.283 I/DuplexOutgoingSession: Sending keepalive
05-31 23:06:38.292 I/DuplexOutgoingSession: Sending keepalive
05-31 23:06:43.774 I/AutoDeleteManagerImpl: Sending message with auto-delete timer -1
05-31 23:06:44.370 I/DuplexOutgoingSession: Generated offer: false
05-31 23:06:44.389 I/DuplexOutgoingSession: Next send time decreased
05-31 23:06:44.405 I/DuplexOutgoingSession: Generated offer: true
05-31 23:06:44.405 I/DuplexOutgoingSession: Sent offer
05-31 23:06:44.424 I/DuplexOutgoingSession: Generated offer: false
05-31 23:06:45.299 I/DuplexOutgoingSession: Generated batch: true
05-31 23:06:45.299 I/ConversationActivity: Messages sent
05-31 23:06:45.299 I/DuplexOutgoingSession: Sent batch
05-31 23:06:45.317 I/DuplexOutgoingSession: Generated batch: false
05-31 23:06:46.268 I/ConversationActivity: Messages acked
05-31 23:06:58.284 I/DuplexOutgoingSession: Sending keepalive
05-31 23:07:01.226 I/AutoDeleteManagerImpl: Sending message with auto-delete timer -1
05-31 23:07:03.058 I/AutoDeleteManagerImpl: Sending message with auto-delete timer -1
05-31 23:07:03.119 I/DuplexOutgoingSession: Generated offer: false
05-31 23:07:03.159 I/DuplexOutgoingSession: Generated offer: true
05-31 23:07:03.159 I/DuplexOutgoingSession: Sent offer
05-31 23:07:03.181 I/DuplexOutgoingSession: Generated offer: false
05-31 23:07:03.229 I/DuplexOutgoingSession: Generated offer: false
05-31 23:07:04.144 I/DuplexOutgoingSession: Generated batch: true
05-31 23:07:04.144 I/ConversationActivity: Messages sent
05-31 23:07:04.144 I/DuplexOutgoingSession: Sent batch
05-31 23:07:04.163 I/DuplexOutgoingSession: Generated batch: false
05-31 23:07:04.915 I/ConversationActivity: Messages acked
```
Earlier in the log, `Trim memory: running critically low` is logged several times, so the phone may be responding slower than usual.https://code.briarproject.org/briar/briar/-/issues/2111Hidden conversations2021-07-12T11:17:21ZakwizgranHidden conversationsA user asked for hidden conversations that aren't shown in the contact list unless a PIN is entered. Apparently Viber has this feature.A user asked for hidden conversations that aren't shown in the contact list unless a PIN is entered. Apparently Viber has this feature.https://code.briarproject.org/briar/briar/-/issues/2110Links to blogs and forums2021-07-12T10:35:28ZakwizgranLinks to blogs and forumsA user asked for the ability to share a link to a forum or blog. This would be difficult to support in the current architecture, but as usual I'm recording the request so we can understand the gaps between what we've built and what users...A user asked for the ability to share a link to a forum or blog. This would be difficult to support in the current architecture, but as usual I'm recording the request so we can understand the gaps between what we've built and what users would like us to build.https://code.briarproject.org/briar/briar/-/issues/2109AssertionError in RssFeedViewModel2021-08-27T11:44:00ZakwizgranAssertionError in RssFeedViewModel* Android version: 10
* Phone model: Xiaomi M2007J17G (gauguin_eea)
* Briar version: 1.3.5 (0040753)
Stacktrace:
```
java.lang.AssertionError
at org.briarproject.briar.android.blog.RssFeedViewModel.retryImportFeed(RssFeedViewMod...* Android version: 10
* Phone model: Xiaomi M2007J17G (gauguin_eea)
* Briar version: 1.3.5 (0040753)
Stacktrace:
```
java.lang.AssertionError
at org.briarproject.briar.android.blog.RssFeedViewModel.retryImportFeed(RssFeedViewModel.java:164)
at org.briarproject.briar.android.blog.RssFeedImportFailedDialogFragment.lambda$onCreateDialog$0(RssFeedImportFailedDialogFragment.java:49)
at org.briarproject.briar.android.blog.RssFeedImportFailedDialogFragment.lambda$onCreateDialog$0$RssFeedImportFailedDialogFragment(Unknown Source:0)
at org.briarproject.briar.android.blog.-$$Lambda$RssFeedImportFailedDialogFragment$pu5aDqHpggPx9uh0wirjeVhuMbA.onClick(Unknown Source:2)
at androidx.appcompat.app.AlertController$ButtonHandler.handleMessage(AlertController.java:167)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7574)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
```
Edited log:
```
07-09 09:10:45.890 I/IdentityManagerImpl: Identity loaded
07-09 09:10:45.893 I/LifecycleManagerImpl: Starting services
07-09 09:10:45.895 I/CleanupManagerImpl: Scheduling cleanup task in 1000 ms
07-09 09:10:45.917 I/PluginManagerImpl: Starting simplex plugins
07-09 09:10:45.917 I/PluginManagerImpl: Starting duplex plugins
07-09 09:10:45.963 I/BaseActivity: Pausing StartupActivity
07-09 09:10:45.976 I/BriarActivity: Recreating RssFeedActivity after signing in
07-09 09:10:45.979 I/BaseActivity: Starting RssFeedActivity
07-09 09:10:46.058 I/BaseActivity: Resuming RssFeedActivity
07-09 09:10:46.107 I/BaseActivity: Pausing RssFeedActivity
07-09 09:10:46.110 I/BaseActivity: Stopping RssFeedActivity
07-09 09:10:46.131 I/BaseActivity: Destroying RssFeedActivity
07-09 09:10:46.153 I/BaseActivity: Creating RssFeedActivity
07-09 09:10:46.194 I/BaseActivity: Starting RssFeedActivity
07-09 09:10:46.199 I/BaseActivity: Resuming RssFeedActivity
07-09 09:10:46.558 I/BaseActivity: Stopping StartupActivity
07-09 09:10:46.559 I/BaseActivity: Destroying StartupActivity
```Android 1.3IvanaIvanahttps://code.briarproject.org/briar/briar/-/issues/2108IllegalArgumentException when resuming NavDrawerActivity after signing in2021-11-04T11:03:26ZakwizgranIllegalArgumentException when resuming NavDrawerActivity after signing in* Briar version: 1.3.5
* User feedback: "I just updated Briar and tried to sign in again."
Stacktrace:
```
java.lang.IllegalArgumentException
at android.os.Parcel.createException(Parcel.java:1954)
at android.os.Parcel.re...* Briar version: 1.3.5
* User feedback: "I just updated Briar and tried to sign in again."
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.view.IWindowSession$Stub$Proxy.addToDisplay(IWindowSession.java:826)
at android.view.ViewRootImpl.setView(ViewRootImpl.java:758)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:356)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:93)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3906)
at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:51)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816)
at android.os.Handler.dispatchMessage(Handler.java:106)
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)
```
Edited log:
```
07-06 13:21:56.622 I/BriarApplicationImpl: Created
07-06 13:21:56.687 I/AccountManagerImpl: Found database key in primary file
07-06 13:26:24.732 I/BaseActivity: Creating SplashScreenActivity
07-06 13:26:24.750 I/BaseActivity: Starting SplashScreenActivity
07-06 13:26:24.751 I/BaseActivity: Resuming SplashScreenActivity
07-06 13:26:25.270 I/BaseActivity: Pausing SplashScreenActivity
07-06 13:26:25.281 I/BaseActivity: Creating NavDrawerActivity
07-06 13:26:25.341 I/BaseActivity: Starting NavDrawerActivity
07-06 13:26:25.342 I/BaseActivity: Resuming NavDrawerActivity
07-06 13:26:25.342 I/BriarActivity: Not signed in, launching StartupActivity
07-06 13:26:25.349 I/BaseActivity: Pausing NavDrawerActivity
07-06 13:26:25.356 I/BaseActivity: Creating StartupActivity
07-06 13:26:25.363 I/AccountManagerImpl: Found database key in primary file
07-06 13:26:25.365 I/BaseActivity: Starting StartupActivity
07-06 13:26:25.416 I/BaseActivity: Resuming StartupActivity
07-06 13:26:25.937 I/BaseActivity: Stopping NavDrawerActivity
07-06 13:26:25.948 I/BaseActivity: Stopping SplashScreenActivity
07-06 13:26:25.950 I/BaseActivity: Destroying SplashScreenActivity
07-06 13:26:33.878 I/AccountManagerImpl: Found database key in primary file
07-06 13:26:34.876 I/AndroidKeyStrengthener: Loaded key from keystore
07-06 13:26:34.909 I/BriarService: Created
07-06 13:26:34.947 I/LifecycleManagerImpl: Opening database
07-06 13:26:34.951 I/H2Database: Reopening DB: true
07-06 13:26:35.791 I/IdentityManagerImpl: Identity loaded
07-06 13:26:35.800 I/LifecycleManagerImpl: Starting services
07-06 13:26:35.801 I/CleanupManagerImpl: Scheduling cleanup task in 1000 ms
07-06 13:26:35.804 I/AndroidNetworkManager: Received broadcast android.net.conn.CONNECTIVITY_CHANGE
07-06 13:26:35.804 I/AndroidNetworkManager: Received broadcast android.net.wifi.p2p.THIS_DEVICE_CHANGED
07-06 13:26:35.933 I/PluginManagerImpl: Starting simplex plugins
07-06 13:26:35.933 I/PluginManagerImpl: Starting duplex plugins
07-06 13:26:35.939 I/PluginManagerImpl: org.briarproject.bramble.bluetooth changed from state STARTING_STOPPING to DISABLED
07-06 13:26:35.939 I/PluginViewModel: TransportStateEvent: org.briarproject.bramble.bluetooth is DISABLED
07-06 13:26:35.956 I/AbstractBluetoothPlugin: Local address null
07-06 13:26:35.959 I/BaseActivity: Pausing StartupActivity
07-06 13:26:35.964 I/BriarActivity: Recreating NavDrawerActivity after signing in
07-06 13:26:35.966 I/BaseActivity: Starting NavDrawerActivity
07-06 13:26:35.967 I/BaseActivity: Resuming NavDrawerActivity
```Android 1.4https://code.briarproject.org/briar/briar/-/issues/2107IndexOutOfBoundsException in RecyclerView, probably in ConversationActivity2021-11-04T11:03:26ZakwizgranIndexOutOfBoundsException in RecyclerView, probably in ConversationActivity* Android version: 9
* Phone model: Xiaomi Mi Note 3 (jason)
* Briar version: 1.3.5 (0040753)
Stacktrace:
```
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.get(ArrayList.java:437)
at andro...* Android version: 9
* Phone model: Xiaomi Mi Note 3 (jason)
* Briar version: 1.3.5 (0040753)
Stacktrace:
```
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.get(ArrayList.java:437)
at androidx.recyclerview.widget.StaggeredGridLayoutManager$Span.calculateCachedStart(StaggeredGridLayoutManager.java:2531)
at androidx.recyclerview.widget.StaggeredGridLayoutManager$Span.getStartLine(StaggeredGridLayoutManager.java:2548)
at androidx.recyclerview.widget.StaggeredGridLayoutManager.checkSpanForGap(StaggeredGridLayoutManager.java:410)
at androidx.recyclerview.widget.StaggeredGridLayoutManager.hasGapsToFix(StaggeredGridLayoutManager.java:359)
at androidx.recyclerview.widget.StaggeredGridLayoutManager.checkForGaps(StaggeredGridLayoutManager.java:282)
at androidx.recyclerview.widget.StaggeredGridLayoutManager.onScrollStateChanged(StaggeredGridLayoutManager.java:317)
at androidx.recyclerview.widget.RecyclerView.dispatchOnScrollStateChanged(RecyclerView.java:5197)
at androidx.recyclerview.widget.RecyclerView.setScrollState(RecyclerView.java:1550)
at androidx.recyclerview.widget.RecyclerView.cancelScroll(RecyclerView.java:3444)
at androidx.recyclerview.widget.RecyclerView.onTouchEvent(RecyclerView.java:3422)
at android.view.View.dispatchTouchEvent(View.java:12527)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3000)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2705)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3002)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3002)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3002)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3054)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3032)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:444)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1830)
at android.app.Activity.dispatchTouchEvent(Activity.java:3465)
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:402)
at android.view.View.dispatchPointerEvent(View.java:12768)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5303)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5103)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4618)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4671)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4637)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4777)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4645)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4834)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4618)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4671)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4637)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4645)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4618)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7346)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7315)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7276)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7452)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:250)
at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:212)
at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:7420)
at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:7475)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1089)
at android.view.Choreographer.doCallbacks(Choreographer.java:885)
at android.view.Choreographer.doFrame(Choreographer.java:810)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1075)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6821)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
```
Last lines of log:
```
07-03 07:25:33.246 I/AutoDeleteManagerImpl: Sending message with auto-delete timer 604800000
07-03 07:25:33.316 I/DuplexOutgoingSession: Generated offer: true
07-03 07:25:33.316 I/DuplexOutgoingSession: Sent offer
07-03 07:25:33.323 I/DuplexOutgoingSession: Generated offer: false
07-03 07:25:33.880 I/DuplexOutgoingSession: Generated batch: true
07-03 07:25:33.880 I/ConversationActivity: Messages sent
07-03 07:25:33.880 I/DuplexOutgoingSession: Sent batch
07-03 07:25:33.886 I/DuplexOutgoingSession: Generated batch: false
07-03 07:25:33.993 I/ConversationActivity: Messages acked
```Android 1.4https://code.briarproject.org/briar/briar/-/issues/2106Allow deleting of profile picture2021-07-12T11:31:19ZBen ArmsteadAllow deleting of profile pictureOnce a profile picture is selected, there is no way to delete it, it can only be replaced.
I propose there be a way to remove the profile picture, which when executed, reverts the profile picture to the random pixels image which is disp...Once a profile picture is selected, there is no way to delete it, it can only be replaced.
I propose there be a way to remove the profile picture, which when executed, reverts the profile picture to the random pixels image which is displayed before the user initially selects an image.
Thanks for all your great work on briar.
Apologies if there is a way to do it which I am not aware of or if it is in the works.https://code.briarproject.org/briar/briar/-/issues/2105Let contacts know if removable drive transport isn't supported2021-09-02T12:26:52ZakwizgranLet contacts know if removable drive transport isn't supportedAndroid devices running API < 19 where the removable drive feature isn't supported should let their contacts know that the feature isn't supported. This could be done by not configuring the plugin on API < 19, so no transport properties ...Android devices running API < 19 where the removable drive feature isn't supported should let their contacts know that the feature isn't supported. This could be done by not configuring the plugin on API < 19, so no transport properties will be sent.
A nicer but more complex solution would be to send different transport properties on API < 19 (supported = false), so the contact's device knows that we're running a Briar version that's aware of the transport, but our device doesn't support it, and thus the contact's UI can show an appropriate message.
Subtask of #1802.Transfer content securely via SD cards and USB memory sticksIvanaIvana2021-07-31https://code.briarproject.org/briar/briar/-/issues/2104Show startup failure activity immediately instead of showing a notification2021-07-28T10:11:31ZakwizgranShow startup failure activity immediately instead of showing a notificationWhen testing #2061 we found that the startup failure notification wasn't very noticeable, so it appeared that the app had just closed itself. Let's show the startup failure activity immediately and skip the notification.When testing #2061 we found that the startup failure notification wasn't very noticeable, so it appeared that the app had just closed itself. Let's show the startup failure activity immediately and skip the notification.Transfer content securely via SD cards and USB memory sticksIvanaIvana2021-07-31