briar issueshttps://code.briarproject.org/briar/briar/-/issues2021-02-18T17:03:03Zhttps://code.briarproject.org/briar/briar/-/issues/1146Foreground service icon appears in status bar on Android 8.12021-02-18T17:03:03ZakwizgranForeground service icon appears in status bar on Android 8.1Since roughly Android 4.2, the foreground service icon hasn't been visible in the status bar, but it has become visible again on Android 8.1 with Briar 0.16.16.
The problem may be related to the new notification channels. The channel fo...Since roughly Android 4.2, the foreground service icon hasn't been visible in the status bar, but it has become visible again on Android 8.1 with Briar 0.16.16.
The problem may be related to the new notification channels. The channel for the foreground service icon is enabled by default; disabling it hides the icon.akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1075Two notifications on Android O2021-02-18T17:00:56ZTorsten GroteTwo notifications on Android OOn Android O devices, Briar shows two notifications.
![device-2017-09-26-101349](/uploads/1a56067501bf6ddb11c6c589996e8fdb/device-2017-09-26-101349.png)
This might have something to do with the priority of our foreground service notifi...On Android O devices, Briar shows two notifications.
![device-2017-09-26-101349](/uploads/1a56067501bf6ddb11c6c589996e8fdb/device-2017-09-26-101349.png)
This might have something to do with the priority of our foreground service notification. @cketti might know more.akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1939Private group is greyed out after rotating screen2021-02-18T16:51:40ZakwizgranPrivate group is greyed out after rotating screen![device-2021-02-11-150926](/uploads/b17c093a0c55f126e950c695aee3ae00/device-2021-02-11-150926.png)
Should be fixed by !1371.![device-2021-02-11-150926](/uploads/b17c093a0c55f126e950c695aee3ae00/device-2021-02-11-150926.png)
Should be fixed by !1371.Android 1.2IvanaIvanahttps://code.briarproject.org/briar/briar/-/issues/1764Change app language does not work2021-02-18T10:28:52ZN6P4CFB1BSRSLChange app language does not work**Version**
Briar 1.2.9
**Android version**
Android 10
**Description**
Hello,
have installed the Briar app and go to Settings -> Language & region and select a different language than the Android system language.
After restarting ...**Version**
Briar 1.2.9
**Android version**
Android 10
**Description**
Hello,
have installed the Briar app and go to Settings -> Language & region and select a different language than the Android system language.
After restarting the Briar app the app language was not changed. It still uses the system language.Android 1.2IvanaIvanahttps://code.briarproject.org/briar/briar/-/issues/1904IllegalStateException when backing out of blog feed2021-02-17T17:19:39ZakwizgranIllegalStateException when backing out of blog feed* Android version: 4.4.4
* Phone model: Sony Xperia X
* Briar version: 1.2.7 (eb562f8)
* User feedback: "I've pressed back button on Blogs page."
Stacktrace:
```
java.lang.IllegalStateException: Can not perform this action after onSaveI...* Android version: 4.4.4
* Phone model: Sony Xperia X
* Briar version: 1.2.7 (eb562f8)
* User feedback: "I've pressed back button on Blogs page."
Stacktrace:
```
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at androidx.fragment.app.FragmentManagerImpl.checkStateLoss(FragmentManagerImpl.java:1536)
at androidx.fragment.app.FragmentManagerImpl.enqueueAction(FragmentManagerImpl.java:1558)
at androidx.fragment.app.BackStackRecord.commitInternal(BackStackRecord.java:317)
at androidx.fragment.app.BackStackRecord.commit(BackStackRecord.java:282)
at org.briarproject.briar.android.navdrawer.NavDrawerActivity.startFragment(NavDrawerActivity.java:331)
at org.briarproject.briar.android.navdrawer.NavDrawerActivity.startFragment(NavDrawerActivity.java:315)
at org.briarproject.briar.android.navdrawer.NavDrawerActivity.startFragment(NavDrawerActivity.java:310)
at org.briarproject.briar.android.navdrawer.NavDrawerActivity.onBackPressed(NavDrawerActivity.java:277)
at android.app.Activity.onKeyUp(Activity.java:2193)
at android.view.KeyEvent.dispatch(KeyEvent.java:2664)
at androidx.core.view.KeyEventDispatcher.activitySuperDispatchKeyEventPre28(KeyEventDispatcher.java:137)
at androidx.core.view.KeyEventDispatcher.dispatchKeyEvent(KeyEventDispatcher.java:87)
at androidx.core.app.ComponentActivity.dispatchKeyEvent(ComponentActivity.java:133)
at androidx.appcompat.app.AppCompatActivity.dispatchKeyEvent(AppCompatActivity.java:558)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchKeyEvent(WindowCallbackWrapper.java:59)
at androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback.dispatchKeyEvent(AppCompatDelegateImpl.java:2814)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchKeyEvent(WindowCallbackWrapper.java:59)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1962)
at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:3845)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3819)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3392)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3442)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3411)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3518)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3419)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3575)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3392)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3442)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3411)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3419)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3392)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3442)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3411)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3551)
at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:3711)
at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:2043)
at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:1737)
at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:1728)
at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:2020)
at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:141)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:138)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:613)
at dalvik.system.NativeStart.main(Native Method)
```
Last lines of log:
```
10-18 21:06:06.210 I/BaseActivity: Starting NavDrawerActivity
10-18 21:06:06.247 I/BaseActivity: Stopping NavDrawerActivity
10-18 21:06:06.416 I/BaseActivity: Starting NavDrawerActivity
10-18 21:06:06.431 I/BaseActivity: Stopping NavDrawerActivity
```
This looks similar to #1423.Android 1.2IvanaIvanahttps://code.briarproject.org/briar/briar/-/issues/1922Upgrade Tor to 0.3.5.132021-02-17T17:19:27ZakwizgranUpgrade Tor to 0.3.5.13Tor 0.3.5.13 includes the following bugfix that should improve v3 hidden service reachability:
> Major bugfixes (onion service v3, backport from 0.4.5.3-rc):
> - Stop requiring a live consensus for v3 clients and services, and
> allow...Tor 0.3.5.13 includes the following bugfix that should improve v3 hidden service reachability:
> Major bugfixes (onion service v3, backport from 0.4.5.3-rc):
> - Stop requiring a live consensus for v3 clients and services, and
> allow a "reasonably live" consensus instead. This allows v3 onion
> services to work even if the authorities fail to generate a
> consensus for more than 2 hours in a row. Fixes bug 40237; bugfix
> on 0.3.5.1-alpha.Android 1.2IvanaIvanahttps://code.briarproject.org/briar/briar/-/issues/1910IllegalStateException when adding contact remotely2021-02-17T17:19:12ZakwizgranIllegalStateException when adding contact remotely* Android version: 8.0.0
* Phone model: Samsung SM-A520F (a5y17ltexx)
* Briar version: 1.2.12 (54893d2)
Stacktrace:
```
java.lang.IllegalStateException
at org.briarproject.briar.android.contact.add.remote.AddContactViewModel.add...* Android version: 8.0.0
* Phone model: Samsung SM-A520F (a5y17ltexx)
* Briar version: 1.2.12 (54893d2)
Stacktrace:
```
java.lang.IllegalStateException
at org.briarproject.briar.android.contact.add.remote.AddContactViewModel.addContact(AddContactViewModel.java:104)
at org.briarproject.briar.android.contact.add.remote.NicknameFragment.onAddButtonClicked(NicknameFragment.java:127)
at org.briarproject.briar.android.contact.add.remote.NicknameFragment.lambda$onCreateView$0$NicknameFragment(NicknameFragment.java:88)
at org.briarproject.briar.android.contact.add.remote.-$$Lambda$NicknameFragment$DP4SKMB9Kkf7jxUQrVMBWLNcvuI.onClick(Unknown Source:2)
at android.view.View.performClick(View.java:6897)
at android.widget.TextView.performClick(TextView.java:12727)
at android.view.View$PerformClick.run(View.java:26101)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6944)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
```
Edited log:
```
01-14 16:53:22.538 I/AndroidNetworkManager: Received broadcast android.intent.action.SCREEN_ON
01-14 16:53:33.404 I/BaseActivity: Creating NavDrawerActivity
01-14 16:53:33.504 I/BaseActivity: Starting NavDrawerActivity
01-14 16:53:33.512 I/BaseActivity: Resuming NavDrawerActivity
01-14 16:53:36.039 I/BaseActivity: Pausing NavDrawerActivity
01-14 16:53:36.059 I/BaseActivity: Creating AddContactActivity
01-14 16:53:36.114 I/BaseActivity: Starting AddContactActivity
01-14 16:53:36.779 I/BaseActivity: Resuming AddContactActivity
01-14 16:53:37.277 I/BaseActivity: Stopping NavDrawerActivity
01-14 16:53:37.298 I/BaseActivity: Destroying NavDrawerActivity
01-14 16:53:49.623 I/BaseActivity: Pausing AddContactActivity
01-14 16:53:49.643 I/BaseActivity: Stopping AddContactActivity
01-14 16:53:49.667 I/BaseActivity: Destroying AddContactActivity
01-14 16:53:53.323 I/BaseActivity: Creating AddContactActivity
01-14 16:53:53.399 I/BaseActivity: Starting AddContactActivity
01-14 16:53:53.405 I/BaseActivity: Resuming AddContactActivity
```Android 1.2IvanaIvanahttps://code.briarproject.org/briar/briar/-/issues/1934Upgrade obfs4proxy to fix meek's certificate pinning2021-02-17T17:15:34ZakwizgranUpgrade obfs4proxy to fix meek's certificate pinningobfs4proxy's meek-lite transport stopped working on 7 December due to a change in the TLS certificate chain of the Azure infrastructure. This will prevent Briar users in China from connecting to Tor, as well as any users in other countri...obfs4proxy's meek-lite transport stopped working on 7 December due to a change in the TLS certificate chain of the Azure infrastructure. This will prevent Briar users in China from connecting to Tor, as well as any users in other countries who are on IPv6-only networks and have bridges enabled.
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/meek/-/issues/40001
https://gitweb.torproject.org/pluggable-transports/obfs4.git/log/
There hasn't been a new obfs4proxy release since the fix was merged, so we'll need to build from master. I suggest we use `0.0.12-dev-<commit ID>` as the version number, as this isn't a snapshot build in the Maven sense (the artifact won't change when changes are made upstream).Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/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/1621Contact link disappears after selecting and copying on API 15-172021-02-12T13:04:27ZakwizgranContact link disappears after selecting and copying on API 15-17On the emulator running API 15-17, the user's own contact link disappears when selected, and doesn't reappear after the selection has been copied. The link reappears when the screen is rotated.
This happens with both software and hardwa...On the emulator running API 15-17, the user's own contact link disappears when selected, and doesn't reappear after the selection has been copied. The link reappears when the screen is rotated.
This happens with both software and hardware rendering, making me think it's unlikely to be an emulator bug. It doesn't happen on the emulator running API 18+. Assigning to myself to reproduce on a real device.Android 1.2IvanaIvanahttps://code.briarproject.org/briar/briar/-/issues/850Group sharing status is not updated when creator joins2021-01-26T19:58:09ZTorsten GroteGroup sharing status is not updated when creator joinsWhen within a private group, the sharing status is not updated when the creator joins the group.
Leaving the group and reentering it fixes the sharing status count.When within a private group, the sharing status is not updated when the creator joins the group.
Leaving the group and reentering it fixes the sharing status count.Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/105Explain why the app needs the permissions it asks for2021-01-15T04:42:04ZakwizgranExplain why the app needs the permissions it asks forThe permissions requested by the app should be explained on the website and the app store page.The permissions requested by the app should be explained on the website and the app store page.CleopatraCleopatrahttps://code.briarproject.org/briar/briar/-/issues/1423IllegalStateException when key agreement fails2021-01-13T16:12:06ZakwizgranIllegalStateException when key agreement fails* Android version: 5.1.1
* Briar version: 1.1.1 (9476782)
* Phone model: Samsung SM-J200G (j2ltedd)
Stacktrace:
```
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.support.v4.app...* Android version: 5.1.1
* Briar version: 1.1.1 (9476782)
* Phone model: Samsung SM-J200G (j2ltedd)
Stacktrace:
```
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:2053)
at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:2079)
at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:678)
at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:632)
at org.briarproject.briar.android.activity.BaseActivity.showNextFragment(BaseActivity.java:147)
at org.briarproject.briar.android.keyagreement.KeyAgreementActivity.showErrorFragment(KeyAgreementActivity.java:193)
at org.briarproject.briar.android.keyagreement.ContactExchangeActivity.keyAgreementFailed(ContactExchangeActivity.java:107)
at org.briarproject.briar.android.keyagreement.KeyAgreementFragment.lambda$keyAgreementFailed$2$KeyAgreementFragment(KeyAgreementFragment.java:283)
at org.briarproject.briar.android.keyagreement.KeyAgreementFragment$$Lambda$2.run(Unknown Source)
at org.briarproject.briar.android.fragment.BaseFragment.lambda$runOnUiThreadUnlessDestroyed$0$BaseFragment(BaseFragment.java:90)
at org.briarproject.briar.android.fragment.BaseFragment$$Lambda$0.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6946)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
```
Looks like we should check the lifecycle state in `BaseActivity#showNextFragment()` or `KeyAgreementActivity#showErrorFragment()`.Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1707IllegalStateException when writing blog post2021-01-13T15:15:32ZakwizgranIllegalStateException when writing blog post* Android version: 9
* Phone model: Honor STF-AL00
* Briar version: 1.2.5 (aad92e3)
Stacktrace:
```java.lang.IllegalStateException
at org.briarproject.briar.android.blog.FeedControllerImpl.onStart(FeedControllerImpl.java:60)
...* Android version: 9
* Phone model: Honor STF-AL00
* Briar version: 1.2.5 (aad92e3)
Stacktrace:
```java.lang.IllegalStateException
at org.briarproject.briar.android.blog.FeedControllerImpl.onStart(FeedControllerImpl.java:60)
at org.briarproject.briar.android.blog.FeedFragment.onStart(FeedFragment.java:118)
at androidx.fragment.app.Fragment.performStart(Fragment.java:2632)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:915)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1303)
at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManagerImpl.java:2659)
at androidx.fragment.app.FragmentManagerImpl.dispatchStart(FragmentManagerImpl.java:2619)
at androidx.fragment.app.FragmentController.dispatchStart(FragmentController.java:257)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:551)
at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:201)
at org.briarproject.briar.android.activity.BaseActivity.onStart(BaseActivity.java:129)
at org.briarproject.briar.android.activity.BriarActivity.onStart(BriarActivity.java:62)
at org.briarproject.briar.android.navdrawer.NavDrawerActivity.onStart(NavDrawerActivity.java:154)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1419)
at android.app.Activity.performStart(Activity.java:7479)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3454)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2199)
at android.os.Handler.dispatchMessage(Handler.java:112)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7625)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
```
Edited log:
```02-07 01:37:31.258 I/BriarActivity: Recreating NavDrawerActivity after signing in
02-07 01:37:31.261 I/BaseActivity: Starting NavDrawerActivity
02-07 01:37:31.274 I/BaseActivity: Stopping NavDrawerActivity
02-07 01:37:31.326 I/BaseActivity: Starting NavDrawerActivity
02-07 01:37:31.922 I/BaseActivity: Stopping StartupActivity
02-07 01:37:42.354 I/BasePostFragment: Adding Handler Callback
02-07 01:37:42.354 I/BaseControllerImpl: Loaded header from cache
02-07 01:37:42.354 I/BaseControllerImpl: Loaded text from cache
02-07 01:37:46.128 I/BasePostFragment: Removing Handler Callback
02-07 01:37:47.474 I/BaseActivity: Starting WriteBlogPostActivity
02-07 01:37:47.783 I/BaseActivity: Stopping NavDrawerActivity
```
The crash happened about 2 seconds later.
Possibly related to #1706.Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1753API 30: Access to installed packages is restricted2021-01-12T11:22:23ZakwizgranAPI 30: Access to installed packages is restrictedWhen we target API 30 we'll need to make changes to retain the ability to check whether power management apps are installed:
https://medium.com/androiddevelopers/package-visibility-in-android-11-cc857f221cd9
* [x] `AndroidTorPlugin`: `...When we target API 30 we'll need to make changes to retain the ability to check whether power management apps are installed:
https://medium.com/androiddevelopers/package-visibility-in-android-11-cc857f221cd9
* [x] `AndroidTorPlugin`: `pm.getPackageInfo(app.getPackageName(), 0)`
* [x] `AndroidWakeLockManagerImpl`: `packageName.startsWith()`
* [x] `PanicPreferencesFragment`: `pm.getApplicationInfo(panicTriggerApp)`
* [x] `PanicPreferencesFragment`: `intent.resolveActivity(pm)`
* [x] `PanicPreferencesFragment`: `PanicResponder.resolveTriggerApps(pm)`
* [x] `ScreenFilterMonitorImpl`: `pm.getInstalledPackages(GET_PERMISSIONS)`
* [x] `ScreenFilterMonitorImpl`: `pm.getPackageInfo(PLAY_SERVICES_PACKAGE, GET_SIGNATURES)`
* [x] `SettingsFragment`: `intent.resolveActivity(pm)`
* [x] `HuaweiView`: `pm.queryIntentActivities(i, PackageManager.MATCH_DEFAULT_ONLY)`
* [x] `KeyAgreementActivity`: `Intent(ACTION_REQUEST_DISCOVERABLE).resolveActivity(pm)`
* [x] `LinkDialogFragment`: `pm.queryIntentActivities()`Adapt to changes in the Android platformTorsten GroteTorsten Grote2021-04-30https://code.briarproject.org/briar/briar/-/issues/1886Quotation from text in the chat2021-01-07T10:13:20ZGhost UserQuotation from text in the chatHi,
i have a feature request. I wish me the possibility to quote text within a 1:1 chat. As far as i know almost every android messenger has this function and it makes chatting much easier if you write about different topics with your c...Hi,
i have a feature request. I wish me the possibility to quote text within a 1:1 chat. As far as i know almost every android messenger has this function and it makes chatting much easier if you write about different topics with your chat partner.
Thanks in advance for implementation.https://code.briarproject.org/briar/briar/-/issues/1861Remove calls to WifiManager#getConfiguredNetworks()2021-01-06T12:31:58ZakwizgranRemove calls to WifiManager#getConfiguredNetworks()AndroidSecureRandomProvider calls WifiManager#getConfiguredNetworks() at startup. This call requires ACCESS_FINE_LOCATION on API 30. Remove this call, and any other calls to this method.
Subtask of #1827.AndroidSecureRandomProvider calls WifiManager#getConfiguredNetworks() at startup. This call requires ACCESS_FINE_LOCATION on API 30. Remove this call, and any other calls to this method.
Subtask of #1827.Adapt to changes in the Android platformTorsten GroteTorsten Grote2021-04-30https://code.briarproject.org/briar/briar/-/issues/1720ACRA 4.11 crashes during init with targetSdkVersion set to R (30)2021-01-06T12:31:44ZakwizgranACRA 4.11 crashes during init with targetSdkVersion set to R (30)Looks like we'll need to migrate to ACRA 5 before targetting API 30. The crash doesn't happen on the API 30 emulator with targetSdkVersion set to 29, so this isn't urgent.
```
2020-03-31 11:02:33.685 25167-25167/org.briarproject.briar.a...Looks like we'll need to migrate to ACRA 5 before targetting API 30. The crash doesn't happen on the API 30 emulator with targetSdkVersion set to 29, so this isn't urgent.
```
2020-03-31 11:02:33.685 25167-25167/org.briarproject.briar.android.debug E/AndroidRuntime: FATAL EXCEPTION: main
Process: org.briarproject.briar.android.debug, PID: 25167
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/android/internal/util/Predicate;
at org.acra.util.IOUtils.streamToString(IOUtils.java:84)
at org.acra.ACRA.getCurrentProcessName(ACRA.java:303)
at org.acra.ACRA.isACRASenderServiceProcess(ACRA.java:294)
at org.acra.ACRA.init(ACRA.java:210)
at org.acra.ACRA.init(ACRA.java:173)
at org.acra.ACRA.init(ACRA.java:157)
at org.acra.ACRA.init(ACRA.java:140)
at org.briarproject.briar.android.BriarApplicationImpl.attachBaseContext(BriarApplicationImpl.java:100)
at android.app.Application.attach(Application.java:351)
at android.app.Instrumentation.newApplication(Instrumentation.java:1159)
at android.app.LoadedApk.makeApplication(LoadedApk.java:1203)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6521)
at android.app.ActivityThread.access$1300(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1885)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7464)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:955)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.android.internal.util.Predicate" on path: DexPathList[[zip file "/data/app/~~g6kWDR95CtejUwuMSRctEg==/org.briarproject.briar.android.debug-C8FXbrMV6GsjIoTVns77-A==/base.apk"],nativeLibraryDirectories=[/data/app/~~g6kWDR95CtejUwuMSRctEg==/org.briarproject.briar.android.debug-C8FXbrMV6GsjIoTVns77-A==/lib/x86, /system/lib, /system_ext/lib, /product/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:202)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at org.acra.util.IOUtils.streamToString(IOUtils.java:84)
at org.acra.ACRA.getCurrentProcessName(ACRA.java:303)
at org.acra.ACRA.isACRASenderServiceProcess(ACRA.java:294)
at org.acra.ACRA.init(ACRA.java:210)
at org.acra.ACRA.init(ACRA.java:173)
at org.acra.ACRA.init(ACRA.java:157)
at org.acra.ACRA.init(ACRA.java:140)
at org.briarproject.briar.android.BriarApplicationImpl.attachBaseContext(BriarApplicationImpl.java:100)
at android.app.Application.attach(Application.java:351)
at android.app.Instrumentation.newApplication(Instrumentation.java:1159)
at android.app.LoadedApk.makeApplication(LoadedApk.java:1203)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6521)
at android.app.ActivityThread.access$1300(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1885)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7464)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:955)
```Adapt to changes in the Android platformTorsten GroteTorsten Grote2021-04-30https://code.briarproject.org/briar/briar/-/issues/1889Import / Export profile2021-01-05T11:45:00ZivahoeImport / Export profileCreate functional to be able to export / import profile (contacts, messages) to a file, to transfer the app to another phone.Create functional to be able to export / import profile (contacts, messages) to a file, to transfer the app to another phone.https://code.briarproject.org/briar/briar/-/issues/1855Update profile pictures in contact list2020-12-16T13:01:41ZSebastianUpdate profile pictures in contact listMake sure that the profile pictures update in the contact list automatically when one of the contacts changes their avatar.Make sure that the profile pictures update in the contact list automatically when one of the contacts changes their avatar.Profile picturesSebastianSebastian2021-01-31