62 Commits

Author SHA1 Message Date
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
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
Jonathan Rainville
20bbf97787 chore: hide activity center button 2021-06-02 11:55:15 -04:00
Jonathan Rainville
bee54e628f feat(Activity center): add placeholder activity center
Fixes #2608
2021-05-31 15:54:18 -04:00
Jonathan Rainville
c1f6afd799 fixes 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
Jonathan Rainville
64e965ea07 feat(Chat): add Add To Contact banner in 1 to 1 chats 2021-05-04 14:52:37 -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
038ea033c9 feat: implement new dark theme colors for menu and more
Fixes #2094
2021-03-26 15:28:06 -04:00
Pascal Precht
b4389402e9
refactor: make use of StatusContextMenuButton 2021-03-18 10:03:08 +01:00
Jonathan Rainville
84034d5dbf fix: fix channel color in communities 2021-03-03 16:45:23 -05:00
Jonathan Rainville
2a4780f379 fix: fix top bar not showing group chat name 2021-02-18 16:38:10 -05:00
Jonathan Rainville
7dc3bf7e87 fix: fix group info popup warning and don't load popup immediately 2021-02-18 16:38:10 -05:00
Jonathan Rainville
0e699cac65 chore: run translation scripts 2021-02-18 15:23:58 -05:00
ace-smart
3420593774 Fixed an issue that doesn't update one2one chatview name when unassign nickname from the contact. Fixes #1840 2021-02-15 16:04:31 -05:00
Jonathan Rainville
90e9e2d192 fix: fix top bar menu position 2021-02-12 14:45:09 -05:00
ace-smart
aca6d4bd2e Fixed showing wrong ensname on one2one chat profile modal. Fixes #1810 2021-02-12 14:44:37 -05:00
ace-smart
972cf9f138 Fixed the issue doesn't show nickname on profileview in 1:1 chat. Fixes #1826 2021-02-11 10:15:29 -05:00
Pascal Precht
e61d91dd51 fix: make sure context menu receives correct channel index
This was missing in one of our previous PRs and causes the
channel context menu to not function properly e.g. when deleting
chats, it currently always deletes the first chat in the channel list
instead of the active channel.
2021-02-08 17:38:17 -05:00
Pascal Precht
b1e5a15e2a refactor(ChannelContextMenu): remove dependency on active channel
This commit does a bunch of things:

