briar issueshttps://code.briarproject.org/groups/briar/-/issues2020-12-02T12:27:25Zhttps://code.briarproject.org/briar/briar/-/issues/1852A blog comment should have a higher timestamp than the post/comment it replie...2020-12-02T12:27:25ZakwizgranA blog comment should have a higher timestamp than the post/comment it replies toWhen devices have inaccurate clocks, a blog comment can have a lower timestamp than the post/comment it replies to. We should fake the timestamp in this situation to preserve causal order, like we do when replying to forum posts.When devices have inaccurate clocks, a blog comment can have a lower timestamp than the post/comment it replies to. We should fake the timestamp in this situation to preserve causal order, like we do when replying to forum posts.https://code.briarproject.org/briar/briar/-/issues/1857Statistics screen2020-12-09T17:01:45ZakwizgranStatistics screenA user asked for a statistics screen showing how many messages are waiting to be sent, and when messages have been successfully sent and received.
Possibly related to #26.A user asked for a statistics screen showing how many messages are waiting to be sent, and when messages have been successfully sent and received.
Possibly related to #26.https://code.briarproject.org/briar/briar/-/issues/1858Sending feedback/crash reports times out with many contacts2020-12-10T15:28:58ZTorsten GroteSending feedback/crash reports times out with many contactsWhen sending feedback through the app or a crash report after the app starts, often fails with a `SocketTimeoutException: Read timed out` when there's lots of contacts (~100 here).
It might be that TorPlugin doesn't work as expected wh...When sending feedback through the app or a crash report after the app starts, often fails with a `SocketTimeoutException: Read timed out` when there's lots of contacts (~100 here).
It might be that TorPlugin doesn't work as expected when there's that many circuits being built all the time.https://code.briarproject.org/briar/briar/-/issues/1860Include sign-in time in crash reports2020-12-11T13:40:45ZTorsten GroteInclude sign-in time in crash reportsCurrently, we include the app start time in crash reports, but we register a boot receiver in order to show the sign-in reminder, so the application instance may be created shortly after boot, even if the user doesn't launch the app unti...Currently, we include the app start time in crash reports, but we register a boot receiver in order to show the sign-in reminder, so the application instance may be created shortly after boot, even if the user doesn't launch the app until much later. It would also be worth recording a launch time (e.g. the first time an activity's created) or a sign-in time (e.g. the time when BriarService starts).https://code.briarproject.org/briar/briar/-/issues/1868Migrate ContactSelectorController to ViewModel2021-04-30T13:37:26ZTorsten GroteMigrate ContactSelectorController to ViewModelThere's some code sharing going on here with various places. Also related to #1867
Subtask of #1800There's some code sharing going on here with various places. Also related to #1867
Subtask of #1800https://code.briarproject.org/briar/briar/-/issues/1874Migrate CreateGroupController to ViewModel2021-04-30T13:37:10ZTorsten GroteMigrate CreateGroupController to ViewModelSubtask of #1800Subtask of #1800https://code.briarproject.org/briar/briar/-/issues/1875Migrate InvitationControllers to ViewModel2021-04-30T13:36:37ZTorsten GroteMigrate InvitationControllers to ViewModelThere's three controllers sharing code:
* [ ] ForumInvitationController
* [ ] GroupInvitationController
* [ ] BlogInvitationController
Subtask of #1800There's three controllers sharing code:
* [ ] ForumInvitationController
* [ ] GroupInvitationController
* [ ] BlogInvitationController
Subtask of #1800https://code.briarproject.org/briar/briar/-/issues/1876Migrate GroupMemberListController to ViewModel2021-04-30T13:36:32ZTorsten GroteMigrate GroupMemberListController to ViewModelSubtask of #1800Subtask of #1800https://code.briarproject.org/briar/briar/-/issues/1877Migrate RevealContactsController to ViewModel2021-04-30T13:36:28ZTorsten GroteMigrate RevealContactsController to ViewModelSubtask of #1800Subtask of #1800https://code.briarproject.org/briar/briar/-/issues/1878Migrate ShareBlogController to ViewModel2021-04-30T13:36:10ZTorsten GroteMigrate ShareBlogController to ViewModelSubtask of #1800Subtask of #1800https://code.briarproject.org/briar/briar/-/issues/1879Migrate ShareForumController to ViewModel2021-04-30T13:36:05ZTorsten GroteMigrate ShareForumController to ViewModelSubtask of #1800Subtask of #1800https://code.briarproject.org/briar/briar/-/issues/1880Introduce ViewModel for SharingStatusActivity2021-04-30T13:36:01ZTorsten GroteIntroduce ViewModel for SharingStatusActivitySubtask of #1823.Subtask of #1823.https://code.briarproject.org/briar/briar/-/issues/1882Get rid of legacy code after ViewModel migration2021-04-30T13:35:56ZTorsten GroteGet rid of legacy code after ViewModel migrationA list of things we might not need anymore after the ViewModel migration is complete:
* [ ] `ActivityComponent`
* [ ] `BaseEventFragment`
* [ ] most of `BaseFragment`
* [ ] part of `BaseFragmentListener`
* [ ] `BriarActivity#runOnDbThre...A list of things we might not need anymore after the ViewModel migration is complete:
* [ ] `ActivityComponent`
* [ ] `BaseEventFragment`
* [ ] most of `BaseFragment`
* [ ] part of `BaseFragmentListener`
* [ ] `BriarActivity#runOnDbThread()`
* [ ] `BriarActivity#finishOnUiThread()`
* [ ] `VersionedAdapter` and its implementationhttps://code.briarproject.org/briar/briar/-/issues/1888Blog feed takes a long time to load2021-01-07T10:39:30ZWuukoBlog feed takes a long time to loadBlog section opens in 1 minuteBlog section opens in 1 minutehttps://code.briarproject.org/briar/briar/-/issues/1890Support adding administrators to private groups2021-01-07T21:10:29ZiljaSupport adding administrators to private groupsCurrently it seems that only creator of private group is able to add others to it. It should be possible to add other admins as otherwise losing access to creating account will make the group useless over time, etc.Currently it seems that only creator of private group is able to add others to it. It should be possible to add other admins as otherwise losing access to creating account will make the group useless over time, etc.https://code.briarproject.org/briar/briar/-/issues/1895Introduce ViewModel for WriteBlogPostActivity2021-05-11T15:06:42ZTorsten GroteIntroduce ViewModel for WriteBlogPostActivityThe `WriteBlogPostActivity` could either be turned into a fragment and re-use BlogViewModel or have its own ViewModel.
Subtask of #1823
Depends on #1866The `WriteBlogPostActivity` could either be turned into a fragment and re-use BlogViewModel or have its own ViewModel.
Subtask of #1823
Depends on #1866https://code.briarproject.org/briar/briar/-/issues/1896Blog post toolbar title resets from Blogs to app name2021-01-12T17:40:19ZTorsten GroteBlog post toolbar title resets from Blogs to app namesteps to reproduce:
1. open blog feed
2. click on a blog post (not the author name)
3. rotate screen
4. observe toolbar title saying Briar (Debug)steps to reproduce:
1. open blog feed
2. click on a blog post (not the author name)
3. rotate screen
4. observe toolbar title saying Briar (Debug)https://code.briarproject.org/briar/briar/-/issues/1898OOM error at startup2023-08-24T14:06:26ZakwizgranOOM error at startupI'm opening a new ticket for this because it doesn't seem to have the same cause as #1607.
* Android version: 9
* Phone model: Motorola Moto Z4 (foles)
* Briar version: 1.2.7 (eb562f8)
* System memory: 3629 MiB total, 1421 MiB free, 291...I'm opening a new ticket for this because it doesn't seem to have the same cause as #1607.
* Android version: 9
* Phone model: Motorola Moto Z4 (foles)
* Briar version: 1.2.7 (eb562f8)
* System memory: 3629 MiB total, 1421 MiB free, 291 MiB threshold
* VM memory: 6 MiB allocated, 3 MiB free, 128 MiB maximum
Stacktrace:
```
java.lang.OutOfMemoryError: OutOfMemoryError thrown while trying to throw OutOfMemoryError; no stack trace available
```
Log:
```
05-07 02:51:43.754 I/BriarApplicationImpl: Created
05-07 02:51:43.769 I/CryptoComponentImpl: Default SecureRandom: AndroidOpenSSL SHA1PRNG
05-07 02:51:43.889 I/CryptoComponentImpl: Installed SecureRandom: UnixPRNG SHA1PRNG
05-07 02:51:44.047 I/LifecycleManagerImpl: Registering executor TimeLoggingExecutor
05-07 02:51:44.047 I/LifecycleManagerImpl: Registering executor ThreadPoolExecutor
05-07 02:51:44.047 I/LifecycleManagerImpl: Registering executor ScheduledThreadPoolExecutor
05-07 02:51:44.047 I/LifecycleManagerImpl: Registering service AndroidNetworkManager
05-07 02:51:44.048 I/LifecycleManagerImpl: Registering service AndroidBatteryManager
05-07 02:51:44.048 I/LifecycleManagerImpl: Registering service KeyManagerImpl
05-07 02:51:44.049 I/LifecycleManagerImpl: Registering open database hook IdentityManagerImpl
05-07 02:51:44.049 I/LifecycleManagerImpl: Registering executor TimeLoggingExecutor
05-07 02:51:44.057 I/LifecycleManagerImpl: Registering service ValidationManagerImpl
05-07 02:51:44.059 I/LifecycleManagerImpl: Registering open database hook ClientVersioningManagerImpl
05-07 02:51:44.059 I/LifecycleManagerImpl: Registering service ClientVersioningManagerImpl
05-07 02:51:44.060 I/LifecycleManagerImpl: Registering open database hook TransportPropertyManagerImpl
05-07 02:51:44.061 I/LifecycleManagerImpl: Registering service PluginManagerImpl
05-07 02:51:44.061 I/LifecycleManagerImpl: Registering service RendezvousPollerImpl
05-07 02:51:44.065 I/LifecycleManagerImpl: Registering open database hook BlogManagerImpl
05-07 02:51:44.067 I/LifecycleManagerImpl: Registering open database hook FeedManagerImpl
05-07 02:51:44.072 I/LifecycleManagerImpl: Registering open database hook GroupInvitationManagerImpl
05-07 02:51:44.073 I/LifecycleManagerImpl: Registering open database hook MessagingManagerImpl
05-07 02:51:44.076 I/LifecycleManagerImpl: Registering open database hook ForumSharingManagerImpl
05-07 02:51:44.077 I/LifecycleManagerImpl: Registering open database hook BlogSharingManagerImpl
05-07 02:51:44.080 I/LifecycleManagerImpl: Registering open database hook IntroductionManagerImpl
05-07 02:51:44.081 I/LifecycleManagerImpl: Registering service AndroidNotificationManagerImpl
05-07 02:51:44.082 I/LifecycleManagerImpl: Registering service ScreenFilterMonitorImpl
05-07 02:51:44.082 I/LifecycleManagerImpl: Registering service NetworkUsageLogger
05-07 02:51:44.082 I/LifecycleManagerImpl: Registering service DozeWatchdogImpl
05-07 02:51:44.085 I/LifecycleManagerImpl: Registering service LockManagerImpl
05-07 02:51:44.086 I/LifecycleManagerImpl: Registering open database hook RecentEmojiImpl
05-07 02:51:44.209 I/BaseActivity: Starting SplashScreenActivity
05-07 02:51:44.868 I/BaseActivity: Starting NavDrawerActivity
05-07 02:51:44.915 I/AccountManagerImpl: Found database key in primary file
05-07 02:51:44.917 I/BaseActivity: Starting StartupActivity
05-07 02:51:46.391 I/BaseActivity: Stopping NavDrawerActivity
05-07 02:51:46.400 I/BaseActivity: Stopping SplashScreenActivity
05-07 02:51:56.059 I/AccountManagerImpl: Found database key in primary file
```
Looks like the app threw an OOM while showing the password screen, with only 6 MB of 128 MB allocated. :shrug:Android 1.4https://code.briarproject.org/briar/briar/-/issues/1900Crash when scanning QR code2021-11-04T11:03:25ZakwizgranCrash when scanning QR code* Android version: 4.2.2
* Phone model: ThL W200S
* Briar version: 1.2.9
Stacktrace:
```
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:299)
at...* Android version: 4.2.2
* Phone model: ThL W200S
* Briar version: 1.2.9
Stacktrace:
```
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:299)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
at java.util.concurrent.FutureTask.run(FutureTask.java:239)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:838)
Caused by: com.google.zxing.NotFoundException
com.google.zxing.NotFoundException
```
Edited log:
```
08-20 18:28:48.357 I/CameraView: Best size 960x540
08-20 18:28:48.380 I/CameraView: Video stabilisation enabled: true
08-20 18:28:48.380 I/CameraView: Scene mode: auto
08-20 18:28:48.380 I/CameraView: Focus mode: continuous-picture
08-20 18:28:48.380 I/CameraView: Flash mode: off
08-20 18:28:48.380 I/CameraView: Preview size: 960x540
08-20 18:28:48.398 I/ConnectionChooserImpl: Got connection for org.briarproject.bramble.lan
08-20 18:28:48.398 I/ConnectionChooserImpl: Already stopped
08-20 18:28:48.408 I/KeyAgreementConnector: Starting BQP listeners
08-20 18:28:48.408 I/BluetoothPlugin: Key agreement UUID f4ef05da-bb49-32d7-91d7-025efce30d3f
08-20 18:28:48.420 I/KeyAgreementConnector: Listening via org.briarproject.bramble.bluetooth
08-20 18:28:48.425 I/ConnectionChooserImpl: Got connection for org.briarproject.bramble.bluetooth
08-20 18:28:48.425 I/ConnectionChooserImpl: Already stopped
08-20 18:28:48.452 I/RenewableWakeLock: Releasing wake lock org.briarproject.briar.android
08-20 18:28:48.454 I/BluetoothConnectionLimiterImpl: Connection closed, 0 open
08-20 18:28:48.471 I/CameraView: Surface created
08-20 18:28:48.471 I/CameraView: Surface changed: 720x1118
08-20 18:28:48.479 I/CameraView: Best size 960x540
08-20 18:28:48.482 I/KeyAgreementConnector: Listening via org.briarproject.bramble.lan
08-20 18:28:48.489 I/CameraView: Video stabilisation enabled: true
08-20 18:28:48.489 I/CameraView: Scene mode: auto
08-20 18:28:48.489 I/CameraView: Focus mode: continuous-picture
08-20 18:28:48.489 I/CameraView: Flash mode: off
08-20 18:28:48.489 I/CameraView: Preview size: 960x540
08-20 18:28:48.489 I/CameraView: Starting preview
08-20 18:28:48.786 I/BluetoothConnectionLimiterImpl: Key agreement ended
08-20 18:28:48.790 I/CameraView: Stopping preview
08-20 18:28:48.790 I/KeyAgreementConnector: Stopping BQP listeners
08-20 18:28:48.792 I/ConnectionChooserImpl: java.io.IOException: read failed, socket might closed or timeout, read ret: -1
08-20 18:28:48.792 I/ConnectionChooserImpl: java.net.SocketException: Socket closed
08-20 18:28:48.793 I/ConnectionChooserImpl: Closing 0 unused connections
08-20 18:28:48.921 I/CameraView: Releasing camera
08-20 18:28:49.236 I/BluetoothConnectionLimiterImpl: Key agreement started
08-20 18:28:49.236 I/BluetoothConnectionLimiterImpl: Key agreement ended
08-20 18:28:49.651 I/CameraView: Surface destroyed
08-20 18:28:49.677 W/BriarService: Trim memory: running critically low
08-20 18:28:53.718 I/CameraView: Setting preview consumer
08-20 18:28:53.719 I/CameraView: Opening camera
08-20 18:28:53.720 I/CameraView: Using back-facing camera
08-20 18:28:53.883 I/CameraView: Screen rotation 0 degrees, camera orientation 90 degrees
08-20 18:28:53.890 I/CameraView: Scene modes: [auto, portrait, landscape, night, night-portrait, theatre, beach, snow, sunset, steadyphoto, fireworks, sports, party, candlelight, hdr]
08-20 18:28:53.890 I/CameraView: Focus modes: [auto, macro, infinity, continuous-picture, continuous-video, manual, fullscan]
08-20 18:28:53.909 I/CameraView: Video stabilisation enabled: true
08-20 18:28:53.909 I/CameraView: Scene mode: auto
08-20 18:28:53.909 I/CameraView: Focus mode: continuous-picture
08-20 18:28:53.909 I/CameraView: Flash mode: off
08-20 18:28:53.909 I/CameraView: Preview size: 640x480
08-20 18:28:53.914 I/KeyAgreementConnector: Stopping BQP listeners
08-20 18:28:53.914 I/ConnectionChooserImpl: Closing 0 unused connections
08-20 18:28:53.914 I/KeyAgreementConnector: Starting BQP listeners
08-20 18:28:53.915 I/BluetoothPlugin: Key agreement UUID 5a6c42f2-82d3-3e9a-bdaa-8c685cc96898
08-20 18:28:53.931 I/KeyAgreementConnector: Listening via org.briarproject.bramble.bluetooth
08-20 18:28:53.962 I/KeyAgreementConnector: Listening via org.briarproject.bramble.lan
08-20 18:28:53.968 I/BluetoothConnectionLimiterImpl: Key agreement ended
08-20 18:28:53.975 I/CameraView: Surface created
08-20 18:28:53.975 I/CameraView: Surface changed: 720x1118
08-20 18:28:53.979 I/CameraView: Best size 960x540
08-20 18:28:53.988 I/CameraView: Video stabilisation enabled: true
08-20 18:28:53.988 I/CameraView: Scene mode: auto
08-20 18:28:53.988 I/CameraView: Focus mode: continuous-picture
08-20 18:28:53.988 I/CameraView: Flash mode: off
08-20 18:28:53.988 I/CameraView: Preview size: 960x540
08-20 18:28:53.988 I/CameraView: Starting preview
08-20 18:28:54.251 I/BluetoothConnectionLimiterImpl: Key agreement started
08-20 18:28:54.251 I/KeyAgreementFragment: Local payload is 48 bytes
08-20 18:28:55.411 I/RenewableWakeLock: Renewing wake lock org.briarproject.briar.android
```Android 1.4https://code.briarproject.org/briar/briar/-/issues/1901TimeoutException: android.view.ThreadedRenderer.finalize() timed out after 10...2021-03-24T16:19:49ZakwizgranTimeoutException: android.view.ThreadedRenderer.finalize() timed out after 10 seconds* Android version: 6.0.1
* Phone model: ZTE Z837VL
* Briar version: 1.2.7 (eb562f8)
Stacktrace:
```
java.util.concurrent.TimeoutException: android.view.ThreadedRenderer.finalize() timed out after 10 seconds
at android.view.Threa...* Android version: 6.0.1
* Phone model: ZTE Z837VL
* Briar version: 1.2.7 (eb562f8)
Stacktrace:
```
java.util.concurrent.TimeoutException: android.view.ThreadedRenderer.finalize() timed out after 10 seconds
at android.view.ThreadedRenderer.nDeleteProxy(Native Method)
at android.view.ThreadedRenderer.finalize(ThreadedRenderer.java:413)
at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:202)
at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:185)
at java.lang.Thread.run(Thread.java:818)
```
Edited log:
```
06-08 00:15:24.325 I/IdentityManagerImpl: Identity loaded
06-08 00:15:24.447 I/LifecycleManagerImpl: Starting services
06-08 00:15:24.467 I/AndroidNetworkManager: Received broadcast android.net.conn.CONNECTIVITY_CHANGE
06-08 00:15:24.656 I/PluginManagerImpl: Starting simplex plugins
06-08 00:15:24.656 I/PluginManagerImpl: Starting duplex plugins
06-08 00:15:24.974 I/BriarActivity: Recreating NavDrawerActivity after signing in
06-08 00:15:25.007 I/BaseActivity: Starting NavDrawerActivity
06-08 00:15:25.843 I/BaseActivity: Stopping NavDrawerActivity
06-08 00:15:26.023 I/BaseActivity: Starting NavDrawerActivity
06-08 00:15:26.702 I/BaseActivity: Stopping StartupActivity
06-08 00:15:36.099 I/BaseActivity: Starting SettingsActivity
06-08 00:15:37.574 I/BaseActivity: Stopping SettingsActivity
06-08 00:15:43.860 I/BaseActivity: Starting SettingsActivity
06-08 00:15:44.606 I/BaseActivity: Stopping NavDrawerActivity
06-08 00:15:51.527 I/DevReporterImpl: Sending reports to developers
06-08 00:15:51.531 I/FeedManagerImpl: Tor started, scheduling RSS feed fetcher
06-08 00:15:52.572 I/BaseActivity: Starting NavDrawerActivity
06-08 00:15:53.068 I/BaseActivity: Stopping SettingsActivity
06-08 00:15:56.591 I/BaseActivity: Starting ConversationActivity
06-08 00:15:56.836 I/ConversationActivity: Eagerly loading text for latest message
06-08 00:15:57.155 I/BaseActivity: Stopping NavDrawerActivity
06-08 00:16:01.661 I/DevReporterImpl: Reports sent
06-08 00:16:51.538 I/FeedManagerImpl: Updating RSS feeds...
06-08 00:16:51.587 I/FeedManagerImpl: Done updating RSS feeds
06-08 00:17:32.023 I/ConnectionRegistryImpl: Incoming connection registered: org.briarproject.bramble.tor
06-08 00:17:32.023 I/ConnectionRegistryImpl: Contact connected
```
Looks like this may be a platform bug; recording it just in case.