517 Commits

Author SHA1 Message Date
Jonathan Rainville
fe42cd08f8 fix: code review suggestions
Co-authored-by: RichΛrd <info@richardramos.me>
2021-01-11 13:57:35 -05:00
Jonathan Rainville
4aeeee6d9c feat: hide community stuff by default and add a setting to show it 2021-01-11 13:57:35 -05:00
Jonathan Rainville
7b03da2967 feat: enable removing member and fix invites 2021-01-11 13:57:35 -05:00
Jonathan Rainville
d48043ee22 chore: cleanup community code 2021-01-11 13:57:35 -05:00
Jonathan Rainville
a90a30af11 add import for a community 2021-01-11 13:57:35 -05:00
Jonathan Rainville
82405cc425 add export function and button 2021-01-11 13:57:35 -05:00
Jonathan Rainville
93376f0047 fix: fix createCommunityPopup being in edit mode all the time 2021-01-11 13:57:35 -05:00
Jonathan Rainville
7ddb93266b fix: chatLayout getting squished on first login 2021-01-11 13:57:35 -05:00
Jonathan Rainville
29a9ca4ef5 refactor: use getNickname function for nicknames fetches 2021-01-11 13:57:35 -05:00
Richard Ramos
78e7fa380c feat: display a community's member list 2021-01-11 13:57:35 -05:00
Jonathan Rainville
f17bc199b5 fix group popup and up status-go 2021-01-11 13:57:35 -05:00
Richard Ramos
019f558308 ui: edit community 2021-01-11 13:57:35 -05:00
Richard Ramos
6be81c4575 ui: community popup 2021-01-11 13:57:35 -05:00
Richard Ramos
04845e3a8e fix: channel/communities list height depending on search string 2021-01-11 13:57:35 -05:00
Richard Ramos
2ed3261170 Minor UI changes for communities 2021-01-11 13:57:35 -05:00
Jonathan Rainville
2d3a870f60 wip community invitatations and more 2021-01-11 13:57:35 -05:00
Jonathan Rainville
ce3252fb8f wip community 2021-01-11 13:57:35 -05:00
Jonathan Rainville
89da5dd923 feat: open links in user request browser with modal 2021-01-04 15:29:23 -05:00
Jonathan Rainville
bc515d2627 fix: fix chat reply color and size 2021-01-04 15:29:10 -05:00
Pascal Precht
f9b7d9dfc9 refactor: make use of Qt.locale 2021-01-04 15:16:37 -05:00
Pascal Precht
eca5622439 feat: introduce Utils.formatDateTime
We already have a utility function to format time, this one formats date + time
and is used in status updates as well as channel lists.
2021-01-04 15:16:37 -05:00
Pascal Precht
0767ce2443 feat: introduce timeline
Closes #1489 #1490 #1491
2021-01-04 15:16:37 -05:00
Jonathan Rainville
825097f007 feat: add channel switcher when hitting CTRL+K 2020-12-30 15:01:51 -05:00
Jonathan Rainville
6afe9088e9 fix: show notification if the window isn't focused 2020-12-28 14:29:54 -05:00
Pascal Precht
ad8f713f1d fix(StatusChatInput): fix sending messages by adding missing parameter to sendMessage 2020-12-22 15:13:24 -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
Pascal Precht
8a1a265036 fix(StatusUpdate): ensure hover effect is working properly
This commit introduces some `MouseArea`s so components inside the
`StatusUpdate` component cancel it out by having a higher `z`.

Also, in some cases we need to conditionally set the `root.hovered` property
to ensure the values get inverted correctly, otherwise it causes undesired
flicker effects.
2020-12-21 14:14:48 -05:00
emizzle
6a0a75888b feat: whitelist gifs (no url extension needed)
Fixes #1377.
Fixes #1479.

Two sites have been added to the whitelist: giphy.com and tenor.com.

`imageUrls` in its entirety has been removed and instead all links are being handle through the message `linkUrls`. This prevents double-handling of urls that may or may not be images.

The logic to automatically show links previews works like this:
1. If the setting "display chat images" is enabled, all links that *contain* ".png", ".jpg", ".jpeg", ".svg", ".gif" will be automatically shown. If the URL doesn't contain the extension, we are not downloading it. This was meant to be somewhat of a security compromise as we do not want to download each and every link posted in a message just to find out its true content type.
2. If the above setting is *disabled*, then we follow the whitelist settings for tenor and giphy. This allows us to preview gifs that do not have a file extension in their url.

