Commit Graph

479 Commits

Author SHA1 Message Date
Iuri Matias 18fdd3f60b destroy notification windows after closing 2020-07-16 10:55:42 -04:00
Jonathan Rainville 262941e839 feat: add space between the last chat and the chat input 2020-07-16 10:32:27 -04:00
Jonathan Rainville 851eb82026 feat: make channel list compact in compact mode 2020-07-16 10:32:27 -04:00
Jonathan Rainville 36f230e03d feat: add saved setting for Compact mode 2020-07-16 10:29:29 -04:00
Jonathan Rainville 5951fcf131 feat: refactor Message and add Compact message type 2020-07-16 10:29:29 -04:00
decanus a0c5f8624c does some fixes in the history tab 2020-07-16 14:19:54 +02:00
Iuri Matias c5410b6536 remove leftover condition 2020-07-15 16:05:35 -04:00
Jonathan Rainville 7d178b355e feat(chat): add image support
This commit adds support for rendering images by detecting
image URLs inside of a message and attaching them to their
corresponding message bubble.
2020-07-15 16:05:35 -04:00
emizzle 69ba3c4468 feat: add support for purchased sticker packs 2020-07-15 15:53:48 -04:00
emizzle ac7deb3af0 feat: Un/install free sticker packs in sticker market
Sticker pack details retreived from contract:
 - pack data decoded from contract response
 - data contains contentHash which, once decoded, contains an IPFS identifier
 - futher pack data in EDN format is downloaded from IPFS
 - the EDN info is decoded in to a StickerPack

List of available packs from contract are obtained separately from list of installed contracts (stored as a setting in Status-go).

Sticker market contains dynamic list of sticker packs. The sticker button shown for each pack has all states defined (in the design) for all UI states (ie bought, free, installed, pending, etc)

Add modal popup showing sticker pack details and list of stickers to be un/installed. Contains a "larger" version of the sticker pack button with many differnt UI states defined.

Uninstallation of a sticker pack removes those sticker pack's stickers from the recent sticker list and persists the list

Simplify the view model by including stickers, instead of setting an "activeStickerPackId" property. This allowed for display of sticker pack stickers to be displayed in the modal popup separately from the sticker packs shown in the market.
2020-07-15 15:53:48 -04:00
Dean Eigenmann 6521573b51 Update Message.qml 2020-07-15 16:02:30 +02:00
decanus c840c7374c fixes some color errors 2020-07-15 11:46:12 +02:00
Iuri Matias 7d7bac5fb6 add notifications support
first attempt

attempt 2

working notifications

add notification sound

cleanup

remove unneeded imports

remove unneded imports
2020-07-14 14:23:40 -04:00
Richard Ramos 19f358ef9c fix: md format 2020-07-14 13:30:40 -04:00
Richard Ramos ceb5873272 show date headers, and fix sending replies only when they are enabled 2020-07-14 13:10:14 -04:00
Iuri Matias 221d3b9628 center in first available monitor to avoid issues with dual monitors 2020-07-14 12:54:54 -04:00
Jonathan Rainville 92f5a9ca5c feat: add dark theme colors and new properties for it 2020-07-14 12:37:17 -04:00
Richard Ramos 938b1ead15 fix: center window in screen 2020-07-14 12:00:28 -04:00
Richard Ramos 06efb531cb feat: adds QML debounce library 2020-07-14 11:56:44 -04:00
Dean Eigenmann 2bfdedbed7 Update DevicesContainer.qml 2020-07-14 16:04:41 +02:00
Richard Ramos a342192f43 fix: code review 2020-07-10 20:09:15 -04:00
Richard Ramos 649023bacf feat: support message replies 2020-07-10 20:09:15 -04:00
Iuri Matias e82dbfb7c6 add /shrug and /tableflip cmds
add /shrug and /tableflip cmds

