briar issueshttps://code.briarproject.org/groups/briar/-/issues2019-04-16T14:33:11Zhttps://code.briarproject.org/briar/briar/-/issues/1494Allow internet access without Tor2019-04-16T14:33:11ZLeighAllow internet access without TorI understand why you may want to have Tor as the default access, however there will be many people who do not want or need to use that level of anonymity.
Is it possible to disable Tor, and use standard internet access?
I believe that...I understand why you may want to have Tor as the default access, however there will be many people who do not want or need to use that level of anonymity.
Is it possible to disable Tor, and use standard internet access?
I believe that access to Tor is potentially being blocked at my work, however that is done. I would be happy to fallback to non-tor networks where necessary.
Otherwise - Thanks, has a lot of promise!https://code.briarproject.org/briar/briar/-/issues/1492Race between sending and validating private message attachments2019-04-23T14:46:01ZakwizgranRace between sending and validating private message attachmentsWhen writing a private message, we preview the attachments and remove any attachments that can't be loaded (either because the content provider supplies a MIME type with no known extension, or because Glide can't load the preview, or, in...When writing a private message, we preview the attachments and remove any attachments that can't be loaded (either because the content provider supplies a MIME type with no known extension, or because Glide can't load the preview, or, in the case of a single attachment, because we can't determine the image size). If the send button is clicked before an invalid attachment has been removed from the list, the invalid attachment will be sent. At the moment this causes two problems:
* Inconsistent behaviour depending on how quickly the attachments load and the user clicks the send button
* False UI feedback (the "Could not attach image" toast is shown but the attachment is sent)
Once the backend for image attachments has been implemented (#1434), we may have additional problems:
* The adapter item created for the message may not match the attachments that were actually sent
* We may not be able to display our own messages if invalid attachments were sent
Subtask of #1438.Android 1.3Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1487Investigate OOM errors in nightly tests2021-08-27T11:34:07ZakwizgranInvestigate OOM errors in nightly testsThe nightly tests have started to fail regularly due to OOM errors. Investigate whether memory usage has increased significantly.The nightly tests have started to fail regularly due to OOM errors. Investigate whether memory usage has increased significantly.Android 1.3akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1485FileUriExposedException for custom notification sound2019-11-06T09:47:51ZakwizgranFileUriExposedException for custom notification sound* Android version: 7.1.2
* Phone model: Xiaomi Redmi 5A (riva)
* Briar version: 1.0.1 (1833efa)
Stacktrace:
```
android.os.FileUriExposedException: file:///storage/emulated/0/Ringtones/Unlock.wav exposed beyond app through Notification....* Android version: 7.1.2
* Phone model: Xiaomi Redmi 5A (riva)
* Briar version: 1.0.1 (1833efa)
Stacktrace:
```
android.os.FileUriExposedException: file:///storage/emulated/0/Ringtones/Unlock.wav exposed beyond app through Notification.sound
at android.os.StrictMode.onFileUriExposed(StrictMode.java:1796)
at android.net.Uri.checkFileUriExposed(Uri.java:2346)
at android.app.NotificationManager.notifyAsUser(NotificationManager.java:300)
at android.app.NotificationManager.notify(NotificationManager.java:284)
at android.app.NotificationManager.notify(NotificationManager.java:268)
at org.briarproject.briar.android.AndroidNotificationManagerImpl.updateGroupMessageNotification(AndroidNotificationManagerImpl.java:439)
at org.briarproject.briar.android.AndroidNotificationManagerImpl.lambda$showGroupMessageNotification$5$AndroidNotificationManagerImpl(AndroidNotificationManagerImpl.java:383)
at org.briarproject.briar.android.AndroidNotificationManagerImpl$$Lambda$6.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:754)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:163)
at android.app.ActivityThread.main(ActivityThread.java:6205)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
```
I don't know why StrictMode threw this exception rather than just logging it, but judging by the package name this was a release build.Android 1.2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1484NPE when creating contact alias dialog2018-12-18T17:47:19ZakwizgranNPE when creating contact alias dialog* Android version: 8.1.0
* Phone model: Xiaomi Mi A1 (tissot)
* Briar version: 1.1.5 (8f4c3c4)
Stacktrace:
```
java.lang.RuntimeException: Unable to start activity ComponentInfo{org.briarproject.briar.android/org.briarproject.briar.andr...* Android version: 8.1.0
* Phone model: Xiaomi Mi A1 (tissot)
* Briar version: 1.1.5 (8f4c3c4)
Stacktrace:
```
java.lang.RuntimeException: Unable to start activity ComponentInfo{org.briarproject.briar.android/org.briarproject.briar.android.conversation.ConversationActivity}: java.lang.NullPointerException: Attempt to invoke interface method 'void org.briarproject.briar.android.activity.ActivityComponent.inject(org.briarproject.briar.android.conversation.AliasDialogFragment)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2792)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2870)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4723)
at android.app.ActivityThread.-wrap18(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1607)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:172)
at android.app.ActivityThread.main(ActivityThread.java:6590)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'void org.briarproject.briar.android.activity.ActivityComponent.inject(org.briarproject.briar.android.conversation.AliasDialogFragment)' on a null object reference
at org.briarproject.briar.android.conversation.AliasDialogFragment.onCreate(AliasDialogFragment.java:43)
at android.support.v4.app.Fragment.performCreate(Fragment.java:2414)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1418)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3269)
at android.support.v4.app.FragmentManagerImpl.dispatchCreate(FragmentManager.java:3223)
at android.support.v4.app.FragmentController.dispatchCreate(FragmentController.java:190)
at android.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:369)
at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:85)
at org.briarproject.briar.android.activity.BaseActivity.onCreate(BaseActivity.java:80)
at org.briarproject.briar.android.conversation.ConversationActivity.onCreate(ConversationActivity.java:183)
at android.app.Activity.performCreate(Activity.java:7023)
at android.app.Activity.performCreate(Activity.java:7014)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1215)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2745)
... 10 more
java.lang.NullPointerException: Attempt to invoke interface method 'void org.briarproject.briar.android.activity.ActivityComponent.inject(org.briarproject.briar.android.conversation.AliasDialogFragment)' on a null object reference
at org.briarproject.briar.android.conversation.AliasDialogFragment.onCreate(AliasDialogFragment.java:43)
at android.support.v4.app.Fragment.performCreate(Fragment.java:2414)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1418)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3269)
at android.support.v4.app.FragmentManagerImpl.dispatchCreate(FragmentManager.java:3223)
at android.support.v4.app.FragmentController.dispatchCreate(FragmentController.java:190)
at android.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:369)
at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:85)
at org.briarproject.briar.android.activity.BaseActivity.onCreate(BaseActivity.java:80)
at org.briarproject.briar.android.conversation.ConversationActivity.onCreate(ConversationActivity.java:183)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3269)
at android.support.v4.app.FragmentManagerImpl.dispatchCreate(FragmentManager.java:3223)
at android.support.v4.app.FragmentController.dispatchCreate(FragmentController.java:190)
at android.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:369)
at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:85)
at org.briarproject.briar.android.activity.BaseActivity.onCreate(BaseActivity.java:80)
at org.briarproject.briar.android.conversation.ConversationActivity.onCreate(ConversationActivity.java:183)
at android.app.Activity.performCreate(Activity.java:7023)
at android.app.Activity.performCreate(Activity.java:7014)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1215)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2745)
... 10 more
java.lang.NullPointerException: Attempt to invoke interface method 'void org.briarproject.briar.android.activity.ActivityComponent.inject(org.briarproject.briar.android.conversation.AliasDialogFragment)' on a null object reference
at org.briarproject.briar.android.conversation.AliasDialogFragment.onCreate(AliasDialogFragment.java:43)
at android.support.v4.app.Fragment.performCreate(Fragment.java:2414)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1418)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3269)
at android.support.v4.app.FragmentManagerImpl.dispatchCreate(FragmentManager.java:3223)
at android.support.v4.app.FragmentController.dispatchCreate(FragmentController.java:190)
at android.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:369)
at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:85)
at org.briarproject.briar.android.activity.BaseActivity.onCreate(BaseActivity.java:80)
at org.briarproject.briar.android.conversation.ConversationActivity.onCreate(ConversationActivity.java:183)
at android.app.Activity.performCreate(Activity.java:7023)
at android.app.Activity.performCreate(Activity.java:7014)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1215)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2745)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2870)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4723)
at android.app.ActivityThread.-wrap18(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1607)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:172)
at android.app.ActivityThread.main(ActivityThread.java:6590)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
```Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1483IllegalArgumentException when adding member to private group2023-01-17T11:21:09ZakwizgranIllegalArgumentException when adding member to private group* Android version: 6.0.1
* Phone model: Neffos Y5L (TP801A)
* Briar version: 1.1.1 (9476782)
* User feedback: "Crash while trying to add person to a group."
Stacktrace:
```
java.lang.IllegalArgumentException
at org.briarproject....* Android version: 6.0.1
* Phone model: Neffos Y5L (TP801A)
* Briar version: 1.1.1 (9476782)
* User feedback: "Crash while trying to add person to a group."
Stacktrace:
```
java.lang.IllegalArgumentException
at org.briarproject.briar.privategroup.invitation.SessionParserImpl.parseCreatorSession(SessionParserImpl.java:54)
at org.briarproject.briar.privategroup.invitation.GroupInvitationManagerImpl.isInvitationAllowed(GroupInvitationManagerImpl.java:482)
at org.briarproject.briar.android.privategroup.creation.CreateGroupControllerImpl.isDisabled(CreateGroupControllerImpl.java:121)
at org.briarproject.briar.android.contactselection.ContactSelectorControllerImpl.lambda$loadContacts$0$ContactSelectorControllerImpl(ContactSelectorControllerImpl.java:51)
at org.briarproject.briar.android.contactselection.ContactSelectorControllerImpl$$Lambda$0.run(Unknown Source)
at org.briarproject.briar.android.controller.DbControllerImpl.lambda$runOnDbThread$0$DbControllerImpl(DbControllerImpl.java:35)
at org.briarproject.briar.android.controller.DbControllerImpl$$Lambda$0.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
```Android 1.4Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1482IllegalStateException when loading contact2022-05-26T15:42:20ZakwizgranIllegalStateException when loading contactThree users reported this crash.
* Android version: 7.0, 7.0, 6.0.1
* Phone model: Huawei VNS-L31, Motorola Moto G (5) Plus, Xiaomi Redmi 3S (land)
* Briar version: 1.1.5 (8f4c3c4)
Stacktrace:
```
java.lang.IllegalStateException
...Three users reported this crash.
* Android version: 7.0, 7.0, 6.0.1
* Phone model: Huawei VNS-L31, Motorola Moto G (5) Plus, Xiaomi Redmi 3S (land)
* Briar version: 1.1.5 (8f4c3c4)
Stacktrace:
```
java.lang.IllegalStateException
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:99)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:540)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:83)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:143)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:187)
at org.briarproject.bramble.contact.ContactManagerImpl.getContact(ContactManagerImpl.java:89)
at org.briarproject.briar.android.conversation.ConversationViewModel.lambda$loadContact$1(ConversationViewModel.java:76)
at org.briarproject.briar.android.conversation.-$$Lambda$ConversationViewModel$84zBaMmuwR5dlD6GPJnSkh4Cf4w.run(lambda)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:776)
```Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1479Hard to find photo with ACTION_OPEN_DOCUMENT dialog2022-04-19T11:34:40ZakwizgranHard to find photo with ACTION_OPEN_DOCUMENT dialogThe ACTION_OPEN_DOCUMENT intent opens a system dialog to choose a file. On the Nexus 5X I had trouble using this dialog to find a photo I'd recently taken. It wasn't shown in the list of recent items (which I think is the screen that's s...The ACTION_OPEN_DOCUMENT intent opens a system dialog to choose a file. On the Nexus 5X I had trouble using this dialog to find a photo I'd recently taken. It wasn't shown in the list of recent items (which I think is the screen that's shown the first time you use this dialog), and I had to navigate to Menu > Nexus 5X > DCIM > Camera to find it.
The Downloads app on the same phone has a nav drawer item for Images, but the ACTION_OPEN_DOCUMENT dialog (which uses the same styling) doesn't.
![device-2018-12-07-145131](/uploads/b22cb8924c82ae22c36db110f00d3c33/device-2018-12-07-145131.png) ![device-2018-12-07-145140](/uploads/dcac6513445922c42e22122a8d6ee0b6/device-2018-12-07-145140.png)
Subtask of #1473.Android 1.4https://code.briarproject.org/briar/briar/-/issues/1478Crash due to illegal slide direction2018-12-18T18:21:46ZakwizgranCrash due to illegal slide directionCurrent master crashes on the emulator running API 21 when opening ConversationActivity.
Looks like an RTL lint warning that was recently fixed was spurious.
Stacktrace:
```
java.lang.RuntimeException: Unable to start activity Componen...Current master crashes on the emulator running API 21 when opening ConversationActivity.
Looks like an RTL lint warning that was recently fixed was spurious.
Stacktrace:
```
java.lang.RuntimeException: Unable to start activity ComponentInfo{org.briarproject.briar.android.debug/org.briarproject.briar.android.conversation.ConversationActivity}: java.lang.IllegalArgumentException: Invalid slide direction
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
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:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.IllegalArgumentException: Invalid slide direction
at android.transition.Slide.setSlideEdge(Slide.java:165)
at android.transition.Slide.<init>(Slide.java:112)
at org.briarproject.briar.android.conversation.ConversationActivity.onCreate(ConversationActivity.java:200)
at android.app.Activity.performCreate(Activity.java:5937)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
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:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
```Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1477Implement UX for finding out whether contacts support image attachments2019-02-21T10:34:38ZakwizgranImplement UX for finding out whether contacts support image attachmentsImplement the design from #1476 for finding out whether each contact supports image attachments.
Subtask of #1438.Implement the design from #1476 for finding out whether each contact supports image attachments.
Subtask of #1438.Android 1.3Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1476Design UX for finding out whether contacts support image attachments2018-12-17T18:14:27ZakwizgranDesign UX for finding out whether contacts support image attachmentsWhen the user upgrades to a version of Briar that supports image attachments, it may not be possible to send images to a given contact until the contact has also upgraded to a suitable version.
We need to let the user know whether it's ...When the user upgrades to a version of Briar that supports image attachments, it may not be possible to send images to a given contact until the contact has also upgraded to a suitable version.
We need to let the user know whether it's possible to send images to each contact, and if not, what needs to change before it will be possible, and how the user will know when it's changed.
Subtask of #1241.Android 1.3Elio Qoshielio@ura.designElio Qoshielio@ura.designhttps://code.briarproject.org/briar/briar/-/issues/1475Resolve issues with image attachment transitions2019-03-19T10:43:04ZTorsten GroteResolve issues with image attachment transitions* [x] Use a counter as the transition name in `AttachmentItem`.
* [x] Tapping partly covered images makes them pop up from under the cover which looks glitchy
* [ ] Under mysterious circumstances messages can overlap each other (or leave...* [x] Use a counter as the transition name in `AttachmentItem`.
* [x] Tapping partly covered images makes them pop up from under the cover which looks glitchy
* [ ] Under mysterious circumstances messages can overlap each other (or leave gaps) after a return transition to the conversation
* [x] On Moto G 4G (API 22), the exit transition still uses sliding
* [x] Fix shared element exit transition when the list position is lost (activity was stopped or made into fullscreen)
* [ ] ~~Change shared element of return transition when fullscreen view was swiped to another image when returning~~
* [x] Return transition lands slightly below thumbnail when status bar is hidden
Subtask of #1237.
![device-2018-11-28-175203](/uploads/62e4bbd7bc0af62196bc04c3d8433337/device-2018-11-28-175203.png)
![device-2018-11-28-175149](/uploads/e9f3124a919ca57370ece56e894f3ad6/device-2018-11-28-175149.png)Android 1.3Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1473Implement UX for displaying multiple image attachments2018-12-18T18:21:59ZTorsten GroteImplement UX for displaying multiple image attachmentsSubtask of #1237.Subtask of #1237.Android 1.3Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1471remotely added contacts: cannot send messages2018-11-24T07:32:10ZWikinautremotely added contacts: cannot send messagesI installed the Briar Test apk on two devices (Huawei P8 Lite and Y6) and added the contacts remotely (by exchanging the keys manually using "Zxing Barcode Scanner" app). Both contacts show "green" light. but no messages can be sent.
A...I installed the Briar Test apk on two devices (Huawei P8 Lite and Y6) and added the contacts remotely (by exchanging the keys manually using "Zxing Barcode Scanner" app). Both contacts show "green" light. but no messages can be sent.
After closing and restarting the Briar Test Apps, the contacts are not even marked "green" any more.https://code.briarproject.org/briar/briar/-/issues/1469Screen "flashing" when Briar runs in background2019-05-16T13:03:08ZmanuelScreen "flashing" when Briar runs in backgroundWhen running Briar in background my phone "flashes" the screen (like when doing screenshots) at random times.
I was not able to observe this behavior when running logcat.When running Briar in background my phone "flashes" the screen (like when doing screenshots) at random times.
I was not able to observe this behavior when running logcat.Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1468Restrict size of image attachments2021-06-28T08:08:18ZTorsten GroteRestrict size of image attachmentsWe can not process images of arbitrary size, because the device may lack the memory to load the entire image into it or because the maximum texture size is smaller than the image.
* [x] don't read entire images in memory
* [x] scale ful...We can not process images of arbitrary size, because the device may lack the memory to load the entire image into it or because the maximum texture size is smaller than the image.
* [x] don't read entire images in memory
* [x] scale full screen images down to screen size to avoid exceeding max texture size
* [x] add tests for [MarkEnforcingInputStream](https://github.com/bumptech/glide/blob/ad33b8d503024c8a3a6a3da60ce28c4d7732ae58/library/src/main/java/com/bumptech/glide/util/MarkEnforcingInputStream.java)
* [x] tests for our own code that handles the various image types and edge cases
* [x] limit our supported mime types to image/gif, image/jpeg and image/png
* [x] limit the size of images that can be sent
Subtask of #1237.Android 1.3Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1467Improve Conversation Scrolling Behaviour2019-06-17T10:10:29ZTorsten GroteImprove Conversation Scrolling BehaviourCurrently, we scroll down after loading the list of messages (after each activity start). We also scroll down when loading a message text or image asynchronously.
This is problematic, because the user can't scroll up right after a large...Currently, we scroll down after loading the list of messages (after each activity start). We also scroll down when loading a message text or image asynchronously.
This is problematic, because the user can't scroll up right after a large conversation is displayed and because when looking at older photos, the user forcibly gets scrolled to the end of the conversation and needs to find where she was.
Subtask of #1242Android 1.3Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1464Introduction request message status is always sent and seen2018-11-27T09:58:27ZTorsten GroteIntroduction request message status is always sent and seenIntroduce to fake (or offline) contacts to each other. Observe the double check marks that say even after reloading the conversation even though the message was neither sent nor seen.Introduce to fake (or offline) contacts to each other. Observe the double check marks that say even after reloading the conversation even though the message was neither sent nor seen.Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1463Delete blog posts2018-12-19T12:27:18ZThibault LemaireDelete blog postsI've posted some blogs that I'm not proud of, e.g.
> ALL HAIL OUR GOD THE FLYING SPAGHETTI MONSTER
and I'd like to delete them, so they don't get broadcast to every new contact I add.I've posted some blogs that I'm not proud of, e.g.
> ALL HAIL OUR GOD THE FLYING SPAGHETTI MONSTER
and I'd like to delete them, so they don't get broadcast to every new contact I add.https://code.briarproject.org/briar/briar/-/issues/1462How to change username?2019-11-04T15:38:10ZThibault LemaireHow to change username?Hello, I'm playing around with Briar for now (I understand it's still not production ready yet). Great features so far!
So I'll play dumb on this one: __How can I change my username?__
I understand my identity is represented by a publi...Hello, I'm playing around with Briar for now (I understand it's still not production ready yet). Great features so far!
So I'll play dumb on this one: __How can I change my username?__
I understand my identity is represented by a public key, so I should be able to change my username without losing my contacts, right?
I haven't found any screen where I could do that.