Changes in the Permissions design:
1. If the collectible is unique the amount input is disabled. 1 is auto-selected
2. Show `Max. 1` for unique tokens and empty string for other tokens
Changes in the Airdrop design:
1. Show `Max. 1` for unique tokens
- It adds proxy of wallet accounts only in a single place (wallet root store) and pass the tuned model through the rest of views.
- It updates `storybook` accordingly.
Closes#11829
Fixes#11817
Instead of getting revealed accounts from the community description (it's no longer available), uses the new `getRevealedAccountsForAllMembers` API. Uses it async so that we do not slow the start process. The model is updated correctly when we finish loading them.
- It adds info panel when control node is offline.
- It modifies UI texts when control node is offline.
- It updates storybook updating permissions model and allowing permission state changes.
NOTE: Only UI, no backend. There is 1 expected integration point: permissions model item `permissionState` role.
Closes#11769
* rename `fetchMessageByMessageId` to `getMessageByMessageId`
* move reply clicking logic to `StatusMessageReply`
* make message found animation faster
* `asyncGetMessageById`
This commit includes the following changes:
1. Request from backend the messages count in a specific interval as opposed to all messages timestamps in that interval.
2. Update the chart end date before refreshing the data
3. Fix metrics type parsing in community service
4. Fix a bug where the new incoming data was not processed by ChartJs without a hover event on the chart. The fix here is to manually request paint() on model changes.d
Issues found and not handled here:
1. On large communities the backend request can take 3 minutes to complete
2. CPU usage can easily go to 100% when switching chart tabs on large communities. All the requests are processed by the backend.
It seems that for `macOS`, `ParentChange` trigger was not correctly set if using specific `when` condition on desktop app (working properly on storybook). Setting it always to `true`, it does the trick and reparents footer component as expected.
Fixes#11742
* feat(Community): Community messaging statistics chart
Close 11152
- Use se `collectCommunityMessageMetrics` for messaging statistics chart
in community overview
* feat(Community): Transfer community metrics with dto objects
* feat: impl simple string-based model for community metrics
* fix(Community): Review fixes and fix for changing community when chat is open
* Update src/app/modules/main/chat_section/controller.nim
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
---------
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
- In case of `Owner` and `TMaster` token deployment failed, a `Retry` button must be shown in minted tokens pages and it will navigate to the `Edit page` the same way it's done by using `Retry` button inside the item selected.
- Updated storybook accordingly.
Closes#11613
Restrict the character set to basically 7-bit ASCII plus some punctuation
in community/chat/profile related popups in order to:
- reduce the risk of impersonation (UTF-8 characters might look the same
despite being a different codepoint)
- narrow down the set of characters in order to keep the new share URL
format short
Closes#11307
- fix missing profile image
- fix displaying wrong name when a nickname or ENS name is present
- fix ID verification flow ignoring nickname
- fix empty results when a contact has only an alias name
- fix needlessly requesting contact details several times (and
overwriting it); we get this info already from Popups.qml
- switch the popup to `StatusDialog` and fix hardcoded height
Fixes#11726
- Added `buttonEnabled` property to `StatusInfoBoxPanel` so it can be set from outside.
- Fixed airdrop button enable condition in minting flow. It is enabled when minting state is completed and if the token properties are infinite supply or there are still remaining tokens to be airdropped.
- Updated storybook accordingly.
Fixes#11496
Bump Status GO to support session based activity requests
Transaction module was replaced by activity module,
this change removes the old code.
Details:
- Remove transaction.Item and use the DTO directly
- Replace the still using missing functionality
- Remove old way of fetching transactions in response to the history event
- Use activity filter to provide history for "recents" in Send.
Closes#11339
Fixes#11532
Hooks the Airdrop views to the new airdropAddress model property so that the fee calculation and the airdrop transaction can use a valid address.
Also: refactor(communities), moved request to join funcs to communities module
This is needed because we can now request to join from the Import popup
Closes#11242
- remove padding and use margins so that the listview can span the whole
width while having the scrollbar neatly next to it
- make the section header both inline and floatable (which makes it
always visible, even when scrolled away)
- fix the special search results "section" to behave the same way
- sort the results by category and name
- expose the `allTokensMode` for easy testing with storybook
Closes#10201
1. Fix an issue where importing a community using private key triggers the import finished event without updating the community data if the community is already imported with public key
2. Show toast messages on importCommunity and privateKeyRemoved events
3. Group community import toast messages handlers and move them from ContactsColumnView to AppMain. IMO these toast messages handlers should not be dependent on ContactsColumnView.
- Settings/About now displays the `status-go` version, read from its
`VERSION` file
- use the actual app icon, to differentiate between prod/dev version
- make the version numbers clickable, taking the user to either the
release notes (prod) or the GH commit browser (dev)
- add "Is production" switch to the About page in storybook
Closes#11424
This change corrects legacy naming that was causing confusion.
Community invites are no longer sent to users. Instead, the community is
just shared. If a user is interested in joining this shared commmunity,
they must submit a request to join.
- display an info box when in wallet testnet mode with a CTA to disable
it (functionality enabled for production builds only)
- the CTA can be tested/seen via OverviewSettingsPanelPage storybook page
Closes#11468
- Added `storybook` support to change minted tokens model with Owner and TMaster tokens.
- Added new properties into the `tokenModel` model.
- Extended `CollectiblesView` to allow Owner and TMaster tokens representation.
- Updated `MintedTokensView` in order to display Owner and TMaster tokens.
- Added logic to `enable/disable` MINT and AIRDROP token depending on the owner / tmaster tokens deploy state.
- Added temp buttons in MINT and AIRDROP pages that keeps enabled the flows although owner and tmaster backend is not ready.
- Extended navigation from outsite to minting section, depending on user profile and owner and tmaster states.
- Hide footer options in case of owner token item visualized.
- Added retry flow.
Closes#11299
- close the first popup before opening another
- fix `SignTokenTransactionsPopup` title (it would display "Burn
undefined tokens")
- remove duplicate close() calls
- `destroyOnClose: false` is the default
Fixes#11498
Modify the PermissionUtils a bit to return an array of `[key, channelName]`
instead of just the keys and use it to display the channel names in the
permissions overview panel
(I could have used `QVariantMap` or `QJSonObject` here but those are
always sorted by `key`, so had to resort to using a plain vector/array)
Fixes#11584
Adding the export control node popup. The popup is behind an authentication wall.
1. Create ExportControlNodePopup qml
2. Add the popup in storybook
3. Create authentication flow with qml callback to open the popup after authentication
4. Add the popup open action in Global.qml
- It creates a generic `TokenInfoPanel` that will be reused in different mint token views.
- It creates new `EditOwnerTokenView` and storybook page support.
- It adds new `EditOwnerTokenView` into the minting flow, linking sign transaction flow and adding needed method to the store to do the deployment.
Closes#11296
- labels changed in Figma, updated in the app
- `Show encrypted QR of keypairs on device` is displayed only if needed now,
for this I had to add account/keypair `operability` feature, so far it handles only
displaying a context menu option, later in a separate issue a proper functionality
will be added
- wallet related toast notifications moved to the proper place (`AppMain.qml`, where
actually all notifications should be handled), not in the place where they occurs, we
need to review other notifications as well and move them there
Fixes#11514
The problem was that we were not handling the error from request to join correctly.
Then I added an event that sends a signal to the QML to show a toast about an error. I don't show the actual error to the user because usually it's not super helpful. It will be in the logs.
The status-go change makes it so that we don't save the request to join if the permission check failed.
- Added start panel in tokens welcome page.
- Added start panel in airdrop welcome page.
- Updated e2e tests according to new requirements.
Closes#11284
1. Adding OverviewSettingsFooter.qml according to design
2. Adding the footer to storybook
3. Add the footer in the overview page
4. Remove the squish tests for the old footer
The same components are used to display data from rootStore.assetsModel,
rootStore.collectiblesModel (permissions) and
root.community.communityTokens (airdrops). The models have different
roles and need adjustments before passing to ui components.
Closes: #11309
Additionally:
- stack components directly define content of the left list
- fixed navigation from Permissions section to minting
- various code style fixes
Closes: #11179
- It creates specific token artwork panel for owner token and token master token representation.
- It adds support to new component in storybook.
Closes#11294
Fixes#11272
The problem was that we didn't handle the cancelation (checking with password was empty).
Now we do and we send the signal to cancel when it's the case.
permissions
This commit fixes a bug that admins are not able to do any permission
actions (editing/deleting). The issue was that there was a check for
those CTAs only to be visible if the logged-in user is the owner of the
community, not an admin.
Closes#11092
Bump status-go to include required changes
Refactor the API usage to use the new async APIs.
Support multiple events in the same block
Report loading state for all the APIs
Also
- fix the loadingData state in the controller.nim
- reset the model to empty when the filter is invalidated due to
address and chain IDs change
Closes#11170
- header buttions/title/subtitle simplified
- no need to use states
- no need to use internal `d` object to pass data between pages
- permissions list scroll position preserved when navigation back from
other views
- storybook: allow "back" navigation to cover whole flow in sb
- fix some regressions in permissions-related pages