Commit Graph

2093 Commits

Author SHA1 Message Date
Anthony Laibe 769ac7ee86 fix(@desktop/chat): nickname disapear when closing the modal
fixes #2674
2021-07-13 17:32:28 -04:00
Anthony Laibe 66a0611d91 fix(@desktop/chat): Hide add contact button on private chat
fixes #2595
2021-07-13 17:20:23 -04:00
Anthony Laibe 869ae63518 fix(@desktop/profile): Unmuted chat from profile -> notification
fixes #2557
2021-07-13 17:20:13 -04:00
Andrei Smirnov f755ba44e2 fix(@desktop/chat): fetch more messages fix 2021-07-13 17:05:58 -04:00
Andrei Smirnov b27a52bfce fix(@desktop/groups): wrong message when all contacts have been added to a group chat 2021-07-13 17:05:58 -04:00
Andrei Smirnov 42b92a5853 fix(@desktop/chat): odd logging 2021-07-13 17:05:58 -04:00
Andrei Smirnov fcc2a9e025 fix(@desktop/timeline): timeline and images area bugfixes 2021-07-13 17:05:58 -04:00
Anthony Laibe aa5f861cb8 fix(@desktop/profile): decline all request when big pending request list 2021-07-13 16:58:06 -04:00
Anthony Laibe 76f1aec0e3 fix(@desktop/communities): disable edit for cleared message 2021-07-13 16:41:27 -04:00
Sale Djenic 102a385943 fix(@desktop/chat): app crash when you accept contact request
This issue is being happened randomly, no general rule, in my case it happens often when you accept
first contact from the list immediately after the app start, but the ticket says that it happens
when you click accept while context menu is opened.

Two places were threat for this crash and both are fixed here:
- getChannel proc, direct access by index to Chat element of the chats sequence,
- setChatItem proc, where we actually were setting chatItem and accessing its property without
  checking if it is an empty object.