fix
2020-07-10 15:56:05 -04:00
Jonathan Rainville 25ac69b37c fix: fix message width by using the plainText 2020-07-10 15:54:48 -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 c00843c94c chore: remove useless console log 2020-07-10 15:39:56 -04:00
Jonathan Rainville 1b3314ea9a fix: fix chat input size and postiion 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 bcee0079e5 fix: change sticker background to white 2020-07-10 15:39:56 -04:00
Jonathan Rainville 3d19e9ed74 feat: add profile popup for the empty chat view 2020-07-10 15:39:56 -04:00
Jonathan Rainville b3b7047fe1 feat: add invite friends modal 2020-07-10 15:39:56 -04:00
Jonathan Rainville ff2ed712f2 feat: improve Copy button to copy directly and have an active state 2020-07-10 15:39:56 -04:00
Jonathan Rainville 33d639b071 feat: fix walkie talkie image and add text with links 2020-07-10 15:39:56 -04:00
Jonathan Rainville 284572898a feat: add view when clicking the X on the EmptyView 2020-07-10 15:39:56 -04:00
Jonathan Rainville fc80e1e1ac feat: add section for friend in contact column 2020-07-10 15:39:56 -04:00
Jonathan Rainville 95d2e01a3f chore: add missing file in the sources of pro and add translations 2020-07-10 15:39:56 -04:00
Iuri Matias 4ffae4519f fix audio qml tags 2020-07-10 15:27:26 -04:00
Iuri Matias 91cf1682b1 put sounds on top level to avoid duplicated sound channels 2020-07-10 15:27:26 -04:00
Richard Ramos 7b82f52fac fix: show replies and do not trigger an activeChannelChanged event on init 2020-07-09 12:01:32 -04:00
Dean Eigenmann 9a67330a47
Update qml_en.ts 2020-07-09 17:27:00 +02:00
Pascal Precht 17db2f4056 feat(chat): show "@" when logged in user has been mentioned in channel
Closes #516
2020-07-09 11:12:26 -04:00
Richard Ramos 4ee0d78cb6 feat: using threads for resolving ENS usernames 2020-07-08 13:53:21 -04:00
Richard Ramos 93d420758f feat: device pairing 2020-07-08 13:53:04 -04:00
Pascal Precht 75e3e10f58 feat(chat): open user profile from mentions
Closes #455
2020-07-08 13:12:31 -04:00
Jonathan Rainville 9c637fdd43 feat: show literal text instead of ids + script fixes 2020-07-08 12:37:41 -04:00
Jonathan Rainville fc325bd91a chore: run lupdate to update translation file to the IDs 2020-07-08 12:37:41 -04:00
Jonathan Rainville 1eb1d3d41c chore: run transform script to change qstr to qstrid 2020-07-08 12:37:41 -04:00
Pascal Precht a578a40c98 fix(onboarding): don't expect component handler to return function 2020-07-06 14:17:47 -04:00
Richard Ramos f16ee322e1 fix: code review 2020-07-06 14:17:19 -04:00
Richard Ramos 5ee3c6938f feat: Advertise device 2020-07-06 14:17:19 -04:00
Richard Ramos a4b9eedd5e feat: set device name 2020-07-06 14:17:19 -04:00
Iuri Matias 49e76d17bf use SVGimage for emojis 2020-07-06 13:59:47 -04:00
Jonathan Rainville 4c2e50ae47 fix: fix wrong emoji being posted for flags and the emojis not elliding 2020-07-06 13:59:47 -04:00
Jonathan Rainville 6e8c371063 feat: enable adding the clicked emoji to the chat input 2020-07-06 13:59:47 -04:00
Jonathan Rainville 8aa8474cb1 feat: add emoji button and style them to have the hover and right color 2020-07-06 13:59:47 -04:00
Jonathan Rainville 4371e37b27 feat: show the all the emojis in the popup 2020-07-06 13:59:47 -04:00
Richard Ramos 3072ec83f9 fix: remove animation causing CPU usage to increase 2020-07-03 14:03:57 -04:00
Jonathan Rainville 0f9a79e214 feat: save and get appearance from the settings 2020-07-03 09:59:14 -04:00
Jonathan Rainville 881f6dbe80 feat: enable changing theme from the profile settings 2020-07-03 09:59:14 -04:00
Jonathan Rainville a529d729ea feat: change Theme to Style to enable changing Theme 2020-07-03 09:59:14 -04:00
Richard Ramos 5b3f077fa9 feat: bundle resources
- Update linux build to package resources
- Refactor macOS packaging re: resources.rcc
2020-07-03 09:59:00 -04:00
Richard Ramos 64452e71b9 feat: Determine if a message was sent 2020-07-02 11:57:48 -04:00
Jonathan Rainville 7eb44366da fix: fix onboarding to go back to the right screen on close 2020-07-02 11:45:31 -04:00
Jonathan Rainville 90011710ec fix: fix login to show the confirm modal at the right time 2020-07-02 11:45:31 -04:00
Jonathan Rainville e378d94ca8 feat: show dialog for send errors and success 2020-07-02 11:41:11 -04:00
Jonathan Rainville 81e7dffaa2 feat: make token send and eth send work 2020-07-02 11:41:11 -04:00
Jonathan Rainville 19f8f8e457 feat: add validation on amount and show current balance 2020-07-02 11:41:11 -04:00
Jonathan Rainville 70fdcb85c6 feat: add asset selector in send modal 2020-07-02 11:41:11 -04:00
Jonathan Rainville d90c9ba882 fix: use normal Inter for normal text and StatusInter for addresses 2020-07-02 10:51:57 -04:00
Richard Ramos a63da4889b fix: hour format and show timestamp on messages 2020-07-02 10:47:08 -04:00
Richard Ramos f191f7fe8b feat: Support status-tag to join a public channel if mentioned in the message list 2020-07-02 10:33:33 -04:00
Iuri Matias 9935d349c4 play sounds when a message is sent or an error occurs 2020-07-02 10:31:10 -04:00
Richard Ramos 961139e778 feat: start chats with ENS usernames 2020-06-30 16:21:21 -04:00
Iuri Matias 4fe19e8130 use username or ens name instead of old hardcoded value
use username or ens name instead of old hardcoded value

