Use new status-go function to update group chat details.
Changes in RenameGroupPopup to handle choosing colors and images.
Changes in EditCroppedImagePanel to handle background component.
Issue #5982
Keycard implementation affected onboarding/login flows.
- new user - first run - new keys into keycard
- new user - first run - import seed phrase into keycard
- old user - first run - login importing from keycard
- login the app using keycard
Fixes: #5972
Fixes#6251
Adds the "Respond to Contact Request" and "Contact Request Pending" options to the MessageContextMenu
Also fixes some small issues with contact verification where the state of the incoming request was not correct
- startup, login and onboarding modules merged into the single one
- `State` class introduced which is the base class for all states, every state
determines what is the next state in each of 3 possible actions, and what
is the previous state, if it has previous state
- `StateWrapper` class is introduced as a convenient way to expose
`State`'s props and deal with them on the qml side
- startup module maintains states as a linked list and there are few convenient
methods to move through the list `onBackActionClicked`, `onNextPrimaryActionClicked`
`onNextSecondaryActionClicked`, `onNextTertiaryActionClicked`
- redundant code removed
Fixes: #6473
Fixes#6220
Fixes the issue with the mutual contact icon showing when just added.
It also does a huge cleanup of the codebase to remove isContact and replace it with either isAdded, when we care only about if we added, or isMutualContact if we want the contact to be mutual
Also fixes an issue with the MessageContextMenu not reflecting the added state correctly.
We no longer send community invites to users, instead we just share the
community and let users request access.
That request will either be automatically or manually accepted by the owner/admin.
Depends on https://github.com/status-im/status-go/pull/2682Closes#5115
Close#6254
- since Qt 5.xy, hover is not enabled by default for QQC2, so enable it
unconditionally as we are a desktop app anyway
- this fixes several hover effects being broken, mostly for builtin
components like MenuItem and some buttons (eg. the leftmost NavBar)
where we haven't enabled those with `hoverEnabled: true` explicitely
- Removed 'Communities Portal' toggle from the advanced settings and enable it by default.
- Removed dropdown menu. The button opens directly the join public chat modal.
- In the portal, "Import community" button is now clickable and opens the import community modal.
- In the portal, "Create community" button is now clickable and opens the create community modal.
- Enabled navigation to the clicked community.
Closes#6099
In case of a public key, the loader was always visible and an ephemeral
notification was display but it should not
Also, the show not found is disabled if there is no contact list being
displayed
Removed code that removed messages marked as `repliedTo` in the corresponding service `handleMessagesUpdate` method.
It solves the following use case:
- New account, join public channel, replay massages shown there.
Fixes#6138
When histories are cleared on a paired devices, that clearance should be
synced and reflected in other paired devices as well.
This commit ensures desktop calls the correct API to clear histories,
which will then cause an implicit sync.
Partially addresses #5201
There are a bunch of settings which are synced an not handled by
desktop, one of them being the `profile-pictures-show-to` setting.
This commit introduces a new `SettingsFieldDto` so we can react to
message signals that include individual setting fields that originate
from syncing.
The first setting hanlded is the one mentioned above, so a new
application signal is introduced to inform the app that there was an
update in that particular setting, so it can re-render the view.
Partially addresses #5201
Bookmarks were only synced when devices were synced, but not when
bookmarks were added/removed/updated.
To account for this, there's are new messenger APIs in status-go
proposed here: https://github.com/status-im/status-go/pull/2709
Based on those APIs, desktop can now add/remove/update bookmarks and the
changes are automatically synced to other devices in real-time.
This commit also ensures that changes from other devices with regards to
bookmarks are handled and updated on the current device.
Partially addresses #5201
This fixes a bug where the new user status set by the logged in user
would not be broadcast because the corresponding setting would prevent
status-go from doing so.
The fix is done by always enabling broadcasting the user status, then
disabling it again right after setting, in case it was set to "offline".
This commit also ensures that, when current user status updates are
broadcast, the updates are handled across paired devices in real-time.
Partially addresses #5201
This is first iteration. Models have been restructured and qml adapted
to the changes.
What is left to be done:
- populate new models with appropriate data (some fields were left
default)
- use new fields in qml, use StatusMemberItem where possible
- fix all #FIXMEs introduced by this commit
iterates: #5951
We've introduced a regression in
9f633f0fcc
where model data for navbar buttons are malformed, which results in them being rendered
incorrectly (as letter identicons, instead of icon buttons)
The reason this was happening was because the model data for the
navbar buttons was not properly initialized due to a mixed usage of
positioned and named arguments of the `initItem()` APIs in `SectionItem`
models.
Fixes#5949
Added new option add / remove contacts in dropdown and created navigation to modify the loaded component in the toolbar.
Enabled addition of new members into a group chat by the admin.
Enabled removal of members of a group chat by the admin.
Added into `ChatContentView` components related to chat toolbar:
- `StatusTagSelector` and its corresponding logic
- Moved `StatusChatInfoButton` from toolbar to content view.
Added `esc` key event to leave the group chat add / remove panel.
Updated `StatusQ` link.
Closes#5522
- A crash was happening because of emitting signal from the Q_PROPERTY slot,
fixed now.
- Checks added to `addChat` methods that only 1:1 and group chats participate
in notifications setting exemptions.
This makes Status Desktop aware of the `mailserver.not.working` signal.
When emitted by status-go, desktop will show a popup that informs the
user about the connection failure.
Furthermore, users can then decide to either retry (same as just closing
the popup as retrying already happens by default), or pick another
pinned mailserver, for which they'll get redirected to the messaging
settings panel.
Closes#5166
This adds a checkbox to configure whether or not community members are
allowed to pin any message of a community channel, based on the newly
introduced `CommunityAdminSettings` that are introduced in https://github.com/status-im/status-go/pull/2668Closes#5662
The issue is that, after an account accepts a contact request, the
sender of the request receives a message signal where the
chat's name in the response is the first 8 characters of the chat's
public key. This is because status-go doesn't actually try to keep
the chat's `name` up-to-date if it's a one on one chat.
This results in chat details being updated with a name that is
incorrect. This commit ensures we only update the name of the chat
details if we indeed don't deal with a 1-on-1 chat.
Fixes#5738
- signal for adding notification to the Activity Center introduced
and emitted, but that part is not handled within this commit since
there are some details needed to be discussed in the PR#5334
- signal for displaying ephemeral app notification is introduced
and emitted, but that part is not handled within this commit since
we don't have yet ephemeral notificaiton in place.
Fixes#4902
Added Date & Time selectors in `Language & Currency" screen.
Added new properties in `local_app_settings` to set the date and time format.
Created all the chain from view to service to update date and time format.
Added date and time format functions in `Utils`.
Updated `FetchMoreMessagesButton`, `ChatTimePanel`, `AppSearch`, `TransactionBubbleView` and `TransactionDelegate` date and time text depending on the selected format.
Closes#5386
overwritten
When communities are edited, status-go sends a signal with the community
description, to ensure the network is updated to the latest changes.
However, that community description doesn't include `communitySettings`.
When we then compose the `CommunityDto` object from that signal, it will have
a default certain settings to `false` which might actually be `true`.
The result is that data in memory is incorrect.
To ensure we don't run into this issue, we check whether the attached
settings have an id, if they don't, we know the settings do not
originate from the signal data, meaning we can use the settings we
already have.
This introduces the new signal types related to the community archive
protocol and makes Status Desktop listen to the download event which is
emitted by status-go every time history archives were downloaded.
If the downloaded archive covers data within the recent 7 days, it
causes Status Desktop to reload the corresponding chats.