Fixes: #2837
2021-07-13 16:33:08 -04:00
Alexandra Betouni 40b2a5c778 [#1608] convert text to emoji automatically
For example, typing :D should turn into 😁

Closes #1608
2021-07-13 11:42:46 -04:00
Anthony Laibe 0eb2a23600 fix(@desktop/timeline): update color of chat time when image 2021-07-13 11:38:43 -04:00
Anthony Laibe 70e8df5cc2 fix(@desktop/chat): update color of close suggestion to be lighter 2021-07-13 11:38:13 -04:00
Sale Djenic 4207844826 fix(@desktop/chat): app crash when you click macOS' notification
A crash is happening not only when you click on a notification bubble with mentions, but on any
chat notification displayed in macOS' notification center. Discussion and details how we can
overcome this may be seen on zenhub, in issue 2819. So far this commit is just a simple solution
to avoid an app crash.

Fixes: #2819
2021-07-13 10:35:29 -04:00
Jonathan Rainville 621f723ecf fix(mentions): set mention index at the top when changing the filter 2021-07-13 09:41:52 -04:00
Jonathan Rainville 40fd390def fix(mentions): fix to sort alphabetically and with start of words 2021-07-13 09:41:52 -04:00
Jonathan Rainville 4277a6e7f4 feat(mentions): show mentions ordered by how it matches the filter
Fixes #2543
2021-07-13 09:41:52 -04:00
Richard Ramos e3c09a9631 fix: enable community feat. when clicking community invite 2021-07-12 17:33:39 -04:00
Richard Ramos 8d7a78389d fix: crash on chatmessages when using 5.15.2 2021-07-12 17:14:25 -04:00
Jonathan Rainville 2716abf096 fix(wallet): make it possible to send a 0 tx with a warning
Fixes #2652
2021-07-12 17:11:41 -04:00
Jonathan Rainville b99300bf10 fix(onboarding): fix black screen when closing re-encrypt modal
Fixes #2657
2021-07-12 17:11:28 -04:00
Jonathan Rainville 0368c0beaa fix(backup-seed): fix some wrong colors in the the backup seed modal 2021-07-12 17:11:28 -04:00
Andrei Smirnov 1653e3bf20 fix(@desktop/timeline): can't click the links and hashtags in timeline 2021-07-12 17:07:41 -04:00
Andrei Smirnov 3bb5be8685 fix(@desktop/chat): navigating from Chats to Timeline shows wrong messages 2021-07-12 16:51:20 -04:00
Pascal Precht a69c2aea73 refactor(Chat, Communities): replace `TopBar` with `StatusChatToolBar`
This commit replaces the `TopBar` components with StatusQ's `StatusChatToolBar`
and touches a few other things as part of this refactoring, namely:

1. `ChannelContextMenu` has been renamed to `ChatContextMenu` and is now a `StatusPopupMenu`
2. Leftover components have been removed: `StatusChatInfo`, `StatusChatInfoButton` and `TopBar`
3 `ActivityCenter` has been moved into `ChatColumn.qml` because `StatusChatToolBar` doesn't provide it
4. `Share chat` option in `ChatContextMenu` has been removed as it wasn't doing anything.

Closes #2746
2021-07-09 10:39:58 -04:00
Pascal Precht c675aff0f8 refactor(Communities): replace `CategoryList and `ChannelList` with StatusQ components
This commit replaces `CategoryList` and `ChannelList` with `StatusChatListAndCategories`,
`StatusPopupMenu` etc. provided by StatusQ.

It also removes components that lived inside Status Desktop but are no longer used
anywhere after the refactor.

Since StatusQ components are decoupled from UI model logic, we also needed to introduce
a new API retrieve a community category from within QML.

Closes #2805
2021-07-09 10:39:58 -04:00
Pascal Precht 23b103795a refactor(ContactsColumn): replace `ChannelList` with `StatusChatList`
Closes #2745
2021-07-09 10:39:58 -04:00
Sale Djenic eb7809ecdf fix(@desktop/wallet): app crash when click on sign and send message
A reason why the crash is happening is actually previous step, when an user who is about to receive
a transaction clicks "confirm and share address" button. In that moment instead of his address an
empty js object is shared. After that clicking on the "sign and send" button, by sender, causes an
app crash because transaction cannot be made using invalid address of the recipient.

Fixes: #2718
2021-07-08 14:18:58 -04:00
Richard Ramos 9e58563fcf feat: community userlist
Fixes #2810
Probably a big chunk of the code from this PR is going to be replaced by #2811
2021-07-08 14:14:27 -04:00
Andrei Smirnov a5806aaf5a fix(@desktop/chat)
Fixed #2430: Add members window shown when accessing 1x1 chat within group chat
2021-07-08 13:23:00 -04:00
Alexandra Betouni 35198cb448 [#2534] Adding emoji skin color selector
* Icon was there but feature was not implemented

fixes #2534
2021-07-07 14:40:10 -04:00
Sale Djenic 7fbccec227 fix(activity_center): Mark as read does not clear @ symbol in chat
Mark all mention notifications as read is fixed. Also mark as read one by one notification removes "@" from the appropriate channel along with the marking as read last mention notification for that channel. hasMention field which was bool is switched with mentionsCount field which is int, so we have evidention how many mentions were for each channel.

Fixes: #2788
2021-07-07 14:25:52 -04:00
RichΛrd 20b3f29422 fix: code review 2
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2021-07-07 06:19:41 -04:00
Richard Ramos c5cc001ee1 fix: code review 2021-07-07 06:19:41 -04:00
Richard Ramos 2fcbe4ac16 feat: user list 2021-07-07 06:19:41 -04:00
Jonathan Rainville cd44b8a606 feat: add group requests to the activity center
Fixes #2679
2021-07-06 12:51:43 -04:00
Andrei Smirnov d67bb1f999 Fixed #2151 - updated status icons. 2021-07-06 12:48:38 -04:00
Richard Ramos 065bd26786 fix: code review 2021-07-06 11:58:47 -04:00
Richard Ramos 5f7f899c3b refactor: separate slots for sending eth and tokens 2021-07-06 11:58:47 -04:00
Richard Ramos 2c553f48f7 fix: issues 2021-07-06 11:30:07 -04:00
Richard Ramos 689b36e6da fix: remove pin indicator when a message is being edited 2021-07-06 11:30:07 -04:00
Richard Ramos c7750da267 feat: edit messages 2021-07-06 11:30:07 -04:00
Eric Mastro 77e501c478 fix(wallet): QML error when loading history
Fixes: #2725.

When clicking on the History tab for a wallet account, there was a QML error for `qrc:/app/AppLayouts/Wallet/WalletLayout.qml:113: TypeError: Property 'checkIfHistoryIsBeingFetched' of object HistoryTab_QMLTYPE_503(0x7fed35da2710) is not a function`. This must have been reintroduced when StatusQ objects were introduced. It has now been removed.

chore: change log level to warn for non-archival node
Previously, there was an error being logged for non-archival infura nodes being used (typically in dev). This log level has been reduced to a warning as the application still functions with non-archival nodes.
2021-07-06 11:28:00 -04:00
Alexandra Betouni bcfdf8b557 [#2574] Increased reply TextInput's height to avoid bottom cutting 2021-07-06 11:15:51 -04:00
Andrei Smirnov 6efe90ef77 Addressed PR feedback. 2021-07-06 10:57:37 -04:00
Andrei Smirnov 7255dcd256 Fixed: starting a group chat shouldn't show the section to fetch more messages. 2021-07-06 10:57:37 -04:00
Sale Djenic 6f55c51ff2 fix(wallet): Crash when enter -1 to Gas Selector
Validation check is updated, so user cannot enter zero or less than zero value for "gas amount limit" or "per-gas overall limit".
In gas.nim a crash prevention check is added.

Fixes: #2753
2021-07-06 10:46:07 -04:00
Sale Djenic a9fd4513aa fix(wallet): Clicking Request Address when sending -1 STT crashes the app
Validation check is updated, so user cannot enter zero or less than zero value in amount input field.
Also in utils.nim a crash prevention check is added so if we try to convert a less than zero float number to an unsigned number, app won't crash any more, but that casting will return a zero as unsigned int number.

Fixes: #2755
2021-07-06 10:45:25 -04:00
Sale Djenic 1b06ed5d98 fix(enhancement): Onboarding screen changes
Privacy policy does not belong to the mandatory checkbox fields.

Fixes: #2804
2021-07-06 10:45:02 -04:00
Andrei Smirnov 801f274a48 HEZ icons: all sizes. 2021-07-06 10:44:45 -04:00
Andrei Smirnov 746d120479 Added $HEZ as default ERC-20 token. 2021-07-06 10:44:45 -04:00
Richard Ramos e347255df4 fix: channel description width 2021-07-06 10:44:28 -04:00
Jonathan Rainville 2e98724641 feat(community): add notification setting to community
Fixes #2421
2021-07-06 10:41:10 -04:00
Jonathan Rainville 1bcfd9df14 fix: fix qml warnings caused by rebases 2021-07-02 08:56:23 -04:00
Sale Djenic ba01d6ad75 fix(communities): bug: "Invite successfully sent" shown prematurely on Community invite popup
The issue actually appeared because of ignoring message label when we calculated the top margin offset, fixed now.

Fixes: #2449
2021-07-02 08:54:02 -04:00
Sale Djenic 538dcd0b86 fix(communities): Naming validation for communities
Category name validation updated.

Fixes: #2297
2021-07-02 08:53:19 -04:00
Sale Djenic b9ff88f41c fix(communities): Naming validation for communities
Channel, channels category name and community name handled according to the new validation.

Fixes: #2297
2021-07-02 08:53:19 -04:00
Sale Djenic 341d3ebcf7 fix: typing in `<` in the input box deletes everything afterwards in
Fixes: #2267
2021-07-02 08:52:03 -04:00
Jonathan Rainville 0774c4d5bf fix(community): fix request access label
Fixes #2666
2021-07-02 08:51:48 -04:00
Jonathan Rainville dfebe88be7 fix(communities): fix duplicated communities and joining through link
Fixes #2665
2021-07-02 08:51:48 -04:00
Richard Ramos ba2b553d7c refactor: Profile 2021-07-02 08:51:30 -04:00
Andrei Smirnov 5d837c450c Fixed issues #2560, #2795, #2796. 2021-07-02 08:51:14 -04:00
Pascal Precht aa4bdaf910 refactor(ProfileLayout): make use of StatusQ layout components
Closes #2716
2021-06-30 15:08:26 +02:00
Pascal Precht 88ca3b9bbf refactor(WalletLayout): use StatusQ two panel layout 2021-06-30 15:08:26 +02:00
Pascal Precht 8d48ebf864 refactor(ChatLayout): use StatusQ layout component to lay out view
These changes don't cause a visual change, but just make use of the
two panel layout component providedby StatusQ.

Closes #2688
2021-06-30 15:08:26 +02:00
Pascal Precht f581f49dcf refactor: make use of StatusQ `StatusAppLayout`
This first step in leveraging StatusQ components. This sets up the overall
app layout, allowing us to use other sub view layouts provided by StatusQ,
such as `StatusAppTwoPanelLayout`.

This commit primarily touches the application navbar, leaving layout changes
in dedicated views for future commits.

Partially closes #2688
2021-06-30 15:08:26 +02:00
Pascal Precht 57e835114b refactor: integrate StatusQ Theming system
This integrates the StatusQ Theming system and updates the selected
theme based on existing APIs, allowing it to live side by side next
to the legacy theming system.

Closes #2687
2021-06-30 15:08:26 +02:00
Richard Ramos ec1ba71db1 fix: prevMsgTimestamp and nextMsgTimestamp 2021-06-29 08:01:53 -04:00
Sale Djenic d3290bde02 fix(onboarding): Mobile onboarding slider is shown on desktop
Mobile onboarding screen is removed. Instead of it "Before you get started..." modal popup is added to the "Get your keys" screen.

Fixes: #2558
2021-06-29 07:57:17 -04:00
Sale Djenic 562373fdfc fix(communities): Right click inside the community pane does not open context menu
Fixes: #2547
2021-06-29 07:56:59 -04:00
Sale Djenic ef7ac11f06 fix(Communities) Long community names should be truncated
UI issue is fixed, additional similar issue is fixed in CommunityProfilePopup.qml.

Closes: #2492
2021-06-29 07:55:34 -04:00
Jonathan Rainville b720a611c4 fix(wallet): fix loading of initial balances 2021-06-29 07:55:26 -04:00
Jonathan Rainville eb726a315c fix(hisotry): fix load more history button
Fixes #2754
2021-06-29 07:55:26 -04:00
Jonathan Rainville f71870cb8f fix(wallet): fix gas price being 0 and add back validation
Fixes #2668
2021-06-29 07:54:53 -04:00
Eric Mastro e281ec3871 fix(communities): re-joining of left communities
Fixes: #2649.

Upon receipt of status-go signals which included communities that have been left (`joined: false`), those communities were being rejoined automatically when they should not have been.

fix(communities): Invitation bubble button state updates
The community state inside of the invitation bubble was not reactive to any community actions (such as joining, leaving, updating). In addition, requesting to join a community changed the button’s text to “Pending”, but upon approval, the button’s state was not updating.

The component was setting an observed community in the Component.onCompleted event, which was occurring for all invitation bubbles, but because the community wasn’t bound correctly to the bubble, once a bubble  with a different community was encountered, the community in context of the bubble wasn’t updated and instead used a local copy. Once the community was bound correctly (to be reactive), the states started working correctly.

The invitation bubble has been simplied so that it has states instead of using lots of if/else statements inside of the property bindings. This simplified the component’s logic for things like onClick action and made it a lot easier to read and modify.
2021-06-29 07:52:47 -04:00
Richard Ramos 1d3e5230b2 revert: SortFilterProxyModel 2021-06-23 08:08:08 -04:00
Iuri Matias f8e5b25a09 refactor: extract messages from chat view
refactor: extract messages from chat view

refactor: extract messages from chat view

refactor: extract messages from chat view

update references to messageView

fix setup

remove duplicated method
2021-06-22 15:12:01 -04:00
Jonathan Rainville 702f52f6ed fix(browser): fix browser undefined model 2021-06-22 12:59:11 -04:00
B.Melnik 3c6b6f9e54 feat(SVGImage): Improvement of icons 2021-06-21 16:45:40 -04:00
Eric Mastro 8252976306 fix: remove “Copy” action from emoji menu
Fixes: #2722.

Remove the “Copy” action from the emoji popup menu.
2021-06-21 16:37:05 -04:00
Jonathan Rainville 3ef403a022 feat(act-center): add community badge links to community and channel 2021-06-21 16:29:42 -04:00
Eric Mastro c495c1037a fix(communities): hide edit category menu for non-admins
Fixes: #2691.

When not an admin, the menu for adding/removing/editing of channels inside of a category should not be visible.
2021-06-21 16:29:35 -04:00
Eric Mastro 395b10c4c0 fix: edit channel modal header
Fixes: #2694.

Display channel name in modal header when editing a channel instead of “New channel”.
2021-06-21 16:29:13 -04:00
Richard Ramos fd4e0de3f3 feat: SortFilterProxyModel 2021-06-21 16:28:46 -04:00
Richard Ramos 157a53b02b fix: various
- Timeline updates were displaying the current active chat messages
- Cursor for existing chat messages was being overwritten
2021-06-21 15:31:31 -04:00
Iuri Matias 599bf731fb refactor: extract 'channels' to its own file 2021-06-18 12:12:01 -04:00
Iuri Matias 9aba9ae3c1 refactor: extract ens code from chat view 2021-06-17 16:29:35 -04:00
Iuri Matias 45b0e5e756 refactor: move input formatting code to its own file 2021-06-17 16:29:35 -04:00
Iuri Matias 6bcdb9ca54 refactor wallet views
add getSettings methods to src/status

fix issue with calling getSettings; document issue

remove most direct references to libstatus; document some common issues

remove most references to libstatus wallet

add mailserver layer to status lib; remove references to libstatus mailservers

remove libstatus accounts references

move types out of libstatus; remove libstatus types references

remove libstatus browser references

refactor libstatus utils references

remove more references to libstatus stickers

remove references to libstatus constants from src/app

remove more libstatus references from src/app

refactor token_list usage of libstatus

refactor stickers usage of libstatus

refactor chat usage of libstatus

remove libstatus references from the wallet view

remove logic from ens manager view

fix issue with import & namespace conflict

remove unnecessary imports

refactor provider view to not depend on libstatus

refactor provider view

refactor: move accounts specific code to its own section

fix account selection

move collectibles to their own module

update references to wallet transactions

refactor: move gas methods to their own file

refactor: extract tokens into their own file

refactor: extract ens to its own file

refactor: extract dappbrowser code to its own file

refactor: extract history related code to its own file

refactor: extract balance to its own file

refactor: extract utils to its own file

clean up wallet imports

fix: identicon for transaction commands
Fixes #2533
2021-06-17 16:11:01 -04:00
Jonathan Rainville 933dbe9586 feat: add activity center switch to show and hide the bell icon 2021-06-15 13:14:19 -04:00
Jonathan Rainville 82c585cc50 fix(TopBar): fix not necessary right anchor 2021-06-15 13:14:19 -04:00
Jonathan Rainville 1ecb636f58 fix read background to only cover the message and fix hidden text 2021-06-15 13:14:19 -04:00
Jonathan Rainville 93b4c29060 fix typo 2021-06-15 13:14:19 -04:00
Jonathan Rainville e27c66d8af feat(act-center): hide viewed notifications when clicking the hide btn 2021-06-15 13:14:19 -04:00
Jonathan Rainville d5032430f9 feat(act-center): scroll to the clicked message in the act center
Fixes #2681
2021-06-15 13:14:19 -04:00
Jonathan Rainville 0f5d889a0d fix(act-denter): hide reply badge if replied to message is unavailable 2021-06-15 13:14:19 -04:00
Jonathan Rainville b1bcd539a2 feat: add replies to the activity center 2021-06-15 13:14:19 -04:00
Jonathan Rainville 5f7e277065 feat: make it possible to mark individual as read
Fixes #2663
2021-06-15 13:14:19 -04:00
Jonathan Rainville 80a3c932ce fix: fix TopBar Row layout 2021-06-15 13:14:19 -04:00
Jonathan Rainville 0b00a426ae feat: add show more button to activity center
Fixes #2670
2021-06-15 13:14:19 -04:00
Jonathan Rainville 414b39d7e0 feat: add mentions to activity center and interactions
Fixes #2610
2021-06-15 13:14:19 -04:00
Eric Mastro c0013a0956 fix: remove actions from community member when self
Fixes: #2486.

In the community member managment popup, for the current user, remove the “more actions” menu that allows kicking of the user and viewing of their profile.
2021-06-11 11:03:35 -04:00
Eric Mastro 45286e179c fix: kick and re-invite user to group chat
Fixes: #2601.

Kicking a user and re-inviting them now correctly redisplays the join/decline options. Other combinations of User B leaving or declining an invitation are not handled. Please see the notes below for clarification.

Additionally, the group invite popup (that shows the list of members belonging to the group) correctly shows when a user is kicked or when a user leaves the group in real time. Previously, the popup needed to be reopened to display this.

fix: decline invitation crash
Declining a group invitation was crashing the app. This has been fixed.

### NOTES
1. In the case where User A invites User B to a group, but User B declines (or User B joins, then leaves), then from a status-go standpoint, User B is still part of the group, but the chat is marked as `active: false` for User B. This creates a situation where User B cannot re-join the group once s/he has declined the invitation. @cammellos mentioned there possibly will need to be a refactor of cab6281dc5/protocol/messenger.go (L1710) (which, by retaining User B as a member, effectively prevents the re-invitation) once “swipe to delete” is implemented on mobile. There is an activity center notification received for User B that is meant to allow re-joining of the group when the notification is accepted. The activity center notification received from status-go looks like the following:
```json
"activityCenterNotifications": [
      {
        "id": "0x0e342d33",
        "chatId": "e342d33f-dd05-4d7b-b14e-b5335e1a3ee9-0x043bf46aa874c377a34946eab67a32cf36c15907b328216dfce375d169fed7d81c21cada3229db1fd37c762d2c02702111a646657feca6621e2e948febcf378fb4",
        "name": "test-22",
        "type": 2,
        "lastMessage": null,
        "message": null,
        "timestamp": 1623305612000,
        "read": false,
        "dismissed": false,
        "accepted": false
      }
    ]
```
2021-06-11 11:03:16 -04:00
Richard Ramos 086653ac52 fix: code review 2 2021-06-10 19:33:22 -04:00
Richard Ramos efae828087 fix: code review 2021-06-10 19:33:22 -04:00
Richard Ramos b89f2fddc4 feat: add pin messages button to edit channel popup
Fixes #2597
2021-06-10 19:33:22 -04:00
Richard Ramos 386625209d fix: change invite title 2021-06-10 19:33:03 -04:00
Richard Ramos f3caf589a5 fix: display "View" on already joined community invites
Fixes #2580
2021-06-10 19:33:03 -04:00
Eric Mastro 0b0a542828 fix: loading of wallet history, display of tx datetime
Fixes: #2539.

Transaction history is now correctly being fetched from status-go as per mobile. Firstly, when accounts are added (ie as watch accounts), `wallet_checkRecentHistory` must be called first so that the status-go db is populated. After that, `wallet_getTransfersByAddress` can be called. On app load, when we run the `initBalance` logic, we are calling `wallet_getTransfersByAddress`, asking for the last 20 transactions with the `loadMore` parameter set to false. When the user navigates to the Wallet > History tab, they can then click “Load More” to fetch more transactions from status-go. Once the number of transactions returns false below the expected amount, the remaining transactions to fetch have been exhausted and the “Load More” button is disabled.

feat: add non-archival node warning to the UI to indicate to the user that they may not have complete results

feat: set active account to the added account
Once an account is added to the wallet, that newly added account is selected as the active account.

1. The “load more” button is active when new transactions that aren’t already displayed are returned from `wallet_getTransfersByAddress`. This is the only way to enable or disable the “Load more” button as status-go is not able to return information regarding whether or not there are more transactions to be fetched. The downside to this is that lets say the last page of transactions is returned, but there are no more pages left. These returned txs are not currently displayed, so the “load more” button will still be enabled. However, the next click of the button will return 0 results, thus disabling it. It’s effectively an extra click to get to the disabled state.
2. For more information on how the `toBlock` parameter operates for the `wallet_getTransfersForAddress` RPC call, see https://notes.status.im/XmENTrVRRaqhwE4gK0m8Mg?view.
2021-06-10 10:47:03 +10:00
Eric Mastro 21e6affa98 feat: edit community channels
Closes #2344.

Add ability to edit name, description, and private fields of a community channel.

feat: Display community channel description
Ensure the width of the description does not surpass the context menu and instead wraps to the next line.

feat: After channel is created, set it as the active channel
2021-06-09 10:19:26 +10:00
B.Melnik b9c2431ad5 fix: close window instead of app 2021-06-07 10:07:17 -04:00
Jonathan Rainville 4a407d9204 fix: fix not enough ETH for gas validation error on open 2021-06-04 14:02:51 -04:00
Jonathan Rainville cbdbb6eb8b feat(wallet): redesign gas selector for new EIP
Fixes #2536
2021-06-04 14:02:51 -04:00
Iuri Matias 1c5dcd6265 update version 2021-06-02 16:41:33 -04:00
B.Melnik 503485fc4b feat: Add inactive colors for window title bar 2021-06-02 12:05:28 -04:00
Jonathan Rainville 20bbf97787 chore: hide activity center button 2021-06-02 11:55:15 -04:00
B.Melnik f433020d1d feat: commit dotherside 2021-06-02 11:05:28 -04:00
B.Melnik 7b62dbbc33 feat: use custom window without titlebar 2021-06-02 11:05:28 -04:00
Jonathan Rainville c18214aca1 feat(Activity center): add contact requests rudimentary version
Fixes #2609
2021-05-31 15:54:18 -04:00
Jonathan Rainville bee54e628f feat(Activity center): add placeholder activity center
Fixes #2608
2021-05-31 15:54:18 -04:00
RichΛrd 44850c7035 Update ui/app/AppLayouts/Chat/ChatColumn/MessageComponents/ChatText.qml
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2021-05-31 10:29:10 -04:00
Jonathan Rainville c817cadca1 add contact requests to the chat badge 2021-05-28 13:31:33 -04:00
Jonathan Rainville 346cbd2433 disable accept and decline all buttons on empty list and join on approve 2021-05-28 13:31:33 -04:00
Jonathan Rainville 7b95031ee6 hide input field until mutual contacts and notify on contact accepted 2021-05-28 13:31:33 -04:00
Jonathan Rainville d827433ad4 fix chat section being squished 2021-05-28 13:31:33 -04:00
Jonathan Rainville a90257e141 feat: add setting for notifications on requests 2021-05-28 13:31:33 -04:00
Jonathan Rainville ecf8b241f0 feat: add setting to not receive contact requests 2021-05-28 13:31:33 -04:00
Jonathan Rainville 1984ee89e0 fix(Channel): fix channel name eliding way too small 2021-05-28 13:31:33 -04:00
Jonathan Rainville 436cb42eae feat: add contact requests and handling of them 2021-05-28 13:31:33 -04:00
Eric Mastro 03addd4ea9 feat: force ‘require approval’ membership requirement
For new and existing communities, force the `require approval` membership requirement in the create/edit community popup.

### NOTE
This will not affect the membership requirement value already-created communities.
2021-05-28 19:08:19 +10:00
Eric Mastro 24d8e429b8 feat: edit communities
Allow editing of Community name, description, image, colour, and access.
2021-05-28 19:08:19 +10:00
Jonathan Rainville c8cc65506b fix(CommunityRequest): fix request list emptying after accepting
Fixes #2474
2021-05-26 15:27:49 -04:00
Jonathan Rainville b213aa230d fix(InviteBubble): adapt invite bubble depending on access level 2021-05-26 15:27:49 -04:00
Jonathan Rainville 0fe7da0480 feat(community): fetch community info from link
Fixes #2290
2021-05-26 15:27:49 -04:00
Jonathan Rainville 358091a8eb fix group info list 2021-05-26 12:12:05 -04:00
Jonathan Rainville c1f6afd799 fixes 2021-05-26 12:12:05 -04:00
Jonathan Rainville 8952d55028 update status-go to develop version 2021-05-26 12:12:05 -04:00
Jonathan Rainville b52dceb984 feat(Chat): add pinned messages feature 2021-05-26 12:12:05 -04:00
Richard Ramos 6abba06c42 fix: always show the v 2021-05-25 15:23:07 -04:00
RichΛrd 764f041158 Update ui/app/AppLayouts/Chat/CommunityComponents/CreateCategoryPopup.qml
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2021-05-25 15:23:07 -04:00
Richard Ramos f7a3be7c04 adding documentation 2021-05-25 15:23:07 -04:00
Richard Ramos 872aa7794c feat: edit categories 2021-05-25 15:23:07 -04:00
Richard Ramos 7128e08408 fix: code review 2021-05-25 15:23:07 -04:00
RichΛrd e64fe104fd Update ui/app/AppLayouts/Chat/ContactsColumn/Channel.qml
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2021-05-25 15:23:07 -04:00
RichΛrd bd6e9e3007 Update ui/app/AppLayouts/Chat/CommunityComponents/CommunityChannel.qml
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2021-05-25 15:23:07 -04:00
RichΛrd 033149c03c Update ui/app/AppLayouts/Chat/CommunityComponents/CreateCategoryPopup.qml
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2021-05-25 15:23:07 -04:00
Richard Ramos 0ded790f0d feat: create community categories 2021-05-25 15:23:07 -04:00
Richard Ramos a79400e023 fix: hide kick and ban options for non-admin users
fixes #2515
2021-05-25 15:18:00 -04:00
Richard Ramos f6302928de fix: hide private channels when creating a community 2021-05-25 15:16:04 -04:00
Richard Ramos 930138ebb1 disabling FetchMoreMessages context menu item 2021-05-25 14:47:13 -04:00
Richard Ramos f86611303f feat: updated mailserver logic 2021-05-25 14:47:13 -04:00
Richard Ramos 62d7fc9853 feat: mailserver gaps 2021-05-25 14:47:13 -04:00
Richard Ramos 22839f177b feat: use new API for joining/leaving chats
Fixes #2526
Fixes #2487
2021-05-25 14:47:13 -04:00
Richard Ramos e35a6141b9 fix: random crash on login 2021-05-18 15:28:56 -04:00
Jonathan Rainville 070f9a2187 fix(community): fix community link
Fixes #2501
2021-05-18 15:28:28 -04:00
Pascal Precht 2a706d2b09 feat(Communities): allow admins to ban users
Closes #2514
2021-05-18 15:27:29 -04:00
Pascal Precht 18ecb87e9b fix(Communities): don't list members in contacts to invite list
When inviting contacts to a community, Status Desktop suggests a list of
all contacts, even if contacts of that list are already members of the community.

This commit introduces a new flag to `ExistingContacts` component that
allows for configuring whether community members should be hidden or not

Fixes #2502
2021-05-18 15:24:50 -04:00
Richard Ramos 5895495bc3 Add missing accountsChanged event to web3 provider
Fixes #2423
2021-05-18 15:24:41 -04:00
Richard Ramos 19d4279237 use new wallet api to receive wallet signals 2021-05-18 15:24:05 -04:00
Eric Mastro 65a0cfbcd3 fix: show emoji in reaction tooltip
Fixes: #2387.

Shows the emoji in the emoji reaction tooltip instead of the shorthand (ie 👎 instead of `👎`).
2021-05-14 12:17:48 -04:00
Richard Ramos 9493839b65 force messages to dissapear if a contact is blocked 2021-05-14 11:56:07 -04:00
Richard Ramos fdf6be5f64 feat: delete messages on block 2021-05-14 11:56:07 -04:00
Pascal Precht 636b39d082 fix(StatusLetterIdenticon): ensure letterSize is correct
Due to historic reasons, conditionally assign a font size for the letter
identicon, based on whether or not the app's compact mode is active.

Compact mode has become the new default a while back and the component's
`isCompact` property isn't set anywhere in throughout the application,
resulting in `letterSize` to always be `21`, which is too big.

This commit removes the condition, defaulting to always having a letter size
of 15 pixels as designed.
2021-05-14 11:48:37 -04:00
Eric Mastro 3deb75b2fe fix: support closing login window using native buttons 2021-05-14 10:28:14 -04:00
Eric Mastro 46caa67d49 fix: add mention hover
Fixes: #2388

Adds a specific background color to hovered mentions.
2021-05-14 10:28:05 -04:00
Eric Mastro 590192ad9e fix: show suggestion profile pics for contacts only
Fixes: #2365.

Previously, suggestions for mentions were showing profile pics even for users who were not contacts. Now, profile pics are only shown for those users who are contacts. The user’s identicon is shown otherwise.

fix: user thumbnail not shown when no profile pic
When a user was a contact, but didn’t have a profile pic, an image would not be loaded and a ‘reload’ image would be shown instead. With this PR, if the user is a contact and they do not have a profile pic, their identicon will be shown instead.
2021-05-14 10:27:53 -04:00
Jonathan Rainville a0029ce270 refactor(ChatInput): refactor text formation to increase perfo and enbale undo 2021-05-14 10:27:47 -04:00
Eric Mastro ee1287b71d fix: prevent crash on generate account wrong password
Fixes #2448.

Currently, if a wrong password is entered when generating a wallet account, the app will crash due to attempting to decode a `GeneratedAccount ` from an rpc response containing only an error.

With this PR, we are detecting if an error is returned in the response, and if so, raising a StatusGoException. This exception is caught in the call chain, and translated in to a `StatusGoError` which is serialised and sent to the QML view, where it is parsed and displayed as an invalid password error in the input box.

refactor: remove string return values as error messages in wallet model
In the wallet model, we were passing back empty strings for no error, or an error as a string. This is not only confusing, but does not benefit from leaning on the compiler and strong types. One has to read the entire code to understand if a string result is returned when there is no error instead of implicitly being able to understand there is no return type.

To alleviate this, account creation fundtions that do not need to return a value have been changed to a void return type, and raise `StatusGoException` if there is an error encountered. This can be caught in the call chain and used as necessary (ie to pass to QML).

refactor: move invalid password string detection to Utils
Currently, we are reading returned view model values and checking to see if they include a known string from Status Go that means there was an invalid password used. This string was placed in the codebased in mulitple locations.

This PR moves the string check to a Utils function and updates all the references to use the function in Utils.
2021-05-14 10:27:37 -04:00
Jonathan Rainville 9e474a3def fix(Onboarding): show warning screen at the start of no account 2021-05-11 14:44:47 -04:00
Jonathan Rainville 17b3a44458 fix(Community): leave community from Community profile popup 2021-05-07 11:12:02 -04:00
Jonathan Rainville d2b6bf9310 fix(Input): fix mention formation on rewriting a mention
Fixes #2325
2021-05-05 17:26:48 -04:00
Richard Ramos 521d2372f3 fix: code review 2021-05-05 17:16:12 -04:00
Richard Ramos efd1677b24 show confirmation dialog when leaving chat 2021-05-05 17:16:12 -04:00
Iuri Matias 38be2889cd use StatusIconButton component to avoid pixelized close button 2021-05-05 17:15:40 -04:00
RichΛrd efe550ccd5 Update ui/app/AppLayouts/Chat/ChatColumn.qml
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2021-05-05 17:13:02 -04:00
Richard Ramos fbbfa30b1b Allow image drag/drop in communities 2021-05-05 17:13:02 -04:00
Iuri Matias 3f35bad846 make url color blue 2021-05-05 17:09:43 -04:00
Iuri Matias cfe2139524 fix text formatter icons size & pixelation 2021-05-05 17:09:28 -04:00
Iuri Matias a2655c9b7b hide node tab toggle for now 2021-05-05 17:09:17 -04:00
Jonathan Rainville c45fe44ad5 feat(Community): show community description in CommunityColumn
Fixes #2400
2021-05-04 15:52:35 -04:00
Jonathan Rainville 9d625016ff chore: fix spacing and width of chat identifier 2021-05-04 14:52:37 -04:00
Jonathan Rainville 49d130a111 feat(ChatMessages): show chat identifier at the top of the window 2021-05-04 14:52:37 -04:00
Jonathan Rainville 64e965ea07 feat(Chat): add Add To Contact banner in 1 to 1 chats 2021-05-04 14:52:37 -04:00
Iuri Matias 11e6ca7e42 don't allow username change for own user 2021-05-04 14:46:32 -04:00
Pascal Precht 7329522a28 chore: add StatusQ as dependency
This commit does a couple of things:

- add StatusQ as a dependency (https://github.com/status-im/StatusQ)
  our emerging component library
- updates the rcc generation script to follow symlinks as well
- add qrc:/./StatusQ/src as import path

At the time of creating this commit `StatusQ` provides only the StatusIcon
component, but more will be added in the future.
2021-05-04 14:42:28 -04:00
Richard Ramos f5dacb40b1 fix: group info font
Fixes #2380
2021-05-03 15:03:51 -04:00
Richard Ramos 9ea56a3ae7 force refetching previews when preview whitelist changes 2021-05-03 15:03:03 -04:00
Jonathan Rainville 659eb6c681 fix: fix lists overflowing 2021-05-03 14:46:25 -04:00
Jonathan Rainville eac7009807 feat(community): fetch community info from link
Fixes #2290
2021-05-03 14:36:37 -04:00
Richard Ramos 7ee11e27e2 fix: can't send transactions on browser
Fixes #2433
Fixes #2422
2021-05-03 14:13:41 -04:00
Jonathan Rainville 33a77ab761 fix(CommunityTransfer): fix private key display to match design
Fixes #2419

Makes it so the private key is elided by default so you can see it all from the get-go. If you focus the field, the key will "unfurl" and you can copy it manually.
Otherwise. the Copy button will always copy the whole key
2021-04-30 13:09:19 -04:00
Jonathan Rainville 22398284e9 fix(CompactChat): fix margins for images and invites
Fixes #2407
2021-04-30 13:01:52 -04:00
Iuri Matias 4b3a677f4d support adding http://localhost:8545 as a node 2021-04-30 13:01:08 -04:00
Jonathan Rainville 010b617da6 fix(CommunityList): fix CommunityList binding loop 2021-04-29 13:05:49 -04:00
Jonathan Rainville 1b491df9b4 feat(CommunityBackup): remove backup banner after clicking on it 2021-04-29 13:05:49 -04:00
Jonathan Rainville f353a29c3f feat(Communities): add Back up community rectangle for admins
Fixes #2417
2021-04-29 13:05:49 -04:00
Eric Mastro 0850835b34 fix: Send Message button not working in profile popup
Fixes: #2364

The Send Message button click event was erroring due to a refactor that had been done to allow for changing app sections.

This has been updated to follow the current way to change app sections.

fix: “Send Message” button crash in communities
This required switching from communities to normal view.

fix: crash when clicking channel link in community message
When a message in communities contains a link to another channel (ie #otherchannel), the search for this channel needed to be updated to also search for the channel by name, allowing for switching between channels within a community by message link. Additionally, when in a community, if the channel was located in a normal chat, it will switch the view to the normal chat after being found.
2021-04-29 12:36:58 -04:00
Eric Mastro daabef3a3c fix: do not show watch-only accounts as “from address”
Fixes: #2257.

If a user had selected a watch-only address in the wallet, the backend `walletModel.currentAccount` property would also change. When loading a transaction modal, this property was used to set the `selectedAccount` value for the “from” `AccountSelector`, regardless if the account was a watch-only address.

This PR updates the logic for `selectedAccount` such that it will only allow the account to be selected if it is not a watch-only account.
2021-04-29 12:36:39 -04:00
Jonathan Rainville 3a7c95967a feat: implement redesign of message replies
Fixes #2303
2021-04-29 12:35:59 -04:00
Jonathan Rainville 7def4b8630 fix(TextArea): fix selecting text in a TextArea and placeholder color 2021-04-29 12:31:40 -04:00
Jonathan Rainville 6a9bd579d1 fix(CreateCommunity): fix separator margins 2021-04-29 12:21:12 -04:00
Jonathan Rainville aab008d6ef fix(CreateCommunity): fix membership text color and spacing 2021-04-29 12:21:12 -04:00
Jonathan Rainville e77012919b fix(CompactMessage): fix reactions overlapping with the test 2021-04-29 12:18:31 -04:00
Richard Ramos 4d55e3f583 fix: channel context menu colors
Fixes #2363
2021-04-27 16:19:49 -04:00
Pascal Precht aa8d9a7f48 feat: introduce StatusLoadingIndicator component
A `StatusIcon` that rotates infinitely and can be used for indicating
pending states.

Usage:

```
StatusLoadingIndicator {
    width: 24 // default: 17
    height: 24 // default: 17
    color: "red" // default: loading asset color
}
```

This also removes `LoadingImage` component from `ui/shared`.

Closes #2360
2021-04-27 14:56:09 -04:00
Pascal Precht 17e9e30454 feat: introduce StatusIcon component
This introduces a new `StatusIcon` component to the component library,
including various icon assets.

The component can be used to render icons in different colors and rotations.
It's also one of the atomic components that can be used to build other
more complex components like icon buttons.

Usage:

```
StatusIcon {
    icon: "arrow-right" // name of asset file in `ui/shared/status/assets/img/icons
    width: 24 // default: 24
    height 24 // default: 24
    color: "red" // default: asset file color
    rotation: 0 // default: 0
}
```

Closes #2330
2021-04-27 14:56:09 -04:00
Richard Ramos f01bbcb926 fix: seedphrase backup endless loop
Fixes #2232
2021-04-27 14:12:45 -04:00
Richard Ramos b0a9a9ab06 fix: group members context menu icons
Fixes #2381
2021-04-27 14:11:49 -04:00
Iuri Matias 093f7cff7a re-disable experimental features 2021-04-23 07:44:55 -04:00
B.Melnik 0e2ca770b8 feat: add confirmation dialog on experimental features enabling 2021-04-23 07:01:12 -04:00
Iuri Matias 079aa825cd update to 0.1.0-beta.9 2021-04-22 12:49:11 -04:00
Jonathan Rainville 378473b923 chore: remove unused code to remove wrapping 2021-04-22 12:00:10 -04:00
Jonathan Rainville 0c34335d1c feat: show formation hightlighted even when not selecting the stars 2021-04-22 12:00:10 -04:00
Jonathan Rainville f2f2707d68 feat: enable unwrapping text formations with the buttons 2021-04-22 12:00:10 -04:00
B.Melnik 853c23030c fix: check if loader item exists 2021-04-22 10:00:06 -04:00
B.Melnik e211acae9b feat: process activeFocusChange event and select all in address line in Browser 2021-04-22 09:58:24 -04:00
Pascal Precht 5d34147956 fix(Communities): don't render invite button for non admins 2021-04-21 18:14:56 -04:00
Pascal Precht 973830349d uiux(StatusChatInput): toggle markdown from selection
Closes #1930
2021-04-21 18:13:02 -04:00
Richard Ramos a581facd88 fix: code review 2021-04-21 18:09:50 -04:00
Richard Ramos 1914557e6b Comment ENS toggle on communities
Fixes #2269
2021-04-21 18:09:50 -04:00
Jonathan Rainville 2e25bf4f8a fix(CompactMessage): fix message hover getting stuck
Fixes #2226 and #2196
2021-04-21 18:05:42 -04:00
Eric Mastro 58e292e9ab fix: Add close button to seed backup warning
Fixes: #2248.

Add a close button to the seed backup warning banner in the wallet. The banner will reappear upon application restart as long as the seed hasn’t already been backed up (`profileModel.mnemonic.isBackedUp`).

A new .svg with a white outline needed to be added as well because the original “close.svg” had a purple outline, which would show up when the ColorOverlay applied to the close button had an opacity less than 1.0.
2021-04-21 17:59:27 -04:00
Pascal Precht bda1582ea0 uiux: ajdust app tab icons to have the correct size
Closes #1843
2021-04-20 15:15:17 -04:00
Jonathan Rainville b433b23245 chore(CommunityProfile): comment notifications and remove Delete code
Fixes #2272
2021-04-20 14:47:07 -04:00
Pascal Precht 35c63418e2 fix(Communities): remove context menu option to leave channel
Community channels can't be left, only muted.

Closes #2273
2021-04-20 13:55:07 -04:00
Pascal Precht dcb0f4dce9 fix(Communities): make invite popup push onto modal stackview
The popup to invite friends to communities has so far always been a brand new
popup that's opened on top of possible existing popups.

The design however, expects that the same section should be shown as part
of a wizard-like process inside of the existing community profile overview
popup, when entered from there.

This commit extracts the invite friends popup section into component that
can be reused as stack view, as well as modal content, to implement both
scenarios.
2021-04-20 13:24:08 -04:00
Pascal Precht 66839443c5 uiux(Community): minor fixes in create channel modal to match designs 2021-04-20 13:24:08 -04:00
Pascal Precht fc2e8505f3 uiux(Communities): various community profile popup ui fixes
This commit changes a bunch of things related to ui bugs in the community
profile popup. Fixes include:

- Removing the `Delete Community` option since this functionality isn't implemented yet
- Changing the color of the menu item's icons in dark mode to be blue
- Doing the same in the memberlist popup
2021-04-20 13:24:08 -04:00
Jonathan Rainville ea802a95d7 fix(TransactionModal): fix values oferflowing
Fixes #1872
Elides those values and adds a tooltip to show them completely
2021-04-20 13:20:34 -04:00
Jonathan Rainville 20f9f47028 chore(CreateCommunityPopup): leave create btn enabled to show errors 2021-04-20 13:19:22 -04:00
Jonathan Rainville b4de0da9f7 fix(CreateCommunityPopup): make image optional as before
Fixes #2301
2021-04-20 13:19:22 -04:00
Pascal Precht 1c910deca9 fix(Communities): make kicking members work again
There's a regression in the application where kicking members from communities
doesn't work anymore. This was due to UI logic being moved to a different model
without updating the corresponding view action.

Fixes #2274
2021-04-20 13:16:28 -04:00
Pascal Precht b36652348a uiux(Chat): ensure emojis are centered vertically within messages
Closes #227
2021-04-20 13:06:25 -04:00
B.Melnik 9dc51b82fd feat: add processing CTRL + W to Browser 2021-04-20 12:59:59 -04:00
Pascal Precht e63db9a21c uiux(Communities): use proper icon for "leave community" menu item 2021-04-20 12:30:10 -04:00
Pascal Precht 5016091df7 fix(Communities): allow everyone to activate community profile popup
Prior to this commit, only admins of a community could open up the community
profile popup from inside the community. However, normal members should be able
to do so too.
2021-04-20 12:29:56 -04:00
Pascal Precht 122b3b8ae9 chore(Communities): remove community context menu for non-admins
Normal members shouldn't be able to create channels, nor should "leave
channel" be an option of the context menu provided inside of a community.

This commit removes these.
2021-04-20 12:19:37 -04:00
Eric Mastro 6de717e0e4 fix: remove emoji html from notifications 2021-04-20 12:12:33 -04:00
B.Melnik 35b8699f9f feat: add https protocol to urls without protocol in Browser 2021-04-20 12:06:49 -04:00
Pascal Precht c804bb243a feat: store appearance settings globally across accounts
As discussed in https://github.com/status-im/status-desktop/issues/2144#issuecomment-817791172 and https://github.com/status-im/status-desktop/discussions/2145, it's no longer desired
to have different appearance settings across multiple accounts.
Instead, the appearance setting should apply globally to all accounts,
essentially bypassing the individual setting stored in status-go.

This commit introduces a new global setting called `theme` which,
at the time of introducing this commit, can be either:

0 => Light
1 => Dark
2 => System

Because those enum values matches the `AppearanceContainer.Theme` enum,
this commit removes it completely and simply relies on QML's built-in
`Universal.[Light|Dark|System] variants respectively.

Closes #2144
2021-04-19 13:53:14 +02:00
Pascal Precht aeedc87368 feat: introduce global settings
This commit introces global settings that apply across accounts used
inside the application. This is useful when settings like the selected
locale should b the same across all accounts.

Closes #2144
2021-04-19 13:53:14 +02:00
Eric Mastro 9e6bd7a2da fix: create community and channel name validation
Fixes #2050.

This PR contains changes to fix the name validation for new communities and new channels in communities. In the process of updating this, better validation was also added to both popups (create community and create channel), including the prevention of the "Create" button from being enabled until all form fields were valid.

During this process, it was noticed that the community image cropper was not actually cropping the image *in the preview*. Once the community was created, status-go was successfully cropping the image as the user intended. However, the preview thumbnail prior to creation was not accurately showing the cropped image preview and showing the entire image centred instead. *This is still yet to be fixed.* One solution is to upgrade Qt to `5.15` to take advantage of Image QML's `sourceClipRect`.
2021-04-19 20:19:43 +10:00
Pascal Precht 6529efda4d uiux: fix sticker message border color 2021-04-15 16:59:55 -04:00
Jonathan Rainville dae0d60684 feat: extract seed textArea to shared component and use it in wallet 2021-04-15 16:50:57 -04:00
Jonathan Rainville 757eb2bc9e fix: fix seed phrase modal UI logic
Fixes #1891
2021-04-15 16:50:57 -04:00
Eric Mastro 707604f250 fix: SyncContainer “activeMailserver” error
There was a bad merge in PR #2225 that caused the QML propery `activeMailserver` in `SyncContainer` to be stripped out. This was causing an error in the console: `qrc:/app/AppLayouts/Profile/Sections/SyncContainer.qml:16: Error: Cannot assign to non-existent property "activeMailserver”`.

This PR adds the property back in and resolves the issue.
2021-04-15 11:00:07 -04:00
Pascal Precht 63bc6f0e53 chore: remove unnecessary splitview props 2021-04-15 10:12:50 +02:00
Eric Mastro e7571bd2a4 feat: Add Methuselah and Mailserver long-running task
Fixes #2143.

Methuselah is the a task manager for long-running tasks. It allows fo registration of workers that will each run in their own thead. Each worker can pass messages to and recieve messages from the main thread.

MailserverWoker was also introduced which moves all mailserver model logic to a MethuselahWorker. All communication to/from the model is done via a MethuselahTask. Results of the task are returned to the main thread by way of `signal_handler`, which calls the QtObject slot specified in the task.

Mailsever also provides a way for the model to emit events inside of the worker. These events are forwarded to the main thread via the `receiveEvent` slot of the `MailserverController`.

Co-authored-by: Michael Bradley, Jr <michaelsbradleyjr@gmail.com>
2021-04-14 15:37:05 -04:00
Jonathan Rainville 988f0b9c57 fix: fix changing network because popup didn't open 2021-04-14 14:39:11 -04:00
Jonathan Rainville 1983fa79aa feat: improve ens search in wallet send by showing the result 2021-04-14 14:39:11 -04:00
Pascal Precht 57ac94c4ac fix(Profile): ensure profile popup has window
When the profile popup is opened inside the contacts list, it doesn't have
a surrounding window context (`Popup` types should usually be used within `ApplicationWindow`
or `Window` components as per https://doc.qt.io/qt-5/qml-qtquick-controls2-popup.html).

This is problematic when popup are nested, like it's the case with the
nickname popup that will be instantiated by the profile popup.
With no window context, such nested popup can't be opened by the application.

This commit ensures the profile popup is created with a proper context,
fixing the issue that the nickname popup won't open when visting via
contacts list.

Fixes #2216
2021-04-14 12:40:50 -04:00
Pascal Precht 5ae5cd7efa uiux: adjust hover color for context menu button in darkmode 2021-04-14 17:00:37 +02:00
Pascal Precht 95bc455dcd fix(StatusChatInfoButton): use correct hover color in darkmode 2021-04-14 17:00:37 +02:00
Pascal Precht a954639cba fix(ui): use correct light theme color for app bar divider 2021-04-14 17:00:37 +02:00
Pascal Precht f88241e689 fix(ui): ensure icons in device container have proper theme color 2021-04-14 17:00:37 +02:00
Pascal Precht 153d37a7dc fix(Wallet): use correct theme colors for wallet icons in receive modal 2021-04-14 17:00:37 +02:00
Pascal Precht f2524db882 fix(Wallet): introduce hover effect for wallet accounts 2021-04-14 17:00:37 +02:00
Pascal Precht 78ce77c9c6 fix(ui): remove clip padding in profile section menu 2021-04-14 17:00:37 +02:00
Pascal Precht 18acef7fd3 fix(ui): visually remove splitview handle 2021-04-14 17:00:37 +02:00
Pascal Precht a243c04e29 fix(ui): use correct darkmode color for icons in profile section 2021-04-14 10:54:20 +02:00
Pascal Precht ce774a4dae fix(contextMenu): make menu item hover work and change color 2021-04-14 10:54:20 +02:00
Pascal Precht 5d59cb3870 fix(ui): use proper color for badge border 2021-04-14 10:54:20 +02:00
Jonathan Rainville 00b793c11c feat: move chat button under communities 2021-04-13 18:02:02 -04:00
Jonathan Rainville 048642b7df fix: order joined communities from newest to oldest
Fixes #2154
2021-04-13 18:02:02 -04:00
Jonathan Rainville 63b5c549b9 fix: fix invite button not setting Joined correctly
Fixes #2209
2021-04-13 17:50:32 -04:00
Jonathan Rainville 8607251a6e fix: fix qml warnings 2021-04-13 17:49:43 -04:00
Pascal Precht 5ca9d66212 fix(Communities): ensure newly created community is opened 2021-04-13 15:21:00 -04:00
Pascal Precht 0b5a51177f core: update token icon assets
Closes #2019
2021-04-13 15:12:12 -04:00
Pascal Precht 6e63f65dae fix(Communities): use fallback color for community icon if model doesn't have one 2021-04-13 15:07:14 -04:00
Pascal Precht b76468e675 uiux(Communities): fine-tune header button component to align with designs 2021-04-13 15:07:07 -04:00
Jonathan Rainville bf67c941ff fix: improve profile sections min width and scaling 2021-04-13 15:05:51 -04:00
Jonathan Rainville 3fe9f6c6b8 fix: fix custom network modal not opening
Fixes #2179
2021-04-13 15:00:02 -04:00
Jonathan Rainville 460a6dc649 fix: right click on app icon now always shows menu
Fixes #2152
2021-04-13 14:57:11 -04:00
Jonathan Rainville 90d7f65369 fix: remove possibility to click through the top bar on messages
Fixes #1942
Also cleans up a little the ChatColumn abuse of rows
2021-04-13 14:56:00 -04:00
Jonathan Rainville 4cb6a5b01d chore: update transparent to use Style
Co-authored-by: RichΛrd <info@richardramos.me>
2021-04-13 14:49:43 -04:00
Jonathan Rainville 8c753d58f0 fix: fix copy link submenu items being unreadable in dark theme
Fixes #2194
2021-04-13 14:49:43 -04:00
Jonathan Rainville b45cbe83b7 fix: fix channel list spacing during a search
Fixes #2191
2021-04-13 14:47:35 -04:00
Jonathan Rainville a9cae5b96e fix: fix compact message hover when a popup is opened
Fixes #2187
2021-04-13 14:43:48 -04:00
Jonathan Rainville b1fbad91fe fix: fix channel-identifier-dark-text 2021-04-13 14:42:45 -04:00
Jonathan Rainville d0914fbee2 feat: make the identicon use the right color instead of white 2021-04-13 14:42:27 -04:00
Jonathan Rainville 10fd90a152 fix: date label not showing correctly
Fixes #2184
2021-04-13 14:40:44 -04:00
Iuri Matias e68333fb07 update to beta.8 2021-04-12 14:26:30 -04:00
Jonathan Rainville b19ab8a03e update to beta.8.rc3 2021-04-06 14:35:52 -04:00
Iuri Matias 6417628531 update to beta.8.rc2 2021-04-02 11:15:25 -04:00
Jonathan Rainville 2e248d710d fix: fix mention popup not showing after a line break 2021-04-01 17:07:25 -04:00
Jonathan Rainville a01e851070 fix: fix being unable to put multiple spaces in a row 2021-04-01 17:07:25 -04:00
Jonathan Rainville 6c0fce5b0c fix: menu dropdowns not closing on button click and position 2021-04-01 16:59:43 -04:00
Jonathan Rainville 62b0c63965 feat: add invite button to community menu
Fixes #2139
2021-04-01 16:51:37 -04:00
Jonathan Rainville 4af1135f6c fix: show formation menu in middle of selection or above double click 2021-04-01 16:49:02 -04:00
Jonathan Rainville 8b3ce83d00 fix: input box disappearing on communities
Fixes #2155
2021-03-31 16:53:08 -04:00
Jonathan Rainville 303e6e9893 refactor: change PrivateChatPopup to use the new ContactListAndSearch 2021-03-31 16:25:24 -04:00
Jonathan Rainville c42bd1ea78 feat: add input to search and use ENS for community invite
fixes #2138
2021-03-31 16:25:24 -04:00
Iuri Matias 63b3ee3942 toggle browser settings 2021-03-31 15:35:04 -04:00
--replace-all b3791cb39f fix: typo in community popup
fixes #2156
2021-03-31 15:34:44 -04:00
Jonathan Rainville 49aae68097 chore: fix wrong sound id used in timeline 2021-03-30 16:08:43 -04:00
Jonathan Rainville 1bc3fa1c97 fix: fix sticker click modal to only open on sticker click 2021-03-30 16:08:13 -04:00
Jonathan Rainville 996b36714d fix: fix scroll speed on Windows 2021-03-30 16:02:10 -04:00
Jonathan Rainville a337b293da feat: show community context menu on Community button 2021-03-30 15:53:32 -04:00
Jonathan Rainville 1c95a495b8 fix: fix channel picker needing to hit bottom to select after searching 2021-03-30 15:42:26 -04:00
Jonathan Rainville e33266aa2f fix: fix emoji popup and create community popop text color 2021-03-30 15:38:15 -04:00
Jonathan Rainville c460206c58 fix: fix sticker popups to have the right colors and right size 2021-03-30 15:38:15 -04:00
Iuri Matias fdf9d0b5ec fix blank sync settings 2021-03-30 15:36:09 -04:00
Iuri Matias 22370e0b34 update to beta.8.rc1 2021-03-26 15:30:40 -04:00
Jonathan Rainville 1afa192bc4 fix: fix color picker button size 2021-03-26 15:28:06 -04:00
Jonathan Rainville de307276c1 fix: wallet left tab button colors 2021-03-26 15:28:06 -04:00
Jonathan Rainville a0accddfaa fix: keys image to be transparent 2021-03-26 15:28:06 -04:00
Jonathan Rainville d732a5ce3b fix: default size of the secondaryMenu 2021-03-26 15:28:06 -04:00
Jonathan Rainville 000f55abcd fix: onboarding text color 2021-03-26 15:28:06 -04:00
Jonathan Rainville 038ea033c9 feat: implement new dark theme colors for menu and more
Fixes #2094
2021-03-26 15:28:06 -04:00
Jonathan Rainville 63bf1be96a fix: fix community button staying active when clicking on a new section
Fixes #2133
2021-03-26 15:25:53 -04:00
Pascal Precht 907c257eaf fix(Wallet): prevent signing phrase from leaking out of modal 2021-03-26 11:30:03 -04:00
Jonathan Rainville e0b8a74e29 fix: fix show tooltip under the version button because of small space 2021-03-25 16:57:47 -04:00
Jonathan Rainville d3dbab11d2 fix: fix settings menu overflowing 2021-03-25 16:57:47 -04:00
Jonathan Rainville aeded149db fix: show community button tooltip on the right
Fixes #2069
2021-03-25 16:57:47 -04:00
Jonathan Rainville d09f049e77 feat: enable tooltip orientation 2021-03-25 16:57:47 -04:00
Jonathan Rainville 0478a04db9 fix: fix chat time tooltip being too big
Fixes #1946
2021-03-25 16:57:47 -04:00
Jonathan Rainville 012b5dc8a0 fix: fix language list view scrollbar and binding loop 2021-03-25 16:45:56 -04:00
Iuri Matias 3813a1a330 fix language modal 2021-03-25 16:45:56 -04:00
Iuri Matias 5e0da7c1ec updated language modal 2021-03-25 16:45:56 -04:00
Pascal Precht dc9de1968f fix: enforce locale provided by appSettings
Prior to this commit, we would only set the translation package for the
application's engine when `appSettings.locale !== "en"`.

This is problematic because it seems that `engine` is already provided with
a system default that may not be `en`. In practice, this means that, initially,
engine is loaded with, say `de`. `appSettings.locale` might be `en` but because
we're only loading the correct translation package when it's **not** `en`,
the application will stay in `de`.

Changing the language to `en` at runtime is fine, however once the application
is restarted, `engine` is again initialized with some other possible system default.

It seems that we should *always* load the translation packge when `appSettings` are
loaded.
2021-03-25 16:37:13 -04:00
Eric Mastro 2336aa4e6f fix: custom token validation for non-token addresses
When contract addresses that are not ERC-20 or ERC-721 were input, the token would be allowed to be added and would crash the app.

In addition, when an ERC-20 contract was deployed without a name and symbol, “Invalid ERC-20 address” would appear.

This PR adds error checking from the token detail lookup and reports the error back to the user in the modal. This prevents non-ERC-20/721 contracts from being able to be added to the app and prevents a crash.
2021-03-25 15:52:02 -04:00
rinzlxr 0abaa61067 fix: typos and switch statement string literals
remove console log

fix last typo
2021-03-25 15:00:13 -04:00
Iuri Matias 7c4bae5240 Revert "fix: increase min width to alleviate overlaps"
This reverts commit 9a1b1320c0.
2021-03-24 16:46:57 -04:00
Iuri Matias 857f0ac069 remove various titles from profile sections 2021-03-24 14:45:17 -04:00
Iuri Matias 3d2eaa3369 remove various titles from profile sections 2021-03-24 14:45:17 -04:00
Iuri Matias 4e15002beb hide reactions and replies when the message is a transaction 2021-03-24 14:43:04 -04:00
Pascal Precht 8be198f26e fix(Login): make addresses in account list work in dark mode 2021-03-24 14:42:41 -04:00
Pascal Precht 42e3444731 fix(StatusChatInput): fix text area alignment so it doesn't jump
There was a UI bug in the StatusChatInput where, only in the timeline view,
the scrollview wrapping the textarea would have a weird behaviour in which
it would render the visible text(placeholder) *lower* than how it's actually
positioned. Once the textarea is clicked, it would re-adjust with a smooth
scroll.

Obviously this is undesired behaviour as the text should always render in the
correct position.

This commit finally fixes this weird behaviour by moving the dynamic height
calculation to the wrapping Rectangle and changing the textarea's top- and
bottom paddings dynamically.

Fixes #2018
2021-03-24 14:35:30 -04:00
rinzlxr 9a1b1320c0 fix: increase min width to alleviate overlaps 2021-03-24 14:32:52 -04:00
Jonathan Rainville 686cbc7f54 fix: fix communities not showing the letter identicon correctly 2021-03-24 14:20:47 -04:00
Pascal Precht c28d4054ef fix(Chat): ensure chat reply separator doesn't leak into message
Fixes #1988
2021-03-24 14:17:43 -04:00
Jonathan Rainville 7188579e46 fix: fix mention showing as pubkey and show styling 2021-03-24 14:16:55 -04:00
Jonathan Rainville 5d67a3f5f9 fix: fix sending three word names mentions not working 2021-03-24 14:16:55 -04:00
rinzlxr 47ae3a4c16 ens section fixes
use the available dark image for ens section

add the image, ensure 624 widths and fix button

move common strings to constants and use number consts
2021-03-24 14:09:59 -04:00
Pascal Precht 5091e258d3 fix(Chat): align emojis within chat inputs properly
Fixes #1944
2021-03-24 14:05:25 -04:00
Jonathan Rainville 2a9f9118a1 fix: fix settings not being refetched when they had been edited before 2021-03-24 12:06:24 -05:00
Pascal Precht e1a4a47636 fix(Chat): disable HoverHandler when profile popup or context menu are open
Alright, this is an interesting one:

As described in #1829, when the profile popup is opened within the chat view,
users are still able to click *through* the popup on message, which then puts them in
an active state.

I've done a bunch of debugging as described [here](https://github.com/status-im/status-desktop/issues/1829#issuecomment-804748148) and after doing some
further debugging, I found out that `isMessageActive` isn't really the culprit here.

What causes this effect is the `HoverHandler` that's attached to the `CompactMessage` item.
`HoverHandler` is a standard QML type that emits `hoverChanged` signals so one can do things like
applying hover effects on elements, which is exactly what we do:

```
HoverHandler {
  onHoverChanged: {
    root.isHovered = hovered  // `root` being the message item
  }
}
```

I assume we went with this handler because putting a `MouseArea` in there instead, which fills
the entire message component pretty much eliminates all existing mouse handlers attached to
other child components, such as the profile image or the username of the message, which also
open a message context menu.

It turns out that, having a `HoverHandler` as described above, actually activates it when the
user clicks with the left mouse button as well (not just on hover). That's what causes the "click-through"
effect. This can be verified by setting `acceptedButtons` to `Qt.RightButton`, basically telling
the handler that only right clicks will activate it.

I then tried using `Qt.NoButtons` instead so that no button clicks and only hovers will activate
the handler, but that didn't seem to have any effect at all. It still defaults to `Qt.LeftButton`.

So the last resort was to disable the `HoverHandler` altogether, whenever either the profile popup,
or the message context menu (for emojis etc) is open.

Unfortunately, we don't have access to the profile popup in the compact message component, because it's
detached from the component tree. Therefore, I've introduced a new property `profilePopupOpened` on
the chat layout, which we can read from instead.

Fixes #1829
2021-03-23 10:32:31 -04:00
Pascal Precht a030a4fadc refactor: make add new contact modal looks the same as new chat modal
Closes #1660 #2086
2021-03-22 15:55:13 -04:00
Pascal Precht e2113553b9 feat(PrivateChatPopupSearchResults): introduce reset() and config API
This commit introduces a `reset()` function so that search results inside
the application can be easily reset. It also introduces a `resultClickable`
flag which allows consumers of this component to decide whether a search result
is clickable and emits a dedicated event.

This is useful when UIs should only allow actions via the result icon button
(as it's the case with the new add-to-contact modal).
2021-03-22 15:49:47 -04:00
Jonathan Rainville 7fb9578285 feat: highlite mentions in the chat input as well 2021-03-22 15:49:21 -04:00
Pascal Precht d2b9d54c4b fix: ensure lists and radio button groups look concise throughout app
Fixes #1992
2021-03-19 16:17:14 -04:00
Pascal Precht a27f9cf25d fix(StatusRadioButtonRow): ensure checked state is propagated properly
There were cases in which this component was used and its `checked` state wasn't
properly emitted to the underlying component.

This commit fixes that by ensuring the `MouseArea` only alters the radio button's
`checked` state and let the radio button handle the event propagation.
2021-03-19 16:17:14 -04:00
Pascal Precht accf92be2f fix(Separator): ensure custom color works as expected
This was a regression introduced in https://github.com/status-im/status-desktop/pull/2065.
The new wrapping Rectangle would get the color that is possibily passed down
to Separator. Instead it should get properly bound to the actual separator.
2021-03-19 15:54:27 -04:00
Jonathan Rainville 98ef76d3c8 chore: hide edit community button until the feature is implemented 2021-03-18 14:52:28 -04:00
Pascal Precht 29c7f7b91d uiux(Profile): adjust layout max width of profile sections
Closes #1994
2021-03-18 14:50:58 -04:00
Pascal Precht 010a7e0d8e feat(Communities): open member profile on memberlist click 2021-03-18 14:47:36 -04:00
Pascal Precht 6b6a318a8c
refactor(Communities): make member list look as intended
This change aligns the member list's look & feel of the community profile popup
with the designs by implementing the proper member list items styles, hover effects
and fine-tuning the context menu.

This commit also comments some of the actions provided by the context menu,
which aren't implemented yet. There's no point in having UI components that don't or
can't function.

Those will be re-introduced once they are actually implemented.

Closes #1959
2021-03-18 10:03:24 +01:00
Pascal Precht 05a8303d5b
feat(PopupMenu): introduce `danger` type for actions
This is needed so that "dangerous" actions, such as deleting data
or removing users from groups etc, can get a dedicated hover color as well.
2021-03-18 10:03:19 +01:00
Pascal Precht b4389402e9
refactor: make use of StatusContextMenuButton 2021-03-18 10:03:08 +01:00
Pascal Precht f497091c3e
feat: introduce new StatusContextMenuButton component
We've been implementing such a button in various ways throughout the
application. Sometimes using SVG icons and rectangles, sometimes highjacking
`StyledText` components (which was clever though).

Obviously this resulted in inconsistencies, so this commit introduces
a new dedicated component to render the three-dots button for context menus.
2021-03-18 10:03:04 +01:00
Pascal Precht d46be4f740 feat(Separator): enabled custom separator height
Sometimes, `Separator` is used inside context menus to separate groups
of actions that belong together. The separator in itself doesn't have any
padding or margins in this case because the just gets transcluded as is
in the context menu, between menu items.
There are cases in the design where a padding/margin is desired though.

This change makes that possible by wrapping the separator `Rectangle` with
another `Rectangle` which controls a custom height (if desired). The inner
rectangle is then just always vertically center.

In practice this means, existing usages of `Separator` behave exactly the same,
they don't break. In addtion one can set `Separator { height: x }` while maintaining
a 1px separator line.
2021-03-18 09:37:13 +01:00
Jonathan Rainville 23a8de0449 fix: fix community not being passed correctly to the invite bubble 2021-03-17 16:09:23 -04:00
Jonathan Rainville f3b452188a chore: extract join.status link prefixes to Constants 2021-03-17 16:09:23 -04:00
Jonathan Rainville 62d10eba49 feat: show community invite component on community link 2021-03-17 16:09:23 -04:00
Jonathan Rainville 5581fca41d feat: show default unfurling for community links 2021-03-17 16:09:23 -04:00
Jonathan Rainville c5c348b0b1 feat: add back status link whitelisting and public chat links 2021-03-17 16:09:23 -04:00
Pascal Precht 907fbc21b8 fix(Chat): don't render "Copy Link" menu item if not desired
This adjust the rules to render the copy link menu item so that it aligns
with what has been mentioned in #1943.

Fixes #1943
2021-03-17 15:28:12 -04:00
Iuri Matias 98eea14da8 fix default mode 2021-03-17 15:25:15 -04:00
Jonathan Rainville d0f141c1b8 fix: fix appSetting not defined by removing sounds from login 2021-03-17 13:35:15 -04:00
Pascal Precht 053c7fdcf3 fix: enforce compact mode
Since https://github.com/status-im/status-desktop/commit/93668ff75
we're hiding the setting to change appearance for compact normal mode
of the UI. For now, compact mode is the new default (reasoning is unclear
at this point).

Prior to this change, most likely many users are still using the
normal mode configuration, so we have to enforce compact mode for
those.
2021-03-17 13:34:42 -04:00
Pascal Precht 362ad02ffc
refactor(Communities): make membershipt request button looks as designed
The designs for the membership request button look different now, so this
commit makes use of the `StatusSettingsLineButton` to implement that new
look & feel.
2021-03-17 10:30:19 +01:00
Pascal Precht ea39ead64b
feat(StatusSettingsLineButton): make some of the component's props configurable
This helps with using this component in other places where the default
settings for some UI related properties don't match otherwise.
2021-03-17 10:30:19 +01:00
Pascal Precht 38bd5f1422
fix(Communities): remove type error in item width
There's no `parent` in that componen, which results in a QML type error
at runtime.
2021-03-17 10:30:18 +01:00
Pascal Precht 638892f21d
refactor(Communities): use StackView inside profile popup for memberlist
Prior to this commit, the community memberlist was represented in a nested modal
which doesn't adhere to the designs. Rather, the section should render inside the
existing modal, requiring it to be refactored using a `StackView`.

This commit refactors the community profile popup so that the different content
sections ("Overview" and "MemberList") are rendered inside of the popup and can
be pushed onto and popped off a stack view.

The content components (newly introduced in this commit) `CommunityProfilePopupMembersList`
and `CommunityProfilePopupOverview` need to define a `headerTitle`, `headerDescription` and
if needed `imageSource` so they can alter the modal's header.

The same pattern might be used in other places of the modal if required.

Partially fixes #1959
2021-03-17 10:29:31 +01:00
Jonathan Rainville b9594591b0 fix: fix a lot of issues relative to dark theme
Fixes #1997
2021-03-16 17:22:58 -04:00
Jonathan Rainville 9d9b0ab5e6 fix: fix chat link preview modal
Fixes #2001
Fixes icons
Fixes Icon border
Fixes button hover
Fixes list scrolling and overflow
2021-03-16 17:20:12 -04:00
Iuri Matias 9621230e6d update default settings 2021-03-16 16:51:14 -04:00
Iuri Matias 9c404a1047 show browser favourites bar by default 2021-03-16 16:51:14 -04:00
Iuri Matias 5cef8e3e60 adjust content height of sticker popup 2021-03-16 15:39:52 -04:00
Richard Ramos 4f4a3f1c30 feat: see stickers details when clicking on a sticker 2021-03-16 15:39:52 -04:00
Pascal Precht 8ad9e52abf fix(Communities): render community image in profile popup 2021-03-16 14:57:45 -04:00
Pascal Precht 79338f76be feat(ModalPopup): hide footer section if footerContent height is 0
In the recent past we've improved our `ModalPopup` to allow for a bit more control
when it comes to rendering a modal footer section with call-to-action items.

The footer section is rendered when there's `footerContent` and when the height
of the footer content is > 0. This means it's possible to also hide the footer content
section from the modal, even when there's footer content children.

However, there's a separator rendered whenver the footer is visible, regardless of its
height. This results in undesired behaviour when rendering footer children of height 0.

To avoid this, this commit adjust the condition so that the separator is only rendered
when the footer visible AND the height of it is > 0.
2021-03-16 14:29:36 -04:00
Eric Mastro f1e83f74bc feat: drag and drop images
Allow up to 5 images to be dragged and dropped in to one-on-one chats and in the timeline. Can be combined with the existing upload button. The upload file dialog has been changed to allow multiple selections. Drag and dropped images adhere to the following rules, with corresponding validations messages:
- Max 5 image
- Image size must be 0.5 MB or less
- File extension must be one of [".png", ".jpg", ".jpeg", ".heif", "tif", ".tiff"]

Drag and drop and uploaded images are now also deduplicated.
2021-03-16 13:51:37 -04:00
Iuri Matias de290727c2 update translation keys 2021-03-16 12:43:57 -04:00
Iuri Matias e6a3014d9f update description of sign out button 2021-03-16 12:43:37 -04:00
Iuri Matias 3119aebed4 re-add sign out button 2021-03-16 12:43:37 -04:00
Iuri Matias 93668ff75a hide chat mode switch for now and make compact mode the default 2021-03-16 12:43:07 -04:00
Pascal Precht e725e7982d fix(Communities): properly pass `admin` state to profile popup
This was hardcoded into `isAdmin` for some reason. It also seems that the
property isn't actually used anywhere in the profile popup, so we might
as well get rid off it.
2021-03-16 12:43:01 -04:00
rinzlxr 410851da33 fix: profile menu seperators
fixes #1991

fix: use secondary color instead
2021-03-16 12:38:17 -04:00
Iuri Matias 3878b8a662 update to beta.7.rc2 2021-03-15 15:05:33 -04:00
Pascal Precht eefd56dd28 fix(Communities): ensure app remembers hidden community intro banners
Fixes #1960
2021-03-15 14:35:31 -04:00
Pascal Precht 2e710715bc fix(Communities): ensure profile popup is hydrated with correct data
The `communityProfilePopup` relies on the currently `activeCommunity` to
get its data. Unfortunately, once read, even when `chatsModel.setActiveCommunity()`
is called which triggers `activeCommunityChanged`, the data in the popup
won't be updated. The next time one would open a community profile page,
it'd have the data that was previously received from the model.

This commit ensures that the popup is hydrated with the most recent data
by explicitly updating its properties right before it's opened.
2021-03-11 10:41:19 -05:00
Pascal Precht 51c8d86ccc fix(Communities): don't crash on rejoin attempt
Prior to this commit there was a scenario where the application would
crash due a memory bug when attempting to (re)join a community.

The scenario is as follows:

1. User creates or has been invited to community with `ON_REQUEST` permissions
2. User leaves community
3. User decides to rejoin, so she selects the community she's been part
of and hits the "Join" button

At this point Status Desktop would send a new `RequestToJoin` request, as the
community has a corresponding permissions setting.

This would then result in an `already a member` error in status-go, because
status-go checks whether the requestee is already part of the members list of
the community. The error isn't handled inside Status Desktop which causes
a crash because we're trying to access data in memory that doesn't exist.

Why is this happening?

While this might be unexpected, when leaving a community (as done on step 2 of
the mentioned scenario), users don't actually lose membership but simply
"unsubscribe" from all channels in the community in question and their `joined`
flag is set to `false`.

From that point on, re-joininng a community is done by sending a `JoinCommunity`
request (instead of `RequestToJoin`), which will then set the `joined` flag to
`true` and doesn't actually check the membership in the database.

This commit ensures we're calling the right API by checking whether not only
whether the community is needs `ON _REQUEST` permissions, but also whether the
user isn't already a member of it.

Fixes #2017
2021-03-11 10:41:19 -05:00
Pascal Precht 49b5e6c097 fix(Communities): make validation on community import work again
In https://github.com/status-im/status-desktop/commit/a90a30af1 we've introduced the functionality to import
communities through the UI via a community private key.
That private key is being validated before it gets imported.
For some reason, validation has been removed in another refactor
later on in https://github.com/status-im/status-desktop/commit/534cb23e1, rendering the import
functionality broken.

This commit re-introduces the `validate()` method to make importing
communities work again.
2021-03-11 10:00:05 -05:00
Pascal Precht 01d3369c64 fix(Communities): fallback to letter identicon if no image available
Prior to this commit, communities without an image would render invisible
in the navigation bar of the application. To avoid this, we're now falling
back to our StatusLetterIdenticon component, which renders the first letter
of the community name with the color of the community.
2021-03-11 10:00:05 -05:00
Iuri Matias 00e66009db update to beta.7.rc1 2021-03-08 14:26:39 -05:00
Richard Ramos 6a51d80832 fix: use SVGs in emoji popup 2021-03-08 14:10:58 -05:00
Richard Ramos 017b570dd4 Use SVG emojies 2021-03-08 14:10:58 -05:00
Pascal Precht 0a7d6f6bae fix(Community): ensure community members with write access can post to channel
When a user is part of a community, write access to any channel of
that community is granted. When the permission allows for it, a community's
channel `canPost` property is `true`, which should be relied on to
render the necessary component for writing into a channel.

This commit makes sure community members with proper access get the
chat input rendered so they can write to channels.

Fixes #1985
2021-03-08 11:57:09 -05:00
Jonathan Rainville d361853d0d fix: disable ENS only setting if user has no ENS name
Fixes #1984
2021-03-05 14:01:42 -05:00
Jonathan Rainville 44c9f480c2 feat: set profile and community image cropper to 1:1 ratio 2021-03-05 14:01:30 -05:00
Jonathan Rainville 07d36cc9f6 feat: make image cropper receive a ratio that it needs to respect 2021-03-05 14:01:30 -05:00
Pascal Precht aa7fb862f2 fix(Communities): make creating channels work again
Very similar to #1986, we're trying to access the `activeCommunity`
property on the `chatsModel` object, which doesn't have such a property
anymore every since we've moved communities into its own view.
This causes errors when trying to create channels.

This commit fixes this bug by ensuring `activeCommunity` is accessed
from `chatsModel.communities` instead.
2021-03-05 13:59:44 -05:00
Pascal Precht 86ea7014f6 fix(Communities): make rejoining communities work
When the communities code was moved into its own view in https://github.com/status-im/status-desktop/commit/b38d1df59
it broke the functionality to join communities again.

Qt complains that the Nim API in use `chatsModel.communities.joinCommunity`
expects two parameters, when it's call with just one.
This is unexpected because the API in question set a default value
for its second parameter.

To make this work again, we have to make sure the `setActive`
parameter is supplied every time we call the API from
within QML.

Also, worth noting that this is not the first time we're running into
a scenario like this.
2021-03-05 13:59:44 -05:00
Pascal Precht 43e4ba771b fix(Communities): make leaving communities work again
Turns out in https://github.com/status-im/status-desktop/commit/81bb7fcc6 we've introduced a regression where
leaving a communities isn't possible anymore because we're trying
to call an API that doesn't exist on the `chatsModel`.

This commit fixes it by ensuring the API is called from `chatsModel.communities`.
2021-03-05 13:59:44 -05:00
Jonathan Rainville 131685ecf5 fix: fix member popup layout and member not showing
Fixes #1949
2021-03-05 13:57:49 -05:00
Richard Ramos 9fe925ca8f fix: make the profile icons smooth 2021-03-05 10:34:10 -05:00
Richard Ramos 9749fe4938 fix: remove svg hack 2021-03-05 09:36:50 -05:00
ace-smart 38e1e84912 Fixed login btn pending status in case of invalid password. Fixes #1972 2021-03-04 17:36:37 -05:00
ace-smart 6e2062ec6f Fixed not showing issue for the profile thumbnail in the suggestion list. Fixes #1916 2021-03-04 17:34:01 -05:00
Jonathan Rainville 4a1c497a08 fix: fix users being able to see admin popup
Fixes #1976
2021-03-04 17:21:17 -05:00
ace-smart 81bb7fcc65 Updated community popup menu btn style. Fixes #1961# This is a combination of 4 commits.
Updated community popup menu btn style. Fixes #1961

Updated community popup menu btn style. Fixes #1961

Updated community popup menu btn style. Fixes #1961

Updated community popup menu btn style. Fixes #1961
2021-03-04 17:20:39 -05:00
ace-smart 250a1801d4 Removed old jpg images. Fixes #1965 2021-03-04 17:17:29 -05:00
ace-smart f3226852c3 Fixed onboarding view backgroud image issue on dark mode. Fixes #1965 2021-03-04 17:17:29 -05:00
Jonathan Rainville 844a61798a fix: fix left tab line not following height of parent
Fixes #1948
2021-03-04 17:02:03 -05:00
Pascal Precht e6f17fdf55 uiux(StatusChatInput): highlight matching formatting option
This will highlight any option in the text formatting menu whose
formatting matches the selected text formatting

Closes #1931
2021-03-04 08:57:43 -05:00
Jonathan Rainville a09dd25506 fix: fix description is required for communities 2021-03-03 16:45:23 -05:00
Jonathan Rainville 7e8dc8c5d1 fix: fix community channels not showing the right type
Fixes #1954
2021-03-03 16:45:23 -05:00
Jonathan Rainville 84034d5dbf fix: fix channel color in communities 2021-03-03 16:45:23 -05:00
Jonathan Rainville e52f6daec9 feat: update to latest status go and add color to the community 2021-03-03 16:45:23 -05:00
Jonathan Rainville e28e98a394 fix: fix community rebase errors 2021-03-03 16:45:23 -05:00
Jonathan Rainville c5241e2bf4 feat: intercept clicks on messages links as well 2021-03-03 16:45:23 -05:00
Jonathan Rainville 35688e9740 feat: show unfurled link for status chats in 1:1 2021-03-03 16:45:23 -05:00
Jonathan Rainville c86f67b9f1 fix: fix community header button in dark mode 2021-03-03 16:45:23 -05:00
Jonathan Rainville f8704d7b64 feat: show unviewed count on the community button 2021-03-03 16:45:23 -05:00
Jonathan Rainville b76cb5682c fix: chats not updating on new messages in communities 2021-03-03 16:45:23 -05:00
Jonathan Rainville da77487746 fix: fix invite to use new API and remove the double msg send 2021-03-03 16:45:23 -05:00
Jonathan Rainville 63e2c21b33 feat: show tooltip on top of community button with name 2021-03-03 16:45:23 -05:00
Jonathan Rainville 75a0818d41 fix: fix community image display in the header 2021-03-03 16:45:23 -05:00
Jonathan Rainville 64d38b6049 feat: implement redesign of communities on the left tab 2021-03-03 16:45:23 -05:00
Jonathan Rainville 534cb23e18 feat: add new import community popup 2021-03-03 16:45:23 -05:00
Jonathan Rainville a47847b40f fix: fix community profile looks and style 2021-03-03 16:45:23 -05:00
Jonathan Rainville 6213e020a0 feat: new design for export popup 2021-03-03 16:45:23 -05:00
Jonathan Rainville b38d1df591 refactor: move communities functions to communities view in chat 2021-03-03 16:45:23 -05:00
Jonathan Rainville 3cc62d65aa feat: show membership requests in the admin popup 2021-03-03 16:45:23 -05:00
Jonathan Rainville 807048522a fix: ste channels correctly when going back and forth to communities 2021-03-03 16:45:23 -05:00
Jonathan Rainville f9817d4f52 feat: add community requests, permissions, ENS and more 2021-03-03 16:45:23 -05:00
Pascal Precht 6603f025c3 fix(StatusChatInput): exclude markdown indicators from formatting
Closes #1928
2021-03-03 15:42:42 -05:00
Pascal Precht ed0b9ec1d6 uiux(StatusChatInput): close text format menu on deletion
Closes #1932
2021-03-03 13:30:57 -05:00
Iuri Matias 27eab84f94 Revert "chore: add dummy ListView to ChatMessages to avoid app crash"
This reverts commit 7b07a31fa6.
2021-03-01 16:06:06 -05:00
Pascal Precht 7b07a31fa6 chore: add dummy ListView to ChatMessages to avoid app crash
For an unknown reason, when the `chatLogView` ListView uses
a `verticalLayoutDirection: BottomToTop`, it prevents the application
from successfully rendering during login and crashes.

From debugging this, we know that this only happens when the above
condition applies *and* when a `DelegateModel` is used.
The delegate doesn't even need proper data, it application would still
crash.

We found out that the crash can be avoided when another `ListView` exists
in this component (however it's unclear why).

For now this commit adds such a placeholder `ListView` until it
we know more about what's going on.
2021-03-01 14:18:46 -05:00
Richard Ramos 608455f563 fix: improve qml bottlenecks 2021-03-01 14:17:26 -05:00
ace-smart 367afb70a2 Fixed wrong invite description text color in dark mode. Fixes #1912 2021-02-25 15:43:57 -05:00
ace-smart 604200639b Fixed copy button of the invite link in dark mode. Fixes #1913 2021-02-25 15:43:37 -05:00
ace-smart 4c31a97db8 Fixed wrong color issue of the wallet layout. Fixes #1903 2021-02-25 15:43:14 -05:00
Richard Ramos 1a05b944a2 fix: input html being shown when removing css format 2021-02-25 15:41:31 -05:00
Jonathan Rainville f52cc984d6 fix: fix profile image order since reversing the list order 2021-02-25 15:41:14 -05:00
Richard Ramos 6211d094dc fix: set hide on close as default 2021-02-25 15:40:46 -05:00
Iuri Matias 6222ff985f update to beta.6 2021-02-23 14:28:35 -05:00
Jonathan Rainville fdcc700607 fix: fix chatMessages not starting at bottom by reversing list layout 2021-02-23 11:57:33 -05:00
Jonathan Rainville 744a16a0f4 fix: fix errorSound not defined 2021-02-23 11:57:33 -05:00
Pascal Precht bd9fa37ce3 fix(Chat): ensure correct contact username is shown
In some cases inside of 1-on-1 chats, the fake messages added to
the beginning of the message list, wouldn't determine the correct
username of the contact in question.

This commit explicitly calls `chatsModel.userNameOrAlias()` instead
of relying on `activeChannel.name` which tries to do the same.
2021-02-23 10:42:23 -05:00
Pascal Precht 84806ee96c feat(MessageContextMenu): add copy link actions
This commit adds a menu item to the message context menu to
copy links that may exist inside of a message.

There are three possible scenarios:

1. There's no link in the message, which causes the menu to not
render the dedicated menu item at all
2. There's one link in the message, which renders an additional
`Action` with a copy-to-clipboard functionality
3. There are multiple links in a single message. This adds a
nested `PopupMenu` in the existing menu with menu items for each
link extracted from the message

To make this work there were some changes in the `PopupMenu` component
needed, as it wasn't take the sub menu's `enabled` state into account
properly. This makde it always render nested menus even when they
should've been invisible.

Closes: #1733
2021-02-23 08:53:54 -05:00
Richard Ramos fd8a84eb9d fix: minimize on close 2021-02-23 08:53:37 -05:00
Richard Ramos b43122d7f3 feat: use stacklayout for chat messages 2021-02-23 08:53:31 -05:00
Richard Ramos 750371a3f8 fix: don't estimate gas before when displaying sticker packs
Fixes: #1728
2021-02-22 17:31:17 -05:00
Jonathan Rainville ae56a360c4 fix: message height taking into account the image even when hidden 2021-02-22 17:29:06 -05:00
RichΛrd 44e9ebdd60 Update main.qml 2021-02-22 12:47:58 -05:00
Richard Ramos bb1f233bad fix: Don't quit the app when clicking on "x" and Enable closing the app with CMD + W
Fixes #1694
2021-02-22 12:47:58 -05:00
Jonathan Rainville 6eee5da36e fix: fix texts to use secondaryText instead of darkGrey 2021-02-22 09:58:18 -05:00