return false
2020-06-30 14:35:32 -04:00
Richard Ramos bbd51cdcfe Use twemoji.js 2020-06-30 14:35:14 -04:00
Richard Ramos 2af0b0bc6a feat: adds emoji contentType support 2020-06-30 14:35:14 -04:00
Iuri Matias 7440b5beb1 add missing var 2020-06-30 12:30:40 -04:00
Iuri Matias 716258156e feat(Chat): display clickable links, sanitize them and XSS protect
Closes #458
2020-06-30 12:30:40 -04:00
Richard Ramos 6d6f67476b fix: double "login" event being emitted by login / onboarding 2020-06-30 12:20:22 -04:00
Pascal Precht 0bb08fc852 feat(ProfilePopup): implement copy-to-clipboard button
Closes #282
2020-06-30 12:13:44 -04:00
emizzle 88e5f1a46d feat: Add recent stickers to stickers popup 2020-06-30 11:24:56 -04:00
Jonathan Rainville cd061895c2 fix: fix a couple of warning with the send modal 2020-06-29 13:39:22 -04:00
Jonathan Rainville 76f12c20f7 feat: add validation to send form 2020-06-29 13:39:22 -04:00
Jonathan Rainville 0df6bc134d feat: add icon to select and add address to send modal 2020-06-29 13:39:22 -04:00
Jonathan Rainville 0bbb72a994 feat: enable changing the values of a select and add account to send 2020-06-29 13:39:22 -04:00
Jonathan Rainville 4f4eff0ee8 feat: improve Select component to have a selected text 2020-06-29 13:39:22 -04:00
Jonathan Rainville 6d77c81048 refator: change send modal to use the shared component 2020-06-29 13:39:22 -04:00
Richard Ramos 0e5d6225f0 fix: pressing enter on chat input 2020-06-29 13:07:50 -04:00
Iuri Matias 6e9ce3b250 disable browser, wallet, node tabs by default; add warning checkbox to intro screen 2020-06-26 11:37:59 -04:00
Iuri Matias 3550e63a86 fix channel suggestions list 2020-06-25 18:34:05 -04:00
Iuri Matias 20e0f2c625 add alpha warnings 2020-06-25 17:26:46 -04:00
Jonathan Rainville 8cb8395ceb feat: check password before saving a new account
Also shows the error if there is one when adding.
Should show a loading state too, but it doesn't work because the Nim function freezes the QML
2020-06-25 16:41:28 -04:00
Richard Ramos 8e21a1b8b3 fix: word wrap + breaklines 2020-06-25 16:33:16 -04:00
Richard Ramos bcec11c432 fix: message scrollbar 2020-06-25 16:26:21 -04:00
Iuri Matias d84c16bc63 fix radius 2020-06-25 16:13:17 -04:00
Iuri Matias e859250501 fix other blurry images on hdpi screens
fix other blurry images on hdpi screens