feat: bump status-go to the commit that supports the new whitelist (https://github.com/status-im/status-go/pull/2094), and also lets us get link preview data from urls in the whitelist. NOTE: this commit was branched off status-go `develop`, so once it is merged, and we update this PR to the new commit, we will effectively be getting status-go develop changes. We *could* base that status-go PR off of master if it makes things easier.

fix: height on settings update issue

feat: move date/time of message below links

fix: layout issues when changing setting `neverAskAboutUnfurlingAgain`

feat: Add MessageBorder component to aid in showing rounded corners with different radius
2020-12-21 14:14:32 -05:00
Jonathan Rainville
4f2a1b5e73 fix: fix scroll going back down when hitting images 2020-12-18 15:39:16 -05:00
Jonathan Rainville
d01c9fef79 feat: add profile pic support 2020-12-17 16:44:25 -05:00
Michael Bradley, Jr
b524c3b423 fix: restore z-index to root Item of ChatText.qml 2020-12-16 09:16:50 -05:00
Pascal Precht
344880b3a3
fix: remove explicit properties in usernamelabel 2020-12-14 14:18:46 +01:00
Pascal Precht
743858837a uiux(StatusUpdate): add separator and fine-tune margins 2020-12-14 12:36:49 +01:00
Pascal Precht
8cd95d5bfd feat: introduce StatusUpdate component
This is a new MessageComponent type that will be used in the timeline status updates
view.
2020-12-14 12:36:49 +01:00
Pascal Precht
bb6bcc640a chore(MessageContextMenu): ensure chat tab is activated when attempting to send message
This is needed when accessing the context menu from the timeline status updates.
Previously, it'd only change the active channel because it assumed the user is already
in the chat view. This is no longer the case when in timeline view, so we need to make sure
we first navigate to the chat view.
2020-12-14 12:36:49 +01:00
Richard Ramos
4d2e396b7f fix: display transaction data 2020-12-11 14:04:25 -05:00
Richard Ramos
a901351e7e fix: chat reply width when content is smaller than author 2020-12-11 13:56:04 -05:00
Richard Ramos
5ad54b057b fix: missing username 2020-12-11 13:47:51 -05:00
emizzle
5953031bfc fix: YouTube unfurling
YouTube link unfurling was not working for a couple reasons.

There were two main parts fixed:
1. QML context for messages pertaining to linkUrls and imageUrls was changed from implicit to explicit. By this, I mean that any time we referenced linkUrls/imageUrls, we were relying on the knowledge that those values would be populated by some parent context several levels up. Now, we are referring to properties that have been explicitly defined on the components. This offers the ability to reuse components, and makes reading the code and debugging much easier.
2. Error handling has been added to getting link preview data. An unhandled "error" was thrown each time a link that wasn't whitelisted was passed in, causing the app to crash. For example, when a link to a tenor gif was posted in the chat, that URL was not whitelisted, causing the app to crash.
2020-12-10 14:45:48 -05:00
Pascal Precht
c9f7928956 fix(Usernamelabel): ensure message time is positioned correctly 2020-12-10 12:30:31 +01:00
Pascal Precht
e11139df12 feat: make UserNameLabel render local nick names and ENS names
In timeline status update messages we want to render the ENS name next to a
local nickname in case it exists. This commit extends the `UsernameLabel` to do
just that.

Closes #1488
2020-12-10 12:30:31 +01:00
Pascal Precht
066fd9f7e5 feat: allow message context menu to render emojis only
Closes #1492
2020-12-10 12:30:31 +01:00
Pascal Precht
2baf56f505 refactor(Chat): move suggestions ListModel into StatusChatInput
StatusChatInput was relying on the suggestions ListModel, even though there was
no guarantee that it would exist. This is more apparent when using the component
in different context (e.g. Timeline/Status Updates). QML will throw a reference
error in this case.
2020-12-10 12:30:31 +01:00
Pascal Precht
9745205302 refactor(Chat): move send message logic out of status chat input
`StatusChatInput` ideally shouldn't rely on chatsModel and other global
objects at all. Also, when using the component in different places, it can cause
accidental sending of message when testing the component (because all the logic is already
wired up)
2020-12-10 12:30:31 +01:00
Richard Ramos
b0829a4615 fix: account selector in browser 2020-12-09 14:19:26 -05:00
Jonathan Rainville
08a7baed8f feat: add OS notification and setting to switch back 2020-12-09 14:19:16 -05:00
Richard Ramos
ae30d04010 refactor: ProfileView 2020-12-08 17:01:22 -05:00
Richard Ramos
426fe504b4 refactor: move generateIdenticon to utils 2020-12-08 17:01:14 -05:00
Richard Ramos
ae83818eed refactor: chats view
Extract private groups, reactions, stickers and transactions procs to individual view files
2020-12-08 17:01:14 -05:00
hydrogen
3951d0fff5 fix: ensure cursor is changed when hovering a link 2020-12-08 17:00:06 -05:00