- when clicking the underlined profile name; the prob was that
`TapHandler` (unlike a `MouseArea`) is not a visual `Item` and hence
can't be a parent for the context menu
- small (unrelated) typo fix to unbreak GIF link previews...
Fixes#16950
closes#16887
The pairing popup can be destroyed while the pairInstructions popup is active. As a result the pair instructions popup will misbehave.
To fix this, the pair instructions component is moved outside of the pair popup scope
(cherry picked from commit 007f75ad4c)
closes#16883#16882
1. connect the dapps service online state to the enabled state for the dapps button
2. Fix the connect modal primary action button
3. Align DappsComboBox disabled color with the refresh button disabled color
(cherry picked from commit 2c4f6b5da3)
* chore: identify version numbers using a git tag
- remove VERSION file
- expose the `GIT_COMMIT`so that we can properly construct the web links
when the user clicks the version number in Settings/About
- some smaller cleanups and warning fixes
Fixes#12349
* fix_: ci artifact version and use version scripts
---------
Co-authored-by: Igor Sirotin <sirotin@status.im>
After this change there is not need to pass sendModal instance from AppMain to other parts of app.
Then SendModal should be launched simply by calling Global.openSendModal(....)
- add ability to copy display name of a message author
- add possibility to search for a member by a un/compressed chat key
- adjust the search field placeholder text to "Search by member name or
chat key"
- update SB with some more variations
- cleanup some the signal handling
Fixes#16790
Fixes#16741
The problem was that we replaced the ContentType from Image to Text, so on restart, it doesn't understand it had images anymore.
Fixed in status-go by reusing the ContentType of the original message.
This makes it so that we don't need to pass the ContentType from Nim anymore, so I removed that param from the code.
Fixes#16688
Fixes the issue by adding a version to the URL on the status-go side. No extra code needed on our side.
The only change is that we no longer need the `addTimestampToURL` hack for the community now.
Fixes#16803 and #16804
When we finally do the call to go to the main app, we check if we were doing a login or an onboarding and then send a metric (if enabled)
* fix(badge): fix missing badge on the Chat section
* fix(unread): fix unread count not incrementing when the chat is active but app is unfocused
Fixes#16098
The problem was that we were marking the message as read because the chat kept scrolling, even if the app was in the background.
I fixed that by only marking as read if the app is active. I added a Connections to the active property of the Applicaiton too to mark as read when the app comes back active.
I also removed a condition that prevented the Unread bar appearing in that condition.
Now, when a message is sent to the active chat, but the app is not in focus, the red dot appears, as well as the badges. Then when the app comes active, it is marked as read, but the unread messages line is shown to show when is the last time the user saw messages. This is similar to what Discord has.
closes#16831
Moving the dapp popups to the global scope in order for them to be triggered on any view.
There are a few changes required for this:
1. DAppsWorkflow has been split. Previously all popups were declared in the `DappsComboBox`. Now the DAppsWorkflow inherits the QObject instead and the `DappsComboBox` is used as is in the wallet header.
2. The DAppsWorkflow has been moved to AppMain. The DAppsWorkflow will be constructed in the scope of DAppsService and connected directly to the service signals
3. Updated tests and storybook with the new structure
4. Removed the `dAppsService` from `Global`. There's no reason to keep the `dAppsService` instance in the `Global` singleton.
* refactor(contacts): refactor 5 contact models into one and filter in QML
Fixes#16549
Refactors the 5 types of contact models (all, mutuals, banned, received and sent) into only the `allContacts` and use an Adaptor on the QML side to filter into the needed models.
This cleans the Nim side a lot and makes applying updates to the contacts' model way simpler.
* chore(contacts): remove useless and duplicated contact properties
OptionalName and isSyncing were never used.
DefaultDisplayName was not really used and is actually a duplication of preferredDisplayName, so I replaced the limited usages of DefaultDisplayName by preferredDisplayName
* refactor(contacts): improve updates by not removing and re-adding
We used to update contact items by removing them from the models and re-adding them. This is highly inefficient.
Instead, the proper way is to update only the values that changed.
* user_model: onItemChanged signal removed
* user_model: sorting by online status no longer needed on nim side
* Chat/RootStore: contactsModel property removed
* ContactsStore encapsulation improved
* ContactsStore: contacts model adaptor moved outside store
---------
Co-authored-by: Michał Cieślak <michalcieslak@status.im>