fix image size

ensure plist has high res directive

addd directive to info runner
2020-06-25 16:13:17 -04:00
Richard Ramos 14cd79a415 feat: support ctrl + enter in chat input 2020-06-25 15:54:32 -04:00
Jonathan Rainville 902b23c0ee fix: fix profile buttons 2020-06-25 15:48:37 -04:00
Jonathan Rainville d775abb9ab fix: ProfilePopup by changing image fit 2020-06-25 15:48:37 -04:00
Iuri Matias 649d0a2149 get collectibles when requested instead of at login 2020-06-25 15:47:37 -04:00
Jonathan Rainville 6cf5468920 fix: fix add account button that was positioned absolutely 2020-06-25 11:13:02 -04:00
Pascal Precht 89da127468 feat(Onboarding): validate mnemonic when importing seed phrase
Closes #395
2020-06-25 11:11:25 -04:00
Jonathan Rainville 61d62eea79 fix: fix handle being to ugly and channel list interfering with handle 2020-06-25 11:02:35 -04:00
Jonathan Rainville 9683b7a79e feat: enable saving app settings like the SplitView state 2020-06-25 11:02:35 -04:00
Jonathan Rainville 02d915cb50 chore: up import version and fix SplitViews 2020-06-25 11:02:35 -04:00
Richard Ramos e8858f25ba feat: Replace pubkeys by alias/ens in group system message 2020-06-25 10:33:43 -04:00
Richard Ramos 21af287654 feat: support message formatting 2020-06-25 10:29:44 -04:00
Pascal Precht 36ded19dff ui(Wallet): render asset icons in transaction list items
Closes #405
2020-06-25 10:28:23 -04:00
Jonathan Rainville 7e70a37bf9 remove useless console log
Co-authored-by: RichΛrd <info@richardramos.me>
2020-06-25 10:27:51 -04:00
Jonathan Rainville fab4029318 feat: add validation on the create password form 2020-06-25 10:27:51 -04:00
emizzle 847eb2623f feat: add sticker popup
Add sticker popup
Add send sticker message
Add ability to select sticker pack and show stickers for pack with scroll

1. Sticker history
2. Install sticker packs
3. Sticker market

