briar issueshttps://code.briarproject.org/briar/briar/-/issues2017-10-17T16:33:07Zhttps://code.briarproject.org/briar/briar/-/issues/1025Extreme battery drain2017-10-17T16:33:07ZHenrie SchmidtExtreme battery drainHi there!
I had an enormous battery drain the last time. Briar took about 25% of the entire power and my phone was out of energy within a few hours. My friend had the same problem with a Motorola Razr I with CyanogenMod (I think it is v...Hi there!
I had an enormous battery drain the last time. Briar took about 25% of the entire power and my phone was out of energy within a few hours. My friend had the same problem with a Motorola Razr I with CyanogenMod (I think it is version 12). Because of this fact we decided to remove Briar until the Bug is fixed... :-(
I use a Samsung Galaxy S5 mini (G800F) with Lineage OS 14.1.
Greetings
Jenshttps://code.briarproject.org/briar/briar/-/issues/1087Research how to deal with Huawei's Powergenie2017-11-24T17:00:15ZJulian DehmResearch how to deal with Huawei's PowergenieIn addition to androids power management, some vendors ship an additional pm to make our life harder.
Because one is just not enough.... :drum_with_drumsticks: ...Huawei comes with two :tada:
Powergenie (pid = 3920 in the log below) ...In addition to androids power management, some vendors ship an additional pm to make our life harder.
Because one is just not enough.... :drum_with_drumsticks: ...Huawei comes with two :tada:
Powergenie (pid = 3920 in the log below) seems to kill Briar now and then:
```
I/ActivityManager: Force stopping org.briarproject.briar.beta.debug appid=10113 user=0: from pid 3920by app
I/ActivityManager: Killing 31369:org.briarproject.briar.beta.debug/u0a113 (adj 2): stop org.briarproject.briar.beta.debugfrom pid 3920by app
```
From @Wikinaut and my observations this happens when the wifi connection is lost while Briar is in the background and the screen is off.
I was able to reproduce this a couple of times:
1. Start Briar
2. Turn off wifi
3. Wait for some timeAndroid Beta 2Julian DehmJulian Dehmhttps://code.briarproject.org/briar/briar/-/issues/769Test whether wake lock is still needed with Tor 0.2.82017-12-18T07:40:27ZakwizgranTest whether wake lock is still needed with Tor 0.2.8Test whether Tor 0.2.8 still needs a wake lock in order to keep the hidden service available when the device is idle. The wake lock is a major source of battery drain.
Related to #44, #574.Test whether Tor 0.2.8 still needs a wake lock in order to keep the hidden service available when the device is idle. The wake lock is a major source of battery drain.
Related to #44, #574.Milestone Fakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1092Investigate performance of metadata queries2018-02-22T17:16:00ZakwizgranInvestigate performance of metadata queriesInvestigate the performance of the following DB calls to see which indexes are being used, and whether adding new indexes would improve performance:
* Database#getGroupMetadata(T, GroupId)
* Database#getMessageMetadata(T, GroupId)
* Dat...Investigate the performance of the following DB calls to see which indexes are being used, and whether adding new indexes would improve performance:
* Database#getGroupMetadata(T, GroupId)
* Database#getMessageMetadata(T, GroupId)
* Database#getMessageMetadata(T, GroupId, Metadata)
* Database#getMessageMetadata(T, MessageId)
* Database#getMessageMetadataForValidator(T, MessageId)
http://www.h2database.com/html/performance.html#explain_planAndroid 1.0akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/542Don't poll for retransmission2018-03-08T15:59:11ZakwizgranDon't poll for retransmissionOutgoing sync sessions poll the database periodically for messages that have reached their send times and can be sent or offered again. This requires a thread to wake up periodically for each open session, even when there's nothing to se...Outgoing sync sessions poll the database periodically for messages that have reached their send times and can be sent or offered again. This requires a thread to wake up periodically for each open session, even when there's nothing to send.
The sync layer should keep track of the earliest send time of any message in the DB, and either broadcast an event when the send time is reached or provide a method that blocks until the earliest send time is reached.
Related to #44.Android Beta 2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1137Poller keeps polling disabled transport-plugins2018-03-15T14:18:31ZJulian DehmPoller keeps polling disabled transport-pluginsLooking at our Poller code it seems to me that we don't react to transport state changes ? We listen to any TransportEnabled events and enable polling but we don't listen to TransportStateDisabled events (and remove the PollerTask). If I...Looking at our Poller code it seems to me that we don't react to transport state changes ? We listen to any TransportEnabled events and enable polling but we don't listen to TransportStateDisabled events (and remove the PollerTask). If I enable bluetooth it starts polling and even continues after I disabled it again. This could push the backoff to wrong values ?Android Beta 2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/545Find out why DB lookups are so slow2018-03-29T12:29:31ZakwizgranFind out why DB lookups are so slowAsynchronously looking up small amounts of data from the database takes longer than it should, even when the same data has been looked up recently. Work out which part of the process is the bottleneck, and how much performance would be i...Asynchronously looking up small amounts of data from the database takes longer than it should, even when the same data has been looked up recently. Work out which part of the process is the bottleneck, and how much performance would be improved if we spent some time improving that part of the process.Android 1.0akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/314TorPlugin socket timeout2018-04-30T15:55:34ZErnir ErlingssonTorPlugin socket timeoutThere is a socket timeout in the Tor plugin, after 30 seconds of inactivity, that prevents user from communicating more than once over the mobile network. Connection between the devices is not re-established.
Reproduce:
1. Two devi...There is a socket timeout in the Tor plugin, after 30 seconds of inactivity, that prevents user from communicating more than once over the mobile network. Connection between the devices is not re-established.
Reproduce:
1. Two devices with connected contacts, A and B
2. Using only the mobile network, A chats with B and vice versa.
3. Close Briar and "lock" both devices by pressing the power button (don't turn off).
4. Unlock both devices after ~60 seconds (I think the timeout is set at 30 seconds) and try to chat with both A and B. Notice that no messages will be received by the other user and the "clock" symbol remains indefinitely in place.
You can re-establish connection by turning on WiFi on both devices or bluetooth and notice that then the messages are sent instantly.
Following is the error message that I got:
`
java.net.SocketTimeoutException
at java.net.PlainSocketImpl.read(PlainSocketImpl.java:488)
at java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:37)
at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:237)
at org.briarproject.crypto.StreamDecrypterImpl.readFrame(StreamDecrypterImpl.java:57)
at org.briarproject.transport.StreamReaderImpl.readFrame(StreamReaderImpl.java:61)
at org.briarproject.transport.StreamReaderImpl.read(StreamReaderImpl.java:49)
at org.briarproject.sync.PacketReaderImpl.readPacket(PacketReaderImpl.java:54)
at org.briarproject.sync.PacketReaderImpl.eof(PacketReaderImpl.java:78)
at org.briarproject.sync.IncomingSession.run(IncomingSession.java:56)
at org.briarproject.plugins.ConnectionManagerImpl$ManageIncomingDuplexConnection.run(ConnectionManagerImpl.java:267)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
`Milestone Cakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/37Optionally disable Tor when using mobile data2018-04-30T15:55:35ZakwizgranOptionally disable Tor when using mobile dataUsers may want to save bandwidth and battery by disabling Tor when they're using mobile data. We can detect this using the same events that we use to detect loss of connectivity.Users may want to save bandwidth and battery by disabling Tor when they're using mobile data. We can detect this using the same events that we use to detect loss of connectivity.Milestone ASantiago Torres-AriasSantiago Torres-Ariashttps://code.briarproject.org/briar/briar/-/issues/1291Huawei power management UI has changed2018-06-15T15:23:18ZakwizgranHuawei power management UI has changedWhen installing Briar on the Huawei P8 Lite 2017 (Android 7.0/EMUI 5.0.1), the "Protect Briar" button in the setup wizard opens a screen with power management controls that seem to be the opposite of those on older devices like the Ascen...When installing Briar on the Huawei P8 Lite 2017 (Android 7.0/EMUI 5.0.1), the "Protect Briar" button in the setup wizard opens a screen with power management controls that seem to be the opposite of those on older devices like the Ascend Y330 (Android 4.2.2/EmotionUI 2.0).
![device-2018-05-30-145840](/uploads/3120e842df0ce698a66b0a25b8d7089e/device-2018-05-30-145840.png) ![device-2018-05-30-151203](/uploads/2ca5e5416beff355d8e8e59175c48747/device-2018-05-30-151203.png)
Users might think they need to change the setting for Briar, which would have the opposite of the intended effect.
Subtask of #1260.Android 1.1https://code.briarproject.org/briar/briar/-/issues/1265Identify Tor power management improvements2019-01-29T17:24:47ZakwizgranIdentify Tor power management improvementsIdentify changes to Tor that will allow the device to spend more time asleep without impacting hidden service availabilty or anonymity. This will involve cooperating with the Tor developers.
Implementing the changes is out of scope.
Su...Identify changes to Tor that will allow the device to spend more time asleep without impacting hidden service availabilty or anonymity. This will involve cooperating with the Tor developers.
Implementing the changes is out of scope.
Subtask of #1263.Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1088Setup Wizard page for Huawei's power manager(s)2019-01-30T11:03:55ZJulian DehmSetup Wizard page for Huawei's power manager(s)To prevent Huawei's power manager from killing Briar we need to add it to the list of protected apps.
There doesn't seem to be a direct way but we can open the corresponding activity at least:
``com.huawei.systemmanager/.optimize.proces...To prevent Huawei's power manager from killing Briar we need to add it to the list of protected apps.
There doesn't seem to be a direct way but we can open the corresponding activity at least:
``com.huawei.systemmanager/.optimize.process.ProtectActivity``
related: #992 Android Beta 2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1264Document Tor's behaviour in all Android power management states2019-01-30T16:39:56ZakwizgranDocument Tor's behaviour in all Android power management statesSubtask of #1263.Subtask of #1263.Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1261User testing for power management improvements2019-02-14T15:02:37ZakwizgranUser testing for power management improvementsSubtask of #1260.Subtask of #1260.Android 1.1Renata GegajRenata Gegajhttps://code.briarproject.org/briar/briar/-/issues/1496Check whether we're affected by implicit broadcast restrictions on Android 8+2019-02-21T10:32:35ZakwizgranCheck whether we're affected by implicit broadcast restrictions on Android 8+Apps targetting Android 8+ don't receive certain implicit broadcasts. Check whether we're affected.
https://developer.android.com/about/versions/oreo/background
Subtask of #1260.Apps targetting Android 8+ don't receive certain implicit broadcasts. Check whether we're affected.
https://developer.android.com/about/versions/oreo/background
Subtask of #1260.Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1262Update manual for power management improvements2019-02-21T10:33:59ZakwizgranUpdate manual for power management improvementsSubtask of #1260.Subtask of #1260.Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1263Tor power management research2019-02-21T10:33:59ZakwizgranTor power management researchUmbrella ticket for sponsor 1, objective 7.Umbrella ticket for sponsor 1, objective 7.Android 1.1https://code.briarproject.org/briar/briar/-/issues/821Research whether network traffic can wake an app from sleep or doze2019-02-21T10:34:00ZakwizgranResearch whether network traffic can wake an app from sleep or dozeThe all-knowing oracles of Stack Overflow have conflicting opinions about whether an Android app that's blocked reading from a TCP connection while the device is sleeping will be woken when data arrives. This may be device-dependent. Cer...The all-knowing oracles of Stack Overflow have conflicting opinions about whether an Android app that's blocked reading from a TCP connection while the device is sleeping will be woken when data arrives. This may be device-dependent. Certainly the connection that's used for GCM/Firebase can wake the device, but the same may not be true of other connections. We also need to investigate whether doze behaves differently from sleep in this respect. Some sources claim that wifi behaves differently from mobile data - if so, we should investigate whether holding a wifi lock affects this.
It would also be useful to know whether an incoming connection to a server socket wakes the app.
Related to #44, #268.Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1100Setup wizard page for Samsung's power manager2019-02-21T10:34:00ZakwizgranSetup wizard page for Samsung's power managerhttps://gitlab.com/axet/android-library/blob/master/src/main/java/com/github/axet/androidlibrary/widgets/OptimizationPreferenceCompat.java
https://stackoverflow.com/questions/37205106/how-do-i-avoid-that-my-app-enters-optimization-on-sa...https://gitlab.com/axet/android-library/blob/master/src/main/java/com/github/axet/androidlibrary/widgets/OptimizationPreferenceCompat.java
https://stackoverflow.com/questions/37205106/how-do-i-avoid-that-my-app-enters-optimization-on-samsung-devices
https://stackoverflow.com/questions/34074955/android-exact-alarm-is-always-3-minutes-off/34085645#34085645
Looks like the situation is similar to Huawei - we create an intent for the power manager's whitelisting activity, and if the intent is callable, we're on an affected device. I haven't looked into whether we can detect whether we're already whitelisted.
Apparently the intent's package and class name should be:
* `"com.samsung.android.sm", "com.samsung.android.sm.ui.battery.BatteryActivity"` on Android L
* `"com.samsung.android.lool", "com.samsung.android.sm.ui.battery.BatteryActivity"` on Android N
According to one of the StackOverflow answers, keywords like "alert" and "clock" in the package name will cause the app to be automatically whitelisted. Good grief...Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/268Research how to deal with doze mode on Android 62019-02-21T10:34:00ZakwizgranResearch how to deal with doze mode on Android 6Android 6 has a new doze mode when the device is idle. Apps can't access the network in doze mode, except during short wakeup periods. This will kill our ability to receive messages while the device is idle. The recommended workaround is...Android 6 has a new doze mode when the device is idle. Apps can't access the network in doze mode, except during short wakeup periods. This will kill our ability to receive messages while the device is idle. The recommended workaround is to use Google Cloud Messaging, which obviously won't work for us.
We may need to prompt the user to add Briar to a whitelist. Thanks Google! Love ya!
http://developer.android.com/training/monitoring-device-state/doze-standby.htmlAndroid 1.1akwizgranakwizgran