briar issueshttps://code.briarproject.org/groups/briar/-/issues2020-03-24T17:35:17Zhttps://code.briarproject.org/briar/briar/-/issues/1665Crash when deleting introduction message2020-03-24T17:35:17ZakwizgranCrash when deleting introduction message* Android version: 8.0.0
* Phone model: Sony F5321
* Briar version: 1.2.4 (debug build, no commit hash)
* User feedback: "Delete introduction message crash Briar."
Stacktrace:
```
java.lang.IllegalStateException: Range start point not s...* Android version: 8.0.0
* Phone model: Sony F5321
* Briar version: 1.2.4 (debug build, no commit hash)
* User feedback: "Delete introduction message crash Briar."
Stacktrace:
```
java.lang.IllegalStateException: Range start point not set.
at androidx.core.util.Preconditions.checkState(Preconditions.java:96)
at androidx.recyclerview.selection.DefaultSelectionTracker.extendProvisionalRange(DefaultSelectionTracker.java:281)
at androidx.recyclerview.selection.GestureSelectionHelper.extendSelection(GestureSelectionHelper.java:227)
at androidx.recyclerview.selection.GestureSelectionHelper.handleMoveEvent(GestureSelectionHelper.java:204)
at androidx.recyclerview.selection.GestureSelectionHelper.handleTouch(GestureSelectionHelper.java:151)
at androidx.recyclerview.selection.GestureSelectionHelper.onInterceptTouchEvent(GestureSelectionHelper.java:118)
at androidx.recyclerview.selection.TouchEventRouter.onInterceptTouchEvent(TouchEventRouter.java:91)
at androidx.recyclerview.widget.RecyclerView.findInterceptingOnItemTouchListener(RecyclerView.java:3149)
at androidx.recyclerview.widget.RecyclerView.dispatchToOnItemTouchListeners(RecyclerView.java:3120)
at androidx.recyclerview.widget.RecyclerView.onTouchEvent(RecyclerView.java:3281)
at android.view.View.dispatchTouchEvent(View.java:11731)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2955)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2636)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:453)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1828)
at android.app.Activity.dispatchTouchEvent(Activity.java:3292)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:415)
at android.view.View.dispatchPointerEvent(View.java:11970)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4790)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4604)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4142)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4195)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4161)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4288)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4169)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4345)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4142)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4195)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4161)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4169)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4142)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6663)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6637)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6598)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6766)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:186)
at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:177)
at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:6737)
at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:6789)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:966)
at android.view.Choreographer.doCallbacks(Choreographer.java:778)
at android.view.Choreographer.doFrame(Choreographer.java:707)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:952)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:251)
at android.app.ActivityThread.main(ActivityThread.java:6589)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
```Android 1.2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1715Support for Disappearing/Self-destructing messages like in Signal/Keybase2020-03-23T11:52:46ZRjyork FlrenSupport for Disappearing/Self-destructing messages like in Signal/KeybaseIs there any plan on adding this feature? Signal and Keybase offer this system where you can set a specific lifespan of messages and after the lifespan is up, they are deleted/destructed from all systems of all users.Is there any plan on adding this feature? Signal and Keybase offer this system where you can set a specific lifespan of messages and after the lifespan is up, they are deleted/destructed from all systems of all users.https://code.briarproject.org/briar/briar-gtk/-/issues/15Main menu entry "About Briar GTK"2020-03-22T16:02:47ZNicoMain menu entry "About Briar GTK"Sub issue of https://code.briarproject.org/briar/briar-gtk/issues/17.Sub issue of https://code.briarproject.org/briar/briar-gtk/issues/17.GTK 0.1.0-alpha1NicoNicohttps://code.briarproject.org/briar/briar-gtk/-/issues/13Update Briar headless to 1.2.72020-03-22T00:53:57ZNicoUpdate Briar headless to 1.2.7* https://code.briarproject.org/briar/briar/-/wikis/changelog#anchor-127
* https://code.briarproject.org/briar/briar/-/tags/release-1.2.7
* https://media.dorfbrunnen.eu/briar/jars/009/* https://code.briarproject.org/briar/briar/-/wikis/changelog#anchor-127
* https://code.briarproject.org/briar/briar/-/tags/release-1.2.7
* https://media.dorfbrunnen.eu/briar/jars/009/GTK 0.1.0-alpha1NicoNicohttps://code.briarproject.org/briar/python-briar-wrapper/-/issues/1Missing permissions to push default branch2020-03-21T23:15:18ZNicoMissing permissions to push default branch@akwizgran Seems like I'm not allowed to make an initial push here because I just have the role of a developer:
```bash
remote: GitLab:
remote: A default branch (e.g. master) does not yet exist for briar/python-briar-wrapper
remote: Ask...@akwizgran Seems like I'm not allowed to make an initial push here because I just have the role of a developer:
```bash
remote: GitLab:
remote: A default branch (e.g. master) does not yet exist for briar/python-briar-wrapper
remote: Ask a project Owner or Maintainer to create a default branch:
remote:
remote: https://code.briarproject.org/briar/python-briar-wrapper/-/project_members
```
Could you either
1. make me maintainer or
2. push a copy of [my fork of briar-wrapper](https://code.briarproject.org/nicoalt/python-briar-wrapper) to this project
?
Thanks in advance!
*Edit: I've changed the second option from [Briar GTK](https://code.briarproject.org/nicoalt/briar-gtk) to [my fork of briar-wrapper](https://code.briarproject.org/nicoalt/python-briar-wrapper) as a source to push from.*https://code.briarproject.org/briar/python-briar-wrapper/-/issues/2flit as tool to package and upload python-briar-wrapper to pypi?2020-03-21T23:14:56Zfphemeralflit as tool to package and upload python-briar-wrapper to pypi?So far I quite ejoyed flit for packaging and uploading pypi packages:
https://pypi.org/project/flit/
@nicoalt if you are ok with it, I would set it for this repo.So far I quite ejoyed flit for packaging and uploading pypi packages:
https://pypi.org/project/flit/
@nicoalt if you are ok with it, I would set it for this repo.fphemeralfphemeralhttps://code.briarproject.org/briar/briar-gtk/-/issues/3Move GitLab project into Briar namespace2020-03-21T23:10:20ZNicoMove GitLab project into Briar namespace@akwizgran I happily accept [your offer of moving this project into the Briar namespace](https://code.briarproject.org/fphemeral/briar_repl/issues/1#note_39512). Please feel free to do so!
Thanks a lot!@akwizgran I happily accept [your offer of moving this project into the Briar namespace](https://code.briarproject.org/fphemeral/briar_repl/issues/1#note_39512). Please feel free to do so!
Thanks a lot!https://code.briarproject.org/briar/briar/-/issues/1713Computer client?2020-03-16T11:32:23ZSnowCodeComputer client?Hello!
I am very interested in this project, and I was wondering if a computer (Linux) client will arrive one day? I am using Anbox to get it on my computer but Anbox is far from perfect. Is there already implementation of the Briar prot...Hello!
I am very interested in this project, and I was wondering if a computer (Linux) client will arrive one day? I am using Anbox to get it on my computer but Anbox is far from perfect. Is there already implementation of the Briar protocol online or on laptop? Will this arrive one day?https://code.briarproject.org/briar/briar/-/issues/1528Database has no tables after reinstalling via ADB2020-03-10T15:03:26ZakwizgranDatabase has no tables after reinstalling via ADBAfter reinstalling Briar via ADB, I saw the startup failure notification and the log showed that the settings table didn't exist:
```
org.briarproject.bramble.api.db.DbException: org.h2.jdbc.JdbcSQLException: Table "SETTINGS" not found;...After reinstalling Briar via ADB, I saw the startup failure notification and the log showed that the settings table didn't exist:
```
org.briarproject.bramble.api.db.DbException: org.h2.jdbc.JdbcSQLException: Table "SETTINGS" not found; SQL statement:
SELECT settingKey, value FROM settings WHERE namespace = ? [42102-192]
at org.briarproject.bramble.db.JdbcDatabase.getSettings(JdbcDatabase.java:2169)
at org.briarproject.bramble.db.JdbcDatabase.open(JdbcDatabase.java:355)
at org.briarproject.bramble.db.H2Database.open(H2Database.java:65)
at org.briarproject.bramble.db.DatabaseComponentImpl.open(DatabaseComponentImpl.java:112)
at org.briarproject.bramble.lifecycle.LifecycleManagerImpl.startServices(LifecycleManagerImpl.java:108)
at org.briarproject.briar.android.BriarService.lambda$onCreate$0(BriarService.java:132)
at org.briarproject.briar.android.-$$Lambda$BriarService$Ihm6XxaER2EMRlAKzUA1GpEtxZU.run(Unknown Source:4)
at java.lang.Thread.run(Thread.java:764)
```
A similar problem was previously mentioned [here](https://code.briarproject.org/briar/briar/issues/1367#note_31102), but most of that discussion referred to a different problem that's now been fixed.
The problem occurred after installing a debug build (0f614e84) on the Nexus 5X via ADB, launching the build, performing some actions such as adding and removing a contact, signing out, and installing a new build (d40cfd30) via ADB. When I launched the new build, the startup failure notification was shown.
Subsequent lauches showed the same error. The db.mv.db file exists, with a size of 28672 bytes, and Briar can open it, but the DB contains no tables ("SHOW TABLES" returns the expected table names on an unaffected device, but no table names on this device). It seems like nothing was written to the DB file during the first session, after the point where the DB file was created.
Two other devices (Moto G 4G and Moto E3) that were used for testing the same builds didn't show the bug, so I don't think it's caused by these particular builds.Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1367DB Store header is corrupt2020-03-10T15:03:16ZTorsten GroteDB Store header is corruptWhen using Android emulator 27.3.9.0 with an API 28 Google APIs Intel x86 Atom System Image Revision 4 or 5, creating a new account after "forgetting the password" causes a `org.h2.jdbc.JdbcSQLException: Encryption error in file null` ex...When using Android emulator 27.3.9.0 with an API 28 Google APIs Intel x86 Atom System Image Revision 4 or 5, creating a new account after "forgetting the password" causes a `org.h2.jdbc.JdbcSQLException: Encryption error in file null` exception when reinstalling with Android Studio while still signed in.
```
I/AndroidAccountManager: No database key in preferences
I/AccountManagerImpl: Found database key in primary file
I/AndroidAccountManager: No database key in preferences
I/AccountManagerImpl: Found database key in primary file
I/BriarService: Created
I/LifecycleManagerImpl: Starting services
W/LifecycleManagerImpl: org.briarproject.bramble.api.db.DbException: org.h2.jdbc.JdbcSQLException: Encryption error in file null [90049-192]
org.briarproject.bramble.api.db.DbException: org.h2.jdbc.JdbcSQLException: Encryption error in file null [90049-192]
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:495)
at org.briarproject.bramble.db.JdbcDatabase.open(JdbcDatabase.java:340)
at org.briarproject.bramble.db.H2Database.open(H2Database.java:54)
at org.briarproject.bramble.db.DatabaseComponentImpl.open(DatabaseComponentImpl.java:109)
at org.briarproject.bramble.lifecycle.LifecycleManagerImpl.startServices(LifecycleManagerImpl.java:108)
at org.briarproject.briar.android.BriarService.lambda$onCreate$0$BriarService(BriarService.java:134)
at org.briarproject.briar.android.BriarService$$Lambda$0.run(Unknown Source:20)
at java.lang.Thread.run(Thread.java:764)
Caused by: org.h2.jdbc.JdbcSQLException: Encryption error in file null [90049-192]
at org.h2.mvstore.db.MVTableEngine$Store.convertIllegalStateException(MVTableEngine.java:182)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:167)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
at org.h2.engine.Database.getPageStore(Database.java:2463)
at org.h2.engine.Database.open(Database.java:692)
at org.h2.engine.Database.openDatabase(Database.java:270)
at org.h2.engine.Database.<init>(Database.java:264)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:101)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:484)
at org.briarproject.bramble.db.JdbcDatabase.open(JdbcDatabase.java:340)
at org.briarproject.bramble.db.H2Database.open(H2Database.java:54)
at org.briarproject.bramble.db.DatabaseComponentImpl.open(DatabaseComponentImpl.java:109)
at org.briarproject.bramble.lifecycle.LifecycleManagerImpl.startServices(LifecycleManagerImpl.java:108)
at org.briarproject.briar.android.BriarService.lambda$onCreate$0$BriarService(BriarService.java:134)
at org.briarproject.briar.android.BriarService$$Lambda$0.run(Unknown Source:20)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.IllegalStateException: Store header is corrupt: split:30:/data/data/org.briarproject.briar.android.debug/app_db/db.mv.db [1.4.192/6]
at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:773)
at org.h2.mvstore.MVStore.readStoreHeader(MVStore.java:605)
at org.h2.mvstore.MVStore.<init>(MVStore.java:355)
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2893)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:154)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
at org.h2.engine.Database.getPageStore(Database.java:2463)
at org.h2.engine.Database.open(Database.java:692)
at org.h2.engine.Database.openDatabase(Database.java:270)
at org.h2.engine.Database.<init>(Database.java:264)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:101)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:484)
at org.briarproject.bramble.db.JdbcDatabase.open(JdbcDatabase.java:340)
at org.briarproject.bramble.db.H2Database.open(H2Database.java:54)
at org.briarproject.bramble.db.DatabaseComponentImpl.open(DatabaseComponentImpl.java:109)
at org.briarproject.bramble.lifecycle.LifecycleManagerImpl.startServices(LifecycleManagerImpl.java:108)
at org.briarproject.briar.android.BriarService.lambda$onCreate$0$BriarService(BriarService.java:134)
at org.briarproject.briar.android.BriarService$$Lambda$0.run(Unknown Source:20)
at java.lang.Thread.run(Thread.java:764)
W/BriarService: Startup failed: DB_ERROR
```Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1505API 28: Show Soft Keyboard When Activities no longer receive focus2020-02-14T10:34:52ZTorsten GroteAPI 28: Show Soft Keyboard When Activities no longer receive focushttps://developer.android.com/about/versions/pie/android-9.0-changes-28#focus
> Additionally, activities no longer implicitly assign initial focus in touch-mode. Instead, it is up to you to explicitly request initial focus, if desired.
...https://developer.android.com/about/versions/pie/android-9.0-changes-28#focus
> Additionally, activities no longer implicitly assign initial focus in touch-mode. Instead, it is up to you to explicitly request initial focus, if desired.
When entering the password, creating groups, forums or writing blog posts, the keyboard is shown initially, because the input fields receive focus. On API 28, we can't rely on this anymore and should use explicit keyboard states instead.Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1697Crash when receiving event in group list2020-02-14T10:33:05ZTorsten GroteCrash when receiving event in group listWhen receiving a group message while in the private group list, the app crashes with this stacktrace:
```
java.lang.IllegalStateException
at org.briarproject.briar.android.privategroup.list.GroupListControllerImpl.eventOccur...When receiving a group message while in the private group list, the app crashes with this stacktrace:
```
java.lang.IllegalStateException
at org.briarproject.briar.android.privategroup.list.GroupListControllerImpl.eventOccurred(GroupListControllerImpl.java:104)
at org.briarproject.bramble.event.EventBusImpl.lambda$broadcast$0$EventBusImpl(EventBusImpl.java:42)
at org.briarproject.bramble.event.-$$Lambda$EventBusImpl$bRn946wCXST7O6nsMZt_9tnkiuk.run(Unknown Source:4)
at android.os.Handler.handleCallback(Handler.java:883)
```
Looks like the controller doesn't get its listener attached for some reason.Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1704NPE in BlogControllerImpl#eventOccurred()2020-02-14T10:33:05ZakwizgranNPE in BlogControllerImpl#eventOccurred()* Android version: 6.0
* Phone model: Redacted by user
* Briar version: 1.2.4 (commit hash redacted, but package name indicates a release build)
Stacktrace:
```
java.lang.NullPointerException: Attempt to invoke interface method 'void or...* Android version: 6.0
* Phone model: Redacted by user
* Briar version: 1.2.4 (commit hash redacted, but package name indicates a release build)
Stacktrace:
```
java.lang.NullPointerException: Attempt to invoke interface method 'void org.briarproject.briar.android.blog.BaseController$BlogListener.onBlogPostAdded(org.briarproject.briar.api.blog.BlogPostHeader, boolean)' on a null object reference
at org.briarproject.briar.android.blog.BlogControllerImpl.eventOccurred(BlogControllerImpl.java:108)
at org.briarproject.bramble.event.EventBusImpl.lambda$broadcast$0$EventBusImpl(EventBusImpl.java:42)
at org.briarproject.bramble.event.-$$Lambda$EventBusImpl$bRn946wCXST7O6nsMZt_9tnkiuk.run(lambda)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5778)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:801)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:691)
```Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1706IllegalStateException when removing private group2020-02-14T10:33:04ZakwizgranIllegalStateException when removing private group* Android version: 9
* Phone model: OnePlus A5010 (OnePlus5T)
* Briar version: 1.2.5 (aad92e3)
Stacktrace:
```
java.lang.IllegalStateException
at org.briarproject.briar.android.privategroup.list.GroupListControllerImpl.onStart(G...* Android version: 9
* Phone model: OnePlus A5010 (OnePlus5T)
* Briar version: 1.2.5 (aad92e3)
Stacktrace:
```
java.lang.IllegalStateException
at org.briarproject.briar.android.privategroup.list.GroupListControllerImpl.onStart(GroupListControllerImpl.java:90)
at org.briarproject.briar.android.privategroup.list.GroupListFragment.onStart(GroupListFragment.java:97)
at androidx.fragment.app.Fragment.performStart(Fragment.java:2632)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:915)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1303)
at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManagerImpl.java:2659)
at androidx.fragment.app.FragmentManagerImpl.dispatchStart(FragmentManagerImpl.java:2619)
at androidx.fragment.app.FragmentController.dispatchStart(FragmentController.java:257)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:551)
at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:201)
at org.briarproject.briar.android.activity.BaseActivity.onStart(BaseActivity.java:129)
at org.briarproject.briar.android.activity.BriarActivity.onStart(BriarActivity.java:62)
at org.briarproject.briar.android.navdrawer.NavDrawerActivity.onStart(NavDrawerActivity.java:154)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1470)
at android.app.Activity.performStart(Activity.java:7170)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3071)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1916)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6898)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
```
Edited log:
```
02-06 18:25:57.861 I/BaseActivity: Starting NavDrawerActivity
02-06 18:26:02.059 I/BaseActivity: Starting ConversationActivity
02-06 18:26:02.558 I/BaseActivity: Stopping NavDrawerActivity
02-06 18:26:07.888 I/BaseActivity: Starting NavDrawerActivity
02-06 18:26:08.804 I/BaseActivity: Stopping ConversationActivity
02-06 18:26:12.288 I/BaseActivity: Starting GroupActivity
02-06 18:26:12.311 I/ThreadListControllerImpl: Loaded last top visible message id MessageId(XXX)
02-06 18:26:12.363 I/ThreadScrollListener: Updating unread count: top=0 bottom=0
02-06 18:26:12.792 I/BaseActivity: Stopping NavDrawerActivity
02-06 18:26:16.941 I/BaseActivity: Starting NavDrawerActivity
02-06 18:26:17.475 I/BaseActivity: Stopping GroupActivity
02-06 18:26:20.238 I/BaseActivity: Starting GroupActivity
02-06 18:26:20.259 I/ThreadListControllerImpl: Loaded last top visible message id MessageId(XXX)
02-06 18:26:20.322 I/ThreadScrollListener: Updating unread count: top=0 bottom=0
02-06 18:26:20.738 I/BaseActivity: Stopping NavDrawerActivity
02-06 18:26:23.788 I/BaseActivity: Starting GroupMemberListActivity
02-06 18:26:24.293 I/BaseActivity: Stopping GroupActivity
02-06 18:26:34.655 I/BaseActivity: Starting GroupActivity
02-06 18:26:34.709 I/ThreadListControllerImpl: Loaded last top visible message id MessageId(XXX)
02-06 18:26:35.169 I/BaseActivity: Stopping GroupMemberListActivity
02-06 18:26:39.582 I/ThreadListControllerImpl: Group removed
```Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1699Crash when opening link on phone with no browser2020-02-12T14:49:16ZakwizgranCrash when opening link on phone with no browserApparently some people don't have browsers on their phones...
User feedback: "Open link no browser on phone."
Stacktrace:
```
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIE...Apparently some people don't have browsers on their phones...
User feedback: "Open link no browser on phone."
Stacktrace:
```
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=http://... }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2007)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1673)
at android.app.Activity.startActivityForResult(Activity.java:4587)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:767)
at android.support.v4.app.ActivityCompat.startActivityForResult(ActivityCompat.java:234)
at android.support.v4.app.FragmentActivity.startActivityFromFragment(FragmentActivity.java:881)
at android.support.v4.app.FragmentActivity$HostCallbacks.onStartActivityFromFragment(FragmentActivity.java:995)
at android.support.v4.app.Fragment.startActivity(Fragment.java:1084)
at android.support.v4.app.Fragment.startActivity(Fragment.java:1073)
at org.briarproject.briar.android.widget.LinkDialogFragment.lambda$onCreateView$0(LinkDialogFragment.java:77)
at org.briarproject.briar.android.widget.-$$Lambda$LinkDialogFragment$CtxQ-RzzFNwlWk-vvrb4QHAEkGw.onClick(Unknown Source:4)
at android.view.View.performClick(View.java:6597)
at android.view.View.performClickInternal(View.java:6574)
at android.view.View.access$3100(View.java:778)
at android.view.View$PerformClick.run(View.java:25906)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6718)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
```Android 1.2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1700Crash when setting long alias for contact2020-02-12T14:43:32ZakwizgranCrash when setting long alias for contact* Briar version: 1.1.6 (4d26628)
* User feedback: "Renamed user to long username."
Stacktrace:
```
java.lang.IllegalArgumentException
at org.briarproject.bramble.contact.ContactManagerImpl.setContactAlias(ContactManagerImpl.java...* Briar version: 1.1.6 (4d26628)
* User feedback: "Renamed user to long username."
Stacktrace:
```
java.lang.IllegalArgumentException
at org.briarproject.bramble.contact.ContactManagerImpl.setContactAlias(ContactManagerImpl.java:192)
at org.briarproject.bramble.contact.ContactManagerImpl.lambda$setContactAlias$4(ContactManagerImpl.java:200)
at org.briarproject.bramble.contact.-$$Lambda$ContactManagerImpl$EfFGAUvRrCV355yeOOy1D8He3mI.run(lambda)
at org.briarproject.bramble.db.DatabaseComponentImpl.transaction(DatabaseComponentImpl.java:177)
at org.briarproject.bramble.contact.ContactManagerImpl.setContactAlias(ContactManagerImpl.java:200)
at org.briarproject.briar.android.conversation.ConversationViewModel.lambda$setContactAlias$3(ConversationViewModel.java:169)
at org.briarproject.briar.android.conversation.-$$Lambda$ConversationViewModel$9WfLCS52Gofv6xnFXEVAD-DkifM.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:761)
```Android 1.2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1705NPE when sending private message2020-02-12T14:27:12ZakwizgranNPE when sending private message* Android version: 8.0.0
* Phone model: Lenovo K520 (seoul)
* Briar version: 1.2.4 (no commit hash, custom package name)
Stacktrace:
```
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String...* Android version: 8.0.0
* Phone model: Lenovo K520 (seoul)
* Briar version: 1.2.4 (no commit hash, custom package name)
Stacktrace:
```
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.replace(java.lang.CharSequence, java.lang.CharSequence)' on a null object reference
at org.briarproject.briar.android.view.TextAttachmentController.onSendEvent(TextAttachmentController.java:107)
at org.briarproject.briar.android.view.TextSendController.lambda$new$0$TextSendController(TextSendController.java:37)
at org.briarproject.briar.android.view.-$$Lambda$TextSendController$10Be2Hyuh5TqgqEmcNIq7rn_c-c.onClick(Unknown Source:2)
at android.view.View.performClick(View.java:6256)
at android.view.View$PerformClick.run(View.java:24701)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6653)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:770)
```
This is a custom build, so the bug may not exist on master.https://code.briarproject.org/briar/briar/-/issues/1695Pending contact list doesn't show any state when Tor plugin is disabled2020-02-11T17:28:21ZakwizgranPending contact list doesn't show any state when Tor plugin is disabledWhile testing the plugin-toggles branch, I noticed that the pending contact list doesn't show any state for pending contacts when the Tor plugin is disabled. This might be a superficial problem with the list or a deeper problem with the ...While testing the plugin-toggles branch, I noticed that the pending contact list doesn't show any state for pending contacts when the Tor plugin is disabled. This might be a superficial problem with the list or a deeper problem with the rendezvous poller.
The state appears as soon as the plugin's turned on.Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1693P2P protocol encrypted and decentralized2020-02-05T17:33:06ZjomocuP2P protocol encrypted and decentralizedI just saw a protocol that I find very interesting, it is an encrypted p2p protocol that allows decentralization without using servers, although this protocol itself does not hide the ip, this would be done by the tor network.
:)
In addi...I just saw a protocol that I find very interesting, it is an encrypted p2p protocol that allows decentralization without using servers, although this protocol itself does not hide the ip, this would be done by the tor network.
:)
In addition, it has compatibility with local networks, not bad: D
Information about the protocol: https://ssbc.github.io/scuttlebutt-protocol-guide/
Website: https://scuttlebutt.nz/
What if Briar added decentralization to Tor's P2P network?
It would be a real madness this.
What would you think of a "briar" social network style?
https://www.manyver.se/
I would like you to take a look, to see what you think.
regardshttps://code.briarproject.org/briar/briar/-/issues/1692Building the app from source2020-02-05T17:26:57ZUmairBuilding the app from sourceI have few questions regarding building app.
1. If I load it in xamarin, is it possible to also create apps for ios and windows?
2. What files to change if want to use my own name, logo etc?
3. Does it support push notifications? If y...I have few questions regarding building app.
1. If I load it in xamarin, is it possible to also create apps for ios and windows?
2. What files to change if want to use my own name, logo etc?
3. Does it support push notifications? If yes, where can I change the FCM ID?
Will I make the changes before building or after?