briar issueshttps://code.briarproject.org/briar/briar/-/issues2022-07-26T00:11:57Zhttps://code.briarproject.org/briar/briar/-/issues/1685New concept of forums and blogs (Groups, Supergroup and Channels)2022-07-26T00:11:57ZjomocuNew concept of forums and blogs (Groups, Supergroup and Channels)**General idea: The administrators of the group would have some general adjustments for the group, according to the group configuration a category is assigned.**
Generic settings for group administrators:
- Give the possibility that th...**General idea: The administrators of the group would have some general adjustments for the group, according to the group configuration a category is assigned.**
Generic settings for group administrators:
- Give the possibility that the users of the group, add new users, or not.
- Allow users to send messages or not.
- Allow users to send images or not.
- Allow users to send files or not.
- Allow users to send music or not.
- Allow users to send audios or not.
- Allow users to send gif or not.
- Other settings...
Depending on the general settings of the group, categories could be assigned, the categories change according to the group's permissions.
**Category "Channels"**
*Category feature:*
- Group members can only receive messages.
- All users can create a new "Channel" by default group permissions shown above.
For example, in a group that is not allowed to speak to its members and only administrators can speak, this category would be assigned since information is only received from administrators (for example, offers, or news about games, news, etc.)
In this case it would be good to give the possibility of self-publishing rss news for administrators.
**Category "Group"**
*Category feature:*
- Group members can send and receive messages.
- Group members cannot add new users (Only administrators can do so)
- All users can create a new "Group" by default group permissions shown above.
**Category "Supergroup"**
*Category feature:*
- Group members can send and receive messages.
- Group members can add new users.
- All users can create a new "Supergroup" by default group permissions shown above.
I think that would be better.
More organized, cleaner.
Regardshttps://code.briarproject.org/briar/briar/-/issues/1684Add setting to override detected country for Tor bridge configuration2022-06-06T13:26:15Zcano wigAdd setting to override detected country for Tor bridge configurationI am using briar 1.2.4 and I noticed in the options that Briar incorrectly selects 'connect via internet (tor automatic based on location'.
I was on holiday on country X and I did not installed Briar there, however when I went home (cou...I am using briar 1.2.4 and I noticed in the options that Briar incorrectly selects 'connect via internet (tor automatic based on location'.
I was on holiday on country X and I did not installed Briar there, however when I went home (country Y) and installed Briar, the option connect via internet (tor) automatic based on location' was wrong as it referred to country X not my current location.
I don't know whether briar got the info from f-droid since I opened it when I was in country X, however I think this can be dangerous as different countries have different degrees of repression, and tor should be set accordingly, therefore I suggest that whenever the app is opened to check if there was a change of location or maybe even let the user mention which country and automatically set the best connection accordingly.https://code.briarproject.org/briar/briar/-/issues/1683Add a 'safe' status in case of disaster?2020-01-08T17:27:27Zcano wigAdd a 'safe' status in case of disaster?I read in japan several apps have the ability to make others know you are safe, like facebook has a 'safe' mark during natural disaster.
Given the nature of briar I think it would be a great addition to have. However I am not sure what ...I read in japan several apps have the ability to make others know you are safe, like facebook has a 'safe' mark during natural disaster.
Given the nature of briar I think it would be a great addition to have. However I am not sure what would be the best way to implement it.
I thought about 3 possibilities:
1 User can decide themselves whenever to check the 'safe' check (but then it would be too abused I suppose?And might worry people if you don't have 'safe' checked).
2 depending on the location briar could issue an alarm message about a disaster and give the option to check 'safe' (but then briar would have to scan third-party portals and the burden would be on briar not on the user).
3 let the user in private groups the option to create a warning: e.g. 'flood happened in city X please all check safe if you are good' and then users can individually check their status (I think this sounds the best option, although like all other 2 could be abused so maybe give such option only to the creator of the group?.https://code.briarproject.org/briar/briar/-/issues/1682No obvious way to tell which version of briar I am running2020-01-08T17:26:40Zcano wigNo obvious way to tell which version of briar I am runningI tried digging everywhere but I couldn't find which version of briar I am running from the app. I could see it only through f-droid. Every app has an obvious way to see which version you run, usually in the 'about' page. I suggest to ad...I tried digging everywhere but I couldn't find which version of briar I am running from the app. I could see it only through f-droid. Every app has an obvious way to see which version you run, usually in the 'about' page. I suggest to add the version number to briar next to the logo and BRIAR.
So by clicking on the 3 lines you open the side bar, see the logo, BRIAR and version.
Example: Logo BRIAR 1.2.4https://code.briarproject.org/briar/briar/-/issues/1681Bug when signing in to briar2019-12-21T18:12:50ZjomocuBug when signing in to briarBriar version: 1.2.4
Once the session has started, the application does not allow creating new forums, new blogs, and new groups.
Bug solutions:
- Turning the screen resolves the error.
- Pressing on configuration and going back to sol...Briar version: 1.2.4
Once the session has started, the application does not allow creating new forums, new blogs, and new groups.
Bug solutions:
- Turning the screen resolves the error.
- Pressing on configuration and going back to solve the error.
- When closing and opening the application without logging in, the error is also solved.https://code.briarproject.org/briar/briar/-/issues/1680Bug when turning the screen horizontally2020-11-15T16:53:27ZjomocuBug when turning the screen horizontallyThe chat should go down at all when I put the screen horizontally, currently turning the screen shows some messages above, and I have to manually go down to the last message.The chat should go down at all when I put the screen horizontally, currently turning the screen shows some messages above, and I have to manually go down to the last message.https://code.briarproject.org/briar/briar/-/issues/1679Ephemeral messages and self cleaning2019-12-20T20:08:39ZjomocuEphemeral messages and self cleaningIt would be good to add an option to be able to automatically delete the messages of a particular converacion every x time.
This function would delete the messages every x time for all the participants of the conversation.
The function s...It would be good to add an option to be able to automatically delete the messages of a particular converacion every x time.
This function would delete the messages every x time for all the participants of the conversation.
The function should be available in private conversations and in groups.
On the other hand, in the general configuration of the application, a self-cleaning option could be added, in order to automatically erase the contents of the oldest chats.
And add some extra options, such as these:
** Cleaning of messages for recipients **
- "Delete messages for the receiver" (True / False)
** Cleaning filters **
- "Do not self-delete Files" (True / False)
- "Do not self-delete Videos" (True / False)
- "Do not self-delete Images" (True / False)
- "Do not self-remove Sounds" (True / False)
- "Do not self-remove Gifs" (True / False)
- "Do not self-remove Audios" (True / False)
- "Do not self-delete Video Messages" (True / False)
- "Do not self-delete Links (URL)" (True / False)
I hope you like the suggestion, regardshttps://code.briarproject.org/briar/briar/-/issues/1677Headless: alias missing from contacts response when same as author's name2020-10-31T12:52:40ZNicoHeadless: alias missing from contacts response when same as author's nameIn [headless' readme](https://code.briarproject.org/briar/briar/blob/6a31274b76781d540e3a2875160dd352a48a8335/briar-headless/README.md#listing-all-contacts) an example of a response is shown that contains the key `alias`. When `alias` is...In [headless' readme](https://code.briarproject.org/briar/briar/blob/6a31274b76781d540e3a2875160dd352a48a8335/briar-headless/README.md#listing-all-contacts) an example of a response is shown that contains the key `alias`. When `alias` is the same as `author->name`, Briar headless leaves out the `alias` key and only answers with `author->name`.
### Steps to reproduce
Add a contact remotely and give it an alias equal to the contact's self chosen nickname.
### Excepted behavior
Both @fphemeral and I thought that the response would always contain an alias. At least when the user gives the contact an alias.
### Actual behavior
If `alias` matches `author->name`, `alias` is dropped from the response.
### Proposed solution
Either explicitly state in the documentation that the `alias` key is not guaranteed to get delivered all the time, or change the output to always contain an `alias` key.
### Related resources
* [the commit where I added a check for this](https://code.briarproject.org/nicoalt/briar-gtk/commit/4d1acc7c4c278ece5cb4e920a38d9910d70b5b95) in Briar GTK
* [my proposed merge request](https://code.briarproject.org/fphemeral/briar_repl/merge_requests/1) at _briar_repl_NicoNicohttps://code.briarproject.org/briar/briar/-/issues/1676Migrate account to new phone2023-01-30T10:57:11ZTorsten GroteMigrate account to new phoneWhen users get a new phone, they will lose all their Briar data as there's no way to backup the account (#110). Since tackling a real backup is hard, we could offer a way to migrate an account, transfer all data and when done remove it f...When users get a new phone, they will lose all their Briar data as there's no way to backup the account (#110). Since tackling a real backup is hard, we could offer a way to migrate an account, transfer all data and when done remove it from the old phone avoiding some of the issues a backup has.https://code.briarproject.org/briar/briar/-/issues/1675Investigate whether we can capture a photo from the camera without storing it...2020-11-15T17:00:31ZakwizgranInvestigate whether we can capture a photo from the camera without storing it on diskWhen sending an ACTION_IMAGE_CAPTURE intent it's possible to pass a content URI that represents a file where the camera app should store the image. (On Android 7+ the URI has to be obtained from a FileProvider.) In itself that's not much...When sending an ACTION_IMAGE_CAPTURE intent it's possible to pass a content URI that represents a file where the camera app should store the image. (On Android 7+ the URI has to be obtained from a FileProvider.) In itself that's not much use - it would allow us to specify a file in Briar's private data dir, which is better than using the shared media dir, but the file would still be unencrypted.
Investigate whether it's possible to pass a URI that represents a pipe rather than an ordinary file, in which case we could read the data from the pipe into the encrypted db (or an encrypted temporary file).https://code.briarproject.org/briar/briar/-/issues/1673NPE when scrolling in ConversationActivity2020-11-15T17:02:04ZakwizgranNPE when scrolling in ConversationActivity* Android version: 6.0
* Phone model: Huawei DIG-L21HN
* Briar version: 1.1.6 (4d26628)
Stacktrace:
```
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object refe...* Android version: 6.0
* Phone model: Huawei DIG-L21HN
* Briar version: 1.1.6 (4d26628)
Stacktrace:
```
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference
at org.briarproject.briar.android.view.BriarRecyclerViewScrollListener.onItemVisible(BriarRecyclerViewScrollListener.java:55)
at org.briarproject.briar.android.view.BriarRecyclerViewScrollListener.onItemsVisible(BriarRecyclerViewScrollListener.java:50)
at org.briarproject.briar.android.view.BriarRecyclerViewScrollListener.onScrolled(BriarRecyclerViewScrollListener.java:39)
at android.support.v7.widget.RecyclerView.dispatchOnScrolled(RecyclerView.java:4961)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep3(RecyclerView.java:4021)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3652)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:4194)
at android.view.View.layout(View.java:16772)
at android.view.ViewGroup.layout(ViewGroup.java:5462)
at android.support.constraint.ConstraintLayout.onLayout(ConstraintLayout.java:1915)
at android.view.View.layout(View.java:16772)
at android.view.ViewGroup.layout(ViewGroup.java:5462)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:338)
at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
at android.view.View.layout(View.java:16772)
at android.view.ViewGroup.layout(ViewGroup.java:5462)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1764)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1607)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1516)
at android.view.View.layout(View.java:16772)
at android.view.ViewGroup.layout(ViewGroup.java:5462)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:338)
at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
at android.view.View.layout(View.java:16772)
at android.view.ViewGroup.layout(ViewGroup.java:5462)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:338)
at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
at android.view.View.layout(View.java:16772)
at android.view.ViewGroup.layout(ViewGroup.java:5462)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1764)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1607)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1516)
at android.view.View.layout(View.java:16772)
at android.view.ViewGroup.layout(ViewGroup.java:5462)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:338)
at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
at android.view.View.layout(View.java:16772)
at android.view.ViewGroup.layout(ViewGroup.java:5462)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1764)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1607)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1516)
at android.view.View.layout(View.java:16772)
at android.view.ViewGroup.layout(ViewGroup.java:5462)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:338)
at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
at com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:2757)
at android.view.View.layout(View.java:16772)
at android.view.ViewGroup.layout(ViewGroup.java:5462)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2234)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1991)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1147)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6262)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:886)
at android.view.Choreographer.doCallbacks(Choreographer.java:698)
at android.view.Choreographer.doFrame(Choreographer.java:633)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:872)
at android.os.Handler.handleCallback(Handler.java:743)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:150)
at android.app.ActivityThread.main(ActivityThread.java:5659)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:822)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:712)
```
Edited log:
```
11-24 10:18:33.863 I/AndroidNetworkManager: Received broadcast android.intent.action.SCREEN_ON
11-24 10:18:42.475 I/BaseActivity: Starting ConversationActivity
11-24 10:18:42.513 I/ConversationActivity: Eagerly loading text for latest message
11-24 10:18:47.418 I/KeyboardAwareLinearLayout: onKeyboardOpen(438)
11-24 10:19:29.081 I/BaseActivity: Stopping ConversationActivity
11-24 10:19:29.274 I/BaseActivity: Starting ConversationActivity
11-24 10:19:29.292 I/ConversationActivity: Eagerly loading text for latest message
11-24 10:19:33.838 I/BaseActivity: Stopping ConversationActivity
11-24 10:19:33.983 I/BaseActivity: Starting ConversationActivity
11-24 10:19:34.003 I/ConversationActivity: Eagerly loading text for latest message
11-24 10:19:35.200 I/KeyboardAwareLinearLayout: onKeyboardOpen(926)
```
Notes:
* Object#getClass() is the desugared implementation of Objects.requireNonNull()
* Possible interaction between automatically scrolling to the bottom of the conversation and opening the keyboard?
* Old Briar version - KeyboardAwareLinearLayout has been removed, we've moved to the AndroidX implementation of ConstraintLayout
* Considering the old Briar version I'm not adding this to the current milestone unless we get another reporthttps://code.briarproject.org/briar/briar/-/issues/1671Adding contacts via acoustic modem2023-07-19T06:14:53ZtaggbuskeAdding contacts via acoustic modemI have noticed a lot of new users are put off by Bluetooth technically requiring location permissions. Asking for temporary access to microphone + speaker might be less paranoia-inducing.
Something like FSK running at a moderate rate co...I have noticed a lot of new users are put off by Bluetooth technically requiring location permissions. Asking for temporary access to microphone + speaker might be less paranoia-inducing.
Something like FSK running at a moderate rate could be used. There's plenty of software modems out there. Direwolf (https://github.com/wb2osz/direwolf) has really good implementations of Bell 103 and Bell 202 that could be ported to Java.
I am aware this is an esoteric solution, but I thought I should throw it out there 🙂
Related: #1645, #261, maybe #31https://code.briarproject.org/briar/briar/-/issues/1670An option for reverse chronological order in forums2019-11-25T16:42:36ZtaggbuskeAn option for reverse chronological order in forumsAn option for reverse chronological order for forums would be nice, so that threads get bumped. Right now it's possible that new messages get "lost" when they are replies to old threads. Since messages in Briar don't seem to get timestam...An option for reverse chronological order for forums would be nice, so that threads get bumped. Right now it's possible that new messages get "lost" when they are replies to old threads. Since messages in Briar don't seem to get timestamped I suppose the ordering would need to be on the time they were received by the client.
Possibly related: #1443 #503https://code.briarproject.org/briar/briar/-/issues/1669Request to send images2019-11-20T09:50:50ZfwholdRequest to send imagesCongratulations! Fantastic project! When will you be able to send the images? Is this update planned?
* [ ] Congratulations! Fantastic project! When will you be able to send the images? Is this update planned?
* [ ] https://code.briarproject.org/briar/briar/-/issues/1666F-droid version is outdated (please, keep it up to date)2019-11-14T15:28:31ZtuquequeF-droid version is outdated (please, keep it up to date)Hello. I don't know if this can be called an "issue", but to me it is. I want to try the new version of Briar and I haven't been able to because the F-droid version of Briar is still in the 1.1.6. I've waited several days, but no sign of...Hello. I don't know if this can be called an "issue", but to me it is. I want to try the new version of Briar and I haven't been able to because the F-droid version of Briar is still in the 1.1.6. I've waited several days, but no sign of new version. It's a bit frustrating/disappointing having to write here for such a thing, but I made a comment on your Twitter account also several days ago and no response yet.
Thank you for your time and investment on this great app. Just try to keep it up to date on all stores.https://code.briarproject.org/briar/briar/-/issues/1664join forums or groups in headless api2024-03-12T02:24:24ZChrisjoin forums or groups in headless apiI could not find a way to join a group or forum using the headless briar service.
I see the incoming invitation message(s) but i could not find any information on how to respond to them.
Someone please guide me how to do this.
Thx for ...I could not find a way to join a group or forum using the headless briar service.
I see the incoming invitation message(s) but i could not find any information on how to respond to them.
Someone please guide me how to do this.
Thx for your hard work on briar.https://code.briarproject.org/briar/briar/-/issues/1663Android 11 Scoped Storage - Android future completely Google dependent (centr...2019-11-13T10:13:34ZGhost UserAndroid 11 Scoped Storage - Android future completely Google dependent (centralization)I read some details (Scoped Storage) about what should come in Android Q (Android 10), but was aborted first and will be introduced with Android 11.
Why Google lies to the users and what the honest developers have to say about it and ha...I read some details (Scoped Storage) about what should come in Android Q (Android 10), but was aborted first and will be introduced with Android 11.
Why Google lies to the users and what the honest developers have to say about it and have recognized it correctly.
https://www.xda-developers.com/android-q-storage-access-framework-scoped-storage/
> Google touts the security and privacy benefits of this change, but technically speaking, there is no improvement. Apps have had the ability to privately store files since Android 1.0, and almost all apps make use of this capability. When you grant an app access to the root directory of your storage via SAF, it can read, write, and send any file it wants to its nefarious developer in the exact same fashion it could when you granted an app access to storage in Pie.
> The only “security improvement” comes about because it’s now a more arduous process for a user to do this. Unless of course an app only wants to steal your most personal information, like photos and videos you’ve taken, for which Google has added an alternative access solution which uses a simple pop-up click-yes security dialog.
> It is not known what benefits Google hopes to achieve with this change. The official stated reason in the Android Q beta documentation is to “give users more control over their files and to limit file clutter.” Scoped storage, in its present form, is a new limitation of what the user is allowed to do, not an extension of their control. The claim of reducing clutter may be somewhat valid, but only because the change reduces the ability to use files at all. And “clutter” is increased when you consider the problem of some apps now having to duplicate files to work with them.
> If Google is truly concerned about giving users more control over files and clutter, they should architect a solution that directly addresses that, rather than falsely branding the current Android Q design as such an improvement. The simplest answer would be to let users decide if they want an app to have scoped or general filesystem access, using the extant storage permission request dialog. If there is a particular concern for users making poor decisions here, it’s certainly possible to make that dialog more prominent and require additional user interaction to approve an app for full access.
> The answer to how Android can give users more control of their files is to actually give users more control, not to take it away and fundamentally constrain the capabilities of the Android platform.
What do we see here?
The developers knew exactly how to really improve it for the users and the added value behind it.
Why does Google lie and want to include it in Android Q even though it's not an improvement? Google wants to limit Android even further, just like Apple does with their iOS system and products that use this system e.g. iPhone.
Google is pursuing the same goals as Apple and Microsoft in the final stages. Building a centralized system. No more control by users or developers, only server dependent.
The problem that most Android or Linux developers have known about for a long time and therefore do not develop apps for centralized systems. But the consumers don't know it yet or don't see the interrelations and that's a problem.
Since Google is able to integrate it into Android 11, they will try again and again in the future to make the Android platform similar to the Apple platform.
What many do not know Google does these steps in small steps. So it always starts first.
Only in a few years one sees the effects. Apps can only be installed from the Google Play Store. Everything else goes only by an software which one sends to Google, in order to get a permission, so that the App can be installed. No offline setup/use possible anymore! Android devices can only be set up and used via Internet activation at some point (as with iPhone).
We have to act otherwise we will be more and more controlled by global corporations that only pursue their own interests (centralization, control, economic growth, fake security problems to limit the operating system, more market power, etc).
But the cause is in reality the consumers. The majority currently believe that Google, Apple, etc... are on the users' side. No, that's not true. It's just an illusion to distract.
The fact is that without the users' money, corporations like Google cannot exist. The decision is always ours!
We millions of users can spend more money in independent systems, hardware, software. We users can support even more independent developers. It's really possible. Don't forget!https://code.briarproject.org/briar/briar/-/issues/16626. The Briar apk name should contain the version number in the name as well2019-11-13T10:09:26ZGhost User6. The Briar apk name should contain the version number in the name as wellDownload the Briar app for Android here: https://briarproject.org/apk/briar.apk
In the name is no version number. it's just: **briar.apk**
Perhaps more details should be added to better organize your apk library faster and more accurat...Download the Briar app for Android here: https://briarproject.org/apk/briar.apk
In the name is no version number. it's just: **briar.apk**
Perhaps more details should be added to better organize your apk library faster and more accurately.
Like this, for example: **Briar v1.2.4.apk** or **Briar-1.2.4.apk**https://code.briarproject.org/briar/briar/-/issues/1661The feedback window is too small2022-07-20T10:38:40ZGhost UserThe feedback window is too smallThe feedback window is too small. If I type more details, I cannot see the beginning more.
Tested with Briar 1.2.4 versionThe feedback window is too small. If I type more details, I cannot see the beginning more.
Tested with Briar 1.2.4 versionhttps://code.briarproject.org/briar/briar/-/issues/1660Collapse the feedback categories and remember choices2020-12-10T16:59:05ZGhost UserCollapse the feedback categories and remember choicesYou can sent the feedbacks in the app. The problem you can disable the sending of data for some categories. But I always have to scroll down for each category. Please make it better e.g. add an arrow button if users want to see what deta...You can sent the feedbacks in the app. The problem you can disable the sending of data for some categories. But I always have to scroll down for each category. Please make it better e.g. add an arrow button if users want to see what details are being sent. Then click on the arrow button.
I think it would be very good if the last setting remembers itself and is not hidden by default. I know some users who find it so much more intimate.
Tested with Briar 1.2.4 version