briar issueshttps://code.briarproject.org/briar/briar/-/issues2021-02-17T01:04:48Zhttps://code.briarproject.org/briar/briar/-/issues/1547Public roadmap2021-02-17T01:04:48ZakwizgranPublic 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/1546Support Bluetooth discovery for connecting to contacts2022-01-26T13:50:35ZakwizgranSupport Bluetooth discovery for connecting to contactsOn Android 8+ apps don't have access to the device's own Bluetooth address, so we can't share our address with contacts. When adding contacts we use discovery to work around this (#1147). Users have reported that Bluetooth works when add...On Android 8+ apps don't have access to the device's own Bluetooth address, so we can't share our address with contacts. When adding contacts we use discovery to work around this (#1147). Users have reported that Bluetooth works when adding contacts, but not when subsequently trying to communicate.
Learning our Bluetooth address from contacts would raise some tricky security and privacy issues, such as revealing to existing contacts, by adding a Bluetooth address to our transport properties, that we've just added a contact via Bluetooth.
After adding a contact we could store the contact's address for subsequent connection attempts, but that would only let us connect to contacts who were added via Bluetooth. To let us connect to any nearby contact we need to make the device discoverable and perform discovery.
Making the device temporarily discoverable requires user confirmation each time. Making the device permanently discoverable has privacy implications, and doesn't work on all devices (e.g. the Sony Xperia Tipo). Discovering nearby devices may require a lot of power and may interfere with wifi (#699). BLE discovery uses less power and doesn't require user confirmation, but not all devices can be discovered via BLE (#303).
A possible solution would be to make the device temporarily discoverable, and perform discovery, when the user enables the Bluetooth transport (#185). Then we could provide some way of manually triggering discovery, such as a "nearby contacts" tab with a "scan" button. This would limit the discoverability window, and the battery and interference impact of running discovery, to periods when the user had explicitly shown an interest in connecting to nearby contacts. Confirmation dialogs would only be shown in response to user actions.
This falls short of the goal of effortless connectivity, but it may be the best we can achieve within the constraints of the platform.https://code.briarproject.org/briar/briar/-/issues/1545Account lost when upgrading2020-11-16T10:37:22ZakwizgranAccount lost when upgradingA user reported that their account was lost when upgrading to Briar 1.1.5 via F-Droid.
1.1.5 was the first version available via the main F-Droid repo since 1.0.1, so it's possible this is a duplicate of #1219. I'll close this ticket if...A user reported that their account was lost when upgrading to Briar 1.1.5 via F-Droid.
1.1.5 was the first version available via the main F-Droid repo since 1.0.1, so it's possible this is a duplicate of #1219. I'll close this ticket if we don't get any more reports.Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1538Generate and store handshake key pair at startup if necessary2019-05-16T13:02:40ZakwizgranGenerate and store handshake key pair at startup if necessarySubtask of #1232.Subtask of #1232.Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1537Implement contact manager methods for pending contacts2019-05-13T09:04:51ZakwizgranImplement contact manager methods for pending contactsSubtask of #1232.Subtask of #1232.Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1536Find out whether intent extras or instance state bundles are persisted by the OS2019-04-22T13:30:11ZakwizgranFind out whether intent extras or instance state bundles are persisted by the OSSince roughly Android 5, the recent apps list has been persisted across reboots. Find out whether intent extras or instance state bundles for the activities in the recent apps list are persisted. If so, this might leak confidential infor...Since roughly Android 5, the recent apps list has been persisted across reboots. Find out whether intent extras or instance state bundles for the activities in the recent apps list are persisted. If so, this might leak confidential information to disk.Android 1.1https://code.briarproject.org/briar/briar/-/issues/1535Tryin to import SharedPreferences into AccountManagerImpl2019-04-19T14:54:16ZnicedeveloperTryin to import SharedPreferences into AccountManagerImplTryin to import SharedPreferences into AccountManagerImpl in package package org.briarproject.bramble.account;
SharedPreferences highlights RedTryin to import SharedPreferences into AccountManagerImpl in package package org.briarproject.bramble.account;
SharedPreferences highlights Redhttps://code.briarproject.org/briar/briar/-/issues/1534No Blog notifications2019-04-18T08:01:37ZGhost UserNo Blog notificationsI've been using briar for a bit as my primary RSS feed reader. It's worked very well, until a few weeks ago (can't pinpoint exactly when) when the blog stopped updating itself in the background or otherwise didn't notify me of new entrie...I've been using briar for a bit as my primary RSS feed reader. It's worked very well, until a few weeks ago (can't pinpoint exactly when) when the blog stopped updating itself in the background or otherwise didn't notify me of new entries like it did. I've checked my notification settings, and it is supposed to notify, and I've had the battery settings set to "Not Optimized" since installation.
What can I do to help diagnose this issue?Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1532Upgrade obfs4proxy to 0.0.102020-09-23T14:08:29ZakwizgranUpgrade obfs4proxy to 0.0.10Version 0.0.10 of obfs4proxy has some changes that might make it harder to distinguish meek_lite from ordinary TLS connections.
https://lists.torproject.org/pipermail/tor-dev/2019-April/013776.htmlVersion 0.0.10 of obfs4proxy has some changes that might make it harder to distinguish meek_lite from ordinary TLS connections.
https://lists.torproject.org/pipermail/tor-dev/2019-April/013776.htmlAndroid 1.2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1530images doesn't get sent even after changing 'hasSupport' to true2019-04-10T13:58:50Zaleximages doesn't get sent even after changing 'hasSupport' to trueWhen attempting to send an image, an overlay comes with
> "Images unavailable" "Your contact's Briar does not yet support image attachments. Once they upgrade you'll see a different icon."
Then, I changed the constant `FEATURE_FLAG_IM...When attempting to send an image, an overlay comes with
> "Images unavailable" "Your contact's Briar does not yet support image attachments. Once they upgrade you'll see a different icon."
Then, I changed the constant `FEATURE_FLAG_IMAGE_ATTACHMENTS` to `TRUE` in TestingConstants.java
With no luck, So I changed the following code -> (in android/conversation/conversationActivity.java - Line 267)
```
observeOnce(viewModel.hasImageSupport(), this, hasSupport -> {
if (hasSupport != null && hasSupport) {
// remove cast when removing FEATURE_FLAG_IMAGE_ATTACHMENTS
((TextAttachmentController) sendController)
.setImagesSupported();
}
});
```
to
```
((TextAttachmentController) sendController).setImagesSupported();
```
also, as another attempt with the same manner, I left the code as is but I changed the value of `hasSupport=true` manually ;
After that , whenever sending an image, nothing goes and only 'null' is sent.
knowing that the same version of the build is used in both android devises.
Is it a bug ? or i am lacking something important ?
in both cases i'd love hearing from you.
By the way, thank you for this great application !https://code.briarproject.org/briar/briar/-/issues/1529Introduction accept/decline buttons don't work for second attempt2019-04-05T12:56:47ZakwizgranIntroduction accept/decline buttons don't work for second attemptSteps to reproduce:
* Add devices A and B as contacts
* Add devices B and C as contacts
* B offers to introduce A to C
* A accepts
* C declines
* B offers to introduce A to C again (A and C must receive the new offers before their screen...Steps to reproduce:
* Add devices A and B as contacts
* Add devices B and C as contacts
* B offers to introduce A to C
* A accepts
* C declines
* B offers to introduce A to C again (A and C must receive the new offers before their screens turn off)
* Expected: A and C can use the accept and decline buttons
* Actual: The accept and decline buttons are unresponsive until the screen has been turned off and on (sometimes it's necessary to leave and re-enter the conversation)
I suspect this is a view recycling issue - IIRC we disable the buttons after they've been pressed once, to avoid issues with multiple taps. If the view gets recycled, I guess the buttons are still disabled.
I saw this while testing !1067, but I don't think it was introduced by that branch - I've seen it before but never came up with steps to reproduce it. It might also happen for forum/blog/group invitations.Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1528Database has no tables after reinstalling via ADB2020-03-10T15:03:26ZakwizgranDatabase has no tables after reinstalling via ADBAfter reinstalling Briar via ADB, I saw the startup failure notification and the log showed that the settings table didn't exist:
```
org.briarproject.bramble.api.db.DbException: org.h2.jdbc.JdbcSQLException: Table "SETTINGS" not found;...After reinstalling Briar via ADB, I saw the startup failure notification and the log showed that the settings table didn't exist:
```
org.briarproject.bramble.api.db.DbException: org.h2.jdbc.JdbcSQLException: Table "SETTINGS" not found; SQL statement:
SELECT settingKey, value FROM settings WHERE namespace = ? [42102-192]
at org.briarproject.bramble.db.JdbcDatabase.getSettings(JdbcDatabase.java:2169)
at org.briarproject.bramble.db.JdbcDatabase.open(JdbcDatabase.java:355)
at org.briarproject.bramble.db.H2Database.open(H2Database.java:65)
at org.briarproject.bramble.db.DatabaseComponentImpl.open(DatabaseComponentImpl.java:112)
at org.briarproject.bramble.lifecycle.LifecycleManagerImpl.startServices(LifecycleManagerImpl.java:108)
at org.briarproject.briar.android.BriarService.lambda$onCreate$0(BriarService.java:132)
at org.briarproject.briar.android.-$$Lambda$BriarService$Ihm6XxaER2EMRlAKzUA1GpEtxZU.run(Unknown Source:4)
at java.lang.Thread.run(Thread.java:764)
```
A similar problem was previously mentioned [here](https://code.briarproject.org/briar/briar/issues/1367#note_31102), but most of that discussion referred to a different problem that's now been fixed.
The problem occurred after installing a debug build (0f614e84) on the Nexus 5X via ADB, launching the build, performing some actions such as adding and removing a contact, signing out, and installing a new build (d40cfd30) via ADB. When I launched the new build, the startup failure notification was shown.
Subsequent lauches showed the same error. The db.mv.db file exists, with a size of 28672 bytes, and Briar can open it, but the DB contains no tables ("SHOW TABLES" returns the expected table names on an unaffected device, but no table names on this device). It seems like nothing was written to the DB file during the first session, after the point where the DB file was created.
Two other devices (Moto G 4G and Moto E3) that were used for testing the same builds didn't show the bug, so I don't think it's caused by these particular builds.Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1527Expiry message for debug builds is out of date2021-04-15T11:43:36ZDanielExpiry message for debug builds is out of dateWhen I am running the app it says I should download the updated version how to fix this thy.When I am running the app it says I should download the updated version how to fix this thy.akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1526AssertionError: Already have a database key2022-05-26T15:45:43ZakwizgranAssertionError: Already have a database key* Android version: 5.1.1
* Briar version: 1.1.5 (8f4c3c4)
* Phone model: Smartfren Andromax B16C2H
Log:
```
02-01 21:43:52.743 I/CameraView: Releasing camera
02-01 21:43:52.882 I/CameraView: Surface destroyed
02-01 21:43:53.956 I/BaseAc...* Android version: 5.1.1
* Briar version: 1.1.5 (8f4c3c4)
* Phone model: Smartfren Andromax B16C2H
Log:
```
02-01 21:43:52.743 I/CameraView: Releasing camera
02-01 21:43:52.882 I/CameraView: Surface destroyed
02-01 21:43:53.956 I/BaseActivity: Starting NavDrawerActivity
02-01 21:43:54.138 I/BaseActivity: Stopping ContactExchangeActivity
02-01 21:44:13.750 I/BaseActivity: Starting SettingsActivity
02-01 21:44:16.276 I/BaseActivity: Stopping NavDrawerActivity
02-01 21:45:25.374 I/BaseActivity: Starting NavDrawerActivity
02-01 21:45:25.556 I/BaseActivity: Stopping SettingsActivity
02-01 21:45:26.976 I/BaseActivity: Starting SetupActivity
02-01 21:45:27.134 I/BaseActivity: Stopping NavDrawerActivity
02-01 21:45:42.017 I/SetupControllerImpl: Creating account
```
Stacktrace:
```
java.lang.AssertionError: Already have a database key
at org.briarproject.bramble.account.AccountManagerImpl.createAccount(AccountManagerImpl.java:163)
at org.briarproject.briar.android.login.SetupControllerImpl.lambda$createAccount$0(SetupControllerImpl.java:101)
at org.briarproject.briar.android.login.-$$Lambda$SetupControllerImpl$u65UGqVCiIKOcwdlXIj7schCrSA.run(lambda)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
```
Looks like this could be related to previous bugs where SetupActivity reappears after setup is complete, or somehow appears in a session where setup didn't even take place (#1189, #1327, #1396). The log here shows that the user navigated from ContactExchangeActivity -> NavDrawerActivity -> SettingsActivity -> NavDrawerActivity -> SetupActivity. Unfortunately the log isn't long enough to show whether setup occurred in this session.Android 1.4https://code.briarproject.org/briar/briar/-/issues/1522IllegalArgumentException when setting contact alias2019-04-03T10:18:21ZakwizgranIllegalArgumentException when setting contact alias* Android version: 4.4.4
* Briar version: 1.1.5 (8f4c3c4)
* Phone model: Samsung GT-S7262 (logan2gxx)
Stacktrace:
```
java.lang.IllegalArgumentException
at org.briarproject.bramble.contact.ContactManagerImpl.setContactAlias(Cont...* Android version: 4.4.4
* Briar version: 1.1.5 (8f4c3c4)
* Phone model: Samsung GT-S7262 (logan2gxx)
Stacktrace:
```
java.lang.IllegalArgumentException
at org.briarproject.bramble.contact.ContactManagerImpl.setContactAlias(ContactManagerImpl.java:138)
at org.briarproject.bramble.contact.ContactManagerImpl.lambda$setContactAlias$4(ContactManagerImpl.java:146)
at org.briarproject.bramble.contact.-$$Lambda$ContactManagerImpl$EfFGAUvRrCV355yeOOy1D8He3mI.run(lambda)
at org.briarproject.bramble.db.DatabaseComponentImpl.transaction(DatabaseComponentImpl.java:177)
at org.briarproject.bramble.contact.ContactManagerImpl.setContactAlias(ContactManagerImpl.java:146)
at org.briarproject.briar.android.conversation.ConversationViewModel.lambda$setContactAlias$2(ConversationViewModel.java:90)
at org.briarproject.briar.android.conversation.-$$Lambda$ConversationViewModel$XcyaPAb6QDHfJV0o5jdtkgo2ULo.run(lambda)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
```
This exception is thrown at ContactManagerImpl line 192 on current master if the alias is empty or too long. The ConversationViewModel checks for an empty alias, but it doesn't look like we're checking the maximum length.Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1517NPE when rotating screen2019-03-29T13:58:45ZakwizgranNPE when rotating screenI got this crash on the API 28 emulator while running current master modified to target API 28. With a private group open, I rotated the screen to landscape, pressed the screen rotation button in the navigation bar to allow the app to ro...I got this crash on the API 28 emulator while running current master modified to target API 28. With a private group open, I rotated the screen to landscape, pressed the screen rotation button in the navigation bar to allow the app to rotate, then rotated the screen to portrait again without pressing the screen rotation button again.
I'll try to reproduce this on master with the normal API target.
```
ACRA caught a NullPointerException for org.briarproject.briar.android.debug
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference
at org.briarproject.briar.android.view.BriarRecyclerViewScrollListener.onItemVisible(BriarRecyclerViewScrollListener.java:55)
at org.briarproject.briar.android.view.BriarRecyclerViewScrollListener.onItemsVisible(BriarRecyclerViewScrollListener.java:50)
at org.briarproject.briar.android.threaded.ThreadScrollListener.onItemsVisible(ThreadScrollListener.java:39)
at org.briarproject.briar.android.view.BriarRecyclerViewScrollListener.onScrolled(BriarRecyclerViewScrollListener.java:39)
at android.support.v7.widget.RecyclerView.dispatchOnScrolled(RecyclerView.java:4961)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep3(RecyclerView.java:4021)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3652)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:4194)
at android.view.View.layout(View.java:20672)
at android.view.ViewGroup.layout(ViewGroup.java:6194)
at android.support.constraint.ConstraintLayout.onLayout(ConstraintLayout.java:1915)
at android.view.View.layout(View.java:20672)
at android.view.ViewGroup.layout(ViewGroup.java:6194)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:20672)
at android.view.ViewGroup.layout(ViewGroup.java:6194)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:20672)
at android.view.ViewGroup.layout(ViewGroup.java:6194)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
at android.view.View.layout(View.java:20672)
at android.view.ViewGroup.layout(ViewGroup.java:6194)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:20672)
at android.view.ViewGroup.layout(ViewGroup.java:6194)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:20672)
at android.view.ViewGroup.layout(ViewGroup.java:6194)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
at android.view.View.layout(View.java:20672)
at android.view.ViewGroup.layout(ViewGroup.java:6194)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:20672)
at android.view.ViewGroup.layout(ViewGroup.java:6194)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
at android.view.View.layout(View.java:20672)
at android.view.ViewGroup.layout(ViewGroup.java:6194)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:753)
at android.view.View.layout(View.java:20672)
at android.view.ViewGroup.layout(ViewGroup.java:6194)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2792)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2319)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1460)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7183)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:949)
at android.view.Choreographer.doCallbacks(Choreographer.java:761)
at android.view.Choreographer.doFrame(Choreographer.java:696)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
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:6669)
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:858)
```Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1516Introducee doesn't receive second introduction request2019-04-04T16:47:45ZakwizgranIntroducee doesn't receive second introduction requestSteps to reproduce:
* Add devices A and B as contacts
* Add devices B and C as contacts
* B offers to introduce A and C
* A accepts the introduction
* C declines the introduction
* B offers to introduce A and C again
* Expected: A and C ...Steps to reproduce:
* Add devices A and B as contacts
* Add devices B and C as contacts
* B offers to introduce A and C
* A accepts the introduction
* C declines the introduction
* B offers to introduce A and C again
* Expected: A and C receive B's new introduction request
* Actual: B's new introduction request appears in the conversation with C, but not the conversation with A. After turning C's screen off and on, the accept and decline buttons disappear from B's new introduction request (this might be a separate bug, or might indicate that the request can no longer be answered because the session has been aborted)
* B can still exchange private messages with A and C, so it's not a connection issueAndroid 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1515No dependency for integrity assertion 'com.android.tools.analytics-library:pr...2019-08-14T14:22:52ZnicedeveloperNo dependency for integrity assertion 'com.android.tools.analytics-library:protos:26.2.1:protosi 've got android studio 3.3.2
and receiving an error No dependency for integrity assertion 'com.android.tools.analytics-library:protos:26.2.1:protos-26.2.1.jar:2f371f5b1f551e85ab08be4d6a2873471b3d44afd1ebf6aa3298f3b796bf691f'
everyth...i 've got android studio 3.3.2
and receiving an error No dependency for integrity assertion 'com.android.tools.analytics-library:protos:26.2.1:protos-26.2.1.jar:2f371f5b1f551e85ab08be4d6a2873471b3d44afd1ebf6aa3298f3b796bf691f'
everything is uptodate including SDK Tools, SDK Platforms and SDK Update Sites
What is wrong ? I've searched the Internet, couldn't find anythinghttps://code.briarproject.org/briar/briar/-/issues/1514Wrong message is shown when other introducee accepts introduction2019-04-04T16:47:33ZakwizgranWrong message is shown when other introducee accepts introductionSteps to reproduce:
* Add devices A and B as contacts
* Add devices B and C as contacts
* B offers to introduce A and C
* A declines the introduction
* As expected, A sees "You declined the introduction to C", B sees "A declined the intr...Steps to reproduce:
* Add devices A and B as contacts
* Add devices B and C as contacts
* B offers to introduce A and C
* A declines the introduction
* As expected, A sees "You declined the introduction to C", B sees "A declined the introduction to C", and C sees "B says that A declined the introduction"
* C accepts the introduction
* As expected, B sees "C accepted the introduction to A" and C sees "You accepted the introduction to A. Before A gets added to your contacts, they need to accept the introduction as well. This might take some time." (Separately from this ticket, we might think about showing different text to C in the case where A has already responded. The current text suggests we're still waiting for a response.)
* Expected: A sees "C accepted the introduction" (or "C accepted the introduction from B", or "B says that C accepted the introduction", etc)
* Actual: A sees "B accepted the introduction to C". This mixes up the roles, implying that A was introducing B to C and B accepted, whereas B was introducing A to C and C acceptedAndroid 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1513Bluetooth dialog needs to be dismissed multiple times after rotating screen2020-11-15T19:12:00ZakwizgranBluetooth dialog needs to be dismissed multiple times after rotating screenSteps to reproduce:
* Start to add a nearby contact
* When the Bluetooth permission dialog is visible, rotate the screen
* Dismiss the dialog
* Expected: The dialog only needs to be dismissed once
* Actual: The dialog needs to be dismiss...Steps to reproduce:
* Start to add a nearby contact
* When the Bluetooth permission dialog is visible, rotate the screen
* Dismiss the dialog
* Expected: The dialog only needs to be dismissed once
* Actual: The dialog needs to be dismissed once, plus once for every time the screen was rotated
Test devices:
* Sony Xperia Tipo (Android 4.0.4)
* Motorola Moto E3 (Android 6.0)