1. Sticker packs are installed on app start up until installation of sticker pack functionality is added
2. Optimisations such as preloading images to be done so that sticker images are not downloaded each time.
2020-06-25 10:27:26 -04:00
Pascal Precht 6a49070431 fix: fix timestamp formatting in chat list
Closes #396
2020-06-24 18:02:35 -04:00
Richard Ramos 6d1d66c2eb fix: SVG images blurryness 2020-06-23 18:52:54 -04:00
Richard Ramos 81b103b0eb fix: code review 2020-06-23 18:52:54 -04:00
Richard Ramos 637484bd79 feat: show qr codes 2020-06-23 18:52:54 -04:00
Richard Ramos 55fbd4b0fe fix: make the identicons sharp 2020-06-23 14:45:21 -04:00
Richard Ramos acecafbf83 fix: read missing functions 2020-06-23 14:25:38 -04:00
Iuri Matias 578277452a display if user is contact or not in the topbar 2020-06-23 13:43:39 -04:00
Pascal Precht 74cb71295e feat(settings): introduce moodal to back up seed phrase
Closes #345
2020-06-23 13:35:33 -04:00
Jonathan Rainville c6a1e3d453 fix: fix images with wrong color in the wallet menus and center them 2020-06-23 07:18:30 -04:00
Jonathan Rainville dffabb00fb feat: add validation to account settings 2020-06-23 07:09:18 -04:00
Jonathan Rainville 17755eadb9 feat: add validation to generate account 2020-06-23 07:09:18 -04:00
Jonathan Rainville 051eeea3df feat: add validation to seed modal 2020-06-23 07:09:18 -04:00
Jonathan Rainville 300caf22a2 feat: add validation to private key and watchonly modal 2020-06-23 07:09:18 -04:00
Jonathan Rainville ad2a318c85 feat: add validationError prop on Input and use it in privateChatPopup 2020-06-23 07:09:18 -04:00
Richard Ramos 4517b5bd28 feat: login animation 2020-06-23 07:04:52 -04:00
Richard Ramos 80b8d8f478 feat: add members to existing group chat and fix group position on chat list 2020-06-22 15:27:28 -04:00
Richard Ramos e1d72ef057 fix: leaving a group after joining, and ignoring user address on member list 2020-06-22 15:23:27 -04:00
Richard Ramos 33b3c4dc97 fix: manage contacts without systemTag 2020-06-22 15:21:13 -04:00
Jonathan Rainville af2584c53c fix: fix missing import for the Theme 2020-06-22 15:15:54 -04:00
Jonathan Rainville 6c050bf381 fix: channel chatType being a string instead of an int 2020-06-22 14:58:51 -04:00
Iuri Matias a6493725b6 support removing contacts
support removing contacts

support removing contacts
2020-06-22 14:50:39 -04:00
Michael Bradley, Jr ce7e6b8d51 chore: refactor Linux and macOS build/packaging steps
Replaces PR #105.

Implement a `pkg-macos` target that ultimately results in `Status.dmg` being
written to `pkg/`. Due to [limitations][limits] of the OpenSSL `.dylib`s in
`/usr/lib/` on macOS, `libssl.a` and `libcrypto.a` are statically linked into
`bin/nim_status_client` from a [Homebrew][brew] "bottle" that is compatible
with macOS 10.13 (the oldest macOS version compatible with Qt v5.14).

`pkg-macos` creates an `.app` bundle layout in `tmp/macos/dist` based partly on
information in a very helpful [StackOverflow answer][so-answer]. Note the part
of the answer (toward the end) that explains a problem with the working
directory and how to fix it. That's the reason for the `nim_status_client.sh`
script introduced in this commit (it gets copied into the bundle). It's also
the reason for having `Info.plist` copied into the bundle before `macdeployqt`
is run (see below) and then overwriting it with `Info.runner.plist` before
creating the `.dmg` file. The app icons file `status-icon.icns` was taken from
`deployment/macos/` in the [status-react][sr] repo.

The [`macdeployqt`][macdeployqt] tool is used to copy the needed portions of Qt
into the bundle; it automatically updates `rpath`, etc. so the
`nim_status_client` executable in the bundle can locate the libs within the
bundle.

