Commit Graph

5222 Commits

Author SHA1 Message Date
Jonathan Rainville 4bd70b2ce7 chore: re-run scripts 2020-07-21 11:09:00 -04:00
Richard Ramos 9c9abe8ef9 fix: add and handle RpcExceptions for wallet functions that would not allow login when offline 2020-07-21 10:47:10 -04:00
Richard Ramos 0278379495 fix: allow resending older expired messages 2020-07-21 10:19:12 -04:00
Richard Ramos f9335c0969 feat: retry sending messages 2020-07-21 10:19:12 -04:00
Richard Ramos f3f0e39131 fix: gostring 2020-07-20 10:53:58 -04:00
Richard Ramos d59f11f1be feat: update nim-status 2020-07-20 10:19:36 -04:00
Dean Eigenmann ca92fa03d8 Update EmptyView.qml 2020-07-20 15:59:42 +02:00
decanus fe3706defc fixes the seperator color to match 2020-07-20 15:59:42 +02:00
decanus 90f7570b4e updates 2020-07-20 14:50:21 +02:00
decanus ec0b0dc327 fixes empty view background 2020-07-20 14:50:21 +02:00
Michael Bradley, Jr 29e74b6b3f build: implement packaging steps for the Windows build
Implement a `pkg-windows` target that ultimately results in `Status.zip` being
written to `pkg/`.

Note: this commit does not introduce code signing for the Windows build since
that piece is still a work in progress.

`pkg-windows` creates a portable folder in `tmp/windows/dist` with the help of
[`windeployqt`][windeployqt], which copies the needed portions of Qt into the
folder.

Since DLL resolution is relatively inflexible, a launcher `Status.exe` is
created at the top-level of the folder; the launcher opens `bin/Status.exe`
while adding the portable folder's `bin/` to the `PATH`, allowing
`bin/Status.exe` to resolve the DLLs in that folder.

A few additional tools need to be installed (e.g. with [scoop][scoop]) and
availble in `PATH`:
* 7-zip
* dos2unix (provides unix2dos)
* findutils
* go
* rcedit
* wget

The above list builds on the tools list in PR #521, and the other requirements
and instructions in that PR's description still apply.

**Why not build an installer?**

When starting work on packaging for the Windows build, my initial plan was to
build an installer, and for that purpose I researched the [WiX Toolset][wix],
the [Qt Installer Framework][qtif], and some other options.

I found that building an installer is a bit complex. I then recalled, from
personal experience, that [Cmder][cmder]'s [Mini download][mini] is
installer-less. You simply unzip the download and place the `cmder_mini` folder
wherever you prefer. Such an approach was also recommended to me in one of the
Nim language's community chats.

In addition to being simpler, the installer-less approach also gives
installation of Status Desktop a lower profile than an installer-application
would since nothing is written to the Windows registry, added to the *Add or
remove programs* list, etc. I think that's a benefit given the privacy-security
focus of Status, but others may feel differently so please provide feedback on
this point!

[windeployqt]: https://doc.qt.io/qt-5/windows-deployment.html
[scoop]: https://scoop.sh/
[wix]: https://wixtoolset.org/
[qtif]: https://doc.qt.io/qtinstallerframework/index.html
[cmder]: https://cmder.net/
[mini]: https://github.com/cmderdev/cmder/releases/download/v1.3.15/cmder_mini.zip
2020-07-17 13:57:32 -05:00
Richard Ramos 449b8c0454 fix: open first chat on load 2020-07-17 13:23:18 -04:00
Richard Ramos 4fae0eb100 fix: capture RpcExceptions generated by stickers that would not allow login 2020-07-17 13:22:48 -04:00
Richard Ramos 74a38c671d feat: use nim-status instead of libstatus 2020-07-17 12:59:20 -04:00
Pascal Precht 1e39cf4821 feat(chat): implement mention auto complete
Closes #515
2020-07-17 12:31:20 -04:00
Jonathan Rainville 00f10f600a chore: update ts and qm translation files 2020-07-17 11:55:01 -04:00
Jonathan Rainville b829acb3c4 chore: re-run qstr converter 2020-07-17 11:55:01 -04:00
Jonathan Rainville bdc625ea17 fix code review comments 2020-07-17 11:55:01 -04:00
Jonathan Rainville eb87259234 docs: update tldr for the translation scripts readme 2020-07-17 11:55:01 -04:00
Jonathan Rainville a8f1dd3eaa doc: update readme to show new commands 2020-07-17 11:55:01 -04:00
Jonathan Rainville ad8c1e455c chore: add translations for all languages 2020-07-17 11:55:01 -04:00
Jonathan Rainville 19f82020ec chore: run xml script on the en translations 2020-07-17 11:55:01 -04:00
Jonathan Rainville 8860770356 feat: make the EN version just use the source translation 2020-07-17 11:55:01 -04:00
Jonathan Rainville 543123b5e7 feat: add basic xml translator 2020-07-17 11:55:01 -04:00
decanus b3a4903655 fix channel identifier color 2020-07-17 17:27:01 +02:00
Jonathan Rainville 0ab257d005 feat: make RectangleCorner a component and show images in compact 2020-07-16 11:49:13 -04:00
Jonathan Rainville 0e8bb2b136 fix: change text strings to qsTr
Co-authored-by: RichΛrd <info@richardramos.me>
2020-07-16 11:43:42 -04:00
Jonathan Rainville 66467ff070 fix: wallet ui errors
Fixes # 472
2020-07-16 11:43:42 -04:00
Iuri Matias 1e0e3fadd0 remove duplicated property 2020-07-16 11:38:00 -04:00
Richard Ramos fd88fd19d0 feat: display connected/disconnected status in the chat module 2020-07-16 11:38:00 -04:00
Iuri Matias f4601eb9bf update vendor 2020-07-16 11:22:32 -04:00
Richard Ramos 0af1c0c2f5 feat: enable opengl before creating qt app 2020-07-16 11:22:32 -04:00
Richard Ramos 805c27ea55 feat: determine if the device is connected or not 2020-07-16 11:07:57 -04:00
emizzle 15a860b2bb feat: Enable switching to testnet
Allow switching to Ropsten by flipping a toggle switch in Profile > Advanced settings.

When switching networks, note that installed stickers will be uninstalled, and recent stickers will be removed. Sticker packs can be reinstalled after login. Purchased sticker packs will not need to be re-purchased, but will need to be re-installed.

Mailserver fleet information will **not** be updated. This can be controlled by a separate (undeveloped yet) setting.
2020-07-16 10:59:31 -04:00
Iuri Matias 0aed036fa1 Update src/app/chat/view.nim
Co-authored-by: Eric Mastro <eric.mastro@gmail.com>
2020-07-16 10:55:42 -04:00
Iuri Matias 054d3579d7 only show notifications for new messages 2020-07-16 10:55:42 -04:00
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
Pascal Precht 07b757ddad Rely on parsedText to determine imageURLs 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 0a2ea90117 feat: Sticker decoding handles more hash cases
Some content hashes on ropsten did not have a normalised encoding metadata (first 4 bytes). These updates handle those cases correctly.
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