- First and foremost, it removes the active channel dependency.
  This is needed to have it operate on the correct channel object,
  without forcing us to change the active channel (e.g. right-clicking
  on a channel item that's not active, will make it active eventually)
- To make that work, this commit changes the `ChannelContextMenu`
  to receive a `ChatItemView`, so it can be used for things like determining
  what menu options are shown, what members are in a group, whether
  someone is admin of a group etc.
- This also required a new `QtProperty` called `contextChannel`.
  The reason this is required, is because in some cases, like receiving
  members count of groups, we need a complete `ChatItemView` object
  as we don't have access to certain APIs otherwise.
- Unfortunately, we can't pass down `activeChannel` every where for that
  because sometimes the context menu should not actually operate on
  the active channel.

Fixes: #1755
2021-02-01 11:53:06 -05:00
Pascal Precht
f5bcaa5ac5 refactor: introduce ChannelContextMenu component
This commit introduces a new `ChannelContextMenu` component that can be reused
in different places, such as the channel list, as well as the chat bar.

At the moment we use two different pop up menus that also show two different
set of menu options. By using `ChanelContextMenu` in both of these places,
we get the same menu and same experience.

Closes #1711
2021-01-21 12:02:41 -05:00
staked-smart-ace
086c868bdc
uiux(StatusButton): introduce warn type
Fixes #1603
2021-01-19 12:45:03 +01:00
Jonathan Rainville
76688733f5 feat: add muted states for channel
Fixes #1615
2021-01-15 13:52:50 -05:00
Jonathan Rainville
317a183b8b fix: toggle top bar menu on button click 2021-01-12 16:35:44 -05:00
Pascal Precht
90dfa94805 refactor: move getProfileImage API to appMain
Prior to this commit, the function was expected on a `chatView` QML object.
This has worked out so far because the places where the API is used were always
living inside `ChatLayout`.

With the new timeline however, this is no longer the case so we have to make sure
that the API is available to other views as well.
2020-12-21 14:15:08 -05:00
Jonathan Rainville
d01c9fef79 feat: add profile pic support 2020-12-17 16:44:25 -05:00
hydrogen
2baa55b5c4 feat: add fetch more menu item in the chat drop down menu
fix import

fix extra spaces
2020-11-26 11:20:25 -05:00
Jonathan Rainville
23b8c6ab57 feat: add styled browser settings menu 2020-10-21 12:06:50 -04:00
Richard Ramos
2da4abf8eb fix: "Contact / Not a contact" indicator was not being updated when an user was added/removed as contact 2020-10-05 10:56:38 -04:00
Richard Ramos
2fb9d569f7 refactor: open profile popup 2020-10-02 12:48:58 -04:00
Pascal Precht
599f788e67
feat: introduce StatusChatInfo and StatusChatInfoButton components
These components are used to render the chat info in the top bar of the chat view.
`StatusChatInfoButton` is an clickable button that will open chat info dialogs.

Closes #923
2020-09-23 08:53:23 +02:00
Pascal Precht
fac0e50e37 feat: introduce StatusIdenticon components
This component introduces `StatusLetterIdenticon`, `StatusImageIdenticon`
and `StatusIdenticon`.

- `StatusLetterIdenticon` renders an identicon with a single letter based on a
name.
- `StatusImageIdenticon` renders an actual image based on an identicon URL
- `StatusIdenticon` is a composition of the former both, but with a loading mechanism
  to decide which should be rendered

The commit also ensures all of these components are used respectively throughout
the application.
2020-09-23 08:52:30 +02:00
Jonathan Rainville
0c686c3fcf chore: run qstrConverter script 2020-08-27 17:09:37 -04:00
Richard Ramos
f6cf197983 fix: pixelated icons on the menu 2020-08-17 11:57:32 +02:00
Pascal Precht
4f7486afbe refactor: Introduce more generic confirmation dialog for simpel cases 2020-08-13 14:40:03 -04:00
Richard Ramos
e96f3ed47f
fix: display ens names with correct format in all screens 2020-08-11 08:39:07 -04:00
Pascal Precht
17396c85cb feat(GroupInfo): allow user to visit group member profile page
Closes #638
2020-08-10 09:42:47 -04:00
Jonathan Rainville
b829acb3c4 chore: re-run qstr converter 2020-07-17 11:55:01 -04:00
Jonathan Rainville
851eb82026 feat: make channel list compact in compact mode 2020-07-16 10:32:27 -04:00
Jonathan Rainville
92f5a9ca5c feat: add dark theme colors and new properties for it 2020-07-14 12:37:17 -04:00
Jonathan Rainville
cbcab82e5d fix: fix PopupMenu icon size to be back to 25 but customizable 2020-07-10 15:39:56 -04:00
Jonathan Rainville
dd6454f55c fix: fix PopupMenu style 2020-07-10 15:39:56 -04:00
Jonathan Rainville
9462beaa3f fix: fix chat menu button 2020-07-10 15:39:56 -04:00
Jonathan Rainville
b5619dadaf fix: close chat menu when re-clicking the button 2020-07-10 15:39:56 -04:00
Jonathan Rainville
1eb1d3d41c chore: run transform script to change qstr to qstrid 2020-07-08 12:37:41 -04:00
Jonathan Rainville
a529d729ea feat: change Theme to Style to enable changing Theme 2020-07-03 09:59:14 -04:00
Iuri Matias
d84c16bc63 fix radius 2020-06-25 16:13:17 -04:00
Iuri Matias
578277452a display if user is contact or not in the topbar 2020-06-23 13:43:39 -04:00
Jonathan Rainville
7e96a17f3b fix: add StyledTextEdit and TextField to use the font 2020-06-19 14:53:45 -04:00
Jonathan Rainville
8755c901de fix: fix font loading issue and create a text component to use that font 2020-06-19 14:53:45 -04:00