`macdeployqt` is run twice, for the "outer" and "inner" `.app` bundles,
because of an apparent bug in `macdeployqt` that results in QtWebEngine related
resources not being processed correctly on the first pass. This results in some
bloat in the final bundle but it seems unavoidable at present.

The [create-dmg][cdmg] tool is used to package the bundle into a `.dmg`
file. There are two reasons for this:
1. It produces a nice looking icon for the `.dmg` that overlays the Status logo
on an external disk icon.
2. `Info.plist` needs to be overwritten after running `macdeployqt` (see
explanation above) but before creating the `.dmg` file. If we passed the `-dmg`
cli option to `macdeployqt` to have it generate the `.dmg` file then it
wouldn't be possible to overwrite `Info.plist`.

So there is a cosmetic reason and a practical reason for using another
tool. Probably the biggest downside is that `create-dmg` is implemented in
Node.js so it needs to be installed with `npm`; that's the reason this commit
introduces `package.json`, etc. Note that zero code from `node_modules` ends up
in the `.app` bundle or the `.dmg` file.

Code signing of the macOS `.app` bundle and `.dmg` is attempted if the
environment variable `MACOS_CODESIGN_IDENT` is defined. In that case, the
environment variable `MACOS_KEYCHAIN_OPT` may optionally be defined with the
path to a preferred keychain database file.

Refactor a number of sections in the Makefile for consistency's sake, e.g. the
`appimage` target becomes `pkg-linux` and ultimately results in
`NimStatusClient-x86_64.AppImage` being written to `pkg/`.

Make a number of changes to bring the Linux packaging steps up-to-date and use
the `-qmlimport` cli option of `linuxdeployqt` to simplify resolution of Qt
plugins.

Note that `make pkg` will correctly resolve to `make pkg-linux` or `make
pkg-macos` depending on the OS in use.

Consistently use lower-case "c" in the name of *components* directories and
imports.

[limits]: https://developer.apple.com/forums/thread/124782
[brew]: https://brew.sh/
[so-answer]: https://stackoverflow.com/a/3251285
[sr]: https://github.com/status-im/status-react/tree/develop/deployment/macos
[macdeployqt]: https://doc.qt.io/qt-5/macos-deployment.html
[cdmg]: https://github.com/sindresorhus/create-dmg
2020-06-22 10:53:57 -05: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
Jonathan Rainville f2a573bf53 add translation files to the pro file 2020-06-19 14:36:14 -04:00
Jonathan Rainville a31fde5e5a feat: add one translation 2020-06-19 14:36:14 -04:00
Jonathan Rainville 5dacb89822 feat: add base for translations 2020-06-19 14:36:14 -04:00
Jonathan Rainville bae8e44f37 fix: fix long texts to wrap correctly in chat bubble 2020-06-18 17:09:56 -04:00
Jonathan Rainville 21afaf4ea4 fix: fix channel text with break lines and add default props 2020-06-18 17:09:56 -04:00
Jonathan Rainville 98d4c7ef1e feat: add id to the collectible 2020-06-18 16:47:24 -04:00
Jonathan Rainville 3e152e5d35 feat: show collectibles in the Collectibles tab 2020-06-18 16:47:24 -04:00
Jonathan Rainville 810831e41e fix: fix token list having a space when using the filter 2020-06-18 13:55:54 -04:00
Jonathan Rainville 5c63adb0ad refactor: change token settings to the ModalPopup component 2020-06-18 13:55:54 -04:00
Pascal Precht 7d5ea12095 feat(chat): implement clearing chat history
Closes #148
2020-06-18 13:46:05 -04:00
Iuri Matias 719d66b332 update qml imports 2020-06-18 11:02:11 -04:00
Iuri Matias 0ad64cc5de update qml imports 2020-06-18 11:02:11 -04:00
Iuri Matias 1cacc8cf88 support enabling/disabling tabs in the advanced settings
support enabling/disabling tabs in the advanced settings

use qstr
2020-06-18 10:28:43 -04:00