briar issueshttps://code.briarproject.org/briar/briar/-/issues2018-06-12T11:32:21Zhttps://code.briarproject.org/briar/briar/-/issues/582Tor GeoIP file is not updated2018-06-12T11:32:21ZakwizgranTor GeoIP file is not updatedIf the Tor plugin has already installed a GeoIP file on the device, it will not install a newer version.If the Tor plugin has already installed a GeoIP file on the device, it will not install a newer version.Milestone Dakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/583NPE @ org.briarproject.android.util.QrCodeUtils.createQrCode2018-06-12T11:32:21ZligiNPE @ org.briarproject.android.util.QrCodeUtils.createQrCode```
08-07 21:32:41.258 25424 25424 I CameraView: Surface created
08-07 21:32:41.259 25424 25424 I CameraView: Surface changed: 1200x1648
08-07 21:32:41.268 25424 25424 D AndroidRuntime: Shutting down VM
08-07 21:32:41.269 25424 25424...```
08-07 21:32:41.258 25424 25424 I CameraView: Surface created
08-07 21:32:41.259 25424 25424 I CameraView: Surface changed: 1200x1648
08-07 21:32:41.268 25424 25424 D AndroidRuntime: Shutting down VM
08-07 21:32:41.269 25424 25424 E ACRA : ACRA caught a NullPointerException for org.briarproject
08-07 21:32:41.269 25424 25424 E ACRA : java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.WindowManager android.app.Activity.getWindowManager()' on a null object reference
08-07 21:32:41.269 25424 25424 E ACRA : at org.briarproject.android.util.QrCodeUtils.createQrCode(QrCodeUtils.java:25)
08-07 21:32:41.269 25424 25424 E ACRA : at org.briarproject.android.keyagreement.ShowQrCodeFragment$5.run(ShowQrCodeFragment.java:298)
08-07 21:32:41.269 25424 25424 E ACRA : at android.os.Handler.handleCallback(Handler.java:739)
08-07 21:32:41.269 25424 25424 E ACRA : at android.os.Handler.dispatchMessage(Handler.java:95)
08-07 21:32:41.269 25424 25424 E ACRA : at android.os.Looper.loop(Looper.java:148)
08-07 21:32:41.269 25424 25424 E ACRA : at android.app.ActivityThread.main(ActivityThread.java:5417)
08-07 21:32:41.269 25424 25424 E ACRA : at java.lang.reflect.Method.invoke(Native Method)
08-07 21:32:41.269 25424 25424 E ACRA : at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
08-07 21:32:41.269 25424 25424 E ACRA : at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
```
happens on 44d13ef28eb929b1051d7917f392f2aa8cb589ae
when trying to add a new contact on a Nexus 7 stock android 6.0.1 - works on my Note4 though ( also 6.0.1 )Milestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/584Store latest timestamp and unread count in group metadata for private messaging2018-06-12T11:32:21ZakwizgranStore latest timestamp and unread count in group metadata for private messagingThe contact list loads all private message headers just to get the latest timestamp and unread message count for each conversation. Store this information in the group metadata and expose it through the MessagingManager interface.
Rel...The contact list loads all private message headers just to get the latest timestamp and unread message count for each conversation. Store this information in the group metadata and expose it through the MessagingManager interface.
Related to #373.Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/585Store latest timestamp and unread count in group metadata for introductions2018-06-12T11:32:21ZakwizgranStore latest timestamp and unread count in group metadata for introductionsThe contact list loads all introduction messages just to get the latest timestamp and unread message count for each conversation. This is a very expensive provess that involves loading the session state for every introduction message, wh...The contact list loads all introduction messages just to get the latest timestamp and unread message count for each conversation. This is a very expensive provess that involves loading the session state for every introduction message, which in the worst case iterates over all sessions. Store this information in the group metadata and expose it through the IntroductionManager interface.
Related to #373.Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/586Store latest timestamp and unread count in group metadata for invitations2018-06-12T11:32:21ZakwizgranStore latest timestamp and unread count in group metadata for invitationsThe contact list loads all invitation messages just to get the latest timestamp and unread message count for each conversation. This is a very expensive provess that involves loading the session state for every message, which in the wors...The contact list loads all invitation messages just to get the latest timestamp and unread message count for each conversation. This is a very expensive provess that involves loading the session state for every message, which in the worst case iterates over all sessions. Store this information in the group metadata and expose it through the SharingManager interface.
The timestamp should relate to the latest message that would be visible in the UI, i.e. invitations and responses.
Related to #373.Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/587java.lang.IllegalStateException: No Group in intent.2018-06-12T11:32:20Zligijava.lang.IllegalStateException: No Group in intent.on 44d13ef28eb929b1051d7917f392f2aa8cb589ae
when pressing up-affordance from blog - would try to reproduce a bit more but having to enter my Password again after each crash is a bit disencouraging -
cannot even make a simple passw...on 44d13ef28eb929b1051d7917f392f2aa8cb589ae
when pressing up-affordance from blog - would try to reproduce a bit more but having to enter my Password again after each crash is a bit disencouraging -
cannot even make a simple password for testing - how do you guys do this?-)
```
08-08 16:51:17.150 15782 15782 E ACRA : ACRA caught a RuntimeException for org.briarproject
08-08 16:51:17.150 15782 15782 E ACRA : java.lang.RuntimeException: Unable to start activity ComponentInfo{org.briarproject/org.briarproject.android.blogs.BlogActivity}: java.lang.IllegalStateException: No Group in intent.
08-08 16:51:17.150 15782 15782 E ACRA : at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3253)
08-08 16:51:17.150 15782 15782 E ACRA : at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349)
08-08 16:51:17.150 15782 15782 E ACRA : at android.app.ActivityThread.access$1100(ActivityThread.java:221)
08-08 16:51:17.150 15782 15782 E ACRA : at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
08-08 16:51:17.150 15782 15782 E ACRA : at android.os.Handler.dispatchMessage(Handler.java:102)
08-08 16:51:17.150 15782 15782 E ACRA : at android.os.Looper.loop(Looper.java:158)
08-08 16:51:17.150 15782 15782 E ACRA : at android.app.ActivityThread.main(ActivityThread.java:7225)
08-08 16:51:17.150 15782 15782 E ACRA : at java.lang.reflect.Method.invoke(Native Method)
08-08 16:51:17.150 15782 15782 E ACRA : at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
08-08 16:51:17.150 15782 15782 E ACRA : at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
08-08 16:51:17.150 15782 15782 E ACRA : Caused by: java.lang.IllegalStateException: No Group in intent.
08-08 16:51:17.150 15782 15782 E ACRA : at org.briarproject.android.blogs.BlogActivity.onCreate(BlogActivity.java:61)
08-08 16:51:17.150 15782 15782 E ACRA : at android.app.Activity.performCreate(Activity.java:6876)
08-08 16:51:17.150 15782 15782 E ACRA : at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135)
08-08 16:51:17.150 15782 15782 E ACRA : at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3206)
08-08 16:51:17.150 15782 15782 E ACRA : ... 9 more
```Milestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/588NoSuchElementException2018-06-12T11:32:20ZligiNoSuchElementExceptionalso on 44d13ef28eb929b1051d7917f392f2aa8cb589ae
after entering the password on Note 4 stock 6.0.1 - created a new account via forgot password before
```
08-08 17:01:45.060 23155 23177 E ACRA : ACRA caught a NoSuchElementExceptio...also on 44d13ef28eb929b1051d7917f392f2aa8cb589ae
after entering the password on Note 4 stock 6.0.1 - created a new account via forgot password before
```
08-08 17:01:45.060 23155 23177 E ACRA : ACRA caught a NoSuchElementException for org.briarproject
08-08 17:01:45.060 23155 23177 E ACRA : java.util.NoSuchElementException
08-08 17:01:45.060 23155 23177 E ACRA : at java.util.ArrayList$ArrayListIterator.next(ArrayList.java:576)
08-08 17:01:45.060 23155 23177 E ACRA : at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:964)
08-08 17:01:45.060 23155 23177 E ACRA : at org.briarproject.android.blogs.FeedControllerImpl$2.run(FeedControllerImpl.java:117)
08-08 17:01:45.060 23155 23177 E ACRA : at org.briarproject.android.controller.DbControllerImpl$1.run(DbControllerImpl.java:35)
08-08 17:01:45.060 23155 23177 E ACRA : at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
08-08 17:01:45.060 23155 23177 E ACRA : at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
08-08 17:01:45.060 23155 23177 E ACRA : at java.lang.Thread.run(Thread.java:818)
```
Milestone Fhttps://code.briarproject.org/briar/briar/-/issues/589When a message is shared, share its transitive dependencies2018-06-12T11:32:20ZakwizgranWhen a message is shared, share its transitive dependenciesLike other recursive operations on the dependency graph, this should not be done in a single transaction. So we'll need to find and resume any unfinished operations at startup, by looking for shared messages with unshared dependencies.Like other recursive operations on the dependency graph, this should not be done in a single transaction. So we'll need to find and resume any unfinished operations at startup, by looking for shared messages with unshared dependencies.Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/590Option to save the password2023-09-01T12:43:31ZligiOption to save the passwordadd a setting to store the password with the hint to the user that this makes things less secure
**Motivation**
this will help developers when developing the app because it reduces the time they have to enter the password
could also he...add a setting to store the password with the hint to the user that this makes things less secure
**Motivation**
this will help developers when developing the app because it reduces the time they have to enter the password
could also help adoption as a users might get frustrated having to enter a password often. There are some use cases where this additional attack-vector does not really matter and could be traded for convenience. Ideally this setting is exposed to the contacts so they know.
this is a follow up from a discussion in #587https://code.briarproject.org/briar/briar/-/issues/591Add New Message Types to BlogValidator2018-06-12T11:32:20ZTorsten GroteAdd New Message Types to BlogValidatorSub-Ticket of #494 and #437.Sub-Ticket of #494 and #437.Milestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/592Scrub addresses before logging them2018-06-12T11:32:20ZakwizgranScrub addresses before logging themMAC, IP and onion addresses should be scrubbed before logging to ensure we don't leave any sensitive information in plaintext on the device or send it in crash reports or feedback.
We need to keep enough information for the addresses ...MAC, IP and onion addresses should be scrubbed before logging to ensure we don't leave any sensitive information in plaintext on the device or send it in crash reports or feedback.
We need to keep enough information for the addresses to be useful for debugging, without harming user privacy. Perhaps something like the following:
* MAC addresses (including Bluetooth): keep the first and last octets, replace the rest with XX
* Link-local and site-local IPv4 addresses: keep the full address
* Other IPv4 addresses: keep the first and last octets, replace the rest with XX
* IPv6 addresses: not intentionally used by Briar, replace the whole thing with XX
* Onion addresses: keep the first three characters, replace the rest with XXMilestone CTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/593Make the user's own identities visually distinct2018-06-12T11:32:20ZakwizgranMake the user's own identities visually distinctThe user's own identities have no trust indicator (zero hashes). In a context such as forums or the combined blog feed, this makes the user's own identities look like they're less trusted than strangers (one hash), unverified contacts (t...The user's own identities have no trust indicator (zero hashes). In a context such as forums or the combined blog feed, this makes the user's own identities look like they're less trusted than strangers (one hash), unverified contacts (two hashes), or verified contacts (three hashes).
Make the user's own identities visually distinct in some way to prevent any confusion.Milestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/594Implement Database Schema Update Mechanism2018-02-05T11:32:07ZTorsten GroteImplement Database Schema Update MechanismWhen the database schema changes in new versions, these changes should be applied to old versions of the schema.When the database schema changes in new versions, these changes should be applied to old versions of the schema.Android 1.0akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/595Clients should decide whether to share messages2018-06-12T11:32:20ZakwizgranClients should decide whether to share messagesThe validation manager currently sets all messages as shared after delivering them. Clients should specify which messages to share, for example by returning a boolean from the delivery hook or calling DatabaseComponent#setMessageShared()...The validation manager currently sets all messages as shared after delivering them. Clients should specify which messages to share, for example by returning a boolean from the delivery hook or calling DatabaseComponent#setMessageShared() from within the delivery hook.Milestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/596Setup UI Tests with Espresso2018-08-03T16:39:09ZTorsten GroteSetup UI Tests with EspressoWe currently do not have real UI tests. Espresso is pushed a lot by Google and it makes great progress. You can even already record tests in the UI without needing to write the code for them yourself. It does require an emulator or a rea...We currently do not have real UI tests. Espresso is pushed a lot by Google and it makes great progress. You can even already record tests in the UI without needing to write the code for them yourself. It does require an emulator or a real phone to run these tests though.Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/597gradle connectedCheck fails due to method limit2018-06-12T11:32:20ZTorsten Grotegradle connectedCheck fails due to method limit```
Execution failed for task ':briar-android-tests:transformClassesWithDexForDebugAndroidTest'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionExcep...```
Execution failed for task ':briar-android-tests:transformClassesWithDexForDebugAndroidTest'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
```Milestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/598Remove unused code and layouts for old blog implementation2018-06-12T11:32:20ZakwizgranRemove unused code and layouts for old blog implementationIf we decide we need them in future, they'll still be in git.If we decide we need them in future, they'll still be in git.Milestone Eakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/599Fetch RSS feeds via Tor2018-06-12T11:32:20ZakwizgranFetch RSS feeds via TorUse the localhost Socks proxy to fetch the feeds. The proxy port is currently set in briar-android and would need to be moved to core or api.
The `FeedManager` should listen to `TransportEnabledEvent`s and enable the feed fetching sch...Use the localhost Socks proxy to fetch the feeds. The proxy port is currently set in briar-android and would need to be moved to core or api.
The `FeedManager` should listen to `TransportEnabledEvent`s and enable the feed fetching scheduler when Tor is started first. For simplicity, it should not turn off the scheduler when Tor gets turned off, but let the fetch job fail cleanly when Tor is not running.
We should use stream isolation to ensure the lookups for different feeds happen over different circuits. This is done by specifying a different SOCKS username and password for each feed (any username and password can be used, they just need to be different - generating them on the fly would be fine).Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/600Remove content type from private messages2018-06-12T11:32:20ZakwizgranRemove content type from private messagesThe content type field is unused and we don't yet have a plan for when it will be used. Remove it until it's needed.The content type field is unused and we don't yet have a plan for when it will be used. Remove it until it's needed.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/601Remove content type from forum posts2018-06-12T11:32:20ZakwizgranRemove content type from forum postsThe content type field is unused and we don't yet have a plan for when it will be used. Remove it until it's needed.The content type field is unused and we don't yet have a plan for when it will be used. Remove it until it's needed.