The is image flag and source was not in sync due to sequential change
of source and isImage. This was causing the following warning:
`Warning: qrc:/StatusQ/Components/StatusRoundedImage.qml:27:5: QML StatusImage: Cannot open: qrc:/StatusQ/Components/help
Add a specific state to the saveSettings action to update the model
by reloading the data.
The previous implementation was using the same save address which
doesn't update. Either in the past there was a side effect that made it
work or it was never working.
Closes#14365
- removed multiple filtering separately for each category
- no instantiation of all delegates up front (regular ListView approach
used)
- fixed category selection when filtering - selecting/deselecting only
items fulfilling search criteria
- significant simplification of the code
Closes: #14275
* fix(permissions): fix hang when all channel perm check return
Fixes#14234
The problem was that we updated **all** the models from **all** the channels of a community each time the channel requirement checks returned.
The fix is to first of all, make sure we don't call that check too often. It sometimes got called twice in a row by accident.
The other better fix is to check if anything actually changed before updating. This solves the issue almost entirely. Since the permissions almost never change, the updates now take only a second.
* fix(permisisons): never run permission checks for privileged users
Also fixes#14234 but for admins, TMs and Owners.
Admins+ were still getting the hang, because the permission checks always returned something different than the models, because the models knew that admins have access to everything, but the permission check was running as if it were a normal user (I think, un-tested).
Anyway, the solution is more simple, we never need to run the permission checks on admins+, because they always have access to everything!
* fix(Communities): prevent channels model from emitting unnecessary signals
Closes: #14274
* chore(Communities): improve channels metadata lookup performance
ChannelsSelectionModel is removed, replaced with plain LeftJoinModel.
Transformations of left-side model are done in a single place, not in
every delegate making the join.
* only call update functions when there is something to update + move permission model creation when needed
---------
Co-authored-by: Michał Cieślak <michalcieslak@status.im>
- don't use the expensive `ExpressionFoo` in SFPM, just use
`AnyOf/AllOf` combinations where possible
- in HoldingsSelectionModel, don't call the `getTokenByKey` twice to
construct the `text`, once is enough
- lastly, rewrite the JS helper `PermissionsHelpers.getTokenByKey` to
C++; this method gets called recursively way too often from many places
In the longterm, we should provide a specific C++ transformation model
for SharedAddressesPermissionsPanel to follow the UI requirements more
closely; that way we'd be able to fix the issues here for good
Fixes#14276
- implement sorting of the wallet accounts by the number of tokens (aka tags) and
then by alphabet
- due to the delegate complexity here and usage of nested models, keep
track of the tags count separately and outside of the model
- this will be improved later on as part of the complete sort/order
design described in https://github.com/status-im/status-desktop/issues/14192Fixes#14101
- implement the eligibility check in C++, returning the highest possible
role the user would be allowed to join under
- enable/disable the "Share" button based on the above permissions check
- remove all the locally placed components, access teh popup only via
Global/Popups
- calculate the `accessType` internally based on the permissions present
- update the eligibility as the async check for permissions is finished
- fix the permissions panel background color
- partially revert the share/finish/cancel buttons behavior; it must be
one button due to StatusStackModal limitations
- fix some other minor UI issues or differences to current Figma designs
- adjust SB, add the possibility to play around with different
permission models
Fixes#14100
- hide the "Current password" label when creating a new password
- fix margins inside the keycard popup
- some minor UI fixups according to Figma
Fixes: #14214Fixes: #14177
* Feat: New showcase models for a contact
* feat(ProfileShowcase): Integrate the new profile showcase backend
* fix(Storybook): Fix ProfileShowcaseModelsPage
* fix: fetch only requested profile showcase data
Support PR for https://github.com/status-im/status-go/pull/4982
* feat: Load and validate profile showcase for a contact in two steps
* fix: fetching criteria for profile showcase collectibles
* fix: review fixes
---------
Co-authored-by: Alex Jbanca <alexjb@status.im>
* fix(JoinCommunity): Add missing state ONLY private permissions and NOT MET
- Modified `becomeMemberModel` in store to provide all member permissions.
- Modified permissions model filter to only discard permissions that are private and NOT met.
- Updated `storybook/PermissionsModel` with new only private permissions and added new model option in corresponding pages.
Closes#14104
* fix(JoinCommunity): Text position when all channels hidden
Updated text position when `allChannelsAreHiddenBecauseNotPermitted` in community join process
- Added dialog instead of calling directly to the cancel method.
- Updated `Cancel` button format according to figma in `CommunityMembershipSetupDialog`.
Closes#14097
Add a separation layer for save/load/clear to ManageTokensModel
so that we can save/load from external sources.
The separate layer is composed of JSON as protocol, a set of signals
and slots for interface. The implementation forwards data to current
QSettings for storybook and nim controllers for the app.
Updates #13313, #13312
- Change text and remove existing icon.
- Removed unnecessary property `loginType` on different files.
- Renamed signals to be more accurate with existing requirements.
Closes#14098
- update shared addresses dialog to avoid small jumps when
selecting/unselecting accounts due to requirements check text displayed
- display the pending text and spinner next to the Permissions header
Fixes#14103
I was debugging a crash at login and found out that
TransactionDetailView was being loaded even when it was not being used;
my debugging code in `onComplete` was trying to access transaction data
from nim which was not set.
Updates #13663
This commit:
- improves selection of addresses to reveal
- keeps the selection state for the popup lifetime
- brings higher granularity in terms of signed requests by keypairs
- meets new requirements from the latest related Figma
- merges edit shared addresses feature and request to join community features
into a single component, cause the flow is logically the same, with the only
difference that when editing revealed addresses we don't show the community
intro screen
Fixes at least points 3 and 4 from #13988
- take the balance threshold value into account when presenting the
assets in the main wallet view
- additional fix from Emil for storing the threshold value
- storybook fixes to display the correct `currentCurrencyBalance` values
based on the address/wallet filters and mocking the threshold values
using TransactionStore
Fixes: #14017
- Added loading state in dirty toast message.
- Added store connections in `MyProfileView` and save loading logic.
- Added toasts notifications.
Closes#13950
a
- Removed `ProfileSectionStore` instance from `CurrenciesStore`. Only needed some certain accesses to the `profileSectionModule`.
- Added strict type in `CommunitiesView`.
- add placeholder image if the collection/community has none
- elide the whole group name, taking into account the copy button
- fix the tooltip position over such elided text
- do not go overboard and don't use a StatusSmartIdention just to to
display a rounded icon/image
- distinguish between `permissionTypeLimitReached` and the new
`permissionTypeLimitExceeded`
- the latter is used to enable/disable the "Save" button when editting
the permissions as we're not going to add a new one (going over the
limit), and to also hide the warning texts
Fixes#13989
* feat(@desktop/communities): Hide channels if the user is not permitted to view and hideIfPermissionsNotMet is set
Extend chats model with channel permissions info and hideIfPermissionsNotMet.
Visibility of chat item is based on: member roles, channel permissions, hideIfPermissionsNotMet.
If all channels from category are hidden, category item is also hidden.
If all chats in community are hidden, infomration label is displayed.
Issue #13291
* chore(@desktop): Upgrade status-go
Issue #13291
- add an `interactive` property as a drop-in replacement for `enabled`;
the UI looks "disabled" but can still display e.g. a tooltip or some
loading animation
- add the ability to display a tooltip
- remove DisabledTooltipButton and replace it with a regular
`Status(Flat)Button`, using the above new features
- update storybook with the new `interactive` switch
Fixes#10185
- Added network prefixes in profile showcase accounts delegate and included them in the searcher.
- Added filter to just display own accounts in profile showcase accounts tab.
Closes#13899
- If only minted collectibles, section header visible. Otherwise, if only regular collectibles, section hidden.
- Updated header used to `FoldableHeader`.
Closes#13315
- display the locally bundled privacy/terms of use texts in a popup
- add support for reading text files with both relative and absolute
files or URLs, useful for having the same file path in both storybook
and the app
Fixes#13877
Fixes#13779
The problem was that the permission update some times takes time to get propagated and get back, or even the control node is offline, so the TM would not be able to post, because the backend would detect that there is a permission and that we don't have the key for it.
The solution is to block the UI when a permission update is pending, since we can't post correctly while it is not processed by he control node.
* feat: Add new simplified model for profile showcase preferences
Close#13688
* feat: Add new api for saving profile showcase preferences
* feat(ProfileShowase): Save action with the new backend
- Created JSON file according to new backend structure when saving.
- Updated `dirty state` to sync writable and movable models when position is changed to have a better internal models sync.
- Reenabled identity fields save.
Closes#13799
* feat(ProfileShowcase): Showcase limit values integration with backend
Updated showcase limits with values coming from backend.
---------
Co-authored-by: Noelia <noelia@status.im>
- introduce `ENABLE_FLEET_SELECTION` desktop config entry to control the
Fleet selection UI availability
- UI can be enabled with envvar `STATUS_RUNTIME_ENABLE_FLEET_SELECTION=1`
Fixes#13848
- Added searcher input in header.
- Added 2 filter proxies for hidden and inshowcase models depending on search text.
- Added filter expression per showcase tab (accounts, collectibles and communities).
- Added specific placeholder when search empty.
- Added specific logic when search active.
- Added search validation.
Closes#13508
- Added counter in showcase header.
- Added placeholder when limit reached and section expanded.
- Added placeholder when limit reached and section collapsed.
- Added green animation when section collapsed and element added.
- Disabled showcase delegate context menu when limit reached.
- Dynamic tooltip offset center added.
- Added model changes tracker to track the in showcase count.
Closes#13507
This commit will fix the linux and windows builds by removing the usage of public inline components
TODO: revert this commit once all platforms are migrated to qt 5.15.8+
1. Fix `EmptyShapeRectangleFooterListView` visibility and positioning after ListView items are animated out of view
2. Update `ShowcaseDelegate` to remove modelObject dependency. The UI properties needed will be received from parent
3. Update `ProfileShowcasePanel` to remove the previous logic involving rows move and visibility change. There is no need now for two specialised delegate components (one for in showcase and one for hidden). The delegate is still configured outside of this component because the model rolenames need to be mapped to the delegate properties. The common delegate logic is implemented in the `ProfileShowcasePanel` and only the model mapping is needed from parent component.
3. Update all `ProfileShowcase*Panel` to impement the new API
4. Remove all `*ShowcaseDelegate`. The delegate is simple enough to be configured at once in the Panel
when ENS name is resolved. Resolve ENS name before used in SendModal.
UI tweaks:
- red stroke on address input in case of error
- smaller tick for validation address input
- added validation spinner to address input, removed from the button
- handled tab key to move focus between inputs
- extend `isUserAllowedToSendMessage` to also cover
`Constants.chatType.communityChat`
- let `admin` always satisfy the permissions
- hide the add emoji/reaction button instead of disabling it when the
permissions are not met
- adjust the error msg to better reflect the reality (tokens vs.
permissions)
Fixes#13777
Manual calculation of bubble postion to be correctly centered due to the usage of `SettingsContentBase` as a centralPanel component that already has a default left margin value.
- Added `autoscrollWhenDirty` property to be able to configure the settings content base as autoscroll mode when dirty toast appears. Otherwise, the toast will be shown overlaid on top of the view content.
- Updated profile view to setup autoscroll on `Identity` tab. Rest of app cases are setup with the overlay mode.
Closes#13517
- Updated `AddSocialLinkModal` according to new design.
- Modified main social links items according to new design.
- Updated edit modal according to new design.
- Some text validation updates.
Closes#13511
- Send/request ID verification
- Reply to incoming ID request
- Review ID verification reply
- adjust SB and add shortcuts to trigger the various states of the ID
verification flows
Fixes#13709Fixes#13745Fixes#13747
Add new field AmountInWeis to token criteria dto.
Keep strings instead of floats in token_criteria_item.
HoldingSelectionModel keeps amount in wei-like units but they are displayed in permissions as floats (divided by decimals).
Issue #11588
- It adds an additional right component to `FoldableHeader.qml`.
- It adds hidden button component in `hidden` foldable header.
- It adds visibility buttons component in `in showcase` foldable header.
Closes#13595
- TLDR: we were scaling twice, resulting in ginourmous pixel values
The long story:
- since Qt treats the various scale factors in a multiplicative way (see
https://www.qt.io/blog/2016/01/26/high-dpi-support-in-qt-5-6 for
explanation) and there's no way to get the screen's baseline scale
factor programatically, we also have to export `QT_SCREEN_SCALE_FACTORS`
to something that's not equal to `0` or `1` to force the monitor scale
factor to `100%` and then compensate for it when exporting our own scale
value using `QT_SCALE_FACTOR`
- make the UI slider values go in `25%` steps, allowing for more fine
grained control; with `100%` we fallback to the Qt's native handling of
highdpi
- raised the maximum to `300%` since on highres displays, one wouldn't
be able to go over the implicit maximum of `200%` (due to the internal
scaling being 2x)
- scale our main window's minimum width/height so that we don't overflow
the monitor's available space
- modernize the `ConfirmAppRestartModal` to use `StatusDialog`
- use the new `Utils.restartApplication()` when changing the UI language
as well
- remove some dead code
In the (very) long term, we should take a different approach of scaling
our app independently of Qt, just taking the monitor
`Screen.devicePixelRatio` into account, similar to what other apps like
Telegram do
Fixes#13484
- Created `ProfileShowcaseInfoPopup` component.
- Added storybook support for the new popup component.
- Added new popup into the application flow.
- New property stored in local account settings file.
Closes#13338
- Added `FastBlur` component to `ShowcaseDelegate` and added property to change to blur state.
- Updated `ProfileShowcasePanel` to activate blur delegate state when dragging.
Closes#13594
- It updates `ProfileShowcasePanel` with new drop area design adding shadows, changing drop areas design and sizes.
- It adjusts `ShowcaseDelegate` according to design, ie: heigh and background colour on dragActive.
Closes#13509
- Added new additional footer component in `EmptyShapeRectangleFooterListView`.
- Enabled more accounts component in profile showcase assets and collectibles panel.
Closes#13590
- implemented the missing `StatusBaseButton.Type.Success` state and
colors for both `StatusButton` and `StatusFlatButton`
- use a `switch` instead of a waterfall of ternaries
- adjust storybook for the new case
Fixed#13622
- Modified `ProfileShowcasePanel` with 2 foldable sections.
- Modified api of `ProfileShowcaseCommunitiesPanel` with the new base component.
- Modified api of `ProfileShowcaseAccountsPanel` with the new base component.
- Modified api of `ProfileShowcaseAssetsPanel` and `ProfileShowcaseCollectiblesPanel` with the new base component.
- Added needed `storybook` support.
Closes of #13504
Renamed `ManageTokensListViewBase` to `EmptyShapeRectangleFooterListView` and moved `FoldableHeader` to shared/controls.
Updated related `ManageXXPanel` components.
- make `SendContactRequestModal.qml` use the common dialog, use the
contact details if we already have it
- make some minimal changes to the "Send ID verification" flow since it
shares the same dialog
- simplify the `CommonContactDialog.qml` footer/buttons handling
- adjust the menu item texts
- emit toasts when the action is performed
- display a tooltip over the compressed elided key
Fixes#13518
- introduce a shared `CommonContactDialog.qml` component, to be used in
all profile/contact related flows
- make `NicknamePopup.qml` use the common dialog
- adjust the menu item text and add a new "Remove nickname" item
- remove unused `DisplayNamePopup.qml`
- emit toasts when the nickname changes
Fixes#13513
This commit handles saved addresses changes and reflect them to the history view
and tx details view. In this context it handles the same way changes coming from sync
devices.
Also fix the issue when switching network mode.
Closes: #13095
* fix(SeedPhrase): Fixing seed phrase validation
1. Validate each word after the editing is finished
2. Fixing the seed phrase suggestions where the suggestions box was hidden behind other ui elements
3. Propagate editingFinished signal in StatusBaseInput, StatusInput, StatusSeedPhraseInput
4. Fixing undefined `mnemonicIndex` errors
* fix: Refactoring of SeedPhraseInputView
Remove duplicated code and use EnterSeedPhrase component
+ Added storybook page
* fix(Onboarding): Fixing seed phrase validation on windows
The seed phrase validation fails on windows due to the dictionary line endings
* chore(squish): Update e2e tests to the new enter seed phrase panel construction
* fix: Load english dictionary from local file using StringUtils
- fix the QR code to generate a URL with the link to the profile instead
of just the user key
- reuse the `UserImage` component and place it on top of the existing QR
code
- put a white rectangle behind the QR code image and white ring around
the user image
Fixes#13482
- Fixed spacing between `Token lists` title and list items.
- Fixed spacing between list items and `add more` box.
- Fixed highlight item when hovering `View` button.
Closes #13395
- Created new reusable component to navigate to accounts tab form collectibles / assets tab.
- Added needed support in `storybook` to cover the new use case.
Closes#13340
- Replaced current `StatusButton` type to `DisabledTootipButton` to allow tooltip displayed when disabled in dirty toast message.
- Added needed conditions in `MyProfileView` where the tooltip when the save changes is disabled.
Closes#13334
Fixes#12724
The actual issue wasn't reproducible, even if I removed the guards against duplicate names.
But I did find that the community wasn't cleaned up correctly, so I fixed it in this PR. It should limit the confusion and possible issues that could arise.
- create new `ShareProfileDialog` with QR code + links
- align the context menu items with latest Figma designs
- add `isBlocked` to contact icons
- adjust SB to show more options and showcase models
Fixes#13416Fixes#13417
Changes:
1. Make PermissionsView/EditPermissionsView configurable to support channel permissions config
2. Adding channel permissions support in the create/edit channel popup
3. Connect the channel permissions to backend
4. Cleaning unneeded emojiPopup
Changes:
1. Adding the `Fast` expressions where needed
2. Break the channel permissions into categories in PermissionsStore
3. Remove unused/unneeded code
The purpose of this component is to hold the dirty permissions edited my the user.
This is a functional component used to create/edit/delete permissions. The edited permissions are detached from the backend.
- restored dirty tracking for Identity; showcase is handled by the NIM
backend atm
- StatusSectionLayout: make the right panel width configurable and clean
the docu
Fixes#13331
- Each section of the current profile settings view is moved into the
corresponding tab
- The Preview tab becomes the Preview button
- Password button becomes a separate page: PR: [Settings]: Added change
password view #13284 (I kept the Change password button for now until
this is merged)
- Also creates the new Web (Social links) tab as a result
Fixes#13330Fixes#13406
When removing the top-most item from the list, animation was ending with
improper delegates' positioning. No workaround found, transition
disabled.
Closes: #13392
- unify the signature of the method to `move(from, to, count)` so that
both ListModel and NIM have it the same
- realize the move operation using the proper `begin/endMoveRows`
instead of doing a full model reset
- simplify signaling `dataChanged()` for all model roles (nimqml now
follows the C++ impl)
Fixes#13329
* chore: bump status-go
Closes#13139
* fix(settings): It's not possible to switch the log level
Previously it was not possible to change the state of the Debug toggle.
This is because the code forced the setting the default value, ignoring
the database setup, hence always setting the DEBUG as LogLevel.
Closes#13139
- reduce the duplication by moving the controllers (1 per type) to the
toplevel stores
- make sure the internal properties stay in sync between save/load now
that we have just 1 common controller
- fix navigating to the Hidden section from the toast
- finish impl of hiding the token from FirstTokenReceivedPopup
put the respective controller instances into WalletAssetsStore and
CollectiblesStore, so that they can be accessed from other places, like
the SendModal or some popups
Iterates #13293
It provides visual alignments to the current design and also
significantly improves performance because ListView components
are not "unrolled" causing instantiation of too many delegates.
Closes: #12703Closes: #13043
Now the header don't have to be reparented manually. Everything
is done internally in the component. Additionally the usage
in CollectiblesView is adjusted to the change.
Show discord user as a message sender.
Show discord avatar next to user name.
Show "Bridged from Discord" label.
Open adjusted profile context menu.
Issue #13098
* chore: bump status-go
* (fix/desktop) removing custom picture is not reflected on contact's side
This PR fixes [9947](#9947) and contains :
- Commit to fix the changing of custom picture and having the change
reflected on contact's side
- Commit to fix the deleting of picture and having the change reflected
on contact's side
teach the model about the special cased self-collections containing just
one single collectible item; we need that for the "Arrange by
collection" token mgmt feature but in all other cases it shouldn't be
treated as a collection/group
Fixes#13281
- add new Hidden tab/section to Settings/Wallet/Manage tokens page and
storybook
- extract the controller(s) to ManageTokensView.qml to share them across
the tabs
- updated the grouped UI delegate
- adjust the tests
Fixes#13201Fixes#13188
* feat(ProfileShowcase): Show token balences in the profile showcase
* feat: support new tokens & collectible identification
* feat: add collectibles to profile showcase preferences
* feat: dispaly collectibles for a contact
* fix: review fixes & tokens code moved to separated PR
DoubleFlickableWithFolding provides foldable sections and controls
underlying grid views for both categories preventing from instantiating
too many delegates.
Closes: #13045
This commit prevents the user from adding an address to the saved addresses list,
if it was already added to the Wallet section. Also when the user is about to add
an address to the Wallet section, which is already added to the saved addresses
list, the app will ask whether to proceed with that action by removing the related
saved address or cancel the action.
Closes: #13109
Motivation:
ChannelsSelectionModel.qml is freezing the app when used with a live channel that's being edited because on each channel change the selection model is re-created.
The fix for this is to use the LeftJoinModel to unify the channels selection (a light model containing only keys) and the full channels model containing the channels data. On top of this, the SortFilterProxyModel is added to decorate the model with the roles expected in the UI. Another improvement is by replacing the ExpressionRole with the FastExpressionRole.
Show Qr popup is partially refactored because of the two things:
- to meet new UI requirements (introduced in the new saved addresses design)
- to make usage of that popup more generic, that it can be easily used from different places
... under Settings/Wallet/Manage Tokens
- rename Tokens List tab to Advanced tab
- introduce a new `CurrencyAmountInput` component, backed by
`FormattedDoubleProperty` C++ class (plus the respective SB page)
- use `FastExpressionFoo` for the collectibles views as well
Fixes#12611Fixes#13040
The chain we're using for stickers, collectibles, ens names and other similar activities
is simply determined by the mode the Status app is operating in and it could be either
mainnet or testnet mode. Having that fact in mind we don't need all the calls we were
using in the past for fetching explicitly chain id for each of the sections mentioned above
and that's simplified with these changes.
Implemented:
- adding selection color section
- all input field validations
- interactions within the popup
- an ephemeral notification when adding an address
Closes#13089
.. to filter by community or collection name
- make the HistoryView own filter button look like the other combos
- fix some cosmetic issues for StatusCombo in small/secondary mode
- fix StatusBaseInput bg color in dark mode (was invisible)
- update CollectiblesViewPage with options to include regular and/or
community collectibles
Fixes#12969Fixes#12948
fixes#10703
- Adding a reaction by going in add reaction and clicking R1 should have no effect (Currently the reaction R1 is removed which is not expected)
- Clicking on the R1 directly on the message should remove the reaction (I checked and this already works)
- Add a visual indicator in the add reaction popup on which emoji is already selected
- add the sort combobox to assets/collectibles main wallet view pages
- preserve the current view settings
- add the possibility to navigate/drill down into wallet settings
(sub)subsection
- some other minor changes/fixes
Note: currently assets can't be sorted by "1W change" and collectibles
by "Date added" due to missing backend for these
Fixes#12517Fixes#12518
- Open wallet connect modal when the application is opened from a
deep link
- Add test entry that opens wallet connect modal with mocked
StatusDesktop app that can be used for testing
- Add tests
Closes#12641
turns out the model from the comminitiesModule doesn't contain the
members; use the sectionModel (as in all other places) instead which
already has the correct info
additionally, fix the InviteFriendsToCommunityPopup display, it appeared
empty all the time
Fixes#12967
* chore: bump status-go
* feature(@desktop/chat) Enhance message context menu with mark as unread
fixes#10329
linked with PR #12879
- Adds capacity to mark a message as unread
- Adds capacity to mark a message with mention as unread
- Adds persistence to the marking of the message (change can be seen at
after reboot)
- Adds marking in right click contextual menu
The `onTextChanged` event is triggered by the StatusSynthaxHighlighter whenever the text style changes even if the text string doesn't.
This event needs to be filtered before notifying the backend about the text change.
- update the CollectiblesView.qml view and delegates according to the
latest design
- add CollectiblesView to Storybook
- add new section for Community Collectibles
- (re)use the community badge with tooltip and link action to take the
user to the respective community
- add Community Collectibles info icon + popup
- create context menu for token delegates with actions
(Send/Receive/Manage tokens/Hide)
- add confirmation popups when hiding a single or all community tokens
- emit a toast bubble after hiding the token(s)
- fix eliding the community name inside ManageTokensCommunityTag
- some smaller fixes/cleanups
Fixes#12519
This commit adds a fetch messages option in the chat.
If clicked it will re-fetch messages for that chat for 1 month.
It's disabled in production since that's not something we want to go
live with, but it's very helpful for dogfooding/debugging while message
reliability has still some issues.
Requires the specific status-go changes that brings WCChangePairingState
Process delete session and update internal pairing history state
Updated testing while fighting for the issue of not deleting the session
Found out that the client requests a different topic in the delete
session request.
Also:
- update debugging UX to support session events
- update storybook to support mocking session events
- fix go test utility to account for refactoring
Updates #12858
- update the AssetsView.qml view and delegates according to the latest
design
- add AssetsView to Storybook
- add new section for Community Assets
- (re)use the community badge with tooltip and link action to take the
user to the respective community
- add Community Assets info icon + popup
- create context menu for token delegates with actions
(Send/Receive/Manage tokens/Hide)
- add confirmation popups when hiding a single or all community tokens
- emit a toast bubble after hiding the token(s)
- plus related controller/backend methods for handling the
settings-related actions
- some smaller fixes/cleanups
Fixes#12369Fixes#12372
This is required to control the resource consumption in case of no
usage of wallet connect
Hence we load the WebEngineView only if we have active pairings and
such that SDK events are expected from the paired dapps.
Also:
- Moved the generic WebEngineView communication bridge to StatusQ
- Added basic tests for WebEngineLoader
- Add a way to know when wallet is loaded (`walletReady`)
- Add storybook support for mock of nim sections as context properties
Updates: #12639
- It adds link to the corresponding tokens model in `EditCommunityTokenView`.
- It adds validation for `name` and `symbol`.
- It updates `storybook accordingly.`
Closes#12365
- display a customized floating bubble to save/apply the settings
- display a toast message on Apply with an action to jump to Wallet main
page
- add home/end/pgup/pgdown keyboard shortcuts to StatusScrollView to be
able to navigate more easily in long list views
- some smaller fixes and cleanups in wallet and settings related views
Fixes https://github.com/status-im/status-desktop/issues/12762
- implements a QML panel to organize collectibles
- factors out the delegates to separate files to be reusable with the
Assets tab
- adds QML tests to assess the UI functionality (move, show/hide, save/load)
- does not cover the problematic "Arrange by collection" switch (TBD
later)
Fixes: https://github.com/status-im/status-desktop/issues/12379
Bump status-go that brings the sign APIs support for send transaction
and personal sign
Extend SDK
- simple SDK event handling in QML
- support session request response APIs
- pairing management
Closes#12637
Implement Controller to forward requests between status-go and SDK
implementation in QML.
Other changes:
- Source Wallet Connect projectId from env vars
- Mock controller in storybook
Updates #12551
This is a first step to globalize how toasts are treated in the qml layer:
- Created `ToastsManager.qml` class to deal with all app toasts generation.
- Started moving community transfer ownership related toasts to the new manager class.
- Some small cleanup in `AppMain.qml`
Nim backend:
- Created new api method to deal with extended / action toasts.
- Updated needed model / item with new needed roles.
Closes of #12175
- implements the UI component to manage regular & community tokens
(drag'n'drop or context menu to reorder, show/hide, group by community)
- implements a custom C++ QAIM model which acts as a fake proxy model
for the above QML panel (internally it does all the
sorting/grouping/hiding and preserves the custom sort order)
- adds and corrects support for cascading submenus in StatusAction, and
StatusMenu[Item]
- adds support for mirrored (horizontally flipped) StatusSwitch
- adds a new SortOrderComboBox.qml (this was being used in the first
Figma version, can be ignored now, will be used by the main wallet view
later)
- some minor fixes and cleanups in the used components
Iterates #12377Closes#12587
Setting signer logic and computing fees.
AC messages for different transfer ownership states.
Declining ownership logic.
Added `CommunityTokensStore.qml` stub.
Removed deprecated property.
Issue #11964
* feat(Profile): simplified approach to reuse existing models with profile
* feat(Profile): adapt nim models for view actions (move and change visibility)
* feat(Profile): save profile showcasse model changes to the db
* feat(Profile): update profile showcase models on changes from status-go
* feat(Profile): Various bug fixes for profile showcase
* fix(Profile): Fixes storing profile order and review fixes
* chore(Profile): Rename and minimise signals for updating base model filters
It creates new `TokensStore` that will provide all needed token models for all app sections:
- sourcesOfTokensModel
- flatTokensModel
- tokensBySymbolModel
- It creates new component `SupportedTokensListsPanel`.
- It updates tokens list tab content with the expected one.
- It creates new component `TokenListPopup`.
- It adds support to new created components in `storybook`.
Closes#12374
Implement a prototype of integrating [WalletConnect Web SDK]()
- integrate WalletConnect Web SDK using Node.js and packing it using
[webpack](https://webpack.js.org/guides/getting-started/)
- this way, we achieve the same versioning strategy for the SDK
- add WalletConnectSDK view
- it is used to load the web SDK via a WebView (validated working on
Mac and Windows)
- add new app dependency of WebView QT
- also update vendor packages `Dotherside` and `nimqml` to add
required WebView::initialize API used to initialize the WebView
integration at the app start
- add WalletConnectPage to Storybook for quick prototyping
- Also add dependency for WebView Qt lib
- index.js is the wrapper used to provide a simple stateful interface
with the WC SDK
- Entry in ui/generate-rcc.go ensures the node_modules cache is excluded
from the resource file
Notes:
- Added `com.apple.security.cs.allow-jit` entitlement when signing the
app package. This allows Execution of JIT-compiled Code Entitlement
required by the fast-path of the JavaScriptCore framework on MacOS
platforms.
- Keep some debugging entries expected to help debugging Linux package
- Removed outdated `DerivationPathInputRegressionTests` qml test
Closes#12301
* refactor service `parseSharedUrl` functino
* drop unused RootStore functions
* refactor Utils shared urls functions
* fix(MembersSeectprView): ignore shared url data
* drop `openContactRequestPopupWithContactData`
* fix loading of data to popup
The link preview model can be filtered, but the hyperlink detection needs an unfiltered model to properly highlight all URLs. This brought in the need to separate the urls model and the link previews model.
Changes:
1. Update privacy controller to react to external unfurling settings change
2. Add handler to input controller and react to external unfurling settings change
3. Small other fixes
This commit adds the link preview settings card in the chat input area and connects the settings to the controller.
Not included in this commit: Backend for the preserving the settings, syncing the settings and enforcing the settings on the backend side.
Whenever an url is detected in the chat input area, the link preview settings card is presented. This card enables the user to choose one of the following options:
1. `Show for this message` - All the link previews in the current message will be loaded without asking again. The current message can be defined as the message currently typed/pasted in the chat input. Deleting or sending the current content is resetting this setting and the link preview settings card will be presented again when a new url is detected.
2. `Always show previews` - All the link previews will be loaded automatically. The link preview settings card will not be presented again (in the current state, this settings is enabled for the lifetime of the controller. This will change once the settings are preserved and synced)
3. `Never show previews` - No link preview will be loaded. Same as the `Always show previews` option, this will be preserved for the lifetime of the controller for now.
4. Dismiss (x button) - The link preview settings card will be dismissed. It will be loaded again when a new link preview is detected
The same options can be loaded as a context menu on the link preview card.
Changes:
1. Adding `LinkPreviewSettingsCard`
2. Adding the settings context menu to `LinkPreviewSettingsCard` and `LinkPreviewMiniCard`
3. Connect settings events to the nim controller
4. Adding the controller logic for settings change
5. Adding the link preview dismiss settings flag to the preserverd properties and use it as a condition to load the settings.
6. Adding/Updating corresponding storybook pages
This component is a wrapper for LinkPreviewMiniCard and StatusChatInputImageArea. The purpose of this component is to arrange the cards in a row layout and provide scrolling behaviour. This component also has an opacity mask that will provide a fade out appearance when the items are scrolled out of view.
+ adding storybook page
+ integrate ChatInputLinksPreviewArea in StatusChatInput
* feat(Communities): Introduce pending states for kick, ban and unban actions
Close#11795
* feat(Communities): Show bannedMembers pending states on the UI
* feat(Communities:) make kick, ban and unban methods async
* feat(Communities): add signal about community membership status change
* fix(Communities): move membership managment to to the appropriate model
* chore: review fixes
- Button from community column.
- Button from community overview.
- Updated storybook pages (settings overview related) according to new components requirements.
Part of #12174
which can disable or launch editting of the shard index for a given
community
- integrate it into community settings
- add a dedicated storybook page and make it also available from
EditSettingsPanelPage
Needed for https://github.com/status-im/status-desktop/issues/12197
which can configure and enable the shard index for a given community
- integrate it into community settings
- add a dedicated storybook page and make it also available from
EditSettingsPanelPage
Needed for https://github.com/status-im/status-desktop/issues/12197
Enable user action to repeat a Send transaction from the activity view
(HistoryView) and details view (TransactionDetailView).
Extend AppMain send modal entry and SendModal API to allow for selecting
all the required parameters for repeating a transaction.
Optimize update of start timestamp for activity filter only when user
attempts to open the filter panel.
Closes#12122
- Updated default value for `communityPrivilegesLevel` to `2 = Community`.
- Added `communityId` checker in `CollectiblesView`, `CollectibleDetailView` and `WalletLayout`.
Closes#12283
- Updated `CollectibleDetailsView` to show owner and tMaster token collectible types with the correct design.
- Updated `CollectiblesView` to show owner and tMaster token collectible types with the correct design.
- Modified send footer option if collectible selected is an owner token.
- Added logic to wallet rootstore to handle selected collectible data.
- Reverted changes on property selectAccount in sendModal
Closes#12172
It opens information popups when community owner token is still not created:
- From Overview / Transfer ownership button
- From Overview / How to move control node button
- Added support into storybook
Closes#12173
- Applied new design to transfer ownership popup.
- Added support in storybook.
- Added navigation to transfer ownership popup from community settings / owner token footer.
- Added navigation to transfer ownership popup from community settings / overview.
- Linked wallet send modal to the transactions popup with the needed pre-populated data.
Closes#12171