briar issueshttps://code.briarproject.org/briar/briar/-/issues2020-11-11T16:56:24Zhttps://code.briarproject.org/briar/briar/-/issues/1841NavDrawerActivityTest fails with InitializationError on API 162020-11-11T16:56:24ZakwizgranNavDrawerActivityTest fails with InitializationError on API 16NavDrawerActivityTest fails on the API 16 emulator because it can't find javax.inject.Inject.
```
java.lang.RuntimeException: Delegate runner 'androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner' for AndroidJUnit4 could not be...NavDrawerActivityTest fails on the API 16 emulator because it can't find javax.inject.Inject.
```
java.lang.RuntimeException: Delegate runner 'androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner' for AndroidJUnit4 could not be loaded.
at androidx.test.ext.junit.runners.AndroidJUnit4.throwInitializationError(AndroidJUnit4.java:92)
at androidx.test.ext.junit.runners.AndroidJUnit4.loadRunner(AndroidJUnit4.java:82)
at androidx.test.ext.junit.runners.AndroidJUnit4.loadRunner(AndroidJUnit4.java:51)
at androidx.test.ext.junit.runners.AndroidJUnit4.<init>(AndroidJUnit4.java:46)
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
at androidx.test.internal.runner.junit4.AndroidAnnotatedBuilder.runnerForClass(AndroidAnnotatedBuilder.java:63)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
at androidx.test.internal.runner.AndroidRunnerBuilder.runnerForClass(AndroidRunnerBuilder.java:153)
at androidx.test.internal.runner.TestLoader$ScanningRunnerBuilder.runnerForClass(TestLoader.java:143)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at androidx.test.internal.runner.TestLoader.doCreateRunner(TestLoader.java:73)
at androidx.test.internal.runner.TestLoader.getRunnersFor(TestLoader.java:104)
at androidx.test.internal.runner.TestRequestBuilder.build(TestRequestBuilder.java:793)
at androidx.test.runner.AndroidJUnitRunner.buildRequest(AndroidJUnitRunner.java:547)
at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:390)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1584)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at androidx.test.ext.junit.runners.AndroidJUnit4.loadRunner(AndroidJUnit4.java:72)
... 18 more
Caused by: java.lang.NoClassDefFoundError: javax/inject/Inject
at java.lang.reflect.Field.getDeclaredAnnotations(Native Method)
at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:204)
at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:138)
at org.junit.runners.model.FrameworkField.getAnnotations(FrameworkField.java:31)
at org.junit.runners.model.TestClass.addToAnnotationLists(TestClass.java:84)
at org.junit.runners.model.TestClass.scanAnnotatedMembers(TestClass.java:71)
at org.junit.runners.model.TestClass.<init>(TestClass.java:57)
at org.junit.runners.ParentRunner.createTestClass(ParentRunner.java:88)
at org.junit.runners.ParentRunner.<init>(ParentRunner.java:83)
at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:65)
at androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner.<init>(AndroidJUnit4ClassRunner.java:43)
at androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner.<init>(AndroidJUnit4ClassRunner.java:48)
... 21 more
Caused by: java.lang.ClassNotFoundException: javax.inject.Inject
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
... 33 more
```Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1825Unspecific 500 Server Error when adding already existing pending contact2021-05-05T16:15:44ZNicoUnspecific 500 Server Error when adding already existing pending contact@grote found https://code.briarproject.org/briar/python-briar-wrapper/-/issues/19 where he encountered problems when re-adding an already existing pending contact.
I tried to somehow handle those error in _briar_wrapper_, but the respon...@grote found https://code.briarproject.org/briar/python-briar-wrapper/-/issues/19 where he encountered problems when re-adding an already existing pending contact.
I tried to somehow handle those error in _briar_wrapper_, but the response by Briar Headless is always just `500: Internal server error`. I get this when adding a pending contact after
* it has already been added seconds before and the peer is offline
* it has already been added more than 4 days before (manually changed system time) and the peer was offline all the time
* the pending contact got already added days before and left the pending state
* the link is invalid (I think so, just changed some characters)
* and for sure there are more errors
The problem is that [in this line](https://code.briarproject.org/briar/briar/-/blob/01a146ba71743e3709bd6e56052558da95abfbed/briar-headless/src/main/java/org/briarproject/briar/headless/contact/ContactControllerImpl.kt#L96) `contactManager.addPendingContact` gets called without catching its exceptions. Looking [at its implementation](https://code.briarproject.org/briar/briar/-/blob/01a146ba71743e3709bd6e56052558da95abfbed/bramble-core/src/main/java/org/briarproject/bramble/contact/ContactManagerImpl.java#L136), there are at least `DbException, FormatException, GeneralSecurityException` that get thrown.NicoNicohttps://code.briarproject.org/briar/briar/-/issues/1820Use briar-debug alongside briar: tor socket already in use2022-02-25T15:05:47ZToni MarschallUse briar-debug alongside briar: tor socket already in useHello,
is it somehow possible to run briar-debug alongside briar?
Both are installed on my device but only the first startup app got an internet connection. The status on the second app is "Your phone has Internet access via Wi-Fi. Bri...Hello,
is it somehow possible to run briar-debug alongside briar?
Both are installed on my device but only the first startup app got an internet connection. The status on the second app is "Your phone has Internet access via Wi-Fi. Briar can't connect to the Internet". In the debug log i can read that a server socket is already bound and a connection to some local ips in not possible (tor?).
Is there a workaround?
```
...
2020-10-30 10:09:28.762 6449-9468/org.briarproject.briar.android.debug I/TcpPlugin: 192.168.49.1 is not connectable from 192.168.8.113
2020-10-30 10:09:28.763 6449-9456/org.briarproject.briar.android.debug I/TcpPlugin: 192.168.1.80 is not connectable from 192.168.8.113
2020-10-30 10:09:28.763 6449-9457/org.briarproject.briar.android.debug I/TcpPlugin: 192.168.1.78 is not connectable from 192.168.8.113
2020-10-30 10:09:28.763 6449-9456/org.briarproject.briar.android.debug I/TcpPlugin: 192.168.1.48 is not connectable from 192.168.8.113
2020-10-30 10:09:28.763 6449-9457/org.briarproject.briar.android.debug I/TcpPlugin: 192.168.0.253 is not connectable from 192.168.8.113
2020-10-30 10:09:28.763 6449-9456/org.briarproject.briar.android.debug I/TcpPlugin: 192.168.0.82 is not connectable from 192.168.8.113
2020-10-30 10:09:28.763 6449-9457/org.briarproject.briar.android.debug I/TcpPlugin: 10.0.0.10 is not connectable from 192.168.8.113
2020-10-30 10:09:28.763 6449-9456/org.briarproject.briar.android.debug I/TcpPlugin: 192.168.0.175 is not connectable from 192.168.8.113
2020-10-30 10:09:28.763 6449-9457/org.briarproject.briar.android.debug I/TcpPlugin: 192.168.43.1 is not connectable from 192.168.8.113
2020-10-30 10:09:28.763 6449-9456/org.briarproject.briar.android.debug I/TcpPlugin: 192.168.43.1 is not connectable from 192.168.8.113
2020-10-30 10:09:28.763 6449-9457/org.briarproject.briar.android.debug I/TcpPlugin: 192.168.49.1 is not connectable from 192.168.8.113
2020-10-30 10:09:28.763 6449-9456/org.briarproject.briar.android.debug I/TcpPlugin: 192.168.49.1 is not connectable from 192.168.8.113
...
2020-10-30 10:09:29.009 6449-9464/org.briarproject.briar.android.debug I/TcpPlugin: Server socket already bound
...
```
My home network is 192.168.8.x
Thankshttps://code.briarproject.org/briar/briar/-/issues/1795Show when messages were sent and received2020-11-15T18:43:45ZakwizgranShow when messages were sent and receivedA Google Play user asked for messages to show two timestamps: the time sent (on one side of the message bubble) and the time received/acked (on the other side).A Google Play user asked for messages to show two timestamps: the time sent (on one side of the message bubble) and the time received/acked (on the other side).https://code.briarproject.org/briar/briar/-/issues/1794No internet connection on IPv6-only network2020-12-11T10:33:06ZpegazNo internet connection on IPv6-only networkHi there,
I've got a big red message at the bottom of my screen saying "no internet connection" when i try to add my first contact, just connected to data of my phone.
I known my phone provider use only ipv6, is that a possible issue?
...Hi there,
I've got a big red message at the bottom of my screen saying "no internet connection" when i try to add my first contact, just connected to data of my phone.
I known my phone provider use only ipv6, is that a possible issue?
Thanks for the job done!Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1785NPE when no Bluetooth Adapter available2020-11-16T10:36:01ZTorsten GroteNPE when no Bluetooth Adapter available```ruby
'java.lang.String android.bluetooth.BluetoothAdapter.getAddress()' on a null object reference
at org.briarproject.bramble.util.AndroidUtils.getBluetoothAddressAndMethod(AndroidUtils.java:55)
at org.briarpr...```ruby
'java.lang.String android.bluetooth.BluetoothAdapter.getAddress()' on a null object reference
at org.briarproject.bramble.util.AndroidUtils.getBluetoothAddressAndMethod(AndroidUtils.java:55)
at org.briarproject.bramble.util.AndroidUtils.getBluetoothAddress(AndroidUtils.java:48)
at org.briarproject.bramble.plugin.bluetooth.AndroidBluetoothPlugin.getBluetoothAddress(AndroidBluetoothPlugin.java:138)
at org.briarproject.bramble.plugin.bluetooth.BluetoothPlugin.updateProperties(BluetoothPlugin.java:216)
````Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1783Switching "language & region" to English does not switch the settings language2021-05-05T16:17:22ZRobert PollakSwitching "language & region" to English does not switch the settings languageI am using version 1.2.7 from F-Droid.
When I try to switch the interface language from my system standard (which is my native language) to "English (United States), and open the settings after restart, the page title has appropriately c...I am using version 1.2.7 from F-Droid.
When I try to switch the interface language from my system standard (which is my native language) to "English (United States), and open the settings after restart, the page title has appropriately changed to the English "settings", but all the entries are still in my native language.Android 1.2SebastianSebastianhttps://code.briarproject.org/briar/briar/-/issues/1782Add method to delete all private messages to REST API2020-11-16T10:35:16ZNicoAdd method to delete all private messages to REST APINeeded for https://code.briarproject.org/briar/briar-gtk/-/issues/11.Needed for https://code.briarproject.org/briar/briar-gtk/-/issues/11.NicoNicohttps://code.briarproject.org/briar/briar/-/issues/1781Add method to change contact alias to REST API2020-11-16T10:35:09ZNicoAdd method to change contact alias to REST APINeeded for https://code.briarproject.org/briar/briar-gtk/-/issues/14 and https://code.briarproject.org/briar/python-briar-wrapper/-/issues/6.Needed for https://code.briarproject.org/briar/briar-gtk/-/issues/14 and https://code.briarproject.org/briar/python-briar-wrapper/-/issues/6.NicoNicohttps://code.briarproject.org/briar/briar/-/issues/1780Add method to mark message as read to REST API2020-11-16T10:35:24ZNicoAdd method to mark message as read to REST APIWhen exposing unread messages counters in https://code.briarproject.org/briar/briar/-/merge_requests/1283, I noticed that they were never set to 0. I propose the following HTTP method:
##### Marking messages as read
`POST /v1/messages/...When exposing unread messages counters in https://code.briarproject.org/briar/briar/-/merge_requests/1283, I noticed that they were never set to 0. I propose the following HTTP method:
##### Marking messages as read
`POST /v1/messages/read/{contactId}`
The `messageId` of the message to be marked as read
needs to be provided in the request body as follows:
```json
{
"messageId": "+AIMMgOCPFF8HDEhiEHYjbfKrg7v0G94inKxjvjYzA8="
}
```NicoNicohttps://code.briarproject.org/briar/briar/-/issues/1779Expose message delivery state changes to websockets API2022-02-25T15:06:16ZNicoExpose message delivery state changes to websockets APIWe already indicate whether a message was sent/acked, but we don't inform about updates.
Needed for https://code.briarproject.org/briar/briar-gtk/-/issues/69.We already indicate whether a message was sent/acked, but we don't inform about updates.
Needed for https://code.briarproject.org/briar/briar-gtk/-/issues/69.NicoNicohttps://code.briarproject.org/briar/briar/-/issues/1777IllegalStateException when BriarService is recreated after startup2022-07-13T14:35:00ZakwizgranIllegalStateException when BriarService is recreated after startup* Android version: 5.1.1
* Phone model: Samsung SM-J320M (j3xlteub)
* Briar version: 1.2.7 (eb562f8)
Stacktrace:
```
java.lang.IllegalStateException
at org.briarproject.bramble.network.AndroidNetworkManager.startService(AndroidN...* Android version: 5.1.1
* Phone model: Samsung SM-J320M (j3xlteub)
* Briar version: 1.2.7 (eb562f8)
Stacktrace:
```
java.lang.IllegalStateException
at org.briarproject.bramble.network.AndroidNetworkManager.startService(AndroidNetworkManager.java:71)
at org.briarproject.bramble.lifecycle.LifecycleManagerImpl.startServices(LifecycleManagerImpl.java:130)
at org.briarproject.briar.android.BriarService.lambda$onCreate$0$BriarService(BriarService.java:133)
at org.briarproject.briar.android.-$$Lambda$BriarService$Ihm6XxaER2EMRlAKzUA1GpEtxZU.run(lambda)
at java.lang.Thread.run(Thread.java:818)
```
Edited log:
```
06-04 12:25:55.414 I/TorPlugin: First circuit built
06-04 12:25:55.424 I/PollerImpl: Polling plugin org.briarproject.bramble.tor
06-04 12:25:55.428 I/TorPlugin: Connecting to sak[scrubbed]
06-04 12:26:25.431 I/TorPlugin: Could not connect to sak[scrubbed]: java.net.SocketTimeoutException
06-04 12:26:27.252 I/BaseActivity: Starting NavDrawerActivity
06-04 12:26:27.266 I/BriarService: Created
06-04 12:26:27.273 I/LifecycleManagerImpl: Opening database
06-04 12:26:27.299 I/H2Database: Reopening DB: true
06-04 12:26:27.306 I/JdbcDatabase: 2217908857 ms since last compaction
06-04 12:26:27.328 I/LifecycleManagerImpl: Starting services
```
The exception is a canary that's meant to warn us about singletons being reused in violation of their expected lifecycle.
The log shows that TorPlugin and PollerImpl were already running before BriarService was created. The database must have been open too, as the poller was able to load a contact's transport properties.
It looks like a new BriarService instance was created when one already existed, or used to exist. The BriarService instance also has a canary to check for reuse, so this must be a new instance.Android 1.4akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1775NullPointerException: println needs a message2022-05-16T13:59:29ZakwizgranNullPointerException: println needs a message* Android version: 10
* Phone model: Google Pixel 4 (flame)
* Briar version: 1.2.7 (eb562f8)
Stacktrace:
```
java.lang.NullPointerException: println needs a message
at android.util.Log.println_native(Native Method)
at an...* Android version: 10
* Phone model: Google Pixel 4 (flame)
* Briar version: 1.2.7 (eb562f8)
Stacktrace:
```
java.lang.NullPointerException: println needs a message
at android.util.Log.println_native(Native Method)
at android.util.Log.w(Log.java:197)
at com.vanniktech.emoji.Utils.getInputMethodHeight(Utils.java:76)
at com.vanniktech.emoji.EmojiPopup.updateKeyboardState(EmojiPopup.java:142)
at com.vanniktech.emoji.EmojiPopup$1.onGlobalLayout(EmojiPopup.java:72)
at android.view.ViewTreeObserver.dispatchOnGlobalLayout(ViewTreeObserver.java:1056)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2652)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1745)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7768)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:967)
at android.view.Choreographer.doCallbacks(Choreographer.java:791)
at android.view.Choreographer.doFrame(Choreographer.java:726)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:952)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
```Android 1.4IvanaIvanahttps://code.briarproject.org/briar/briar/-/issues/1772Delete blogs and comments does not work2020-11-15T14:20:25ZN6P4CFB1BSRSLDelete blogs and comments does not work**Version**
Briar 1.2.9
**Android version**
Android 10
**Description**
It is not possible to delete self created blogs and their comments individually or completely.
**Steps to reproduce**
1. Open Briar app and type the password
2...**Version**
Briar 1.2.9
**Android version**
Android 10
**Description**
It is not possible to delete self created blogs and their comments individually or completely.
**Steps to reproduce**
1. Open Briar app and type the password
2. Blogs -> Write Blog Post -> PUBLISH -> Add a comment -> REBLOG -> tap avatar icon -> More options -> Remove Blog
3. This does not work the function "Remove Blog" is grayed out.
Note: If do not want to delete blogs, but want to delete self created comments, not possible. A multiple select delete function for comments is missing.https://code.briarproject.org/briar/briar/-/issues/1767Improves animation and design2020-09-05T10:15:34ZN6P4CFB1BSRSLImproves animation and design**Version**
Briar 1.2.9
**Android version**
Android 10
**Description**
When select a contact and tap the "Back" button. The animatiom does not look even, does not look clean and is illogical. Additionally there are some design probl...**Version**
Briar 1.2.9
**Android version**
Android 10
**Description**
When select a contact and tap the "Back" button. The animatiom does not look even, does not look clean and is illogical. Additionally there are some design problems (circle symbol).
**Steps to reproduce**
1. Open the Briar app and enter the password.
2. The main view is "Contacts". Tap on a contact and tap on the "Back" button in the upper left corner.
3. The animatiom does not look even, does not look clean and is illogical.
Note:
Why illogical? The contact is not online and on the main view it shows the online status for this contact with a circle symbol, in this case white color in the middle of the circle symbol and the border is grey. I use Light theme.
When I tap on contact it shows in the title bar a grey circle symbol with white border. Now when I tap on the "Back" button the animation appears and the circle symbol of title bar returns to the main view, but as I said before the color of the circle symbol in title bar and main view are different.https://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/1762allow connection through Wan avoiding TOR2020-08-28T14:34:06ZVladislavallow connection through Wan avoiding TORAllow connection through Wan avoiding TOR for thouse who need just to send quick message, and at this moment don't care about privacy.Allow connection through Wan avoiding TOR for thouse who need just to send quick message, and at this moment don't care about privacy.https://code.briarproject.org/briar/briar/-/issues/1759AndroidTaskScheduler doesn't correctly handle cancellation of periodic tasks2020-08-14T13:04:06ZakwizgranAndroidTaskScheduler doesn't correctly handle cancellation of periodic tasksAndroidTaskScheduler#scheduleWithFixedRate() returns a Future that can be used to cancel the task. But if the Future is cancelled after the first execution of the task, subsequent executions aren't cancelled.AndroidTaskScheduler#scheduleWithFixedRate() returns a Future that can be used to cancel the task. But if the Future is cancelled after the first execution of the task, subsequent executions aren't cancelled.Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1758Periodic timeout monitor task is not cancelled2020-08-14T11:43:47ZakwizgranPeriodic timeout monitor task is not cancelledThe periodic timeout monitor task is meant to be cancelled when the last TimeoutInputStream is closed, but this doesn't happen unless every stream's close() method is called. Transport connections are often closed without calling close()...The periodic timeout monitor task is meant to be cancelled when the last TimeoutInputStream is closed, but this doesn't happen unless every stream's close() method is called. Transport connections are often closed without calling close() on the input stream, leaving the periodic task running unnecessarily and leaking a reference to the closed stream.Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1755Test whether panic button response still works on Android 102020-09-04T11:35:02ZakwizgranTest whether panic button response still works on Android 10Android 10 places new restrictions on background apps starting activities:
https://developer.android.com/guide/components/activities/background-starts
Test whether this affects the panic button response, which uses two invisible activi...Android 10 places new restrictions on background apps starting activities:
https://developer.android.com/guide/components/activities/background-starts
Test whether this affects the panic button response, which uses two invisible activities (PanicResponderActivity and ExitActivity), under the following circumstances:
* Briar isn't running
* Briar is running and visible in recent apps
* Briar is running but not visible in recent appsakwizgranakwizgran