briar issueshttps://code.briarproject.org/briar/briar/-/issues2019-08-08T12:58:09Zhttps://code.briarproject.org/briar/briar/-/issues/1598headless: add RSS feed functionality2019-08-08T12:58:09Ziwakehheadless: add RSS feed functionalityIt would be great to have the RSS feed functionality in briar-headless.
(I could help with the implementation with a little info about how to approach this best.)It would be great to have the RSS feed functionality in briar-headless.
(I could help with the implementation with a little info about how to approach this best.)https://code.briarproject.org/briar/briar/-/issues/1599[headless] obsolete dependency integrity assertion2019-08-14T14:22:42Ziwakeh[headless] obsolete dependency integrity assertion[Line 61](https://code.briarproject.org/briar/briar/blob/master/briar-headless/witness.gradle#L61) in briar-headless/witness.gradle seems redundant.[Line 61](https://code.briarproject.org/briar/briar/blob/master/briar-headless/witness.gradle#L61) in briar-headless/witness.gradle seems redundant.https://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/1356Error: No dependency for integrity assertion 'org.ow2.asm:asm:5.0.4:asm-5.0.4...2019-08-14T14:23:01ZTeodomiroError: No dependency for integrity assertion 'org.ow2.asm:asm:5.0.4:asm-5.0.4.jar:...Hi guys.
I get this dependency error when I try to build the project...! Any thoughts, please? [PerBri](/uploads/9ee4f4c20810d3128f233a6f1b4b759d/PerBri.png)Hi guys.
I get this dependency error when I try to build the project...! Any thoughts, please? [PerBri](/uploads/9ee4f4c20810d3128f233a6f1b4b759d/PerBri.png)https://code.briarproject.org/briar/briar/-/issues/1575exclude the redundant rome-utils jar from being packaged2019-08-20T09:03:04Ziwakehexclude the redundant rome-utils jar from being packagedPlease, see comment below.Please, see comment below.https://code.briarproject.org/briar/briar/-/issues/1583Remote contact layout is too tall for small screens2019-09-27T14:58:54ZakwizgranRemote contact layout is too tall for small screensThe layouts for LinkExchangeFragment and NicknameFragment don't work well on small screens: for LinkExchangeFragment the Continue button is mostly offscreen, and for NicknameFragment the nickname field and Add Contact button are entirely...The layouts for LinkExchangeFragment and NicknameFragment don't work well on small screens: for LinkExchangeFragment the Continue button is mostly offscreen, and for NicknameFragment the nickname field and Add Contact button are entirely offscreen, making it unclear what the user's meant to do next.
Screenshots come from the Huawei Ascend Y330 (480x800 px).
![device-2019-06-08-101532](/uploads/83053a95ddee99302b91b0b79c659113/device-2019-06-08-101532.png)
![device-2019-06-08-101545](/uploads/33ff8c3896463d1be367479d956b781b/device-2019-06-08-101545.png)
Possible workarounds:
* Scroll to the bottom of each fragment when it's opened
* Remove the illustration from NicknameActivity or make it smaller
* Move the stepper to the bottom, below the button (I know we decided it was better at the top, and apart from this issue I'd prefer to keep it there)
* Divide the workflow into three steps rather than two: send link, enter link, and enter nickname (this has disadvantages for the flows where the user opens the activity by sharing a link from another app, or with a link already in the clipboard)Android 1.2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/77An open, anonymous message board for anyone in range2019-10-01T09:52:16ZakwizgranAn open, anonymous message board for anyone in rangeA user asked for the ability to create a message board that would automatically be available to anyone in range.
This is probably outside the scope of Briar, but it gives an indication of something users might want Briar to do.A user asked for the ability to create a message board that would automatically be available to anyone in range.
This is probably outside the scope of Briar, but it gives an indication of something users might want Briar to do.https://code.briarproject.org/briar/briar/-/issues/1625ConversationClient method for message deletion2019-10-07T14:45:20ZTorsten GroteConversationClient method for message deletionSubtask of #68
* [x] Add `ConversationManager` method for deleting all conversation messages which delegates to conversation clients
* [x] Add `ConversationClient` method for deleting all messages that returns true if all messages were ...Subtask of #68
* [x] Add `ConversationManager` method for deleting all conversation messages which delegates to conversation clients
* [x] Add `ConversationClient` method for deleting all messages that returns true if all messages were delete or false if not (because they are invitation/introduction messages that can't be deleted).
* [x] Add real implementation for `MessagingManager`, no-op implementations for other clients (just return false)Android 1.2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1236Update manual for adding contacts remotely2019-10-09T12:16:03ZakwizgranUpdate manual for adding contacts remotelySubtask of #1230.Subtask of #1230.Android 1.2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1626UI for partial conversation message deletion2019-10-09T12:17:31ZTorsten GroteUI for partial conversation message deletionSubtask of #68
* [x] Add menu item for triggering deletion of all messages
* [x] Show dialog (if needed) explaining that invitation/introduction messages can't be deletedSubtask of #68
* [x] Add menu item for triggering deletion of all messages
* [x] Show dialog (if needed) explaining that invitation/introduction messages can't be deletedAndroid 1.2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1609AssertionError when sending all-whitespace message2019-10-09T12:17:49ZakwizgranAssertionError when sending all-whitespace message* Android version: 7.1.2
* Phone model: Hisense A2M
* Briar version: 1.1.8 (6b022af)
* User feedback: "Send nothing (a space)"
Stacktrace:
```
java.lang.AssertionError
at org.briarproject.briar.android.conversation.ConversationA...* Android version: 7.1.2
* Phone model: Hisense A2M
* Briar version: 1.1.8 (6b022af)
* User feedback: "Send nothing (a space)"
Stacktrace:
```
java.lang.AssertionError
at org.briarproject.briar.android.conversation.ConversationActivity.onSendClick(ConversationActivity.java:712)
at org.briarproject.briar.android.view.TextSendController.onSendEvent(TextSendController.java:49)
at org.briarproject.briar.android.view.TextSendController.lambda$new$0$TextSendController(TextSendController.java:34)
at org.briarproject.briar.android.view.-$$Lambda$TextSendController$10Be2Hyuh5TqgqEmcNIq7rn_c-c.onClick(lambda)
at android.view.View.performClick(View.java:5644)
at android.view.View$PerformClick.run(View.java:22440)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6166)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
```
I can reproduce this by sending an all-whitespace message. We trim the text in EmojiTextInputView#getText(), but we call TextInputListener#onTextIsEmptyChanged() when the untrimmed text becomes empty/non-empty. This causes the send button to be enabled when all-whitespace text is entered, but then ConversationActivity#onSendClick() asserts that it can only be called if the text (now trimmed) is non-empty or the attachments list is non-empty.Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1428Log messages with level FINE aren't recorded in Android's system log2019-10-09T12:17:59ZakwizgranLog messages with level FINE aren't recorded in Android's system logLog messages with level FINE (such as timing measurements) aren't being recorded in Android's system log. These messages should be recorded on debug and beta builds, where the root logger's log level is set to FINE.
The messages are rec...Log messages with level FINE (such as timing measurements) aren't being recorded in Android's system log. These messages should be recorded on debug and beta builds, where the root logger's log level is set to FINE.
The messages are recorded in our own internal log, as expected, so they're included in crash reports and feedback from debug and beta builds.Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1594Preview fails to load when sending second message with attachments2019-10-09T12:18:24ZakwizgranPreview fails to load when sending second message with attachmentsAfter sending a message with an attachment, I'm unable to send a second message with an attachment because the preview fails to load.
Test device: Honor 8A (Android 9).After sending a message with an attachment, I'm unable to send a second message with an attachment because the preview fails to load.
Test device: Honor 8A (Android 9).Android 1.3akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1593RuntimeException when scanning QR code2019-10-09T12:18:48ZakwizgranRuntimeException when scanning QR codeBriar crashed while scanning a QR code. This looks like a bug in libcore or the standard library so I'm not adding it to the current milestone for now. If we get crash reports then let's add it to the milestone and look for a workaround....Briar crashed while scanning a QR code. This looks like a bug in libcore or the standard library so I'm not adding it to the current milestone for now. If we get crash reports then let's add it to the milestone and look for a workaround.
* Android version: 9 (EMUI 9.0.1)
* Phone model: Honor 8A
* Briar version: current master (d210215b)
Stacktrace:
```
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:355)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
at java.util.concurrent.FutureTask.run(FutureTask.java:271)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:246)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:784)
Caused by: java.lang.AssertionError: impossible
at java.lang.Enum$1.create(Enum.java:272)
at java.lang.Enum$1.create(Enum.java:262)
at libcore.util.BasicLruCache.get(BasicLruCache.java:58)
at java.lang.Enum.getSharedConstants(Enum.java:289)
at java.lang.Class.getEnumConstantsShared(Class.java:2423)
at java.util.EnumMap.getKeyUniverse(EnumMap.java:755)
at java.util.EnumMap.<init>(EnumMap.java:138)
at com.google.zxing.Result.putMetadata(Result.java:117)
at com.google.zxing.qrcode.QRCodeReader.decode(QRCodeReader.java:90)
at org.briarproject.briar.android.keyagreement.QrCodeDecoder$DecoderTask.doInBackground(QrCodeDecoder.java:109)
at org.briarproject.briar.android.keyagreement.QrCodeDecoder$DecoderTask.doInBackground(QrCodeDecoder.java:91)
at android.os.AsyncTask$2.call(AsyncTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:246)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:784)
Caused by: java.lang.NoSuchMethodException: values []
at java.lang.Class.getMethod(Class.java:2068)
at java.lang.Class.getDeclaredMethod(Class.java:2047)
at java.lang.Enum$1.create(Enum.java:268)
at java.lang.Enum$1.create(Enum.java:262)
at libcore.util.BasicLruCache.get(BasicLruCache.java:58)
at java.lang.Enum.getSharedConstants(Enum.java:289)
at java.lang.Class.getEnumConstantsShared(Class.java:2423)
at java.util.EnumMap.getKeyUniverse(EnumMap.java:755)
at java.util.EnumMap.<init>(EnumMap.java:138)
at com.google.zxing.Result.putMetadata(Result.java:117)
at com.google.zxing.qrcode.QRCodeReader.decode(QRCodeReader.java:90)
at org.briarproject.briar.android.keyagreement.QrCodeDecoder$DecoderTask.doInBackground(QrCodeDecoder.java:109)
at org.briarproject.briar.android.keyagreement.QrCodeDecoder$DecoderTask.doInBackground(QrCodeDecoder.java:91)
at android.os.AsyncTask$2.call(AsyncTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:246)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:784)
```Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1585Add support for image attachments to messaging client2019-10-09T12:19:18ZakwizgranAdd support for image attachments to messaging clientAndroid 1.3akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1618Removing local messages from contact2019-10-14T11:58:44ZHansRemoving local messages from contactQuickly checked a few classes and searched for a way to delete them but I am unable to get a clue of how to properly do this, is there even a function yet to do this? I see the deleteContact function which deletes all information from th...Quickly checked a few classes and searched for a way to delete them but I am unable to get a clue of how to properly do this, is there even a function yet to do this? I see the deleteContact function which deletes all information from the db but that's not what I want to achieve.
Maybe I was looking at the wrong place or missed it, I might need a hint or a facepalm in that case.
Hanshttps://code.briarproject.org/briar/briar/-/issues/1627Delete all invitation/introduction messages for completed sessions2019-10-14T12:57:58ZTorsten GroteDelete all invitation/introduction messages for completed sessionsSubtask of #68
* [x] Implement the no-ops from #1625 in the remaining `ConversationClient`s that deletes all completed sessions. A session is complete if it is in a completed state and all messages have been ACKed.
* [x] Introductio...Subtask of #68
* [x] Implement the no-ops from #1625 in the remaining `ConversationClient`s that deletes all completed sessions. A session is complete if it is in a completed state and all messages have been ACKed.
* [x] Introductions: If the session isn't in the start state or there are sent-but-unacked messages, refuse to delete the session. Otherwise delete all messages and their metadata, but leave the session storage message
* [x] Blogs/Forums: If the session has an invite available to answer, refuse to delete the session. Otherwise delete all visible messages and their metadata, but leave invisible messages and the session storage message
* [x] Private Groups: If the session has an invite available to answer, refuse to delete the session. Otherwise delete all visible messages and their metadata, but leave invisible messages and the session storage message
* [x] Update UI dialog to explain that ongoing invitations/introductions can't be deleted
Implementation plan:
* look up all the message metadata
* look up all message states
* loop over all message states and create hash set of message ids that are sent but not acked
* loop over all the message metadata finding session storage objects messages and creating session objects
* loop over it again assigning protocol messages to their sessions
* loop over all sessions: If session state is completed and all messages were ACKed, delete entire session, else remember non-deletion
* return false if at least one session could not be deletedAndroid 1.2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1632Unable to re-share Shareable2019-10-14T14:29:57ZTorsten GroteUnable to re-share ShareableA leaves, sends `REMOTE_LEAVE` to B and goes into `LOCAL_LEFT` state. Now B also leaves and since it got the leave message from A, it does nothing, just moves into `START` state. Provided that A and B get access to the forum again throug...A leaves, sends `REMOTE_LEAVE` to B and goes into `LOCAL_LEFT` state. Now B also leaves and since it got the leave message from A, it does nothing, just moves into `START` state. Provided that A and B get access to the forum again through other contacts, B can still share the forum with A while A is permanently blocked from sharing it again with B, because it is stuck in the `LOCAL_LEFT` state.
https://code.briarproject.org/briar/briar/commits/shareable-re-sharing-issueAndroid 1.2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1633Raise minimum API level to 162019-10-14T15:37:45ZakwizgranRaise minimum API level to 16Devices running API 15 account for less than 1/1000 of our active installs according to Google Play.
Removing the non-PIE 32-bit binaries for Tor and obfsproxy, which are only needed for API 15, will make room for the 64-bit PIE binarie...Devices running API 15 account for less than 1/1000 of our active installs according to Google Play.
Removing the non-PIE 32-bit binaries for Tor and obfsproxy, which are only needed for API 15, will make room for the 64-bit PIE binaries. There may also be some conditional code we can remove. One of the test devices will have to be retired. :crying_cat_face:Android 1.2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1506Provide a Tor/obfsproxy arm64 binary2019-10-14T16:34:24ZTorsten GroteProvide a Tor/obfsproxy arm64 binary[Starting August 1, 2019](https://android-developers.googleblog.com/2019/01/get-your-apps-ready-for-64-bit.html), all new apps and app updates that include native code are required to provide 64-bit versions in addition to 32-bit version...[Starting August 1, 2019](https://android-developers.googleblog.com/2019/01/get-your-apps-ready-for-64-bit.html), all new apps and app updates that include native code are required to provide 64-bit versions in addition to 32-bit versions when publishing to Google Play.
We currently do not provide 64-bit binaries of Tor and obfsproxy for arm and x86, but should do so.
As the APK size will get quite big with the additional binaries, we should consider split APKs (#1278).Android 1.2Torsten GroteTorsten Grote2019-07-31