briar issueshttps://code.briarproject.org/briar/briar/-/issues2021-04-26T14:01:29Zhttps://code.briarproject.org/briar/briar/-/issues/780Temporarily leaked Activities on orientation changes2021-04-26T14:01:29ZErnir ErlingssonTemporarily leaked Activities on orientation changesWhile working on #725, I noticed something: we're leaking Activities temporarily.
We are using anonymous inner classes as callbacks for asynchronous tasks, during their execution it's possible that an orientation change occurs that des...While working on #725, I noticed something: we're leaking Activities temporarily.
We are using anonymous inner classes as callbacks for asynchronous tasks, during their execution it's possible that an orientation change occurs that destroys the old Activity/Fragment. The task stores a reference to the callback, and therefore implicitly to the Activity. This means that the initial Activity will be kept alive until the task finishes execution. Multiple orientation changes will might result in multiple Activities being temporarily leaked, although !415 relieves some of that by ensuring there is only one leaked Activity maximum.
Not sure what the best course of action here is, we could try to handle the orientation changes ourselves which re-uses the initial Activity but will require careful programming.
https://developer.android.com/guide/topics/resources/runtime-changes.html#HandlingTheChangehttps://code.briarproject.org/briar/briar/-/issues/779Use HTTPS for fetching RSS feeds where possible2020-11-21T16:18:44ZakwizgranUse HTTPS for fetching RSS feeds where possibleOn the first fetch:
* If the user enters an HTTP URL, try HTTPS first, then fall back to HTTP
* If the user enters a URL without a scheme, try HTTPS first, then fall back to HTTP
* If the user enters an HTTPS URL, don't fall back to HTTP...On the first fetch:
* If the user enters an HTTP URL, try HTTPS first, then fall back to HTTP
* If the user enters a URL without a scheme, try HTTPS first, then fall back to HTTP
* If the user enters an HTTPS URL, don't fall back to HTTP
* If HTTPS succeeds, save the HTTPS URL
On subsequent fetches, use the scheme from the URL with no fallbacks.https://code.briarproject.org/briar/briar/-/issues/778Move unit tests into their respective modules2017-12-18T07:40:26ZakwizgranMove unit tests into their respective modulesThe briar-tests module contains a mixture of Briar and Bramble tests. Move the tests into their respective modules.
Subtask of #136.The briar-tests module contains a mixture of Briar and Bramble tests. Move the tests into their respective modules.
Subtask of #136.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/777Move integration tests into their respective modules2017-12-18T07:40:27ZakwizgranMove integration tests into their respective modulesWhen we switched from Guice to Dagger, we put the integration tests in an Android module because the android-apt plugin didn't support Java modules. An APT plugin that supports Java modules is now available, so we can move the integratio...When we switched from Guice to Dagger, we put the integration tests in an Android module because the android-apt plugin didn't support Java modules. An APT plugin that supports Java modules is now available, so we can move the integration tests into their respective modules and remove the briar-android-tests module.
https://bitbucket.org/hvisser/android-apt/issues/18/support-java-plugin#comment-20327914
https://plugins.gradle.org/plugin/net.ltgt.apt
The "idea" plugin should also be used so that Android Studio recognises the generated classes:
http://stackoverflow.com/a/37963784
Subtask of #136.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/776Merge redundant null safety annotations2020-11-21T16:19:21ZakwizgranMerge redundant null safety annotationsAfter some experience with the new null safety annotations, it seems we only want to express two conditions:
* Methods, parameters and fields are not null by default
* Methods and parameters are not null by default
Merge @MethodsNotNull...After some experience with the new null safety annotations, it seems we only want to express two conditions:
* Methods, parameters and fields are not null by default
* Methods and parameters are not null by default
Merge @MethodsNotNullByDefault with @ParametersNotNullByDefault, and remove @FieldsNotNullByDefault.https://code.briarproject.org/briar/briar/-/issues/775The LanTcpPlugin tries to create a KeyAgreementListener even if Wifi/mobile d...2020-11-21T16:20:28ZJulian DehmThe LanTcpPlugin tries to create a KeyAgreementListener even if Wifi/mobile data is disabledWhen adding a contact with only bluetooth enabled the LanTcpPlugin tries to bind a serversocket, which seems like a useless effort to me.
`org.briarproject I/LanTcpPlugin: Could not bind server socket for key agreement`
Maybe there sh...When adding a contact with only bluetooth enabled the LanTcpPlugin tries to bind a serversocket, which seems like a useless effort to me.
`org.briarproject I/LanTcpPlugin: Could not bind server socket for key agreement`
Maybe there should be a check if Wifi is enabled before attempting to open a socket.https://code.briarproject.org/briar/briar/-/issues/774Adding contacts via bluetooth only fails2017-12-18T07:40:27ZJulian DehmAdding contacts via bluetooth only failsAdding contacts with wifi disabled fails. I suspect it's an issue in the KeyAgreementListener because reading from/connecting to the ServerSocket seems to fail. Maybe someone with different phone models can confirms this bug.
Adding contacts with wifi disabled fails. I suspect it's an issue in the KeyAgreementListener because reading from/connecting to the ServerSocket seems to fail. Maybe someone with different phone models can confirms this bug.
Milestone FJulian DehmJulian Dehmhttps://code.briarproject.org/briar/briar/-/issues/773Tidy up message inheritance hierarchy2020-11-21T16:21:14ZakwizgranTidy up message inheritance hierarchyBlogPost extends ForumPost extends ThreadedMessage extends PrivateMessage... really?BlogPost extends ForumPost extends ThreadedMessage extends PrivateMessage... really?https://code.briarproject.org/briar/briar/-/issues/772Set up Maven repo2018-05-23T10:30:01ZakwizgranSet up Maven repoInitially this will just serve the Bramble jars so that Briar can depend on them. Eventually we should serve reproducible builds of all our dependencies from this repo, with no external dependencies.
Subtask of #136.Initially this will just serve the Bramble jars so that Briar can depend on them. Eventually we should serve reproducible builds of all our dependencies from this repo, with no external dependencies.
Subtask of #136.akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/771Create Bramble modules2017-12-18T07:40:27ZakwizgranCreate Bramble modules* bramble-android: plugins and any backend code needed for running bramble-core on Android
* bramble-api: API for bramble-core
* bramble-core: crypto, data, db, event, identity, keyagreement, lifecycle, plugins, properties, reliability...* bramble-android: plugins and any backend code needed for running bramble-core on Android
* bramble-api: API for bramble-core
* bramble-core: crypto, data, db, event, identity, keyagreement, lifecycle, plugins, properties, reliability, reporting, settings, socks, sync, system, transport, util (excluding HtmlUtils)
* bramble-j2se: plugins and any backend code needed for running bramble-core on J2SE (everything in briar-desktop, by the look of it)
Subtask of #136.Milestone Fakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/770Configure or patch Tor to minimise background traffic2020-11-16T11:09:52ZakwizgranConfigure or patch Tor to minimise background trafficSee whether there are any config settings or hardcoded constants that can be adjusted to reduce Tor's background traffic. Related to #44, #45, #479.See whether there are any config settings or hardcoded constants that can be adjusted to reduce Tor's background traffic. Related to #44, #45, #479.https://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/768KeyAgreementConnector regression: UnsupportedOperationException2017-12-18T07:40:27ZTorsten GroteKeyAgreementConnector regression: UnsupportedOperationException```
11-21 08:33:07.371 W/KeyAgreementConnector: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException
java.util.concurrent.ExecutionException: java.lang.UnsupportedOp...```
11-21 08:33:07.371 W/KeyAgreementConnector: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException
java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:223)
at java.util.concurrent.FutureTask.get(FutureTask.java:82)
at org.briarproject.keyagreement.KeyAgreementConnector.connect(KeyAgreementConnector.java:124)
at org.briarproject.keyagreement.KeyAgreementTaskImpl.run(KeyAgreementTaskImpl.java:89)
Caused by: java.lang.UnsupportedOperationException
at org.briarproject.plugins.tor.TorPlugin.createKeyAgreementConnection(TorPlugin.java:585)
at org.briarproject.keyagreement.KeyAgreementConnector$ConnectorTask.call(KeyAgreementConnector.java:195)
at org.briarproject.keyagreement.KeyAgreementConnector$ConnectorTask.call(KeyAgreementConnector.java:174)
at org.briarproject.keyagreement.KeyAgreementConnector$ReadableTask.call(KeyAgreementConnector.java:221)
at org.briarproject.keyagreement.KeyAgreementConnector$ReadableTask.call(KeyAgreementConnector.java:209)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
``Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/767Add some additional padding to forums2017-12-18T07:40:27ZMegaloxAdd some additional padding to forumsForum entries have not enough padding at the bottom. The "j" of "jetzt" nearly touches the divider:
![Screenshot_20161121-101855](/uploads/41d9233c6e3ffdc7db08ae9782df783c/Screenshot_20161121-101855.png)
A little more padding at the...Forum entries have not enough padding at the bottom. The "j" of "jetzt" nearly touches the divider:
![Screenshot_20161121-101855](/uploads/41d9233c6e3ffdc7db08ae9782df783c/Screenshot_20161121-101855.png)
A little more padding at the bottom would improve the layout.https://code.briarproject.org/briar/briar/-/issues/766Unit tests for group invitation client2017-12-18T07:40:36ZTorsten GroteUnit tests for group invitation clientMilestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/765Move onboarding instructions from empty state messages to dialogs2018-07-25T13:34:55ZakwizgranMove onboarding instructions from empty state messages to dialogsWe're using empty state messages to show onboarding instructions in various places. This text doesn't need to be shown every time. Now that we have a pattern for onboarding, let's use it to show this information: show a dialog once, and ...We're using empty state messages to show onboarding instructions in various places. This text doesn't need to be shown every time. Now that we have a pattern for onboarding, let's use it to show this information: show a dialog once, and recall it with an action menu item if the user wants to read it again.https://code.briarproject.org/briar/briar/-/issues/764BdfList and BdfDictionary don't need to be thread-safe2017-12-18T07:40:36ZakwizgranBdfList and BdfDictionary don't need to be thread-safeAlthough the norm is for classes in briar-api to be thread-safe, there's no reasonable scenario where we'd share one of these data structures between threads, so they can be based on ArrayList and TreeMap rather than Vector and Concurren...Although the norm is for classes in briar-api to be thread-safe, there's no reasonable scenario where we'd share one of these data structures between threads, so they can be based on ArrayList and TreeMap rather than Vector and ConcurrentSkipListMap.Android Beta 2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/763Remove old signature API2017-12-18T07:40:36ZakwizgranRemove old signature APIRemove the Signature and SignatureImpl classes, which aren't needed any more. CryptoComponentImpl can directly use the Bouncy Castle class that they wrap.Remove the Signature and SignatureImpl classes, which aren't needed any more. CryptoComponentImpl can directly use the Bouncy Castle class that they wrap.Milestone Fakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/762Text input does not increase to three lines anymore2017-12-18T07:40:36ZTorsten GroteText input does not increase to three lines anymoreWe had changed the input field for forums and private conversations once to automatically enlarge when lots of text is entered (up to three lines). The emoji changes introduced a regression, so the input field does not extend anymore.We had changed the input field for forums and private conversations once to automatically enlarge when lots of text is entered (up to three lines). The emoji changes introduced a regression, so the input field does not extend anymore.Milestone FJulian DehmJulian Dehmhttps://code.briarproject.org/briar/briar/-/issues/761Keyboard doesn't close when navigating up2017-12-18T07:40:36ZakwizgranKeyboard doesn't close when navigating upA user on IRC reported this. Steps to reproduce:
* Open the keyboard in the coversation screen
* Press the up button in the action bar to leave the conversation screenA user on IRC reported this. Steps to reproduce:
* Open the keyboard in the coversation screen
* Press the up button in the action bar to leave the conversation screenMilestone FJulian DehmJulian Dehm