Fix a bunch of problems with handling sound/notifications related options
coming from the backend:
- `volume` and `notificationSoundsEnabled` live in a different settings
object; adjust the stores for that
- unbreak loading the actual wav/mp3 files (was never working on Linux
outside of AppImage!) -> use "qrc:/", same as the NIM backend does
- fix the volume scaling (backend has [1,100], QML is [0, 1])
- simplify our Audio QML item interface; no need for an extra property
and resolving the URL twice (which results in broken scenarios mentioned
above); we know which sounds we want to load
Closes#8668
Status allows for importing communities via their private keys.
There's a requested feature that users should be able to import a community via
its public key as well.
This will behave differently as private keys won't give users ownership
of the communities. When importing via a (compressed) public key, Status
will try to fetch information about the community from the network. If it
finds such information, it'll load it into the app and create
a communitiy view from which users can then request access.
If it can't find a community or community information in the network,
the user will get a dedicated error message.
This commit also refactors the `ImportCommunityPopup` such that it uses
`StatusDialog` and updates the copy accordingly since importing via
public key is now possible as well.
Closes#8339
- rework the way social links are displayed/editted; we now only allow to
enter a so called "handle" and then substitute that in the final URL
template
- move the "icon" model role to NIM backend
This has several advantages:
- we display only the "handle" and don't have to elide some long URL
- we won't let users enter random URLs into their profile and spoof the
viewing part into clicking it
Additionally, make the social link "button" clickable -> navigate to the
target URL, and make the tooltip behave as "usual" (on mouse hover).
- 01: Keycard settings menu labelling - fixed in this commit
- 02: Modal title renaming - not developed yet
- 03: Additional decision diamond and flow - not developed yet
- 04: Modal title renaming - not developed yet
- 05: Modal title renaming - done in issue #7035
- 06: Copy change - fixed in this commit
Fixes: #8458
- reduce the file size by about 5%-20% w/o any change in visual quality
- profile_fetching_* images replaced by the resolution we need;
originally it was 1700x1700 and about 4MB each(!)
- when calling `Utils.getColorHashAsJson()` we don't actually need to
issue ID verification requests at all and there might be situations when
we know beforehand that we don't need the ENS verification either
- change these helper functions' syntax and do early returns in that case
- in MessageContextMenuView, the "contact details" were duplicated, so
remove one
- remove dead code, fix some warnings
This aims at bringing the notifcation display closer to what regular
messages look like, namely:
- show compressed chat keys
- don't show identicon rings for ENS names
- fix timestamps and their tooltips (`notification` isn't part of StatusMessage!)
- unbreak clicking outside of the whole popup overlay (`activityCenter`
is undefined)
- fix blurry checkmark icon for marking notification as read
This adds support for receiving copied images from the clipboard
and pasting it into the chat input.
After pasting, chat input will recognize the image and render a preview
similar to how it would do it when selecting images via the file dialog.
**Also important to note**:
At the time of this PR, it seems that desktop only supports sending
jpegs to status-go. I'm not sure if this was deliberately done this way
because the protocol says it supports jpg, png, webp and gif.
Because of this, pasting for example pngs will work, however
transparency will be lost (which is also most likely the cause of #8820)
This PR operates on that assumption. So while it adds support for
copy/pasting images, it does not address the lack of file type support.
Closes#3395
For some reason stickers are not loaded for the first time. User has now
the ability to retry the loading procedure. Retry action loads stickers
successfully in most cases.
fixes: #7995
The profile fetching view is part of the onboarding process. This view should be displayed on existing user onboarding flow, while the profile is being fetched in the backend.
It has 3 states:
1. Fetching in progress
2. Fetching completed
3. Fetching error
Quick integration of fetching balance in the current chart view.
The proper implementation requires refactoring the QML views to separate
price chart, that depends only on the token and chain, from balance that
depends on token, chain and address.
Closes: #7662
- do not restrict NicknamePopup's regexp to ASCII characters
- a similar thing could be done to the user's DisplayName but currently
that's blocked on status-go side
- uses RXValidator from dotherside
Needs status-im/dotherside/pull/74
Fixes#8115
Since tertiary action for the keycard popup module is always used to cancel/invalidate
the current flow, it's renamed now to cancel action (avoids confusion this way and it
seems more intuitive. It doesn't set any state. It should be defined if it's possible to cancel
the flow from the current state.
Those have been changed in status-go, resulting in wrong visualization
of import warnings and errors.
This commit adjusts them so they match the correct codes again.
- fill the senderId just like other messages
- add some checks in Utils since the "publicKey" (ID) coming Discord
isn't in the format we'd normally expect
Closes#6678
due to the refactor, StatusMessage is no longer the toplevel item inside
the delegate, so adjust the functions
some minor cleanups and dead code removals; striving for keeping the
number of properties and bindings inside a ListView delegate at a minimum
This adds the ProfileDialogView to storybook pages
For now, there's just one control to switch between own profile and
another profile; more to come in later PRs.
The mocked global objects (mainModuleInst and globalUtilsInst) are
injected via QML
Fixes: #7820