Commit Graph

2611 Commits

Author SHA1 Message Date
Loren Burkholder 70a4e1e265 Keep DBUS from blocking 2021-01-19 18:30:04 -05:00
Nicolas Werner 32a20a5f8c Simplify section handling a bit 2021-01-19 23:58:40 +01:00
DeepBlueV7.X 9192dc8ae5
Merge pull request #385 from trilene/master
Support webcams that report [min,max] frame rates
2021-01-19 23:40:16 +01:00
trilene 5ef837af6d Support webcams that report [min,max] frame rates 2021-01-19 15:24:25 -05:00
Nicolas Werner 5105d2cb96 Fix crash when persisting null relations 2021-01-19 14:21:04 +01:00
Nicolas Werner 74c9af0432 Fix presence unknown type warning 2021-01-19 03:16:59 +01:00
Nicolas Werner 7040be1d09 Fix kick translation 2021-01-18 13:25:27 +01:00
Nicolas Werner 42b08257ec Make read markers a bit less confusing 2021-01-16 13:54:56 +01:00
Loren Burkholder fef042f131 Remove unused file 2021-01-15 19:18:00 -05:00
Loren Burkholder b0c3fd5a7d Remove UserItem class 2021-01-15 19:17:29 -05:00
Nicolas Werner a42ac6c8c0 Update German translation 2021-01-15 16:03:30 +01:00
DeepBlueV7.X 061e4c1b09
Merge pull request #374 from trilene/master
Add call invite screen for mobile
2021-01-15 01:36:50 +01:00
Nicolas Werner 0567f669c2 Don't start in tray, if only minimize to tray is enabled
fixes #375
2021-01-14 13:56:22 +01:00
Nicolas Werner 024ffde08d Allow more font sizes to be selected
fixes #367
2021-01-13 02:02:00 +01:00
trilene ebe61701d9 Fix spurious call invite timeout 2021-01-12 15:16:59 -05:00
Nicolas Werner 31881e14d9 Make it easier to understand, what button to click for verification from profile 2021-01-12 15:00:59 +01:00
Nicolas Werner 81762119b9 Make device verification request dialogs easier to understand. 2021-01-12 15:00:59 +01:00
Nicolas Werner 2a19783f99 Fix timeline becoming corrupted on backfill
Fixes #273
2021-01-12 00:02:18 +01:00
Nicolas Werner 947e40bd70 Allow joins via other servers from a matrix: uri 2021-01-11 19:15:43 +01:00
DeepBlueV7.X d8fb5daac1
Merge pull request #370 from Nheko-Reborn/matrix-scheme
Handle matrix scheme
2021-01-10 23:29:30 +01:00
Nicolas Werner 39f9b7d90a Handle matrix scheme
Link opening only works on Linux for now.

See https://github.com/matrix-org/matrix-doc/pull/2312
2021-01-10 22:41:56 +01:00
trilene 3572c111f3 Fix call invite declined on another device 2021-01-10 12:23:58 -05:00
Nicolas Werner cc9de7f3b0 Fix some nulls in relations 2021-01-08 12:48:39 +01:00
trilene cf8a47503f Fix device discovery under GStreamer 1.16 2021-01-07 09:48:25 -05:00
trilene 9bbade37de Fix call answered on another device 2021-01-07 14:04:54 +01:00
trilene 2984d71971 Fix Qml control colors 2021-01-07 14:04:54 +01:00
trilene 07ac7b7e85 Port PlaceCall dialog to Qml 2021-01-07 14:04:50 +01:00
trilene 459c59901e Fix one-way video calls 2021-01-07 14:04:21 +01:00
trilene 7124024977 Make call invites less intrusive 2021-01-07 14:04:21 +01:00
trilene ac410f46f2 Move call-related properties to CallManager 2021-01-07 14:04:21 +01:00
Nicolas Werner 4e6df2edcb Fix notification reply build on other platforms 2021-01-07 11:21:10 +01:00
Nicolas Werner 4b4c321397 Allow inline replies from notifications on linux 2021-01-07 10:44:59 +01:00
Nicolas Werner f3b6e994d0 Remove useless capture 2021-01-06 11:24:35 +01:00
Nicolas Werner 0c0c69074d Fix shadowing in LoginPage.cpp 2021-01-06 11:01:41 +01:00
Nicolas Werner 3a41bb9fff Fix typing notifications flickering sometimes 2021-01-05 22:38:21 +01:00
Nicolas Werner a13502b881 lint 2021-01-01 04:14:34 +01:00
d42 b732ea432b rename login_method -> loginMethod to fit the Nheko coding style 2020-12-31 17:57:09 +01:00
d42 4bc25ffb15 find sso flow in all of the flows 2020-12-31 17:30:13 +01:00
Nicolas Werner 63f0d6bf27 Fix missing include on Windows 2020-12-28 23:34:42 +01:00
Nicolas Werner 391b1b3285 Fix #359
Actually store the login details under the selected profile
2020-12-27 22:56:54 +01:00
Nicolas Werner 525b319a94 lint 2020-12-25 19:20:25 +01:00
DeepBlueV7.X ea5f6ca0f4
Merge pull request #358 from Nheko-Reborn/windows-fixes
Windows fixes
2020-12-25 05:59:18 +01:00
Nicolas Werner 904cafcd39 lint 2020-12-25 04:11:47 +01:00
Loren Burkholder af52ceb387 Remove unused variable 2020-12-24 21:16:46 -05:00
LorenDB 53f45bdb1c Switch profile code to a more flexible method
This introduces a new version of SingleApplication as well.
2020-12-24 21:16:46 -05:00
Nicolas Werner 01e38d12ed Fix some compiler warnings 2020-12-25 00:08:06 +00:00
DeepBlueV7.X 45701b0896
Merge pull request #355 from Nheko-Reborn/ssss
Cross-signing with self and user signing keys
2020-12-18 15:20:11 +01:00
Nicolas Werner 3b900bdcd2 Fix unused capture 2020-12-18 14:35:41 +01:00
Nicolas Werner fac28bac1a Another shadowed variable 2020-12-18 04:42:24 +01:00
Nicolas Werner 02163636a6 Fix some shadow warnings 2020-12-18 04:21:51 +01:00
Nicolas Werner 15d8eb2b8b Update deps for keychain 2020-12-18 03:53:57 +01:00
Nicolas Werner 994c28ea95 Add download keys from secret storage 2020-12-18 03:04:18 +01:00
Nicolas Werner 9d2177afe2 Request secrets after verification 2020-12-17 03:16:06 +01:00
Nicolas Werner 9413f5b8e5 Upload cross-signing signatures after verification 2020-12-17 02:34:32 +01:00
Nicolas Werner 7b46aa2a6e Store secrets in keychain 2020-12-16 22:10:09 +01:00
Nicolas Werner 7f1f747203 Fix black cat emoji 2020-12-15 21:53:51 +01:00
Nicolas Werner 559ed57565 Fix crash when we don't have device keys cached 2020-12-15 18:59:08 +01:00
Nicolas Werner 74f17bdc60 Clean up encrypted message handling 2020-12-15 16:09:47 +01:00
Nicolas Werner 9825f1bbd0 Send SSSS requests 2020-12-15 15:48:33 +01:00
Nicolas Werner b8ce9d543d Fix scrolling the room list using touch 2020-12-15 00:17:56 +01:00
Nicolas Werner 7abeb1f1a4 React with arbitrary strings via /react 2020-12-13 16:23:04 +01:00
Nicolas Werner 65a4c85ed4 Don't sync db on every sync
This fixes some lag, when Nheko is running, which could affect Nheko and
even other applications by excessively calling fsync. This should be
fine, since all filesystems seem to guarantee order and in most cases,
the modified pages are still written. In the worst case we should only
lose the last /sync results or similar.
2020-12-13 01:29:35 +01:00
Nicolas Werner 77002f17c8 lint 2020-12-08 21:10:27 +01:00
Nicolas Werner 622a9f709b Merge branch 'gitlab-ci' into 'master'
Update .gitlab-ci.yml

See merge request nheko-reborn/nheko!1
2020-12-08 13:40:44 -05:00
DeepBlueV7.X 5aa2218006
Merge pull request #349 from LorenDB/iconFromTheme
Use system icon where applicable
2020-12-04 11:33:34 +01:00
Loren Burkholder de858ca80c Use system icon where applicable 2020-12-03 17:27:33 -05:00
Kirillpt 68b2f6cb4f
Improve Register page (#346)
* add username error label, add word wrapping for error labels

* make lint

* last commits

* remove font, and remove some lambdas

* add QRegularExpression for regex

* improve review things

* add isModified() for checkFields()

* add check isModified() for  all fields in checkFields

* Update src/RegisterPage.cpp

Co-authored-by: DeepBlueV7.X <nicolas.werner@hotmail.de>

* remove emit call for showError

Co-authored-by: DeepBlueV7.X <nicolas.werner@hotmail.de>
2020-11-30 22:30:33 +00:00
DeepBlueV7.X 95667edb14
Merge pull request #347 from kamathmanu/avatarFullViewSupport
Add support for viewing avatar images in full size
2020-11-30 21:25:42 +01:00
kamathmanu 69997a3d74 Lint code 2020-11-30 15:10:59 -05:00
kamathmanu 0edd75949b Lint code 2020-11-30 14:56:39 -05:00
kamathmanu e36b090c5b Add support for viewing avatar images in full size 2020-11-30 10:05:24 -05:00
Nicolas Werner c64887cfa8 Fix shadow variable 2020-11-30 01:54:53 +01:00
Nicolas Werner 2ce129e6b6 Properly share and rotate sessions on member and device changes 2020-11-30 01:54:53 +01:00
Nicolas Werner 2290ebcf78 Remove outbound session storage 2020-11-30 01:54:53 +01:00
Nicolas Werner c24f9a22a5 Load sessions lazily from db 2020-11-30 01:54:53 +01:00
Nicolas Werner 0cc4ab7f17 Add gitlab ci 2020-11-27 01:32:41 +01:00
Nicolas Werner b2387df411 SkipEmptyParts was only added in Qt 5.14 2020-11-26 23:59:14 +01:00
Nicolas Werner 202e3debe6 Remove unnecessary capture of this 2020-11-26 23:55:47 +01:00
kirillpt e6723884a7 fix encryption toggles 2020-11-27 00:55:39 +03:00
kirillpt 5a3905b337 change Toggle behavior 2020-11-26 23:45:44 +03:00
kirillpt f0eb4bfe1e fix validation feature in TextInput, it was trouble in password field in the login page 2020-11-26 22:04:24 +03:00
Nicolas Werner 233a8a5dad Fix variable shadowing 2020-11-26 16:09:53 +01:00
Nicolas Werner 90cae987fd Bump max dbs 2020-11-26 00:19:09 +01:00
Nicolas Werner c31b9e2793 Fix race when reading members from db 2020-11-25 23:54:25 +01:00
Nicolas Werner 7cda502edd Add some db logging and clean up avatar urls a bit 2020-11-25 23:54:25 +01:00
DeepBlueV7.X 140d927463
Merge pull request #339 from Kirillpt/issue_331
fix #331
2020-11-25 22:18:28 +01:00
DeepBlueV7.X 54d75466c7
Merge pull request #335 from Nheko-Reborn/qml-text-input
Qml text input
2020-11-25 21:59:23 +01:00
kirillpt 8b1bc6b35a fixed toggle weirdness in settings, after loads added setChecked for Toggles, and fix issues with startInTray 2020-11-25 22:05:10 +03:00
Nicolas Werner 08e9461611 Fix input focus when pressing reply button 2020-11-25 19:05:12 +01:00
Nicolas Werner c74077a41f Implement Qml drag and drop 2020-11-25 19:05:12 +01:00
Nicolas Werner bc93f24a22 Remove redundant user search suggestion code 2020-11-25 19:05:12 +01:00
Nicolas Werner 37df79f796 Show userid in completer 2020-11-25 19:05:12 +01:00
Nicolas Werner c07c326141 Linkify username completion 2020-11-25 19:05:12 +01:00
Nicolas Werner 7cf66ea4f3 Split completion model into header and source 2020-11-25 19:05:12 +01:00
Nicolas Werner 9c8850a46c Match on each word in the completer 2020-11-25 19:05:12 +01:00
Nicolas Werner 8922a47776 Fix completer fuzzy match not applying after prefix match and insert being broken 2020-11-25 19:05:12 +01:00
Nicolas Werner 29625ae253 Fix some issues with completer 2020-11-25 19:05:12 +01:00
Nicolas Werner c2eea5cb55 Fix mimetype of media messages 2020-11-25 19:05:12 +01:00
Nicolas Werner c8fa40a2df Use a trie for filtering completions (not fuzzy yet) 2020-11-25 19:05:12 +01:00
Nicolas Werner b47d2a809c Remove old Textinput 2020-11-25 19:05:12 +01:00
Nicolas Werner 094c0b09ab Qml emoji completer 2020-11-25 19:05:12 +01:00
Nicolas Werner 67dcc74c79 Simple prefix match for completions 2020-11-25 19:05:12 +01:00
Nicolas Werner ecc7759973 Custom completer filtering 2020-11-25 19:05:12 +01:00
Nicolas Werner add5903fb0 Working User completer 2020-11-25 19:05:12 +01:00
Jussi Kuokkanen a3c4fece7e add per-room user model 2020-11-25 19:05:12 +01:00
Jussi Kuokkanen 07259b9cb7 use completion interface in emoji completions 2020-11-25 19:05:12 +01:00
Jussi Kuokkanen 00bc87b550 add completer interface (item roles) 2020-11-25 19:05:12 +01:00
Jussi Kuokkanen 748bf0cd98 rename CompletionModel to CompletionProxyModel 2020-11-25 19:05:12 +01:00
Nicolas Werner cabeb1464c WIP Qml completer 2020-11-25 19:05:12 +01:00
Nicolas Werner d14a5f8067 Reimplement message history 2020-11-25 19:05:12 +01:00
Nicolas Werner 921379a4cc Send typing updates from QML 2020-11-25 19:05:12 +01:00
Nicolas Werner 82c441dddd Move emoji picker to qml 2020-11-25 19:05:12 +01:00
Nicolas Werner d1af1a8669 Move calls to new input bar 2020-11-25 19:05:12 +01:00
Nicolas Werner a31d3d0816 Add file uploading 2020-11-25 19:05:12 +01:00
Nicolas Werner 0bb4885632 Basic text input in qml 2020-11-25 19:05:12 +01:00
Nicolas Werner 7a74b86340 Pasteable textinput 2020-11-25 19:05:11 +01:00
kirillpt 041c01f3a4 made this: if Tray become disabled and startInTray was enabled, startInTray before blocks, goes disabled too 2020-11-25 19:31:03 +03:00
kirillpt c5419f8783 change \!disabled for enabled, because toggled return true if enabled 2020-11-25 19:05:31 +03:00
kirillpt 46605d86f2 maybe fix toggle work in code 2020-11-25 18:57:54 +03:00
DeepBlueV7.X b9dcdbcb81
Merge pull request #337 from trilene/master
Mitigate webrtc race condition
2020-11-25 02:40:31 +01:00
trilene 9a8a584fa8 Mitigate webrtc race condition 2020-11-24 20:18:13 -05:00
DeepBlueV7.X d13a1c6494
Apply suggestions from code review 2020-11-25 00:21:45 +01:00
DeepBlueV7.X ebe0cd79d7
Update src/ui/TextField.cpp 2020-11-25 00:10:13 +01:00
kirillpt 4e8a2d8c9e remove QFontMEtrics declaration 2020-11-25 02:03:25 +03:00
kirillpt daf8531e3f fixed error_label_ below login button, now it's calculating height and uses correct word wrapping 2020-11-25 01:42:35 +03:00
kirillpt 3047f1a89f remove some useless matrixid layout, and move error_label_ under homeserver input(FIXME) 2020-11-24 02:16:03 +03:00
kirillpt b00ee2c1c5 fix word wraping for matrixid error message 2020-11-24 00:24:26 +03:00
kirillpt 566987bdf9 make lint 2020-11-24 00:10:43 +03:00
kirillpt ac73f10eba move error_matrixid label below matrixid input, made hide/show for the label, made red underline for invalid input, add to TextField class isValid() setValid() for custom validation 2020-11-23 23:33:53 +03:00
kirillpt 4032f6e113 make lint 2020-11-23 09:44:30 +03:00
kirillpt 8a2cfddf7e Added QLabel for matrixIdError output and added new function which output input id error, improve code like suggest @deepbluev7, return for error_label setWordWrap 2020-11-23 09:44:02 +03:00
kirillpt ec34af3d85 make lint 2020-11-23 03:20:37 +03:00
kirillpt 89d28d3b69 fixed issue 292, but removed wordWrap from error_label_, because hint looks bad with it 2020-11-23 03:18:11 +03:00
Nicolas Werner 0afc55626a Fix tags and world buttons leaking as communities leaking over the network 2020-11-18 13:29:28 +01:00
Nicolas Werner 371e5a2991 Silence signal syntax deprecated 2020-11-15 17:12:46 +01:00
DeepBlueV7.X 4d9d049f2a
Merge pull request #325 from trilene/webrtc-video
Make incoming call ringtone a user setting
2020-11-13 18:15:35 +01:00
trilene ee543254e8 clang-format 2020-11-13 09:06:38 -05:00
trilene 8c037f83c5 Make incoming call ringtone a user setting 2020-11-12 19:55:35 -05:00
DeepBlueV7.X 9c4148cca3
Merge pull request #314 from MayeulC/smoothie-2
Smooth all the things [v2]
2020-11-12 14:04:06 +01:00
DeepBlueV7.X 27bf654d92
Merge pull request #320 from trilene/webrtc-video
Video calls: add local webcam view
2020-11-09 21:49:26 +01:00
trilene d391404b79 Video calls: add local webcam view 2020-11-09 10:51:17 -05:00
Mayeul Cantan 5f086cd93d Simplify PainterHighQualityEnabler code
There is no need to iterate over a list, flags can be applied and stored
simultaneously.
2020-11-07 13:54:06 +01:00
Mayeul Cantan 6219604ff8 Smooth avatars in widgets 2020-11-07 13:53:01 +01:00
DeepBlueV7.X c3524ba89b
Merge pull request #313 from MayeulC/shrug-text
Allow sending text after `shrug`
2020-10-31 23:16:52 +01:00
Mayeul Cantan a66046aaf0 Allow sending text after `shrug`
¯\_(ツ)_/¯ IDK, I like to write something after, sometimes

Allow sending:

¯\_(ツ)_/¯ some text

By entering:

/shrug some text

It's supported in Element. If you did it in nheko, you just used to lose the
extra text.

Not putting text is still supported, a ternary operator makes sure a
space is only inserted if the text isn't empty, to avoid having a trailing
space.
2020-10-31 23:13:11 +01:00
DeepBlueV7.X 5fb3d4ede8
Merge pull request #310 from MayeulC/fix-typo
Improve wording in multiple strings.
2020-10-31 22:28:40 +01:00
Mayeul Cantan eea7aecc04 Wording: replace "encrypted room" with "encrypted private chat"
This is for consistency with "Start a private chat", and is more
specific.
2020-10-31 22:23:55 +01:00
Mayeul Cantan bb1f2da4dc Wording: change "Mobile mode" for "Touchscreen mode"
This is less ambiguous. Moreover, this mode might be useful on a
computer touchscreen.
2020-10-31 22:23:55 +01:00
Mayeul Cantan 7564de4f70 Wording: change "trusted users" for "verified users"
This is less ambiguous, as it aligns with the other uses.

Trusted might refer to something else, like the reputation project.
You can trust a user you haven't verified.

Also mention devices as this shares keys with verified devices, for when device
verification was performed without cross-signing.
2020-10-31 22:23:55 +01:00
trilene 20d2c44329 Fix crash when stun server selected 2020-10-30 17:23:56 -04:00
Nicolas Werner 888d004764 Supress unused var warning for STUN_SERVER (used only if gstreamer supported) 2020-10-30 03:22:48 +01:00
DeepBlueV7.X b64e6e9cd5
Merge pull request #311 from trilene/webrtc-video
Support video calls
2020-10-30 03:21:14 +01:00
trilene b260e7eeee Unused variable 2020-10-29 20:13:34 -04:00
trilene a19c66b79f Remove unused variable 2020-10-29 19:47:09 -04:00
trilene 2838061f10 Avoid std::from_chars for now 2020-10-29 19:42:05 -04:00
trilene 51a559ab4a Document better rtp payload types 2020-10-29 19:17:10 -04:00
trilene c370dd8313 Avoid ugly error if pipeline creation fails 2020-10-29 18:57:09 -04:00
Joseph Donofry 0a004b87de
Fix clipboard image pasting crash on macos 2020-10-28 20:47:39 -04:00
trilene fd479a91be Merge remote-tracking branch 'upstream/master' into webrtc-video 2020-10-28 16:08:17 -04:00
Nicolas Werner 70f35de449 Don't pass around empty timeline 2020-10-28 13:06:28 +01:00
trilene b1300aff46 Fix crash on exit 2020-10-27 17:26:46 -04:00
Nicolas Werner e939a6b396 No roomid on leave 2020-10-27 22:03:33 +01:00
trilene d9ca5309ac Merge remote-tracking branch 'upstream/master' into webrtc-video 2020-10-27 15:29:53 -04:00
trilene d1f3a3ef40 Support video calls 2020-10-27 13:14:06 -04:00
Nicolas Werner 12fff7408e Optimize build 2020-10-27 17:45:28 +01:00
Nicolas Werner 3a0e55e97b Qml message input mockup 2020-10-26 21:34:34 +01:00
DeepBlueV7.X da085db6d6
Merge pull request #307 from LorenDB/ctrl-u
Delete text on Ctrl-U
2020-10-24 23:55:03 +02:00
Nicolas Werner 3d7bb22df4 Fix login 2020-10-24 18:07:14 +02:00
DeepBlueV7.X 592bf42640
Merge pull request #306 from LorenDB/master
Add option for separate profiles
2020-10-24 18:08:42 +02:00
LorenDB a2bd266c11 Add option for unique config 2020-10-24 11:50:13 -04:00
Nicolas Werner 3172811ca7 Add mobile mode which improves scrolling 2020-10-24 16:21:00 +02:00
Nicolas Werner 4797b9fa96 Fix infinite pagination properly now. 2020-10-23 19:42:23 +02:00
Nicolas Werner 1ab20e0ee3 Fix share keys setting not working 2020-10-23 16:59:46 +02:00
Nicolas Werner e537ece88d Reload message on m.room_key 2020-10-23 16:09:56 +02:00
Nicolas Werner 66445c507c Trade CPU usage for 30MB of members in RAM 2020-10-22 20:49:15 +02:00
LorenDB ce29bf00c7 Delete text on Ctrl-U 2020-10-21 22:18:51 -04:00
LorenDB 8a188ac6f7 Use QFontComboBox as per issue 238 (deleted comments)
Note: I have deleted commented code as per the suggestion of @utkarsh2102.
Note 2: I have fixed all the diffs, etc.
2020-10-21 17:57:29 -04:00
Nicolas Werner 911b461e5d Fix corrupt channel + add additional debugging 2020-10-20 21:35:49 +02:00
Nicolas Werner cea7f4574f Clean up key requests + autoreload 2020-10-20 19:46:37 +02:00
Nicolas Werner 983690c94f Share code for sending encrypted olm messages 2020-10-20 18:10:09 +02:00
Nicolas Werner aa9b453f81 Store timestamp with olm sessions 2020-10-20 13:46:05 +02:00
Nicolas Werner 1f68bc60b5 Actually forward keys using m.forwared_room_key 2020-10-18 02:02:14 +02:00
Nicolas Werner c25fd947a8 Automatic key sharing with trusted users 2020-10-18 00:52:35 +02:00
Nicolas Werner bd0deb7213 Fix crash on exit 2020-10-17 00:57:29 +02:00
Nicolas Werner bc7494473b Answer key requests for all our sessions 2020-10-17 00:12:26 +02:00
Nicolas Werner 62d0bdbb77 Fix small typo in robustness logic 2020-10-13 00:14:28 +02:00
Joseph Donofry 31c6857f19
Add some try...catch logic around read-only databases so nheko won't crash if the db doesn't exist 2020-10-09 12:32:21 -04:00
Nicolas Werner 392d7d5568 Try to fix windows build 2020-10-08 20:07:43 +02:00
Nicolas Werner 57a6c05eab More unused variables in bindings 2020-10-08 19:29:42 +02:00
Nicolas Werner 56ba7de501 Fix unused variable warnings on old compilers 2020-10-08 18:49:35 +02:00
Nicolas Werner 8ec76daeda Send master key in verification flow (if we trust it) 2020-10-08 18:30:31 +02:00
Nicolas Werner e5fb9a25ea Try to please the CI gods 2020-10-08 18:16:30 +02:00
Nicolas Werner 08d5a84cbd Fix issues with old qt and bump to 5.10 2020-10-08 17:26:07 +02:00
Nicolas Werner 99ba1f17d3 Merge remote-tracking branch 'origin/master' into cross-signing 2020-10-08 16:57:03 +02:00
Nicolas Werner cd43147b77 Implement signature upload for own master key 2020-10-08 16:17:38 +02:00
Nicolas Werner 7b6fab3373 Calculate verification status from cross-signing sigs and update dynamically 2020-10-08 00:20:12 +02:00
Nicolas Werner 64d5a193f1 Fix in room verification 2020-10-06 17:02:41 +02:00
Nicolas Werner 8a4d85f801 Show different verification errors 2020-10-05 22:58:07 +02:00
Nicolas Werner bca29a4227 Make steps in verification flow explicit 2020-10-05 22:12:10 +02:00
Nicolas Werner 2a79cd2b6b Don't fail on missing key for a device and /rotate-megolm-session command 2020-10-03 18:38:28 +02:00
Nicolas Werner abff61bb6c Fix nullopt when iterating reactions 2020-10-03 17:23:59 +02:00
Nicolas Werner 600df6d2ec Fix fetching inexistent batch tokens 2020-10-02 16:39:20 +02:00
Nicolas Werner c9de044e32 Handle forwarded room keys 2020-10-02 13:46:32 +02:00
Nicolas Werner 54e3c2c96b Fix verification start to start with request 2020-10-02 12:18:54 +02:00
Nicolas Werner 94690ebd4c Clean up verification and key cache a bit 2020-10-02 01:14:42 +02:00
trilene 5bfe0cd178 Remove duplicate control from settings page 2020-09-26 12:07:03 -04:00
trilene aab6cb88a5 Fix build for those without GStreamer 2020-09-25 11:10:45 -04:00
trilene 3f73853e4b Move ActiveCallBar Qml to separate file 2020-09-25 10:26:36 -04:00
Nicolas Werner 4802c34009 Merge remote-tracking branch 'origin/master' into cross-signing 2020-09-24 21:36:43 +02:00
trilene 44cfc8d22a clang-format 2020-09-22 12:14:15 -04:00
trilene da27670cbe Port ActiveCallBar to Qml 2020-09-22 12:07:36 -04:00
Nicolas Werner 54db9c89ed Simplify outbound session setup
Don't send inbound session to self and claim and send all keys at once.
2020-09-20 23:07:02 +02:00
Nicolas Werner 4b36585e47 Fix typo in encryption error message 2020-09-19 15:45:23 +02:00
DeepBlueV7.X 791a01487b
Merge pull request #286 from trilene/voip
Adapt device monitoring for GStreamer 1.18
2020-09-17 23:27:25 +02:00
trilene e065bf2205 Remove GStreamer version test 2020-09-17 16:50:13 -04:00
trilene f7beb1b34e clang-format 2020-09-17 15:57:47 -04:00
trilene 8d7c70d912 Fix preprocessor directive 2020-09-17 15:17:06 -04:00
trilene b527c5a21c Adapt device monitoring for GStreamer 1.18 2020-09-17 11:37:30 -04:00
DeepBlueV7.X c62db00e6f
Merge pull request #284 from Nheko-Reborn/hidden-events
Hidden events backend
2020-09-17 07:36:37 +02:00
Nicolas Werner c5f93efcd3 Actually use room account data 2020-09-16 23:49:17 +02:00
Nicolas Werner 8af056faa9 Fix avatars in notifications 2020-09-16 23:49:17 +02:00
Nicolas Werner fef0cc2d71 Fix some images not showing up 2020-09-16 23:49:17 +02:00
Nicolas Werner b05c101021 Fix null errors in qml 2020-09-16 23:49:17 +02:00
Nicolas Werner 77e241b9e5 Reenable top bar room settings menus on avatar or title clicks
Also fixes a bug with an empty room settings window introduced in the
port.
2020-09-16 23:49:17 +02:00
Nicolas Werner 640b0ee405 Port top bar to Qml
Also fixes some resize issues with stupid workarounds to our resize
logic. This really needs to be cleaned up at some point!
2020-09-16 23:49:17 +02:00
DeepBlueV7.X 66d6307252
Merge pull request #283 from trilene/voip
Remove bus watch when call ends
2020-09-16 21:06:57 +02:00
trilene 2526a5604e Remove bus watch when call ends 2020-09-16 07:29:26 -04:00
DeepBlueV7.X d02e899941
Merge pull request #281 from trilene/voip
Don't show default audio source in settings
2020-09-14 22:57:14 +02:00
trilene bd0e66b548 Don't show default audio source in settings 2020-09-14 15:55:43 -04:00
CH Chethan Reddy 8eb74daf76 Split qml part of Device Verification 2020-09-14 17:27:49 +05:30
DeepBlueV7.X a7b979084f
Merge pull request #280 from trilene/voip
Ignore empty remote ICE candidates
2020-09-13 16:37:41 +02:00
trilene 124952a11c Ignore empty remote ICE candidates 2020-09-13 10:21:29 -04:00
Jussi Kuokkanen bfcfa79d53 reset filter string when emoji completer is opened 2020-09-13 13:31:02 +03:00
DeepBlueV7.X b37534aa53
Merge pull request #278 from trilene/voip
Fix earlier commit + GStreamer v1.18 released
2020-09-10 21:33:05 +02:00
trilene b6563d9ffe GStreamer v1.18.0 released 2020-09-10 14:34:10 -04:00
trilene 7d2844b2b0 Fix earlier commit when GStreamer < v1.17 2020-09-10 14:29:25 -04:00
Chethan2k1 2b5deabbdc Fix breaking while using qmlRegisterSingletonInstance 2020-09-10 14:50:10 +05:30
Chethan2k1 a27662dc08 Making sure Verification Objects are deleted properly 2020-09-10 13:25:49 +05:30
Chethan2k1 898be090af Add support non-encrypted room-verification messages 2020-09-10 11:08:39 +05:30
Nicolas Werner c4e4938d35 Save account data and allow hiding events via account data 2020-09-08 16:21:55 +02:00
Chethan2k1 e8eeb480d5 Fix Wrong Emojis Issue in Room Verification 2020-09-04 12:02:24 +05:30
DeepBlueV7.X 657f4073e9
Merge branch 'master' into device-verification 2020-09-03 18:11:17 +00:00
CH Chethan Reddy 5358854de3 Add support for Encrypted to-device verification messages 2020-09-03 09:37:16 +05:30
Nicolas Werner 10f09d4f43 Fix catch by value warning 2020-09-03 09:37:16 +05:30
Nicolas Werner 8d14a058c6 Fix endless pagination, when old history is inaccessible 2020-09-02 19:38:07 +02:00
Jussi Kuokkanen 8f872f1961 remove unused includes and use QRegularExpression 2020-08-31 18:24:03 +03:00
Jussi Kuokkanen bb4636885d remove comment 2020-08-31 18:07:29 +03:00
Jussi Kuokkanen beec2607fc get completion string based on trigger position instead of current word 2020-08-31 18:04:59 +03:00
Jussi Kuokkanen 254b7549eb ignore enter keypress when completion is selected 2020-08-31 12:21:47 +03:00
CH Chethan Reddy f03a48eec5 fix 2020-08-30 22:36:53 +05:30
CH Chethan Reddy b174bd9380 Merge remote-tracking branch 'upstream/master' into device-verification 2020-08-30 22:27:14 +05:30
CH Chethan Reddy 9a76db85d5 Change ReactionRealtesTo to RelatesTo 2020-08-30 16:32:28 +05:30
Jussi Kuokkanen aed8d23aca don't select emoji completion by default and add minimum string length before showing completions 2020-08-29 23:05:40 +03:00
CH Chethan Reddy 0d1dd29b19 Small Fixes 2020-08-29 13:37:51 +05:30
Jussi Kuokkanen 9ad9c8ddf0 fix build and remove commented code 2020-08-29 00:26:45 +03:00
Jussi Kuokkanen 7acd4b3307 lint 2020-08-28 23:59:27 +03:00
Jussi Kuokkanen 5e344d2685 Merge branch 'master' of https://github.com/Nheko-Reborn/nheko 2020-08-28 23:35:40 +03:00
Jussi Kuokkanen a173d964f7 add emoji completer to text input 2020-08-28 23:32:23 +03:00
DeepBlueV7.X b7b9cee30e
Merge pull request #265 from trilene/voip
Link GStreamer elements before syncing state
2020-08-28 15:39:27 +00:00
trilene 67a6ab401b Link GStreamer elements before syncing state 2020-08-28 10:49:39 -04:00
DeepBlueV7.X b58e370c03
Merge pull request #251 from Nheko-Reborn/new-event-store
New event store
2020-08-26 21:52:35 +00:00
Nicolas Werner 3df4bde032 Add some log messages, that migrations are in progress 2020-08-25 23:12:01 +02:00
Nicolas Werner 9f79b85579 Speedup db a bit, but loose some crash resiliency
The loss in durability shouldn't matter, if we can just receive the same
events again after a restart
2020-08-25 23:05:31 +02:00
CH Chethan Reddy 19cfd08a55 Verify signatures and find trusted devices 2020-08-25 15:41:27 +05:30
CH Chethan Reddy 1d299951b6 Cache Fix 2020-08-24 13:58:00 +05:30
trilene 473293b6a5 Under GStreamer >= 1.17 gather all candidates before sending offer/answer 2020-08-22 08:18:42 -04:00
CH Chethan Reddy 8a4bd37fea [WIP] Room Verification Works! 2020-08-18 11:29:02 +05:30
trilene 1402732b5f Stop SendFile and Call buttons swapping places on file upload 2020-08-17 17:42:06 -04:00
Nicolas Werner 7f7108161e Hide CallCandidates again in new store 2020-08-17 23:30:36 +02:00
Nicolas Werner de7ec4d2b3 Merge remote-tracking branch 'origin/master' into new-event-store
Conflicts:
	CMakeLists.txt
	io.github.NhekoReborn.Nheko.json
	src/Cache.cpp
	src/timeline/TimelineModel.cpp
	src/timeline/TimelineModel.h
	src/timeline/TimelineViewManager.cpp
2020-08-17 20:40:33 +02:00
Nicolas Werner b6751ab01e Appease the linter 2020-08-14 09:01:56 +02:00
Nicolas Werner e06ff1ac1f Fix SVG color undefined 2020-08-14 01:20:24 +02:00
Nicolas Werner f157602a52 Disable call support, when GStreamer is unavailable
Integrating that in our CI is currently a bit hard, so disable it for
now, if GStreamer isn't found. Just make sure to build against GStreamer
for call support!
2020-08-14 01:03:27 +02:00
Nicolas Werner 29cb065102 Bump flatpak dependency 2020-08-11 08:51:57 +02:00
Nicolas Werner 14a0aac748 Add /clear-timeline command 2020-08-09 23:36:47 +02:00
CH Chethan Reddy 2e20049b36 [WIP] Room-Verification Messages 2020-08-09 08:35:15 +05:30
Nicolas Werner b972d827cb Try to fix issue of pagination interfering with limited: true 2020-08-07 13:12:45 +02:00
Nicolas Werner 7eb0c4e09c Also request keys from own devices 2020-08-06 22:18:52 +02:00
Nicolas Werner 1f9215a5be Split error messages from event decryption 2020-08-06 21:46:16 +02:00
trilene df65093374 Add audio input device selector 2020-08-05 17:56:44 -04:00
trilene 02dfc8039f Conditionally compile against upcoming GStreamer release 2020-08-02 22:27:05 -04:00
trilene b86711a388 Merge remote-tracking branch 'upstream/master' into voip 2020-08-01 15:49:26 -04:00
trilene 979bba6460 Tweak AcceptCall dialog 2020-08-01 15:43:23 -04:00
trilene e527da052b Reset TLVM initial sync flag on logout 2020-08-01 14:39:06 -04:00
trilene e3e7595bab clang-format 2020-08-01 14:31:10 -04:00
trilene f14d141cb5 Improve TURN server retrieval 2020-07-30 19:59:54 -04:00
trilene c0743f9688 Fix error message 2020-07-30 19:39:03 -04:00
CH Chethan Reddy 3635c185e9 Add Room Verification Messages 2020-07-30 22:10:27 +05:30
CH Chethan Reddy 1fcd768f88 Adding Room Key Verification Stuff 2020-07-30 22:10:27 +05:30
CH Chethan Reddy a2979c2df1 Updating keys of outdated encrypted users 2020-07-30 22:10:27 +05:30
CH Chethan Reddy 1103cc15cf Adding icons to UserProfile 2020-07-30 22:10:27 +05:30
Nicolas Werner 08028d5c57 Refactor UserProfile 2020-07-30 22:10:27 +05:30
CH Chethan Reddy ac1fbbb69f Some issue with UserProfile 2020-07-30 22:10:27 +05:30
CH Chethan Reddy 6fae36abc4 [WIP] Add Caching for users 2020-07-30 22:10:27 +05:30
CH Chethan Reddy ffa61095b8 Error Handling and some fixes 2020-07-30 22:10:27 +05:30
CH Chethan Reddy 00e36b6068 Add some Userprofile buttons 2020-07-30 22:10:27 +05:30
CH Chethan Reddy 75efa5d3a2 Fix the Weird auto-confirmation and cancellation 2020-07-30 22:10:27 +05:30
CH Chethan Reddy fd232b1f4a Some more fixes 2020-07-30 22:10:27 +05:30
Nicolas Werner 4862be06be Fix presence indicator 2020-07-30 22:10:27 +05:30
CH Chethan Reddy 1633650303 Some more changes
- remove unnecessary field sender in userprofile.qml
    - cover user facing string with qsTr to get picked by translations
    - add spacing and fix theming issue
    - increase and add color to username
    - change back to QVector from QLinkedList cause I have mistaken
    better time complexity to give better benchmark

red
2020-07-30 22:10:27 +05:30
CH Chethan Reddy d49ab15656 Some Improvements
- DeviceVerificationList change to LinkedList to improve time
    complexity while deleting
    - Downgrade the flow to not use key.verification.done and
    key.verification.ready
2020-07-30 22:10:27 +05:30
CH Chethan Reddy ce013e67a6 Add some more slots and mac 2020-07-30 22:10:27 +05:30
CH Chethan Reddy 67367d0004 Shared secret with decimal and emoji works! 2020-07-30 22:10:27 +05:30
CH Chethan Reddy 41b6ef0c32 Add DeviceVerificationList to keep track of all flows and Popup on
recieving start or request
2020-07-30 22:10:27 +05:30
Chethan2k1 1eb162cb6f Handle Device Verification related to_device messages 2020-07-30 22:10:27 +05:30
Chethan2k1 cd5dd0e39b Add SAS Method choice and Add send_to_device API call 2020-07-30 22:10:27 +05:30
Chethan2k1 b628f485ff Tweak UI for device verification and Add more slots 2020-07-30 22:10:27 +05:30
CH Chethan Reddy f9c0f4dd54 Add C++ Model for DeviceList 2020-07-30 22:10:27 +05:30
Chethan2k1 a54a973ad6 Adding DeviceList for userprofile 2020-07-30 22:10:27 +05:30
CH Chethan Reddy 64f204d984 Rewrite UserProfile in qml 2020-07-30 22:10:27 +05:30
Nicolas Werner 707248fea3 Add DeviceVerificationFlow dummy and verification test button 2020-07-30 22:10:27 +05:30
Nicolas Werner 2088053d26 Add DeviceVerificationFlow dummy and verification test button 2020-07-30 22:10:27 +05:30
Nicolas Werner 7f3d97517f Fix double free by closing cursor at the right time 2020-07-30 18:13:19 +02:00
trilene 97681ccf64 Remove references to video calls 2020-07-29 18:16:52 -04:00
Nicolas Werner 12090c0a06 Add workaround for duplicate syncs 2020-07-27 16:37:29 +02:00
Nicolas Werner 720bb164f7 Fix migration (hopefully) 2020-07-26 19:04:36 +02:00
trilene 43ec0c0624 Handle ICE failure 2020-07-26 10:59:50 -04:00
Nicolas Werner ade905c881 Fix shadowing variable 2020-07-26 13:07:36 +02:00
Nicolas Werner a00b11def7 Rename EventStore::event to get to remove ambiguity with QObject::event 2020-07-26 12:33:30 +02:00
trilene 57d5a3d31f Improve debug messages 2020-07-25 18:11:11 -04:00
Nicolas Werner 4e7bd20e0c Reset fetch in progress when fetch failed 2020-07-25 19:38:56 +02:00
Nicolas Werner b294430fe5 Return to redacted messages instead of just storing the redaction 2020-07-25 19:38:27 +02:00
trilene aec24efbe2 Specify call type on timeline 2020-07-24 13:30:12 -04:00
trilene d51e34e66a Cancel sent CallInvite if no response within expiry 2020-07-23 19:38:40 -04:00
trilene a4301048e3 Fix QLayout warning 2020-07-23 18:36:10 -04:00
trilene d508e3abd6 Send ICE candidates gathered after timeout 2020-07-23 17:58:22 -04:00
trilene 7377215d28 Confirm logout/quit if active call in progress 2020-07-23 17:20:32 -04:00
trilene 55783c6fe5 Tweak ActiveCallBar 2020-07-23 17:02:50 -04:00
Nicolas Werner 147ae68c31 Don't send url, if we send an encrypted file
Fix issues when sending images to some clients.
2020-07-23 14:33:07 +02:00
trilene 88cfa3a8fa Polish voice call UI 2020-07-22 21:15:45 -04:00
Nicolas Werner f23d733cff Fix room joins 2020-07-20 18:25:22 +02:00
Nicolas Werner 19f27236ea Fix reactions 2020-07-20 00:42:48 +02:00
Nicolas Werner 6f2bc908ba Fix reaction display 2020-07-19 12:22:54 +02:00
Nicolas Werner d467568a65 Close cursor we don't need and where we overwrite the contents 2020-07-18 22:59:03 +02:00
Nicolas Werner 8261446f83 Fix reply scrolling 2020-07-18 21:14:45 +02:00
Nicolas Werner 5695f004a2 Fix race condition between /messages and /sync 2020-07-18 21:00:36 +02:00
Nicolas Werner 046b3f4da6 Mark own events as read again after sending 2020-07-18 20:39:31 +02:00
Nicolas Werner 36e4405f25 Fix flickering of encrypted messages when sending using new store 2020-07-18 19:15:50 +02:00
Nicolas Werner a5dda86a6c Fix encryption indicator 2020-07-18 17:59:59 +02:00
Nicolas Werner 56ea89aa11 Reenable sending messages 2020-07-18 17:43:49 +02:00
trilene 28a678ca60 Add comment wrt TURN server credentials 2020-07-16 15:53:35 -04:00
trilene f8ef55c133 Case-insensitive sdp search 2020-07-16 15:44:07 -04:00
Nicolas Werner aa34576dfd Warn before kicking,banning,inviting,etc 2020-07-16 20:19:28 +02:00
trilene 8968d51b65 Handle preemptive CallAnswer from fellow device 2020-07-16 13:31:38 -04:00
trilene 16209ce073 Hide incoming CallCandidates in encrypted rooms 2020-07-14 07:34:40 -04:00
trilene 195ba5e5ee Remove comments 2020-07-13 20:47:34 -04:00
trilene 9d6cce9fe3 Handle preemptive CallHangUp 2020-07-13 20:15:09 -04:00
trilene 774d864096 Hide CallCandidates events from the timeline 2020-07-13 19:45:41 -04:00
trilene 09d2d937c5 Centre PlaceCall dialog 2020-07-13 19:20:41 -04:00
trilene e85652e7e7 Fix percent-encoding of TURN server URI 2020-07-13 19:16:28 -04:00
Nicolas Werner 9ae7d0dce3 Readd pagination and fix redactions 2020-07-13 00:08:58 +02:00
Nicolas Werner 9479fcde08 Initialize Profile later 2020-07-11 02:15:53 +02:00
trilene c73cfe1810 Merge remote-tracking branch 'upstream/master' into voip 2020-07-10 19:39:44 -04:00
trilene 7a206441c8 Support voice calls 2020-07-10 19:19:48 -04:00
Nicolas Werner da2f80df60 Fix translation loading
Explanation see here:
https://www.kdab.com/fixing-a-common-antipattern-when-loading-translations-in-qt/
2020-07-10 03:17:23 +02:00
Nicolas Werner 3421728898 Fetch missing events 2020-07-10 01:37:55 +02:00
Nicolas Werner 530c531c4b WIP: Event Store split out 2020-07-09 23:15:22 +02:00
Nicolas Werner 7650e6ced6 Fix autolinking breaking on single quotes in href attribute
Fixes #234
2020-07-09 13:26:01 +02:00
Nicolas Werner 8d3ab300b6 Open url using QDesktopServices from Qml
This fixes some weirdness on some platforms, where Qt.openUrlExternally
does weird stuff.
2020-07-09 00:45:37 +02:00
Nicolas Werner 0da1a6d5fc Add relations and order without hidden events to db 2020-07-08 02:02:14 +02:00
Nicolas Werner 82eff09062 Fetch event from db and use string_view where possible 2020-07-06 03:43:14 +02:00
Nicolas Werner c79205c26a Use new timeline cache structure 2020-07-05 05:31:15 +02:00
Nicolas Werner 79a29953dd Persist event order 2020-07-04 02:09:12 +02:00
Nicolas Werner 233b3c06ce Store events in room specific db 2020-07-03 02:40:48 +02:00
Nicolas Werner 21a1f249f9 Fix Qt 5.9 build 2020-06-27 03:15:36 +02:00
Nicolas Werner f6fa494666 Make connections across threads queued in any case 2020-06-26 13:36:21 +02:00
Nicolas Werner a9e321e38f Don't use formatted body without format 2020-06-26 13:36:21 +02:00
Felix Yan 751c0526d7
Correct a typo in SnackBar.cpp 2020-06-22 20:29:47 +08:00
Nicolas Werner c973fd759b Fix m.relates_to being sent as 'null' when not set in encrypted messages.
Thank you Sorunome for reporting.
2020-06-20 19:26:54 +02:00
Nicolas Werner cded494cb5 Try to make text rendering in qml sharper 2020-06-19 19:34:03 +02:00
Lorem e1706f4df5 Fix not being able to change theme 2020-06-14 13:56:15 +05:30
Joseph Donofry 7afb164244
Merge remote-tracking branch 'origin/master' into presence 2020-06-11 22:27:30 -04:00
Joseph Donofry dbaf92734c
Fix formatting 2020-06-11 22:22:16 -04:00
Joseph Donofry b90b718961
Merge remote-tracking branch 'origin/master' into reactions 2020-06-11 21:59:34 -04:00
Joseph Donofry b9626f0c69
Additional code cleanup 2020-06-11 21:59:21 -04:00
Nicolas Werner 150c9b1dbc Fix scale factor setting 2020-06-11 23:08:15 +02:00
Nicolas Werner db93e6b853 Fix warning about not registered Presence type 2020-06-11 18:37:09 +02:00
Nicolas Werner 488924c9b3 Allow deleting a status 2020-06-11 18:30:52 +02:00
Joseph Donofry 12c46e86b4
Fix linting 2020-06-11 00:37:54 -04:00
Joseph Donofry 5e355c36fd
Fix build issue on some versions of clang 2020-06-10 22:34:14 -04:00
Alexander 'z33ky' Hirsch 2b9860c3af Add setting to alert on notification 2020-06-10 12:34:26 +02:00
Joseph Donofry 6bb73f84a3
Merge master and fix conflicts 2020-06-09 20:51:36 -04:00
Nicolas Werner 0a23615dd7 Fix small formatting error 2020-06-09 13:29:24 +02:00
Nicolas Werner b9631753dd Reenable custom status messages
This still leaves out setting a client to online/offline, since that
seems to be causing the CPU issues with synapse.
2020-06-09 12:49:36 +02:00
Nicolas Werner 3baf11b5c4 Fix unused capture 2020-06-08 22:35:47 +02:00
Nicolas Werner 814868024c Disable presence and status_msg menu
It currently causes severe performance issues in synapse as well as many
random resets, so this is disabled until those issues are resolved.
2020-06-08 21:59:15 +02:00
Nicolas Werner f2bfa61e08 Add menu actions to set presence 2020-06-08 20:26:37 +02:00
Nicolas Werner 96f4169be9 Show presence and set custom status messages 2020-06-08 01:59:05 +02:00
Nicolas Werner e5a55ab1b9 Smooth scaling for images
Fixes some issues with inline images.
2020-06-07 14:53:35 +02:00
Nicolas Werner 43d2ebc095 Fix Qt5.15 issues
fixes #214
2020-06-05 23:34:00 +02:00
Nicolas Werner 50d5891493 Fix serialization bug introduced in 9eddcfc42f 2020-05-30 17:25:18 +02:00
Nicolas Werner 9eddcfc42f Remove some redundant functions 2020-05-30 16:38:11 +02:00
Nicolas Werner 6b60ff7713 Rename settings to be more consistent 2020-05-26 22:54:51 +02:00
Nicolas Werner f452bdf2b0 Make settings update immediately in qml and allow limiting timeline width
Limiting improves readability on wide monitors.

The immediate update of the settings is done by just exposing settings
as properties and then setting the settings as a context property.
2020-05-26 22:54:51 +02:00
Nicolas Werner 4ee9e5c27c Improve compile times a tiny bit 2020-05-26 22:54:51 +02:00
Nicolas Werner 937b35ca8a Fix some join messages showing as empty 2020-05-26 22:54:51 +02:00
lkito 60ad6ce277 Added an option to have descriptions for user settings. 2020-05-24 15:35:25 +04:00
Joseph Donofry 5228861b88
Add reaction/redaction for in-line Reactions 2020-05-21 21:21:35 -04:00
lkito d8b89e2ef0 Added an optional feature to show bigger emoji-only messages with 3 or less emoji 2020-05-21 16:31:27 +04:00
Joseph Donofry 1c521d1711
Merge origin/master into reactions 2020-05-18 21:13:41 -04:00
Nicolas Werner bdf1147a80 add a bit of additional logging to image paste 2020-05-18 14:02:54 +02:00
Nicolas Werner 23e4408fa8 Add /roomnick command 2020-05-18 14:02:14 +02:00
Nicolas Werner 7de1fc62e8 Tag rooms via context menu 2020-05-18 04:23:36 +02:00
Nicolas Werner 5abdad308d Fix crash when reacting to messages from /sync
Messages on /sync don't have a room_id
2020-05-17 02:36:04 +02:00
Nicolas Werner f0757a6426 Fix local echo for reactions 2020-05-16 22:48:43 +02:00
Joseph Donofry a5778bdf40
Merge remote-tracking branch 'origin/master' into reactions 2020-05-16 15:10:49 -04:00
lkito 2c21f6e3fa Implemented optional message body highlighting feature. 2020-05-16 17:15:43 +04:00
Nicolas Werner 576269c9e5 Prevent timeline being black on some platforms 2020-05-15 22:46:34 +02:00
CH Chethan Reddy 57b8cdbd4d remove #if defined __has_include 2020-05-15 17:48:27 +05:30
CH Chethan Reddy e4a7e85935 Change the commit hash for mtxclient 2020-05-15 17:48:27 +05:30
CH Chethan Reddy 30d61e3114 minor fixes 2020-05-15 17:48:27 +05:30
Joseph Donofry 6d2789f4d5
Merge master into reactions 2020-05-14 20:53:01 -04:00
Joseph Donofry 18f934efad
Add un-encrypted warning icon for messages in encrypted rooms 2020-05-14 20:35:29 -04:00
Nicolas Werner 279bcd1bf2 Show inline images
(This is such a hack and will probably break, but it works for now for
most cases...)
2020-05-14 00:41:10 +02:00
Joseph Donofry ee4dcef90f
Add new QML-based emoji picker (work in progress)
This is necessary to support having a picker within QML.
Eventually, this should replace the existing widget-based one.
2020-05-13 00:36:41 -04:00
Joseph Donofry 8984661187
Initial support for sending reactions 2020-05-09 22:39:25 -04:00
Nicolas Werner 000ab4853a Translation updates 2020-05-10 01:38:40 +02:00
Nicolas Werner 6befadeec8 Remove shadowing loginMethod 2020-05-10 01:00:20 +02:00
Nicolas Werner 9713284435 Fix not being able to log http status on login 2020-05-10 00:04:45 +02:00
Nicolas Werner 7b1fa60cc6 Add SSO
closes #94
2020-05-09 23:33:03 +02:00
Nicolas Werner 813790e603 Improve Login and Register page hinting 2020-05-09 23:33:03 +02:00
Joseph Donofry a1661f7006
merge master into reactions 2020-05-07 20:53:24 -04:00
DeepBlueV7.X 7beaf868ef
Merge pull request #192 from Nheko-Reborn/reactions
Reactions
2020-05-08 00:13:24 +02:00
Nicolas Werner a942ae9b93 Fix messages being immediately read again 2020-05-06 19:21:31 +02:00
Nicolas Werner 0b1d3a40f4 Remove unused binding name 2020-05-06 13:45:38 +02:00
Nicolas Werner e5a5a66716 Fix reaction redaction for real this time 2020-05-06 12:52:13 +02:00
Nicolas Werner ff54ce9334 Fix rooms with a lot of reactions not paginating correctly 2020-05-06 11:37:40 +02:00
Nicolas Werner e045e3eb1c Show displayname on reactions 2020-05-06 11:28:24 +02:00
Nicolas Werner 8348a6c35d Fix reaction count 2020-05-06 11:15:45 +02:00
Nicolas Werner e55a09906f Misc color fixes 2020-05-05 23:43:43 +02:00
Nicolas Werner 692c6119b4 Fix joined rooms dropping to the bottom at first 2020-05-05 19:08:59 +02:00
Nicolas Werner db24f174b1 Fix jumpy room list, when sort order is ambiguous 2020-05-05 19:08:59 +02:00
Nicolas Werner 54013e4a00 Basic, broken reaction display 2020-05-04 13:14:54 +02:00
Nicolas Werner a8b22e49c3 Fix self counting as read message 2020-05-04 00:57:40 +02:00
Nicolas Werner 0c73c74574 Speed up initial load a bit 2020-05-04 00:57:40 +02:00
Nicolas Werner d6685e8d61 Add delete pending_receipts migration 2020-05-02 17:24:45 +02:00
Nicolas Werner dad2de7ba2 Add support for db migrations 2020-05-02 16:44:50 +02:00
DeepBlueV7.X 38417a374d
Merge pull request #184 from shocklateboy92/features/backlog-progress
Add visual indication that data is being fetched
2020-05-01 10:19:32 +02:00
Lasath Fernando 166ed0674d Run linter 2020-04-30 22:40:27 -07:00
Nicolas Werner 9750241e73 Old Qt doesn't have .get... 2020-05-01 00:38:07 +02:00
Nicolas Werner 641a883bfd Optimize RoomList sorting
Keep the almost sorted list around and sort by the raw timestamp value
instead of doing the expensive toMSecSinceEpoch conversion.
2020-04-30 23:59:17 +02:00
Nicolas Werner e6fcccc8bd Don't store pending receipts in cache
We don't get notified for every message. Sometimes we only get a read
receipt for the newest message, which means old read receipts accumulate
in the database. This least to some considerable CPU overhead, when
checking if the timeline should be notified for new read receipts.
Instead just always notify, since that has far less overhead in the
worst case and doesn't need complicated cache cleanup.

The old pending_receipts db is not removed for now. It should still have
minimal storage overhead and we don't have a good mechanism for cache
format upgrades atm.
2020-04-30 22:42:56 +02:00
Nicolas Werner 0716bbafff Strip reply fallback from plain text body 2020-04-30 00:04:30 +02:00
Lasath Fernando 1f9d3024b1 Add visual indication that data is being fetched
This turns `paginationInProgress` field of `TimelineModel` into a `Q_PROPERTY`, so the Ui can bind to it.
For the moment, I'm showing the same spinner as we do during initial sync. It's not ideal, on the count of being giant and in the middle but it's better than nothing. We can make it more subtle later.
2020-04-29 13:52:39 -07:00
Nicolas Werner bb66254c58 Make notifications a bit easier to read 2020-04-29 20:49:57 +02:00
Nicolas Werner 27350cf51e Fix high CPU usage on high dpi screens
Fixes #180
2020-04-29 20:23:00 +02:00
Nicolas Werner 17c657a170 Send correct orientation for exif rotated images 2020-04-26 11:41:30 +02:00
Nicolas Werner d6386546b3 Only prune old messages every 500 syncs 2020-04-26 11:29:05 +02:00
Nicolas Werner 28adc9dc9b Respect exif rotation of images
Sometimes thumbnails still have the wrong dimensions, as they are scaled
to fit inside a rectange of the reported size in the image. Not sure,
who is wrong there, the media repo or we.
2020-04-26 11:26:51 +02:00
Nicolas Werner d94ac86816 Fix double percent encoding of invites 2020-04-24 16:19:11 +02:00
Joseph Donofry 5893365439 Change decrypt setting again 2020-04-23 19:21:20 -04:00
Joseph Donofry 87c06f0fc9 Merge branch 'decrypt-sidebar' of ssh://github.com/Nheko-Reborn/nheko into decrypt-sidebar 2020-04-23 19:05:54 -04:00
Joseph Donofry 994edb836c Change how decrypt value is retrieved from settings 2020-04-23 19:05:44 -04:00
Joseph Donofry 69b0b68f92
Merge branch 'master' into decrypt-sidebar 2020-04-23 18:40:07 -04:00
Nicolas Werner b00e624fb0 Fix own messages not showing as encrypted 2020-04-23 15:28:46 +02:00
Nicolas Werner d5e1475a5c Fix encrypted messages not showing a user in the sidebar 2020-04-23 02:29:55 +02:00
Joseph Donofry b298f01d92
Add signal/slot for decryption changes in last patch 2020-04-22 19:52:30 -04:00
Nicolas Werner 35601b6bef Terminate user color calculation, when no solution can be found
fixes #172
2020-04-22 23:33:27 +02:00
Joseph Donofry a4c280a4f9
Add ability to toggle sidebar messages for encrypted rooms 2020-04-21 22:40:58 -04:00
Nicolas Werner 0e1bb5137b Add menu entry to show decrypted source
Also make hidden entries not consume space in Menus with some qml
styles.
2020-04-21 22:32:45 +02:00
Nicolas Werner ba3d405513 Fix Binding restoreMode warning spamming logs
fixes #170
2020-04-21 21:09:29 +02:00
Nicolas Werner e8271acd99 Fix own encrypted images not showing up after sending 2020-04-21 09:03:36 +02:00
Nicolas Werner eff8af6fac Try to fix messages getting stuck by sometimes sending them twice and never failing them 2020-04-19 15:07:23 +02:00
Nicolas Werner 695c3c0814 Fix registration on construct 2020-04-17 00:27:43 +02:00
Nicolas Werner dd1dca3751 Add --debug switch 2020-04-15 23:28:04 +02:00
Nicolas Werner a70044e67b Cache decrypted events 2020-04-14 20:15:11 +02:00
Nicolas Werner c739a0422d Fix encrypted event indicator 2020-04-14 19:29:22 +02:00
Nicolas Werner 3ae4e49b5f Remove unused paramters 2020-04-13 17:01:57 +02:00
Nicolas Werner dcddea6fb8 Fix reply not closing
fixes #124
2020-04-13 16:22:30 +02:00
Nicolas Werner 82ec022f9c Fix notification not being cleared, when read event didn't cause a notification 2020-04-11 23:28:34 +02:00
Nicolas Werner 2b24a978e1 Mid color is used for scrollbars it seems 2020-04-11 22:38:12 +02:00
Nicolas Werner 2022775dd0 Clear notifications when event is read 2020-04-11 01:09:47 +02:00
Nicolas Werner d68b24188f Size reply background by contents 2020-04-10 08:48:30 +02:00
Nicolas Werner 4fa12b52aa Add comment on why we surpress some of those log messages 2020-04-08 23:12:18 +02:00
Nicolas Werner 6794b6472d Add a few missing palette colors 2020-04-08 23:10:00 +02:00
Nicolas Werner 31a5972f2a Fix UserProfile resizing 2020-04-01 01:28:05 +02:00
Nicolas Werner 8bf25f3d80 Set palette globally 2020-03-30 21:48:28 +02:00
Nicolas Werner d35cc3dda4 Use palette for qml code for theming
Can't do it for QtWidgets code. We need to fully transition, before we
can fully switch over probably.
2020-03-29 22:11:33 +02:00
Emi Simpson a9bbea881e
Removed double-sanitization of ... is typing names 2020-03-24 18:06:19 -04:00
Nicolas Werner 95272ce4ab Try to fix avatars not updating after deletion 2020-03-22 20:43:45 +01:00
Nicolas Werner 7a2b996f18 Fix high CPU usage on 5XX error codes 2020-03-22 20:33:15 +01:00
Nicolas Werner 7df6529310 Fix avatar not being set for some rooms in the top bar 2020-03-22 18:14:53 +01:00
Nicolas Werner b25e481418 Clean up unused avatar functions 2020-03-22 18:03:08 +01:00
Nicolas Werner 31a83c515e Fix broken avatars in quick switcher 2020-03-22 14:22:42 +01:00
Adasauce d0a1e81f43
Better image overlay handling when downloading
- hides the overlay when prompting for download location
 - cancel re-shows the dialog
 - success closes the overlay
 - would be nice to have a return code from the download fn in
 mtxclient.

Closes #140
2020-03-20 10:10:53 -03:00
Emi Simpson 5c308b1caf
Fixed bug caused by me forgetting what types im using (invites appearing at the bottom of the list instead of the top when priority sorting was off) 2020-03-15 17:05:21 -04:00
Emi Simpson d51cbe7e32
Place invites on top of room list even when sorting by importance is off 2020-03-15 16:28:32 -04:00
Emi Simpson 78ac902549
Clean up stray comment 2020-03-15 16:19:45 -04:00
Emi Simpson 12aa94ad9a
Fixed compatibility with Qt < 5.11 2020-03-15 15:27:30 -04:00
Emi Simpson bf5ae884de
Make toggle in settings revert between old behavior and new behavior for sorting by unreads 2020-03-15 14:56:39 -04:00
Emi Simpson abac4c8d34
Sort room list on setting change 2020-03-15 14:30:21 -04:00
Emi Simpson 2320bfea26
Foiled by the linter once more 2020-03-15 12:43:41 -04:00
Emi Simpson 6bbe8ade0f
Made merge compatible with master 2020-03-15 12:16:01 -04:00
Emi Simpson b6bd36ac16
Added toggle in the settings to ignore minor events 2020-03-15 11:19:22 -04:00
Emi Simpson 81c9cb5c79
Switched room importance to an enum 2020-03-15 10:38:56 -04:00
Emi Simpson a5b388db15
Appease the linter 2020-03-14 09:16:08 -04:00
Emi Simpson 389117f1e8
Add a comment explaining room importance 2020-03-13 20:59:20 -04:00
Emi Simpson 0153dc7a39
Automatically move rooms down in the list once they've been read 2020-03-13 20:52:42 -04:00
Emi Simpson b2a6232eb3
Fixed channels appearing out of order when only mentions were present, without any non-mentions 2020-03-13 20:40:52 -04:00
Emi Simpson 08125e8c44
Sort room list by room priority 2020-03-13 19:30:50 -04:00
Pushpam Choudhary 71ba8cb284 Add periods to terminate non-user messages in the timeline 2020-03-13 00:48:41 +05:30
Nicolas Werner 0f1a352dd7 Make buttons hideable via setting, button contents can still be accessed via context menu 2020-03-10 00:30:45 +01:00
Nicolas Werner 69a50c15c7 Reduce times we read upload data 2020-03-08 15:26:52 +01:00
DeepBlueV7.X fc2f08a186
Merge pull request #137 from Nheko-Reborn/blurhash
Experimental Blurhash support
2020-03-05 21:07:18 +00:00
Nicolas Werner b894ce4dcd Make blurhash provider async 2020-03-04 01:56:58 +01:00
Nicolas Werner 5ac18f1f5f Speed up blurhash code 2020-03-04 01:30:43 +01:00
Adasauce ed4bb1a576
Add support for more room events in timeline 2020-03-03 15:06:52 -04:00
DeepBlueV7.X 7da5361995
Merge pull request #133 from adasauce/member1-and-too-many-others
total + first member shows as one too many room members
2020-03-03 01:36:12 +00:00
Nicolas Werner 0fc98b2692 Experimental blurhash implementation (MXC2448) 2020-03-03 02:34:26 +01:00
Adasauce 309461dcba
total + first member shows as one too many room members
i was confused when a room with me and two friends showed as "user1" and
3 others.
2020-03-02 21:30:19 -04:00
Nicolas Werner 328a3c7ebd Fix avatar layering in room list 2020-03-03 01:23:04 +01:00
Nicolas Werner 2fd6385403 Make small sidebar sizing consistent 2020-02-28 19:56:08 +01:00
Nicolas Werner b80697b072 Fix encrypted messages being pinned to the bottom after read marker fix 2020-02-28 19:29:43 +01:00
Nicolas Werner 095b59c01f Delete unused variable 2020-02-28 09:00:26 +01:00
Nicolas Werner 9efa001bcf Fix high dpi scaling of avatars 2020-02-28 03:20:27 +01:00
Nicolas Werner b1eff0a37f Improve link theming 2020-02-27 00:34:58 +01:00
Nicolas Werner 5115339636 Wrap error label on login page
fixes #30
2020-02-25 01:51:21 +01:00
Nicolas Werner 1eb2869fa8 Fix stuck unread messages by storing state events in the db
This may increase the db size by a factor of 1000 in the worst case and
it will need some fixes, when we decide to not show some events in the
timeline, but it should work for now.
2020-02-24 01:07:25 +01:00
Nicolas Werner 62b962cb44 Improve read status handling in room list
Only consider the room as unread, if there is a message in the room and
only consider message and sticker events as messages.

fixes #65
2020-02-23 22:48:54 +01:00
Nicolas Werner e96241265e Use third_party singleapplication helper
This may still not raise the application correctly on some WMs, because
they don't allow disturbing the user with windows popping up. I don't
think we want to work around that.

fixes #84
fixes #113
2020-02-23 13:44:05 +01:00
Nicolas Werner 3ef0d9db3c Fix Registration
fixes #97
fixes #51
2020-02-23 13:44:05 +01:00
Adasauce 6e6fe0cad2
remove setStyleSheet calls directly from widget code
removed from:
 - emoji panel scrollbars
 - emoji category labels
 - splitter image handles
 - textfield setTextColor impl

small change to the category separator label for better contrast /
readability in dark mode.

removed setTextColor completely from TextField. Doesn't appear to be in
use anywhere, and focus going more toward qss themeing from qproperty
setting.
2020-02-21 15:38:19 -04:00
Nicolas Werner 55fb5532ee Fix opaque widget in community list
fixes #126
2020-02-21 02:39:28 +01:00
DeepBlueV7.X a8cdc20dd3
Merge pull request #125 from adasauce/118-dark-theme-issues
Tooltip and Combobox bugs with Breeze / Dark theme
2020-02-20 21:05:26 +01:00
Nicolas Werner 6bdc75d073 Reset user colors on theme change (in qml timeline) 2020-02-20 20:51:07 +01:00
Adasauce 8b8b844bda
Tooltip and Combobox bugs with Breeze / Dark theme
setStyleSheet was overriding default tooltip theme from the system,
causing themes like Breeze to render white text on a grey bg for
tooltips. Tooltips now render default for the system theme everywhere.

set a theme matching color on the dark theme comboboxes.

fixes #118
2020-02-20 15:51:07 -04:00
Nicolas Werner 2895162971 Clear user colors on theme change 2020-02-20 20:28:23 +01:00
Nicolas Werner fcaec0d099 Fix html messages sent as just plain text 2020-02-20 18:27:29 +01:00
Nicolas Werner 4500bcd577 Use spacing for layouting settings 2020-02-20 18:11:49 +01:00
Adasauce 8aaf7e9e5d
Remove constant width, that was wrong.
Use Nico's suggestion to just leverage the width of the field, and leave
a comment.
2020-02-20 12:31:07 -04:00
Adasauce 105366f2b9
Clean up variable format
don't use members format camelCaseTail_
2020-02-20 11:57:16 -04:00
Adasauce f86cbbe16a
Add constexpr for the minimum formlayout width
to save on recalculation of the size and having to subtract the margins
to do the tally, then re-apply.
2020-02-20 11:50:56 -04:00
Adasauce b5aa615ef5
FormLayout cleanup
Removed empty labels in favour of a fixed height and bottom alignment.
2020-02-19 15:23:57 -04:00
Adasauce 53138d7f5c
Clean up placeholder string
use QString instead of std::string (QStringLiteral doesn't have a
constructor with int, str.)

remove temp variable, and just deal with it inline.
2020-02-19 15:00:49 -04:00
Adasauce 21b207d1f0
Review changes to UserSettingsPage
- Switch to {} widget initialization
 - set fixed size on the Toggles so they don't scale down vertically
 - add another setting section for INTERFACE
 - add a placeholder value for deviceFingerprintValue_ so it can calculate the right size.
 - fix warnings about `QLayout: Attempting to add QLayout "" to UserSettingsPage "",` in boxWrap
 - hide widgets properly in Q_OS_MAC
 - remove mainLayout_ completely
 - clean up resizeEvent
2020-02-18 17:16:07 -04:00
Adasauce 111e4504ac
Replace QHBoxLayout with QFormLayout in UserSettings
This allows form fields to wrap dynamically when they are too long for
the view. This should help mobile and small screen users to configure
the app without having to force it into portrait mode, or not be able to
reach the settings fields at all.
2020-02-18 11:08:19 -04:00
Adasauce b24165371c Paginationg != Paginating in debug message 2020-02-17 17:13:28 +01:00
Nicolas Werner 65bd099372 Don't delete messages received out of order (fixup the flickering fix) 2020-02-16 18:58:38 +01:00
Nicolas Werner ec9da9f42a Try to fix flickering, if sync return event before send completes 2020-02-16 00:20:41 +01:00
Nicolas Werner 70f4a89d10 Quick hack to enable touch scrolling in settings and room list 2020-02-15 03:48:23 +01:00
Nicolas Werner ef5edbb3ea Lower general settings margins, if the window is narrow 2020-02-15 03:48:23 +01:00
DeepBlueV7.X f70923f374
Merge pull request #117 from adasauce/file-download-path
use the standard system download path for file downloads
2020-02-15 03:28:22 +01:00
Adasauce cb36050822
use QStandardPaths locations for all file dialogs. 2020-02-14 21:35:26 -04:00
Adasauce 17b5cc32dc
use the standard system download path for downloads
QFileDialog's dir arg (which was set to the incoming file name from the
Matrix download) can take a full path to suggest. By prepending
QStandardPaths::DownloadLocation, it opens to the system's download
folder and proposes the filename as the download name.

Using QStandardPaths should make this work on other platforms, and from
what I read, its possible for this to return an empty string on
platforms where it doesn't support it, so this should essentially
revert to the previous functionality if Qt can't determine the system's
download location.
2020-02-14 16:24:53 -04:00
DeepBlueV7.X c062746c83
Merge pull request #116 from sorairolake/feature/japanese-translation
Add Japanese translation
2020-02-14 12:13:57 +01:00
Shun Sakai 2ceaead7fc Change the initial of the proper noun to uppercase
markdown -> Markdown
2020-02-14 13:02:44 +09:00
Nicolas Werner a2566b870e show image dialog fullscreen instead of resizing to the size of the first desktop 2020-02-13 15:11:43 +01:00
Adasauce 95c2525218
Remove move() in ImageOverlay
it was causing the full screen image overlay to appear on the "primary
display" vs. the actual display nheko is running on.

removing the move() call makes the overlay follow the window.
2020-02-12 20:50:52 -04:00
Nicolas Werner c5af3543e6 fix c++11 range-loop might detach Qt container 2020-02-07 02:56:03 +01:00
Nicolas Werner d113733ce0 Don't leak the full file path when sending file 2020-02-06 22:25:03 +01:00
Nicolas Werner 1b039d0b16 Fix bug in html tag escaping 2020-02-06 22:04:55 +01:00
Nicolas Werner 46a77a8c11 Fix linter issue 2020-02-05 22:43:33 +01:00
DeepBlueV7.X 275d4dfed9
Fix integer overflow of cachesize on windows 2020-02-05 15:35:04 +01:00
Joseph Donofry 096db389d1
Make closing the reply popup actually clear the reply message 2020-02-04 18:17:14 -05:00
Nicolas Werner 9d90467e6a Select first room on startup 2020-02-04 21:16:04 +01:00
Nicolas Werner 2b531227a8 modernize: use override 2020-02-04 15:18:26 +01:00
Nicolas Werner 7dab4d39ee modernize: raw string literals 2020-02-04 05:19:55 +01:00
Nicolas Werner 7ccc120f63 modernize: use nullptr 2020-02-04 04:58:43 +01:00
Nicolas Werner d330020fdd Improve styling a bit 2020-02-03 19:21:03 +01:00
Nicolas Werner aae8612482 use room rules for mentions 2020-02-02 18:55:07 +01:00
Nicolas Werner 96e3a7735d Fix <displaynames> 2020-02-02 15:15:00 +01:00
Nicolas Werner 4612266a67 Add muting 2020-02-02 13:51:07 +01:00
DeepBlueV7.X 32375518de
Merge pull request #112 from Nheko-Reborn/sharp-logo
Update the logo to not be so asymmetric and add a scalable svg. I hope I fixed all the scaling issues, where the logo isn't pixel aligned in most resolutions. Also fixes an issue, where the blue bar seemed to be misaligned in some resolutions?
2020-02-02 00:10:18 +00:00
Joseph Donofry 5570250eed
more emojis 2020-02-01 15:30:10 -05:00
Nicolas Werner 657f48b139 Remove wildcard mtx.hpp includes 2020-01-31 17:12:20 +01:00
Nicolas Werner bd3b6aefb4 Remove even more headers 2020-01-31 16:36:58 +01:00
Nicolas Werner 63f3071445 Remove more unneeded headers 2020-01-31 16:25:43 +01:00
Nicolas Werner 127fb9370b Remove metatypes from headers 2020-01-31 16:08:30 +01:00
Nicolas Werner 4cd260bfcf Optimize includes a bit 2020-01-31 15:11:21 +01:00
Nicolas Werner 995568814b Use cleaned up logo 2020-01-31 03:40:27 +01:00
Nicolas Werner 558fd10f7b Add next/prev room shortcuts 2020-01-31 01:39:51 +01:00
Nicolas Werner b541cecd2e Enable ban and kick button in UserProfile (and try to fix centering) 2020-01-30 03:45:27 +01:00
Nicolas Werner a07e699811 Fix build with build system optimizations of mtxclient 2020-01-29 23:39:05 +01:00
Joseph Donofry d6d4076d36
Merge branch '0.7.0-dev' of ssh://github.com/Nheko-Reborn/nheko into 0.7.0-dev 2020-01-28 19:20:51 -05:00
Joseph Donofry d205952fc8
Change tooltip palette settings for QML 2020-01-28 19:20:39 -05:00
Nicolas Werner 75c5c01189 Merge branch 'plain-text-messages' into 0.7.0-dev 2020-01-29 00:42:46 +01:00
DeepBlueV7.X 247af99399
Merge pull request #111 from Nheko-Reborn/better-build
Improve build system and dependency bundling.
2020-01-28 23:38:16 +00:00
Nicolas Werner b0ff1baa1d Add command for invite,kick,ban and unban 2020-01-29 00:30:53 +01:00
Joseph Donofry 2b8b04a04b
Add initial QML Reply Popup 2020-01-27 23:28:11 -05:00
Nicolas Werner 760d4ddef9 Fix newlines in plain text messages again 2020-01-27 18:36:34 +01:00
Nicolas Werner e81a4e8f9a Don't send useless formatted_bodies 2020-01-27 17:25:09 +01:00
Nicolas Werner 9c368fa7f4 Fix reply rendering without markdown in riot 2020-01-27 17:05:40 +01:00
Nicolas Werner e2f547149a Allow sending messages as plain text 2020-01-27 15:59:25 +01:00
Nicolas Werner f755550418 Add missing thread include 2020-01-26 16:38:31 +01:00
Nicolas Werner 96ad385331 Fix misc ci errors 2020-01-26 16:38:31 +01:00
Nicolas Werner d10276253f Fix include of lmdb++ with hunter 2020-01-26 16:38:31 +01:00
Nicolas Werner 73cf7b239b Update emoji to unicode 13.0 2020-01-24 04:18:14 +01:00
Nicolas Werner 8fcb670bde Remove translations from reply fallback 2020-01-24 01:10:40 +01:00
Nicolas Werner 453d6f5f64 Surpress qt binding warning message until we can depend on qt5.14 2020-01-23 23:59:46 +01:00
Joseph Donofry 74e2b0725d
Minor tweak to one instance of QSettings not necessarily using the same settings as everything else 2020-01-23 17:07:24 -05:00
Nicolas Werner cbd428c584 Switch around dark theme colors again (after looking at some screenshots) 2020-01-23 21:28:17 +01:00
Nicolas Werner e9267ffc76 Show event type string in placeholder 2020-01-23 20:59:17 +01:00
Nicolas Werner c758cead9e Remove loggin of encrypted message body 2020-01-23 20:45:23 +01:00
Nicolas Werner 86960e67ec Implement display of membership events 2020-01-23 20:34:04 +01:00
Nicolas Werner 569c22b755 Fix blurry avatars
They accidentally used the same state key...
2020-01-23 13:54:40 +01:00
Nicolas Werner 1943d1c74d Increase emoji range 2020-01-21 22:36:55 +01:00
Nicolas Werner 6aedd135a9 Remove useless logging 2020-01-21 22:12:59 +01:00
Nicolas Werner aa7ac71cfe Fix room avatars in settings 2020-01-21 21:33:35 +01:00
Nicolas Werner c95f4d8276 Fix colors in typing display, when username contains emoji 2020-01-21 20:41:09 +01:00
Nicolas Werner 79e4e2e6e1 Improve emoji escaping 2020-01-21 04:18:17 +01:00
Nicolas Werner dc44ac50a3 Linkify links before sending 2020-01-21 03:36:26 +01:00
Nicolas Werner f5b8c9bb31 Remove use of deprecated enum 2020-01-19 19:07:04 +01:00
DeepBlueV7.X 0d6a65af07 Try to lower map size
Maybe this fixes the 1mb map size in my windows test environment?
2020-01-17 01:25:43 +01:00
Nicolas Werner fe912240bc Move typing display to qml 2020-01-17 01:25:14 +01:00
Nicolas Werner 8c5e4db42c Remove embedded fonts 2020-01-16 20:37:07 +01:00
Nicolas Werner 719f1571b9 Don't require Qt5.12 just for QByteArray::compare 2020-01-16 20:36:44 +01:00
Nicolas Werner 4eb0e11740 Try to match old theme better 2020-01-14 20:44:11 +01:00
Nicolas Werner 54a16ae2d7 Fix duplicate messages in timeline after sending 2020-01-14 20:43:35 +01:00
Nicolas Werner cdb11b1819 Reduce avatar cache size 2020-01-14 17:48:01 +01:00
Nicolas Werner 3f02b0bf56 Escape blacklisted html tags 2020-01-14 17:47:30 +01:00
Nicolas Werner 62f17dffbd Fix replies in encrypted rooms
The relation needs to be unencrypted...
2020-01-13 12:37:02 +01:00
Nicolas Werner 4ca8da9a89 Allow replying with an image 2020-01-12 17:07:22 +01:00
Nicolas Werner 4727f1c2bb Fetch missing events for replies 2020-01-11 18:53:32 +01:00
Nicolas Werner 2b3dc3d8b9 Implement fancy reply rendering
This currently assumes the event, that is replied to, is already
fetched. If it isn't, it will render an empty reply. In the future we
should fetch replies before rendering them.
2020-01-11 14:07:51 +01:00
Nicolas Werner 51d7e64992 Simplify read message logic with inverted timeline 2020-01-06 18:29:08 +01:00
Nicolas Werner 5af6f6528b Use fetchMore for native lazy loading of item model data 2020-01-06 18:29:08 +01:00
Nicolas Werner 946ab4d0f2 invert timeline 2020-01-06 18:29:08 +01:00
Nicolas Werner e084543cc0 Move visitors out of TimelineModel 2019-12-27 21:50:37 +01:00
Nicolas Werner 3bbd034781 Fix transitive dependencies on iostream 2019-12-23 05:22:03 +01:00
Nicolas Werner ceb6f85ccb Actually include header that provides std::signal instead of signal 2019-12-15 03:51:33 +01:00
Nicolas Werner 79f967da8c Reduce Cache.h includes further via one forward declaration 2019-12-15 03:34:37 +01:00
Nicolas Werner 37fbcaf07b Reduce includes of MatrixClient.h, as it is the most expensive header 2019-12-15 03:19:33 +01:00
Nicolas Werner 5fc1f3bd67 Reduce overhead of Cache.h 2019-12-15 02:56:04 +01:00
Nicolas Werner 7d6a015f36 Add qml debugging option 2019-12-14 23:48:28 +01:00
Nicolas Werner 935727864a Increase max cache size and remove const from lmdb constants
fixes compilation issues with last released lmdb++
2019-12-14 23:41:54 +01:00
Nicolas Werner 13df852479 Reduce some include of Cache.h since it needs 11s on average 2019-12-14 23:40:32 +01:00
Nicolas Werner 659e36b113 Update to c++17 2019-12-14 18:59:38 +01:00
Nicolas Werner 932dbf38fe Fix position of invite button and elide long button texts 2019-12-13 21:05:28 +01:00
Nicolas Werner ba25771c08 Make invites always stick to the top
This also removes an ugly hack, that was needed before.
2019-12-13 20:49:27 +01:00
Nicolas Werner 9c1912ed93 Fix preview of sent encrypted images 2019-12-13 01:31:14 +01:00
Nicolas Werner 31b00c445b Send encrypted files as generic mimetype and actually set url 2019-12-12 23:17:17 +01:00
Nicolas Werner e98a61fea6 Show topic and name changes in timeline 2019-12-10 14:46:52 +01:00
Nicolas Werner 362efbf5b9 Restore linkification of messages 2019-12-06 02:57:08 +01:00
Nicolas Werner 43d7fe0d35 Implement sending encrypted files 2019-12-05 15:31:53 +01:00
Nicolas Werner 5bfdaff778 Implement decryption of images
It is a bit of a hack, but it works...
2019-12-03 23:34:16 +01:00
Nicolas Werner a689118d71 lint 2019-12-03 19:49:56 +01:00
Nicolas Werner b8f6e4ce64 Add encrypted file download 2019-12-03 02:48:29 +01:00
Nicolas Werner 6c2ec3fe67 Rename qml namespace from com.github.nheko to im.nheko 2019-11-30 01:43:39 +01:00
Nicolas Werner 9fd279c020 Show encryption enabled and use a non zero size for zero size vide 2019-11-23 20:07:15 +01:00
Nicolas Werner 7bd875004f Only mark messages as read, when room is active 2019-11-23 20:07:15 +01:00
Nicolas Werner 5429b425e9 Lint 2019-11-23 20:07:15 +01:00
Nicolas Werner cf88499ccb Fix replies to encrypted events 2019-11-23 20:07:15 +01:00
Nicolas Werner 001c94865c Fix windows build
No idea, why apply visitor doesn't work with temporaries?
2019-11-23 20:07:15 +01:00
Nicolas Werner c424e397b0 Add loading spinner and restore message send queue 2019-11-23 20:07:15 +01:00
Nicolas Werner 562169965c Show only messages in room list 2019-11-23 20:07:15 +01:00
Nicolas Werner 91d1f19058 Remove old timeline 2019-11-23 20:07:15 +01:00
Nicolas Werner 2bfb885b47 optionally use QQuickWidget and replace ColorOverlay -> colorImageProvider 2019-11-23 20:06:15 +01:00
Nicolas Werner 1268e9f11c Make replies format nicer
Also lays a bit of groundwork for better reply rendering
2019-11-23 20:06:15 +01:00
Nicolas Werner 88dc72df4f Enable link handling 2019-11-23 20:06:15 +01:00
Nicolas Werner 993926e189 Make user clickable and improve button cursor look 2019-11-23 20:06:15 +01:00
Nicolas Werner 4f7a45a0a6 Improve avatar look and layouting
Thanks to red_sky for the feedback!
2019-11-23 20:06:15 +01:00
Nicolas Werner bde71a6cbc fixup bad room list translation commit 2019-11-23 20:06:15 +01:00
Nicolas Werner 2c37beba8d Fix translation of roomlist message preview
This also makes long messages unreadable, because we don't shorten long
usernames anymore. We may eventually want to do that again, but it is
hard with translations and we probably want to shorten the displayname
more, as before this change the message was only ever as long as the
timestamp, which is usually just 5 characters...
2019-11-23 20:06:15 +01:00
Nicolas Werner 6b6085b270 Actually fix updating roomlist on new messages 2019-11-23 20:06:15 +01:00
Nicolas Werner 15badebc77 Show own messages in RoomList 2019-11-23 20:06:15 +01:00
Nicolas Werner b1f1cb2b56 Redirect qt logger 2019-11-23 20:06:15 +01:00
Nicolas Werner 0d8bf6c676 lint 2019-11-23 20:06:15 +01:00
Nicolas Werner 3d6f502bcc Incubate delegates asynchronously 2019-11-23 20:06:15 +01:00
Nicolas Werner c8f97216fa Small fixes to delegate chooser implementation 2019-11-23 20:06:15 +01:00
Nicolas Werner c37495fae2 Use a basic implementation of a DelegateChooser for compat with older Qt
The interface is taken from Qt/KDE, but the implementation is different,
because the Qt implementation depends on some Qt internals.
2019-11-23 20:06:15 +01:00
Nicolas Werner cff46d97a8 Add native themeing to QML (where possible) 2019-11-23 20:06:15 +01:00
Nicolas Werner a83ae7e95f Fix section layout issues and pagination issues
Pagination could get stuck, if the messages request failed.
Section height seemes to have been calculated to late, which would make
some section overlap the next message in some cases. Fix that by doing
the height calculation manually.
2019-11-23 20:06:15 +01:00
Nicolas Werner 0fd2199112 Load content if no scrollbar is needed 2019-11-23 20:06:15 +01:00
Nicolas Werner 8ebef4eed2 Size images/videos by timeline width 2019-11-23 20:06:15 +01:00
Nicolas Werner ec6953d0c0 Fix linting issues 2019-11-23 20:06:15 +01:00
Nicolas Werner 241c0236fc Try to fix windows Winsock.h compilation error 2019-11-23 20:06:15 +01:00
Nicolas Werner 425d534e22 Enable Sticker and Emote messages 2019-11-23 20:06:15 +01:00
Nicolas Werner ea98d7b2ae Add simple audio message widget 2019-11-23 20:06:15 +01:00
Nicolas Werner a8166462ad File messages (qml) 2019-11-23 20:06:15 +01:00
Nicolas Werner ea12c9f9bc Add basic read_event support (qml) 2019-11-23 20:06:15 +01:00
Nicolas Werner 1dd1a19b06 Update roomlist on new messages 2019-11-23 20:06:15 +01:00
Nicolas Werner aee29c6ed5 Reenable redactions 2019-11-23 20:06:15 +01:00
Nicolas Werner 0d3c9390c6 Rename initialize to sync, since it does the same thing 2019-11-23 20:06:15 +01:00
Nicolas Werner e2d733a01a Restore saving of media 2019-11-23 20:06:14 +01:00
Nicolas Werner 9b18440b4f Reenable ImageOverlay 2019-11-23 20:06:14 +01:00
Nicolas Werner 82091999c4 Add lock to encrypted messages 2019-11-23 20:06:14 +01:00
Nicolas Werner a5ccd00be0 Remove noisy decrypted message 2019-11-23 20:06:14 +01:00
Nicolas Werner bb60976e7e Reenable encrypted messages 2019-11-23 20:06:14 +01:00
Nicolas Werner 6c7e6b0e86 Fix read indicator 2019-11-23 20:06:14 +01:00
Nicolas Werner d34067a257 Enable read receipts action and sync read receipts from cache 2019-11-23 20:06:14 +01:00
Nicolas Werner 240b3a566b Add send/received indicator 2019-11-23 20:06:14 +01:00
Nicolas Werner d1fffd6617 Implement simple scroll state handling 2019-11-23 20:06:14 +01:00
Nicolas Werner 691c854201 Try to fix CI, no match for QString::arg(QStringRef) 2019-11-23 20:06:14 +01:00
Nicolas Werner 62d0cd74da Implement replies in qml timeline 2019-11-23 20:06:14 +01:00
Nicolas Werner 5c87d6faa6 Implement sending other message types in qml timeline
not using placeholders in timeline for now
2019-11-23 20:06:14 +01:00
Nicolas Werner a7595eab5a Reimplement sending basic text messages 2019-11-23 20:06:14 +01:00
Nicolas Werner a1c97fc8d6 Show redactions in qml timeline 2019-11-23 20:06:14 +01:00
Nicolas Werner 4efac5a247 Try to fix duplicate messages in certain edge cases (i.e. sync and pagination at the same time) 2019-11-23 20:06:14 +01:00
Nicolas Werner f260b8b4ae Fix shadow error 2019-11-23 20:06:14 +01:00
Nicolas Werner e20501cec7 Reenable display of encrypted messages 2019-11-23 20:06:14 +01:00
Nicolas Werner 7aca8a9430 Reenable view raw message 2019-11-23 20:06:14 +01:00
Nicolas Werner 86f4119a05 Implement basic ImageMessages in qml timeline
I suck at sizing so the images in the message are currently hardcoded to
300 pixels in width...
2019-11-23 20:06:14 +01:00
Nicolas Werner ebeb1eb772 Implement avatars in qml timeline 2019-11-23 20:06:14 +01:00
Nicolas Werner aae295cb02 Fix new messages not arriving in qml timeline 2019-11-23 20:06:14 +01:00
Nicolas Werner 8727831de7 Fix QML emojis 2019-11-23 20:06:14 +01:00
Nicolas Werner bbbd5df75f Use system colors for now 2019-11-23 20:06:14 +01:00
Nicolas Werner c4ba832331 Fix misc CI issues 2019-11-23 20:06:14 +01:00
Nicolas Werner c1ee22a53e Fix shadow warning 2019-11-23 20:06:14 +01:00
Nicolas Werner 34f5400e99 Implement TextMessage delegate
Text selection over multiple items doesn't work yet
2019-11-23 20:06:14 +01:00
Nicolas Werner 56e27ced25 Format date (close to) the old way in qml timeline 2019-11-23 20:06:14 +01:00
Nicolas Werner ccedbde38b Add avatar placeholder and scrollbar to qml timeline 2019-11-23 20:06:14 +01:00
Nicolas Werner 2dd636456c Add basic sections and button placeholders to qml timeline 2019-11-23 20:06:14 +01:00
Nicolas Werner 699fd7b38e Implement loading of history, when timeline is displayed 2019-11-23 20:06:14 +01:00
Nicolas Werner 47fbfd3f44 Add items to timline 2019-11-23 20:06:14 +01:00
Nicolas Werner 8b5c7b2f2f Add placeholder timeline model 2019-11-23 20:06:14 +01:00
Nicolas Werner 8e611abe87 Replace timeline with empty qml view 2019-11-23 20:06:14 +01:00
Michele Guerini Rocco 1659176c0d
escape html before parsing commonmark 2019-09-25 01:18:01 +02:00
Aidan Hahn 34ac2c4f75
re-re-linted 2019-09-03 21:23:54 -07:00
Aidan Hahn 4a223ef508
relinted 2019-09-03 19:59:08 -07:00
Aidan Hahn 5326d29e56
group similar ui options on settings page 2019-09-02 23:40:42 -07:00
Aidan Hahn 69fbaf9ae6
ran make lint to apply style guidelines 2019-09-02 23:30:59 -07:00
Aidan Hahn 3677c58a17
ReImplement UserSettings::setAvatarCircles 2019-09-01 19:54:50 -07:00
Aidan Hahn a38f390355
Merge branch '0.7.0-dev' of https://github.com/Nheko-Reborn/nheko into 0.7.0-dev-bugfix-71 2019-09-01 16:32:09 -07:00
Aidan Hahn ce978589b7
removed leftovers from previous refactor 2019-09-01 16:28:19 -07:00
Aidan Hahn 1e6fc6e342
fixed typoes in code, added layout metadata to new settings toggle. 2019-09-01 16:10:11 -07:00
Aidan Hahn a1c2aed36a
Refactored Avatar and RoomInfoListItem to access rounding settings in place 2019-09-01 14:41:23 -07:00
DeepBlueV7.X 5be967fb1d
Merge pull request #86 from Nheko-Reborn/avatar-memory-usage
Try to reduce memory usage by reusing avatar pixmaps
2019-08-30 23:15:09 +00:00
Joseph Donofry 98d4f14bd1
Fix themeing issues on mentions 2019-08-29 18:01:20 -04:00
Aidan Hahn b10d453bd5
add controll bits for avatar rounding 2019-08-28 21:36:28 -07:00
Aidan Hahn 8a47388ec6
rounding options for Avatar class 2019-08-28 18:34:04 -07:00
Aidan Hahn 26002bf0e4
added logic in avatar class to determine rounding type 2019-08-27 23:31:04 -07:00
Nicolas Werner c5f0c3221f Fix usage of deprecated find 2019-08-28 08:21:07 +02:00
Nicolas Werner 8b5515d5c1 Remove unused variables 2019-08-26 08:51:56 +02:00
Nicolas Werner 52056a79fa Try to reduce memory usage by reusing avatar pixmaps 2019-08-26 08:51:56 +02:00
Joseph Donofry 89015b9f18
Fix SIGNAL SLOT issue on mtx types 2019-08-19 20:44:58 -04:00
Joseph Donofry 8d04236fbd
Fix build issues w/ clang 2019-08-19 18:54:17 -04:00
Joseph Donofry bcdd97c85f
More updates to mentions functionality 2019-08-19 18:11:38 -04:00
Joseph Donofry 52a2621776
Fix issues with caching and loading of mentions.
Mentions are now loaded from the cache instead of
directly from the web request.  Mentions are also
properly saved to the cache now (instead of as empty
strings).  Still lots of tweaks left on this feature.
2019-08-12 22:09:40 -04:00
Joseph Donofry 8839cb7d68
Fix missing include in prior commit 2019-08-10 13:20:13 -04:00
Joseph Donofry d5bb0936bf
Use 'system' theme as default if QT_QPA_PLATFORMTHEME is set
On first launch, before the user has configured any settings,
check the value of the QT_QPA_PLATFORMTHEME environment var.
If it is set, use the system theme as the default instead of the
light theme.  This fixes #72.
2019-08-10 13:14:37 -04:00
Joseph Donofry 7c7889a04d
Fix linting issues w/ the last commit 2019-08-09 23:36:45 -04:00
Joseph Donofry 3f563e1e6e
Cache User Mentions
Cache user mentions when they are retrieved from the server.
This logic currently isn't being utilized by the UI.  Additionally,
the app should use a 'since' value to only get mentions newer
than those stored in the DB, to avoid excessive web requests.

This will be implemented in a future commit.
2019-08-09 23:34:44 -04:00
Joseph Donofry 41dc420edd
Fix linting issues 2019-08-06 08:16:19 -04:00
Joseph Donofry dbdaf35907
Cache user mentions 2019-08-05 23:00:07 -04:00
Joseph Donofry 24a6495291
Fix lambda capture issue 2019-07-29 15:37:21 -04:00
Joseph Donofry fd2d4d6db3
Update mentions dialog
Mentions are now separated into 'this room' and 'all rooms'
tab., which allows the user to filter on the current room
if they desire.  Should add additional logic in the future
to show which room the mention was in the for the 'all rooms'
view.
2019-07-28 23:14:10 -04:00
Joseph Donofry 497774d623
Fix linting 2019-07-28 20:50:18 -04:00
Joseph Donofry b875a8debc
Update translation context 2019-07-28 18:45:37 -04:00
Joseph Donofry a9375add32
Address 'sent' translation issue 2019-07-28 18:40:23 -04:00
Nicolas Werner 0398c846f6 Add 'and' to typing display 2019-07-28 18:13:16 +02:00
Nicolas Werner b28115eb37 Fix message_type not being initialized correctly
Fixes "sent an audio file" replies, that were actually replies to text
messages.
2019-07-28 16:50:10 +02:00
Nicolas Werner dbb8eecf29 media->file in error message, when image upload fails 2019-07-28 16:16:02 +02:00
Nicolas Werner 50c3d4ed3a Add decryption error messages to translations 2019-07-28 13:16:13 +02:00
Nicolas Werner 1c9cc33902 Try to localise timestamps
I'm not sure, if that is the right way, but Qt doesn't really have a way
to format custom localised dates, so I tried to find the closest
approximations to what we currently have.

Relates to #69
2019-07-28 12:55:08 +02:00
Joseph Donofry f18a5dacda
Ignore badge label macos deprecations 2019-07-26 17:47:52 -04:00
Joseph Donofry 9fc079a4a9
Remove uneeded log message 2019-07-26 17:47:34 -04:00
Joseph Donofry 86888ee713
Fix bug with emoji font setting and clean linting 2019-07-26 17:44:44 -04:00
Joseph Donofry 778921be8a
Add emoji text selection option for non-mac 2019-07-26 17:31:59 -04:00
Nicolas Werner 78ed78c410 Improve layout of Emoji Picker
Respect system styling
Increase size of emojis (to remove empty space)
Add hover effect (partially adresses #41)
Less hardcoding of sizes
Use emoji font (color)
2019-07-25 11:49:15 +02:00
Joseph Donofry 49ec388c1d
Merge branch '0.7.0-dev' of ssh://github.com/Nheko-Reborn/nheko into 0.7.0-dev 2019-07-21 21:58:48 -04:00
Joseph Donofry 8b2488b7ef
Update Mentions UI
Mentions are now an '@' icon in the upper right.

UI Popup is now a smaller dialog.

Still lots of work to be done here.
2019-07-21 21:58:11 -04:00
Nicolas Werner cefe5fe719 Fix copy and pasting image from clipboard
If the QMimeData contains an image, it actually has a mime type of
application/x-qt-image. At least in some cases accessing the image/*
data returns a 0 length array. Accessing the data via ->imageData works
however. So we use that as our accessor and pass it to the preview
dialog.
2019-07-22 02:38:44 +02:00
Nicolas Werner 512db8c6ff Actually set attributes before starting the app
fixes "Attribute Qt::AA_EnableHighDpiScaling must be set before
QCoreApplication is created."
2019-07-22 00:03:12 +02:00
Joseph Donofry d2af827194
Fix linting issues 2019-07-16 22:50:23 -04:00
Joseph Donofry 579bf23460
Add User Mentions Dialog
Add a RoomListItem-like button that opens a dialog
containing all of the messages that would result in a
highlight from the server (for example, the user is mentioned,
or @room is mentioned).

This is VERY rudimentary and will be completely reworked in the future
to take advantage of the existing TimelineView class, instead of
using a dialog like it does now. The button to show the mentions
also needs work.
2019-07-16 22:39:10 -04:00
Joseph Donofry e5576f03d4
Fix additional Qt version issue 2019-07-05 16:31:01 -04:00
Joseph Donofry 4c0d4f35fe
Fix support for Qt versions < 5.11 2019-07-04 22:58:56 -04:00
Joseph Donofry 2484e0c118
Fix formatting issues 2019-07-04 21:31:28 -04:00
Joseph Donofry c0a010acbb
Fix deprecated function call issues with Qt 5.13
Update to mtxclient 0.3.0
2019-07-04 21:20:19 -04:00
Joseph Donofry 175737c28b
Fix some linting issues 2019-07-04 13:18:32 -04:00
Nicolas Werner 713f9dbe89 Show room version in settings 2019-07-04 01:26:16 +02:00
Nicolas Werner 94a8c358d1 Fix typo in log message 2019-06-27 23:01:07 +02:00
Nicolas Werner aa3d4c4f15 Reconfigure server url, when requested by login response 2019-06-27 15:55:04 +02:00
Nicolas Werner 52871cf93c Support well-known for server discovery 2019-06-27 15:54:03 +02:00
Nicolas Werner 40d9b5c5fc Fix santizize=undefined warning (overflow) 2019-06-27 14:57:32 +02:00
Joseph Donofry cfd6c5703a
Further UI Updates to Rich Replies 2019-06-14 20:45:37 -04:00
Joseph Donofry 129beb57c9
Further Improve Reply Functionality
Quoted replies now include matrix.to links for the event and the user.
UI Rendering has been (slightly) improved... still very WIP.
Restructured the reply structure in the code for future usability
improvements.
2019-06-13 22:33:04 -04:00
redsky17 1d4966d5fd
Add style for reply popup. Fix ALL of the linting issues 2019-06-11 23:36:46 -04:00
redsky17 71c1cbcfd1
Fix lambda capture and lint issues 2019-06-11 22:34:15 -04:00
Joseph Donofry 756c7d1671
Fix linting issue 2019-06-11 21:06:18 -04:00
Joseph Donofry 9159b9ce22
Initial Support for Rich Replies
Add placeholder UI for showing replies in the text entry widget.
Existing quoting capability has been removed (Temporarily), as
it was replaced with the new reply capability.  Replies sent from
nheko do not currently appear correctly in the timeline (this
will be fixed in a future commit).
2019-06-11 21:04:30 -04:00
Joseph Donofry b9dde957a8
Add initial support for rich replies to nheko 2019-06-09 19:03:18 -04:00
redsky17 bca4d7eef6
Merge in master 2019-05-27 16:40:39 -04:00
redsky17 9671b1c0d6
Fix linting issues 2019-05-27 16:06:28 -04:00
redsky17 7c630b1363
Add reply and menu buttons to TimelineItem 2019-05-27 16:04:35 -04:00
Nicolas Werner c8c0b41527 Raw string literals not allowed in MOC headers on OSX 2019-05-01 13:33:34 +02:00
Nicolas Werner 23eef9e1bc Simplify linkifyMessage
Parsing html as xml has inherent problems, most notable there are many
matrix clients that don't escape ampersands in urls of mx-replies, etc.
(See issue #18)

This also removes the replacement of <mx-reply> as it isn't strictly
needed.

Also the QRegExp is replaced with the Qt5 QRegularExpression for
perfomance and because it supports lookahead and lookbehind.

I'm pretty sure that the original code also replaced href="" with
href=\"\", which was probably wrong, but I'm not to sure about that.

Fixes #18
2019-05-01 12:11:19 +02:00
redsky17 4cb27f34f2
Fix linting 2019-04-04 22:24:21 +00:00
redsky17 994f79cfbc
Update nheko to export sessions using new format
(requires mtxclient updates as well).
2019-03-27 23:13:38 +00:00
Joseph Donofry 6f13b0df0d
Merge pull request #43 from vtronko/implicitconversion_fix
Get rid of implicit conversion in text input height calculation.  Thanks @vtronko
2019-03-03 18:48:46 -05:00
Vladyslav tronko c719e01f3d Don't let multiline text background overlap top border of text widget 2019-03-04 00:54:53 +02:00
Vladyslav Tronko d2a28072f6 Get rid of implicit conversion in text input height calculation 2019-03-03 20:34:57 +02:00
redsky17 8a2df06f3a
Fix linting issue 2019-02-25 03:10:02 +00:00
redsky17 75fb95855d
Nlohmann build updates 2019-02-24 20:05:11 +00:00
Andrew Johnson b5733b2737 Attempt to fix issue #19 by increasing the lmdb max_dbs setting. 2019-02-16 17:05:25 -08:00
redsky17 13663ad5f8 Improve color generation performance
Colors are generated asynchronously now and the TimelineItem is
updated when the color generation finishes.  This allows the UI
to stay responsive while new colors are being generated.
2019-02-08 01:58:00 +00:00
redsky17 bb345a9a9f Merge branch 'ui-enhancements'
Preparing for 0.6.3 release
2019-02-07 23:15:25 +00:00
Michele Guerini Rocco 933fd22e49
escape id when joining a room 2019-02-07 13:51:18 +01:00
redsky17 6d629f1c90 Add download button to ImageOverlay
When opening images in the full-screen overlay, there is now
a download button next to the close button.  This button utilizes
the same functionality as the right-click->save image button.
2019-01-30 18:01:36 -05:00
redsky17 f7255b7b49 Restore Emoji Picker, but remove forcing EmojiOne
Restored the emoji picker, but it now falls back to the system
instead of forcing Emoji One.  The allows users to user the
picker for convenience, but doesn't enforce the emoji style on them.
2019-01-26 21:02:22 +00:00
redsky17 df5d24c87f Revert "Remove built-in emoji picker"
This reverts commit 4b807229aa.
2019-01-26 18:17:08 +00:00
redsky17 faff23ed38 Fix lint issues in last commit 2019-01-26 18:11:30 +00:00
redsky17 6c31f5fe7a Add initial support for QtIndenticon
Add initial loading of qt jdenticon plugin:
https://github.com/redsky17/qt-jdenticon

Currently, the library's functionality has not been integrated
into the rest of nheko.  Next step is to add a configuration
item in the User Settings and use the plugin to generate
avatars for users without their own picture.  These avatars
should be cached in the Cache object.
2019-01-26 18:03:49 +00:00
redsky17 22a08ba6a4 Fix lint issue 2019-01-26 06:09:51 +00:00
redsky17 f869ff5ded Fix inconsistent user color updates. 2019-01-26 06:03:52 +00:00
redsky17 2ba51c821e Update user colors to use Cache vs Utils
User colors are now stored in cache.  This is consistent
with other similar variables.  I think there's a bug
right now where it doesn't properly refresh colors
for the TimeLineItem when the theme is changed.
2019-01-26 02:55:07 +00:00
redsky17 4185b8d121 Add unread notification color for user mentioned
When user is mentioned (via matrix 'highlight_count'), inactive
rooms will use a different color for the notification circle than
when only general unread messages exist.
2019-01-25 02:47:15 +00:00
redsky17 d70bc94f61 Fix lambda capture error 2019-01-24 04:54:35 +00:00
redsky17 237c7ad114 Author Color Fixes
Author color is now cached so that it will not be re-calculated
each time a new message is posted.  This cache gets cleared when
the theme is changed.

Additionally, the author color is now automatically refreshed
when the theme is changed, fixing the issue where you had to
change rooms before the colors would switch.
2019-01-20 04:43:48 +00:00
redsky17 b3f7c13e2f Update user id color generation
Update the author color generation.  Now, instead of generating
an entire hex string based on the user id, the user id instead
is used to generate a hue value.  After this hue value is created,
there is some logic to tweak first the lightness and then saturation
values to achieve a readable color (in contrast to the background).

This change makes it so that user colors will not vary as wildly
between the different themes.

The values still are not cached and still do not update
initially when the theme is changed.  Both of these things
will be resolved.
2019-01-20 00:16:31 +00:00
redsky17 98102f4f09 Fix UserSettings UI not showing saved prefs
Theme and Font Family settings will now correctly display the stored
settings when nheko is re-launched.  Previously, these combo boxes
would default to the first thing in the combo box, even if that
wasn't what the user selected.
2019-01-19 17:31:17 +00:00
redsky17 654b652db4 Add User Font Setting
User can now select a font from the installed fonts on their system

This font currently will only be applied when nheko is restarted
(similar to how font size and scaling currently work).  This will
be addressed in a future commit.  Additionally, the dropdown
does not correctly select the previously-chosen user font, and
instead defaults to the first font available on the system
(alphabetically).  This is similar to the issue with the 'Theme'
combo defaulting to 'Light' even when another theme is selected.
2019-01-19 16:20:41 +00:00
redsky17 50e382f554 Modified the code that generates user's colors so that it will
work regardless of the theme choices the user makes.  The code
now incorporates the contrast between the background color and the
color generated by the user_name when picking colors.  It currently
has two 'big' issues:
1. Colors are not cached.  I am planning on adding a QHash for this
a little later.  This should improve performance by not calculating
the color for the same users over and over and over again.
2. Theme changes do not trigger the colors to get refreshed.
Currently, you will have to switch to a different room and back
to get the colors to refresh.
2019-01-18 17:17:25 +00:00
redsky17 1882198e4b Make the author text slightly large.
Add author color generated based on user id.
2019-01-18 04:09:42 +00:00
redsky17 55883ec2de Remove the code that removed paragraph tags from markdown -> html.
This fixes #2, but reverts mujx#438.  I do not think mujx#438 was a
valid issue, as it complained about the display of valid HTML on riot,
which speaks more to how Riot styles things than about an issue in
nheko itself.
2019-01-18 00:59:31 +00:00
redsky17 996a4c9590 Fix clang-format linting issue 2019-01-16 18:18:57 +00:00
redsky17 bcabf2fb73 Update travis ci config to point to redsky17 config and try to fix lint
errors
2019-01-13 03:48:07 +00:00
redsky17 3fceaeb203 Add hover color for timestamp.
Update dark and system themes to provide
colors for the hover states for title, subtitle, and timestamp.
2019-01-12 22:03:25 +00:00
Joe Donofry ae91bab07d Tweak some of the colors in the CSS rules for nheko.
Add room list hover title/subtitle color change support.
2019-01-12 14:35:56 +00:00
Konstantinos Sideris 6a90ed574e Increase the height of the roomlist items 2018-10-10 22:02:59 +03:00
Konstantinos Sideris 184c8b28e9 Use a smaller font size for the timestamp 2018-10-07 16:32:46 +03:00
Konstantinos Sideris f272d9221e Use alignment instead of stretch 2018-10-07 14:18:44 +03:00
Konstantinos Sideris aa486a5c0c Adjustments for the minimized sidebar 2018-10-07 14:09:47 +03:00
Konstantinos Sideris 2295d681a4 Remove the bundled open sans font 2018-10-07 13:27:20 +03:00
Konstantinos Sideris 4b807229aa Remove built-in emoji picker 2018-10-07 13:13:14 +03:00
Konstantinos Sideris c2faaa4d39 Add the correct parent to scaleCombo 2018-10-07 12:58:38 +03:00
Konstantinos Sideris 4865f852d8 Remove room re-ordering option 2018-10-06 18:43:53 +03:00
Konstantinos Sideris 3fdfc9b69f Remove Scrollbar 2018-10-06 18:39:11 +03:00
Konstantinos Sideris 675f1be777 Adjust the height of the bottom widgets 2018-10-06 18:07:02 +03:00
Konstantinos Sideris 748c5898be Adjust the font sizes of the welcome page 2018-10-06 17:41:47 +03:00
Konstantinos Sideris 844443a324 Adjust the widget size of the room list items 2018-10-06 17:21:03 +03:00
Konstantinos Sideris 420937ab83 Derive widget sizing from the font size 2018-10-04 00:32:13 +03:00
Konstantinos Sideris be1478183e Remove some unnecessary calls 2018-10-02 13:16:44 +03:00
Konstantinos Sideris 3a57d1018e Add option to configure the font size
fixes #161
2018-10-01 17:56:46 +03:00
Konstantinos Sideris 4b1b062388 Enable debug logs 2018-09-30 14:33:54 +03:00
Konstantinos Sideris 8f89ad15f7 Change the minimum width for modals 2018-09-30 13:37:38 +03:00
Konstantinos Sideris 9038c950ae Remove pixel value from fonts 2018-09-30 13:24:36 +03:00
Konstantinos Sideris d1e08e0008 Remove obsolete font/size setting 2018-09-29 14:26:47 +03:00
Konstantinos Sideris 29f442a9f9 Remove pixel values from the text input widget 2018-09-29 14:19:22 +03:00
Konstantinos Sideris 758be07a5a Make the height of the bottom bar smaller 2018-09-29 14:05:59 +03:00
Victor Berger 18a98a7c1d Display tags as sorting items in the community panel (#401) 2018-09-28 12:40:51 +00:00
Konstantinos Sideris 59a1b6b47c Don't enable tray by default 2018-09-26 19:22:52 +03:00
Konstantinos Sideris bbf37bf633 Don't clear selection when a context menu is requested 2018-09-26 19:21:10 +03:00
Konstantinos Sideris c64a1bf759 Move TextLabel into its own file 2018-09-26 15:17:14 +03:00
Konstantinos Sideris 9bc7b6305e Lint 2018-09-26 12:06:30 +03:00
Konstantinos Sideris c9427c7f17 Clear text selection when focus is lost
fixes #409
2018-09-25 18:06:11 +03:00
Konstantinos Sideris 7a288cc2cb Add infinite scroll in member list
fixes #446
2018-09-25 15:43:48 +03:00
Konstantinos Sideris 39b4c83bb0 Don't clear the member list when the modal is hidden
fixes #447
2018-09-25 14:53:07 +03:00
Konstantinos Sideris adf2019c56 Use QPushButton on the preview modal 2018-09-25 14:41:47 +03:00
Konstantinos Sideris dec643e6ea v0.6.0 2018-09-21 16:44:45 +03:00
Konstantinos Sideris fc684f6571 Require login when the cache format changes (regression on #444) 2018-09-21 14:43:52 +03:00
Konstantinos Sideris b0e3a7c7fa Add close buttons to all dialogs 2018-09-21 13:56:39 +03:00
Konstantinos Sideris 2a2b52e07f Center dialogs around the main window 2018-09-21 11:30:02 +03:00
Konstantinos Sideris ce26f041ad Add method to center widgets & clean up unused headers 2018-09-21 10:55:24 +03:00
Konstantinos Sideris ecc346a6da Close dialogs on confirmation 2018-09-20 09:59:14 +03:00
Konstantinos Sideris d4ce7a9dda Use confirm as the default button 2018-09-20 08:52:31 +03:00
Konstantinos Sideris 1b7816f7ca macOS: Use the native emoji picker
fixes #79
2018-09-19 23:38:36 +03:00
Konstantinos Sideris 1716502eff Improvements on the system theme 2018-09-19 22:42:26 +03:00
Konstantinos Sideris 3e49afd6ba Fix compile warnings 2018-09-18 18:48:14 +03:00
Konstantinos Sideris 440237cdb9 Clean up unread rooms after initial sync 2018-09-16 11:41:53 +03:00
Konstantinos Sideris 1f3535bc43 Bump cache version due to incompatible changes 2018-09-16 11:19:53 +03:00
Konstantinos Sideris 9ad4aab657 Ignore sessions that cannot be parsed 2018-09-16 11:19:18 +03:00
Konstantinos Sideris a9ddc3b3d3 Implement import/export of megolm session keys (#358) 2018-09-15 23:52:14 +03:00
Konstantinos Sideris cf71a5858c Update mtxclient 2018-09-15 00:40:16 +03:00
Konstantinos Sideris 8767ea181d Mark unread rooms as such in the room list
fixes #313
2018-09-13 19:15:58 +03:00
Konstantinos Sideris 9f3de8679d Temporary fix to work with mx-reply tags 2018-09-13 16:10:45 +03:00
Konstantinos Sideris bf4d559523 Strip paragraph tags
fixes #438
2018-09-13 11:02:54 +03:00
Konstantinos Sideris e88cfa1b20 Use <em></em> for m.emote messages 2018-09-12 21:46:33 +03:00
Konstantinos Sideris 7a6816a9f6 Remove italics from m.notice messages 2018-09-12 20:59:27 +03:00
Konstantinos Sideris 9c06ba5d25 Open user profile on matrix.to links 2018-09-12 20:54:44 +03:00
Konstantinos Sideris e9ee29978d Add context menu option to show the raw message
fixes #437
2018-09-12 16:27:25 +03:00
Konstantinos Sideris bc38fcec6c Move some info logs to debug 2018-09-12 14:28:54 +03:00
Konstantinos Sideris dd73a4b278 Trim whitespace from text messages 2018-09-12 14:20:12 +03:00
Konstantinos Sideris a0a76e352b Enable html attributes 2018-09-12 13:40:42 +03:00
Konstantinos Sideris 4565f2cf00 Don't break the layout on empty text messages 2018-09-12 13:12:24 +03:00
Konstantinos Sideris 074608dec1 Switch to libcmark 2018-09-11 14:56:09 +03:00
Konstantinos Sideris 72333aec59 Enable Qt auto scaling
fixes #397
2018-09-08 17:10:42 +03:00
Konstantinos Sideris 667ee75d66 Show sidebar after initial sync
fixes #412
2018-09-08 15:50:35 +03:00
Konstantinos Sideris 5267e0262b Remove custom stylesheet for qmenu 2018-09-08 14:55:30 +03:00
Konstantinos Sideris 0588cb3dbf macOs: Add missing border on the TopBar 2018-09-08 14:16:51 +03:00
Konstantinos Sideris 19626dbb10 Small refactoring on the EditModal 2018-09-08 13:20:54 +03:00
Konstantinos Sideris 245a3735e5 Remove debug prints 2018-09-07 20:31:47 +03:00
Konstantinos Sideris 9e8f0b7409 Initial support for sending markdown formatted messages
fixes #283
2018-09-07 20:05:30 +03:00
Konstantinos Sideris a21db789e7 Fix double href links on username pills 2018-09-07 14:52:29 +03:00
Konstantinos Sideris 896fe069b6 Use proxy objects on lambdas instead of raw pointers
When the object is destroyed the connections will be removed
automatically by Qt.

fixes #433
2018-09-07 12:24:09 +03:00
Konstantinos Sideris a1af99becb Put back removed links 2018-09-06 22:41:02 +03:00
Konstantinos Sideris 8ad01f520a Add initial support for displaying formatted messages 2018-09-06 22:34:41 +03:00
Konstantinos Sideris 0c6a3b6282 Remove captcha dialog from the member list 2018-09-05 18:05:27 +03:00
Konstantinos Sideris 797a69fd90 Fallback to the login screen when the one-time keys cannot be uploaded 2018-09-05 16:57:26 +03:00
Konstantinos Sideris 4a30eb30b3 Enable colors in console logger 2018-09-04 13:17:21 +03:00
Konstantinos Sideris 990a3a97c7 Merge matrix-structs into the client lib 2018-09-01 13:35:10 +03:00
Konstantinos Sideris e9a8e51208 Guard against flickering for items added to the top of the timeline 2018-08-31 18:34:54 +03:00
Konstantinos Sideris 27fed83083 Retry initial sync on generic network errors (#422) 2018-08-31 16:25:27 +03:00
Konstantinos Sideris 28dda237c2 Don't block on empty from token 2018-08-31 14:56:55 +03:00
Konstantinos Sideris 641364c105 Handle some more edge cases in timeline 2018-08-31 10:47:27 +03:00
Konstantinos Sideris d608950bea Stop calling /messages if the prev_batch token is empty 2018-08-31 09:57:04 +03:00
Konstantinos Sideris e29fceaee4 Fix a use-after-free error during logout 2018-08-31 09:10:47 +03:00
Konstantinos Sideris b10e1bafc8 Add temp fix to work with servers that don't support e2ee endpoints
fixes #371
2018-08-30 20:37:24 +03:00
Konstantinos Sideris ee2ba93ec4 Only call /sync when retrying initial sync (#422) 2018-08-30 13:39:09 +03:00
Konstantinos Sideris 183975be1a Increase LMDB's map size (#413) 2018-08-29 16:47:28 +03:00
Konstantinos Sideris b7362298b0 Make lambda that updates avatar a class method 2018-08-29 16:15:31 +03:00
Konstantinos Sideris 56ee290b03 Add the ability to change the room avatar
fixes #418
2018-08-29 16:00:07 +03:00
Konstantinos Sideris db9c37d336 Call adjustSize before showing the timeline widget 2018-08-28 00:19:39 +03:00
Konstantinos Sideris 7e16730692 Remove unnecessary height setting for timeline messages
This will remove some minor flickering (hopefully for good)
2018-08-27 21:32:24 +03:00
Konstantinos Sideris 9f43ff876a Show the room id in the room settings modal
fixes #416
2018-08-26 14:56:35 +03:00
Konstantinos Sideris 345dca3544 Add method to delete old messages periodically
fixes #413
2018-08-25 21:08:43 +03:00
Rudi Floren c8a59f2d6e Add device ID and device fingerprint to settings page like in Riot. (#407) 2018-08-21 06:22:51 +00:00
Konstantinos Sideris 6d1f2ea9b3 Remove pixel ratio from image scaling 2018-08-20 11:58:13 +03:00
Konstantinos Sideris 04c888c44c Fix crash on logout 2018-08-13 09:35:55 +03:00
Konstantinos Sideris b06203a34b Install the bundled spdlog 2018-08-12 10:49:51 +03:00
Colin Lord bcd92c0604 Enable compilation on FreeBSD (#403) 2018-08-12 09:33:36 +03:00
Konstantinos Sideris cebd8cbc19 Add option to disable desktop notifications
fixes #388
2018-08-11 18:26:17 +03:00
Konstantinos Sideris 05547086fb Increase the minimum modal size 2018-08-11 17:55:44 +03:00
Konstantinos Sideris aa2f6ce77d Simplify dialog creation 2018-08-11 13:50:56 +03:00
Konstantinos Sideris a339f5062f Add solid background in TypingDisplay 2018-08-10 10:58:46 +03:00
Konstantinos Sideris 040e29dfb9 Add bottom border line on Linux 2018-08-09 18:45:18 +03:00
Konstantinos Sideris d4c3dac28f Remove the reserved space gap for the typing notifications 2018-08-09 18:20:17 +03:00
Konstantinos Sideris aec5587947 Allow user to configure join rules for a room 2018-08-09 16:38:11 +03:00
Konstantinos Sideris 509d3eb8b4 Add missing update() on typing display 2018-08-09 13:39:39 +03:00
Konstantinos Sideris f955ec762c Use archives instead of repos to fetch dependencies 2018-08-08 14:15:14 +03:00
Konstantinos Sideris 43a4676282 Remove hover event from emoji picker
fixes #398
2018-08-08 13:15:19 +03:00
Konstantinos Sideris 3fb57ac049 Add tooltips for the message indicators (#377) 2018-08-08 12:57:50 +03:00
Konstantinos Sideris 8d3ef470f9 Remove hardcoded colors from the typing display 2018-08-08 12:51:40 +03:00
Konstantinos Sideris df42fdc80f Remove unwanted whitespace from the user settings menu 2018-08-01 21:26:34 +03:00
Konstantinos Sideris b5b5faa5ec Consider the scale ratio when scaling down images
fixes #393
2018-08-01 21:10:03 +03:00
Konstantinos Sideris 06b30b3cca Use double instead of int when scaling pixmaps (#393) 2018-07-30 12:35:15 +03:00
Konstantinos Sideris 6ffb747421 Add tab-completion for usernames
fixes #394
2018-07-29 21:58:18 +03:00
Konstantinos Sideris f8a1ed84a8 Fix background color on the room list widget 2018-07-26 12:12:00 +03:00
Konstantinos Sideris 899249a485 Add missing tooltips on buttons
fixes #249
2018-07-25 23:28:37 +03:00
Konstantinos Sideris a845ccb8d7 Use repaint instead of update on the loading animation 2018-07-25 23:10:45 +03:00
Konstantinos Sideris 1f47a6af3a Improve the style of snackbar a bit 2018-07-25 23:07:56 +03:00
Konstantinos Sideris 8386dd73ce Enable scrollbar on the room list for macOS (#174) 2018-07-25 18:59:33 +03:00
Konstantinos Sideris 069f0a1fbd Use native scrollbar in the timeline 2018-07-25 18:48:11 +03:00
Konstantinos Sideris bfdbd49e3e Align timeline widgets to the bottom 2018-07-25 16:46:57 +03:00
Konstantinos Sideris 59a42183bc Fix issue with missing communities due to an unregistered metatype 2018-07-25 16:34:54 +03:00
Konstantinos Sideris 35067088f9 Disable paint updates when removing the room filter 2018-07-24 21:43:51 +03:00
Konstantinos Sideris 6583686a7c Remove spacer & set sizePolicy on the timeline view & widgets
This was causing some flickering when many messages were added.
Mostly visible on macOS.
2018-07-23 21:54:13 +03:00
Konstantinos Sideris 6b42e3b202 Simplify the message shown when another app instance is detected 2018-07-22 20:26:50 +03:00
Konstantinos Sideris 98548b1b8b Minor modal adjustments 2018-07-22 20:01:12 +03:00
Konstantinos Sideris 85e93a88a6 Add option to specify the scale factor
fixes #357
fixes #335
fixes #230
2018-07-22 19:48:58 +03:00
Konstantinos Sideris 18695d636d Add input field to specify the device name on login 2018-07-22 18:41:15 +03:00
Konstantinos Sideris 3d2e29bfa0 Remove pixel values from modals, use pointSize instead 2018-07-22 18:03:12 +03:00
Konstantinos Sideris 24bad93f6b Add option to ignore key requests altogether 2018-07-22 16:36:25 +03:00
Konstantinos Sideris 0247b47553 Refactor the room settings menu to look like the user profile 2018-07-22 15:41:06 +03:00
Konstantinos Sideris 5dfd26abc5 Reject key requests for users that are not members of the room 2018-07-22 14:11:28 +03:00
Konstantinos Sideris 73e3161c88 Disable paint updates while applying room filtering (#380) 2018-07-21 14:57:56 +03:00
Konstantinos Sideris 6c65213c83 Reuse the profile modal & adjust its spacing relative to the font size 2018-07-21 14:33:35 +03:00
Konstantinos Sideris 54c7eb374a Lower the complexity of the group filtering algorithm (#380)
The old algorithm during filtering will check every room
if it's part of the group. O(N*G)

The room ids for a group are now stored in a map for faster lookup
so the search can be completed in a single pass. O(N)
2018-07-21 13:35:36 +03:00
Konstantinos Sideris 9d718fccf4 Clear timeline widgets when they exceed a certain limit (#158)
That's a fix to deal with long running sessions which will end
up taking more & more memory given enough time.
2018-07-21 12:09:23 +03:00
Konstantinos Sideris e8cb2cee0c Use a smaller icon size in the sidebar 2018-07-20 17:44:09 +03:00
Konstantinos Sideris 83008f44e4 Show device list in user profile & add option to create 1-1 chat 2018-07-20 16:15:50 +03:00
Konstantinos Sideris d7e5171bfa Create user profile modal 2018-07-20 12:02:35 +03:00
Konstantinos Sideris 5540fc0737 Add user avatar after the 'encryption is enabled' message
fixes #378
2018-07-19 18:46:36 +03:00
Konstantinos Sideris 00f99d9ae5 Fix variable shadowing on clang 2018-07-18 17:11:02 +03:00
Konstantinos Sideris e4dedbcaba Mark own read messages with a double checkmark (#377) 2018-07-17 23:50:18 +03:00
Konstantinos Sideris 0e814da91c Move all files under src/ 2018-07-17 16:37:25 +03:00
Benedikt Heine c942a4b9fc Explicitly set no timeout for notifications
The notification spec handles -1 and 0 as special values:
-1 -> representation for "undef"
 0 -> infinitely
 values above 0 represent the timeout in ms.

The notification messages should disappear again and with 0, this insn't
the case. Setting it to -1 lets the notification manager decide the
timeout and displays the notification like all others.
2018-07-16 12:13:05 +02:00
Benedikt Heine a7cf30005b Update image_data hint to current notification spec
The current notification spec says image-data should get used instead of
image_data.
2018-07-16 12:12:07 +02:00
Konstantinos Sideris 21185a44e7 Properly reset the autocomplete anchor when the popup closes
fixes #305
2018-07-15 21:26:48 +03:00
Konstantinos Sideris fde066e236 Use MainWindow instead of QApplication::activeWindow to reference the main window
The latter will not always return a valid pointer.

fixes #363
2018-07-15 20:58:10 +03:00
Konstantinos Sideris 31d09dbd68 De-duplicate the m.room.encryption event 2018-07-15 20:32:22 +03:00
Konstantinos Sideris a9f02128a2 Use the http link for video messages
Add method to convert matrix content URIs to http links
2018-07-15 20:05:31 +03:00
Konstantinos Sideris 33490eddab Remove the v2 namespace from the http client 2018-07-15 19:09:08 +03:00
Konstantinos Sideris e6b45263bc User reverse iterator instead of while loop 2018-07-15 18:58:09 +03:00
Konstantinos Sideris 4059f17e15 Add the -v / --version option, which displays the version string of the application. 2018-07-15 14:53:18 +03:00
Konstantinos Sideris c4613b210e Fix Windows build 2018-07-14 16:27:51 +03:00
Konstantinos Sideris 73dbd3c8dd Re-enable groups 2018-07-14 12:08:16 +03:00
Konstantinos Sideris 363e3735f1 Allow close events from the session manager (#353) 2018-07-11 20:56:44 +03:00
Max Sandholm 80ebe3f29d Working D-Bus desktop notifications (#361)
* Working D-Bus desktop notifications

* Remove return type on constructor

* Fix the Windows placeholder class

* Fix wrong variable name

* Fix windows and macOS versions of notificationsmanager
2018-07-11 17:33:02 +03:00
Konstantinos Sideris e7f30b57e8 Use QSharedPointer::data to be compatible with Qt < 5.11 2018-07-11 16:49:09 +03:00
Konstantinos Sideris 6f07ab433e Send image dimensions in m.image event
fixes #215
2018-07-10 23:31:51 +03:00
Konstantinos Sideris 1312c139cc Don't pre-load messages from caches
Requires backfilling which is not implemented.

fixes #365
2018-07-09 12:17:22 +03:00
Konstantinos Sideris 172d111d1c Add -Wshadow 2018-07-08 22:10:40 +03:00
Konstantinos Sideris 6d474b77f1 Fix variable shadowing that caused the key response to be null 2018-07-08 21:24:44 +03:00
Konstantinos Sideris 278eccc040 Add context menu action to request encryption keys 2018-07-07 23:59:23 +03:00
Konstantinos Sideris 9a0e18dea7 Add a timeline message when encryption is enabled 2018-07-07 13:39:53 +03:00
Konstantinos Sideris 67458dd2f8 Mark all decrypted messages with a padlock
fixes #351
2018-07-07 12:35:29 +03:00
Konstantinos Sideris 3bc8d791fb Don't download dependencies during build
fixes #346
2018-07-04 01:38:54 +03:00
Konstantinos Sideris 6c5309d9eb Fix regressions regarding UI resizing
The room list would be hidden only through window resizing.
2018-07-04 00:05:05 +03:00
Konstantinos Sideris 4073d61045 Add shortcuts for chat-only & Room List-only views
Ctrl-O -> Chat
Ctrl-L -> Room list
2018-07-01 22:57:14 +03:00
Konstantinos Sideris ccc6cd8dab Mark encrypted messages with a lock icon 2018-07-01 19:40:53 +03:00
Konstantinos Sideris 95ce2ef920 Implement dekstop notifications on Windows (#290) 2018-07-01 00:23:16 +03:00
Konstantinos Sideris 5b5d35fd1f Add basic support for replies (#292) 2018-06-30 15:13:15 +03:00
Konstantinos Sideris d56446ce97 Allow arbitrary resizing of the main window & restore sidebar's size
fixes #160
fixes #163
fixes #187
fixes #127
2018-06-29 14:28:48 +03:00
Konstantinos Sideris 4344b6964f Save timeline messages in cache for faster startup times 2018-06-28 16:17:39 +03:00
Konstantinos Sideris 1d6746e4c9 Upgrade matrix-structs & mtxclient 2018-06-28 16:17:39 +03:00
Konstantinos Sideris 9802ea8809 Send one claim request per user that includes all devices
Add missing megolm algorithm field that was causing
the "unknown algorithm" error.
2018-06-25 17:19:52 +03:00
Konstantinos Sideris cb21433dc8 Allow copying the version info in the settings page 2018-06-23 01:46:18 +03:00
Konstantinos Sideris a72eca339f Immediately shutdown the http client on exit 2018-06-22 19:47:55 +03:00
Konstantinos Sideris 74396e9aba Verify signature of identity keys before sharing the megolm session
Ignore devices that fail the verification.
2018-06-20 00:38:34 +03:00
Konstantinos Sideris 961c880d55 Handle olm & lmdb exceptions during message decryption
fixes #345
2018-06-19 22:53:22 +03:00
Konstantinos Sideris 7ecabcd614 Mark encrypted rooms when processing room state 2018-06-18 18:36:19 +03:00
Konstantinos Sideris 604cdcec8a Save the olm account after we create new one-time keys
Otherwise after a restart the old account will be loaded and we
won't be able to decrypt messages from devices using the new one-time keys.

Also new one-time key upload requests will fail due to conflicts with
the existing keys with the same keyid.
2018-06-18 12:56:47 +03:00
Konstantinos Sideris 4514d13948 Improve logging a bit 2018-06-18 12:29:24 +03:00
Konstantinos Sideris 197b2dac74 Fix regressions regarding invites & slowness during shutdown 2018-06-17 18:44:04 +03:00
Konstantinos Sideris d081fe9b9e Setup BinTray 2018-06-17 16:53:14 +03:00
Konstantinos Sideris 66249ed126 Correctly mark received messages whose response came after /sync 2018-06-17 02:29:19 +03:00
Konstantinos Sideris c0d32ef319 Update CI instructions 2018-06-17 00:23:49 +03:00
Konstantinos Sideris 24e0285210 Don't try to send megolm session keys to devices with no one-time keys 2018-06-15 16:45:39 +03:00
Konstantinos Sideris 9102a141f3 Handle OLM_MESSAGE type of messages properly 2018-06-15 01:35:31 +03:00
Konstantinos Sideris 7fc010fc4f Fix CI errors on macOS & Windows
- Run the linter
- Explicitly use cmake for installing olm
2018-06-14 09:36:41 +03:00
Konstantinos Sideris 8e9d210a2a Rename the log namespace to avoid symbol clash with the math function
- Patch the olm repo with a CMakeLists.txt file
2018-06-14 02:28:35 +03:00
Konstantinos Sideris 5d47cc3940 Add support for sending encrypted messages 2018-06-13 12:28:00 +03:00
Konstantinos Sideris e5dd64c63a Add method to convert PendingMessage's to event types
Add more logging during message sending
2018-06-12 22:35:10 +03:00
Konstantinos Sideris a97528b432 Fix bug where cache was initialized twice in a row 2018-06-12 20:36:16 +03:00
Konstantinos Sideris 36cb62748b Add menu option to enable encryption in a private room 2018-06-12 09:45:26 +03:00
Konstantinos Sideris 626c680911 Add support for displaying decrypted messages 2018-06-10 20:03:45 +03:00
Konstantinos Sideris b89257a34b Migrate to mtxclient for the http calls 2018-06-09 16:03:14 +03:00
Konstantinos Sideris 0a9d95dfc9 Include mtxclient in the build 2018-06-04 13:54:51 +03:00
Konstantinos Sideris 0fe81ecd4a Show Matrix ID tooltip when hovering over display name
fixes #212
2018-05-26 22:44:49 +03:00
Konstantinos Sideris b371c15b5f Properly resize Audio & File widgets
Remove empty space between username & timeline widgets
2018-05-26 17:05:57 +03:00
Konstantinos Sideris 90595beb16 Set fixed height for the DateSeparator & TextLabel 2018-05-26 10:34:34 +03:00
Konstantinos Sideris bcba977f4c Fix resize slowness on the TopBar 2018-05-25 16:13:38 +03:00
Konstantinos Sideris 5538a04690 Make the number of unread messages fit in the bubble
fixes #330
2018-05-25 10:01:53 +03:00
Konstantinos Sideris 3cf7ab9f04 Fix line break issue on timeline with long words
fixes #193
2018-05-23 16:33:30 +03:00
Konstantinos Sideris 9eb1c496a0 Retrieve the current room state from cache when the edit modal opens 2018-05-18 21:43:58 +03:00
Konstantinos Sideris d88dee3185 Refresh the room info on the top bar after sync 2018-05-18 21:37:08 +03:00
Konstantinos Sideris 4ab42c68f4 Fix crash on unfinished animation & center the edit modal 2018-05-18 21:27:44 +03:00
Konstantinos Sideris 791a9d0a4d Hide the edit menu when the user doesn't have enough power 2018-05-16 23:30:50 +03:00
Konstantinos Sideris 340c9ab9de Add menu to modify the name & topic of the room
fixes #235
2018-05-16 20:41:15 +03:00
twahm 4bd43780d9 Add read support for room access options (#324)
- Join rules
- Guest access
2018-05-13 01:31:58 +03:00
Konstantinos Sideris 18061f0600 Use the correct avatar size for HiDPI displays 2018-05-11 16:00:14 +03:00
Konstantinos Sideris 05585ff8cf Make explicit that MatrixClient & Cache are unique pointers 2018-05-11 13:41:46 +03:00
Konstantinos Sideris 701aa93b0a Add scrollbar in the settings menu 2018-05-09 01:00:10 +03:00
Anton Karmanov 17896b1c82 Start in tray (#319) 2018-05-08 23:53:40 +03:00
Konstantinos Sideris 7d809be79f Hide SnackBar initially & guard against access of an empty list 2018-05-08 23:38:57 +03:00
Konstantinos Sideris ebed87ea57 Don't use shared pointers for cache 2018-05-08 20:30:09 +03:00
Konstantinos Sideris 4c4ea557b3 Replace shared pointers of MatrixClient with a single instance 2018-05-08 18:43:56 +03:00
Konstantinos Sideris 5aff3e4309 Don't send notification for the room that is currently open 2018-05-07 12:00:49 +03:00
Konstantinos Sideris 506cf68072 Implement desktop notification for mac 2018-05-05 22:40:24 +03:00
Konstantinos Sideris ed9501023a Add support for retrieving the notification events (#33) 2018-05-05 16:38:41 +03:00
Konstantinos Sideris 156e1e62a6 Fetch user avatars while browsing the member list 2018-05-04 17:59:29 +03:00
Konstantinos Sideris 8dd21b1dae Remove the extra top margin from timeline widgets 2018-05-04 15:47:04 +03:00
Konstantinos Sideris 7dab863738 Remove flickering by updating auto-complete menu items in-place
Instead of deleting the current items and creating new ones.
2018-05-03 17:29:02 +03:00
Konstantinos Sideris d6ac72ab3f Default to the first item in room selection menu
- Add backwards navigation with backtab

fixes #316
2018-05-03 15:19:28 +03:00
Konstantinos Sideris 916c0d48af Move access token to header 2018-05-02 16:00:37 +03:00
Konstantinos Sideris 7f69c71814 Handle invalid access token 2018-05-02 15:30:08 +03:00
Konstantinos Sideris 23accc50d6 Show user avatar for messages on different day or time gap > 15 mins
fixes #278
2018-05-01 23:32:11 +03:00
Konstantinos Sideris 763330fd3c Add member list 2018-05-01 19:35:28 +03:00
Konstantinos Sideris 3097037c3d Add prototype room settings menu 2018-04-30 21:41:47 +03:00
Konstantinos Sideris 21c68c5824 Show room tooltips when the sidebar is collapsed 2018-04-30 09:27:12 +03:00
Konstantinos Sideris 62d54146a7 More consistent spacing between messages 2018-04-29 20:39:22 +03:00
Konstantinos Sideris 95120c602b Refactor utils::getMessageDescription 2018-04-29 15:42:40 +03:00
Konstantinos Sideris 7621dc0cb0 Fix UI inconsistencies between room list & communities
fixes #204
fixes #255
2018-04-28 15:27:12 +03:00
Konstantinos Sideris bee9278a1a Remove old/unused code 2018-04-28 13:16:37 +03:00
Konstantinos Sideris 3f80725c33 Add support for displaying m.sticker events
fixes #291
2018-04-27 22:15:44 +03:00
Konstantinos Sideris c971602b2d Add remove_if for maps 2018-04-27 18:19:43 +03:00
Konstantinos Sideris 2c6192d08f Fix clicking on room list suggestions 2018-04-27 14:04:13 +03:00
Konstantinos Sideris b72e48cbab Improve room searching
fixes #257
2018-04-27 01:57:46 +03:00
Konstantinos Sideris 31f5fbf891 Improve the date separator widget 2018-04-25 15:38:25 +03:00
Konstantinos Sideris b655a503a7 Fix signal redefinition warning 2018-04-24 23:57:49 +03:00
Konstantinos Sideris 4fd8eccece Adjust completion menu to fit its contents 2018-04-24 16:03:50 +03:00
Konstantinos Sideris 649d73a7bd Clear typing notifications when the user list is empty
fixes #304
2018-04-24 14:50:47 +03:00
Konstantinos Sideris 0028fdfe6c Remove map from room_id to QPixmap from ChatPage
The avatars are loaded from cache
2018-04-24 14:13:05 +03:00
Konstantinos Sideris 4f6ffb6e73 Fix CI errors 2018-04-22 15:37:23 +03:00
Konstantinos Sideris 1642f3cf40 Update invites in the UI after sync 2018-04-22 14:19:05 +03:00
Konstantinos Sideris c0e355f485 Properly clean stale invites 2018-04-22 12:26:41 +03:00
Konstantinos Sideris 6d0bc0c05e Strip whitespace from room names for QuickSwitcher 2018-04-22 11:27:00 +03:00
Konstantinos Sideris 7a16e05b14 Initialize views before room list 2018-04-22 10:54:52 +03:00
Konstantinos Sideris 29bd8b71d1 Implement media cache 2018-04-21 21:18:57 +03:00
Konstantinos Sideris 54091cf403 Bump cache format version 2018-04-21 17:27:38 +03:00
Konstantinos Sideris 9d825b07ca Remove dead code 2018-04-21 17:27:06 +03:00
Konstantinos Sideris 74ff905582 Clean up Top Bar 2018-04-21 17:21:44 +03:00
Konstantinos Sideris 4a2f1af090 Save read receipts 2018-04-21 17:14:16 +03:00
Konstantinos Sideris 2f00fc51bf Cache refactoring 2018-04-21 16:35:03 +03:00
Konstantinos Sideris ca66940ec3 Popup improvements
- ESC closes the popup.
- Up/Down arrows for navigation.
- BackTab for backwards navigation.

fixes #301
fixes #302
2018-04-14 14:12:36 +03:00
christarazi 0b3029b3c4 Implement pressing tab to navigate auto completion (#294)
Fixes #287

* Fix pop-up not showing when less than max 

* Select suggestion by pressing Enter
2018-04-10 11:47:23 +03:00
Konstantinos Sideris 5125433552 Hide emoji panel if it's not under the mouse cursor
fixes #254
fixes #246
2018-04-08 15:49:53 +03:00
Konstantinos Sideris 8dc17ccecb Bump version 2018-04-03 15:17:34 +03:00
Konstantinos Sideris 33a8628059 Update the room list after a redacted event has been removed
fixes #286
2018-04-03 10:24:35 +03:00
Konstantinos Sideris 0a09ce0f75 Update first & last sender after message deletion
fixes #282
2018-03-27 21:07:39 +03:00
Konstantinos Sideris 284d200361 Fix invite button colors on the system theme
fixes #248
2018-03-27 20:21:14 +03:00
Konstantinos Sideris f4675165ea Add environment variable to allow insecure connections (self-signed certs)
NHEKO_ALLOW_INSECURE_CONNECTIONS=1 ./nheko

fixes #260
2018-03-27 10:38:00 +03:00
Konstantinos Sideris ed0b345e76 Pin invites to the top of the room list
fixes #252
2018-03-26 22:02:53 +03:00
Konstantinos Sideris 15931fc322 Track invites so they can be removed outside of nheko
fixes #213
2018-03-26 21:39:00 +03:00
Konstantinos Sideris f9fd03b958 Simplify variant usage 2018-03-26 20:41:16 +03:00
Konstantinos Sideris f6f46119a6 Fix CI errors 2018-03-25 23:05:44 +03:00
Konstantinos Sideris f02d3ee606 Replace std::thread with QtConcurrent 2018-03-25 21:50:45 +03:00
Konstantinos Sideris 72d5d6d286 Show avatars in the completion popup 2018-03-25 15:59:47 +03:00
Konstantinos Sideris 553a97c8bb Add basic support for username auto-completion
fixes #40
2018-03-24 23:16:15 +02:00
Konstantinos Sideris f77a103209 Add version info in the settings menu
fixes #239
2018-03-22 16:20:22 +02:00
Konstantinos Sideris 64a6771dc8 Fix text color on room switcher
fixes #245
2018-03-22 09:16:17 +02:00
Konstantinos Sideris 480de2d30b Adjust unread msg bubble 2018-03-20 21:23:01 +02:00
Hawkheart 42733eeb86 TimelineView: remove unneeded date separators when deleting a redacted message (#279)
fixes #276
2018-03-20 08:59:00 +02:00
Konstantinos Sideris d2d65b6662 More stylistic changes & dark theme tweaks 2018-03-19 20:26:14 +02:00
Konstantinos Sideris cef385e1e4 Use the full with of the roomlist for the last message 2018-03-19 18:10:48 +02:00
Konstantinos Sideris bac1f46127 Dark theme revisited 2018-03-18 23:38:04 +02:00
Konstantinos Sideris 48ee36f6b2 Add border in community list & minor refactorings (#204) 2018-03-18 17:38:57 +02:00
Konstantinos Sideris b70e09c7ec Add border line above the text input 2018-03-18 17:08:13 +02:00
Konstantinos Sideris 7253dc2c54 roomlist: Put the message timestamp on the top 2018-03-18 15:54:53 +02:00
Konstantinos Sideris fef7cd5b83 Don't count m.room.member or m.room.reaction events as viewable 2018-03-18 13:29:21 +02:00
Konstantinos Sideris 81d3bd8ce6 Remove redacted events from other users (#171) 2018-03-18 12:47:35 +02:00
Konstantinos Sideris 49270d10b4 Update matrix-structs library 2018-03-18 11:05:39 +02:00
Konstantinos Sideris a0ae6cf5d5 Add ability to redact messages 2018-03-17 21:23:46 +02:00
Konstantinos Sideris 2fe0dbb38c Fix CI & adjust snackbar animation 2018-03-17 11:38:06 +02:00
Konstantinos Sideris 4a6becacca Add fancy snackbar animation 2018-03-16 17:56:45 +02:00
Konstantinos Sideris 343acaf434 Remove opacity animation from the scrollbar
fixes #270
2018-03-16 17:29:21 +02:00
Konstantinos Sideris 511c58d608 Add context menu option to save images
fixes #265
2018-03-14 21:31:09 +02:00
Konstantinos Sideris 1b5e18cb1a Fix CI builds 2018-03-13 08:53:32 +02:00
Konstantinos Sideris 4659d0efc2 Implement user registration with reCAPTCHA
fixes #264
2018-03-12 22:23:26 +02:00
Konstantinos Sideris 39a8150fae Update room name & avatar on new rooms
fixes #253
2018-03-12 00:15:06 +02:00
Konstantinos Sideris d6b61fbb14 Add context menu option to mark events individually as read
fixes #261
2018-03-11 17:56:40 +02:00
Konstantinos Sideris 290de548bb Remove unused variables 2018-03-10 23:31:01 +02:00
Konstantinos Sideris 39abf163b8 Crete a proxy for media to uniquely match signal to the caller 2018-03-07 21:23:57 +02:00
Konstantinos Sideris ea22bdce18 Add a unique id for locally uploaded images
The event_id will be an empty string because we haven't received yet
2018-03-07 20:42:32 +02:00
Konstantinos Sideris af02b4f4a8 Show messages in the RoomList after initial sync 2018-03-04 15:39:41 +02:00
Konstantinos Sideris fb5719f184 Don't handle password when the matrix id is entered 2018-03-04 15:15:52 +02:00
Konstantinos Sideris 0f62cba498 Retry initial sync only on specific errors
fixes #233
fixes #89
2018-03-04 14:49:15 +02:00
Konstantinos Sideris 7fc33a71fd Bump version 2018-03-04 14:08:46 +02:00
Konstantinos Sideris b15a04b00a Don't open room switcher when another dialog is open
fixes #251
2018-03-04 13:40:30 +02:00
Stuart Mumford 47c31b9a18 Retry initial sync forever (#234) 2018-03-04 12:35:14 +02:00
Konstantinos Sideris 7f7f3a805b Remove dead code & small refactorings using the std library 2018-03-03 22:08:56 +02:00
Konstantinos Sideris 735d508a29 Handle empty matrix ID (regression from 9de1ec1)
fixes #259
2018-03-01 09:31:08 +02:00
Konstantinos Sideris f6c279f6f2 Propagate errors during /login & /versions 2018-02-28 22:07:53 +02:00
Konstantinos Sideris 9de1ec1b7b Fix crash when inviting users 2018-02-28 21:14:41 +02:00
Konstantinos Sideris 12a96aae6d Add some missing references 2018-02-28 12:12:07 +02:00
Konstantinos Sideris c75a136973 Enable room switcher only in the chat view (#251) 2018-02-26 13:17:04 +02:00
Konstantinos Sideris f525b7e6a9 Replace login request with the one from matrix-structs 2018-02-23 22:27:59 +02:00
Konstantinos Sideris fb850787d7 Relax matrix identifier parsing
fixes #241
2018-02-23 22:06:35 +02:00
Konstantinos Sideris 020f153f1f Fix crash when trying to use automatically deleted ImageOverlay dialog 2018-02-20 22:08:16 +02:00
Konstantinos Sideris f95998a64b Be explicit about the captured parameters in lambdas 2018-02-20 17:09:11 +02:00
Konstantinos Sideris 127c52e39a Scale down the preview image to fit in the application window
On macOS the modal has some extra space around the main content
that might make it unusable with a big enough image.
2018-02-19 23:33:11 +02:00
Konstantinos Sideris 1764bacd4b Move scaleImage() in Utils 2018-02-19 23:32:37 +02:00
Konstantinos Sideris 8b139c32a3 Minor adjustments 2018-02-19 22:09:21 +02:00
Konstantinos Sideris a8e17b9c91 Notify the user on upload failures 2018-02-19 00:17:54 +02:00
christarazi cd9d1a2ec6 Support audio, video, generic file for pasting (#220)
* Refactor widget items to use same interface

* Support audio, video, generic file for pasting

* Add utils function for human readable file sizes

* Set correct MIME type for media messages

This change also determines the size of the upload once from the
ContentLengthHeader, rather than seeking the QIODevice and asking for
its size. This prevents any future trouble in case the QIODevice is
sequential (cannot be seeked). The MIME type is also determined at
upload once, rather than using the QIODevice and the underlying data
inside.

* Allow for file urls to be used as fall-back

This fixes an issue on macOS which uses `text/uri-list` for copying
files to the clipboard.

fixes #228
2018-02-18 22:52:31 +02:00
Konstantinos Sideris c8bfb02211 Show loading indicator while waiting for /login & /logout
fixes #208
2018-02-18 22:22:26 +02:00
Konstantinos Sideris 7e2f835eec Properly detect the start of the timeline
We can't rely solely on the number of the returned messages
because it could be zero if all the event types are unknown.

fixes #168
2018-02-17 19:29:53 +02:00
Konstantinos Sideris fdd5051dcf Remove QPropertyAnimation from modals to work around a regression on Qt 5.10.1 (#87) 2018-02-17 18:43:40 +02:00
Konstantinos Sideris 59e4148a7c Fix transparency issue on custom dialogs
fixes #87
2018-02-17 14:04:46 +02:00
Konstantinos Sideris 8d867f418d Hide emoji picker when the app loses focus
fixes #184
fixes #209
2018-02-16 19:02:15 +02:00
Konstantinos Sideris 86280098b4 Implement server-side notification count 2018-02-15 21:58:57 +02:00
Konstantinos Sideris 6d08e67abd Simplify variant access with std::visit 2018-02-11 19:30:22 +02:00
William Pitcock 0be787f1e4 RoomList: do not blindly dereference RoomState (#232)
This can happen when a new room is being created from a different client and thus is created
with no known state to the local client.
2018-02-11 14:39:06 +02:00
Konstantinos Sideris ba8faa357f Remove empty destructors 2018-02-10 16:29:09 +02:00
Konstantinos Sideris 26f221ec23 Move LeaveRoom dialog to MainWindow (#87) 2018-02-10 16:05:31 +02:00
Konstantinos Sideris ddcc0f7f60 Generate a date separator before local messages 2018-02-10 01:09:30 +02:00
Konstantinos Sideris da6b816228 Remove tone emoji 2018-02-09 12:20:09 +02:00
Konstantinos Sideris b60554b8fd Add a timeout timer for initial sync (#223, #222)
Show a better message on the login screen after an initial sync failure.
2018-02-08 19:07:58 +02:00
Chris Tarazi 31eb0a9c88
Create new font for checkmark 2018-02-07 21:32:22 -08:00
Chris Tarazi 2dcc01633e
Apply fixed width for checkmark for all messages 2018-02-07 21:32:21 -08:00
Chris Tarazi a15079c68f
Fix #217: create space for checkmark beforehand 2018-02-07 21:32:20 -08:00
Konstantinos Sideris 43ba4d5ed5 Handle case with no available rooms
fixes #181
2018-02-02 10:51:07 -07:00
Konstantinos Sideris 96e99710fc Second attempt to fix failback text size for ImageItem 2018-01-31 09:27:34 -07:00
Konstantinos Sideris 117a739bc4 Add enough space for the failback text in ImageItem 2018-01-30 15:30:25 -07:00
Konstantinos Sideris 07a4e38ed8 Increase pagination retry timeout 2018-01-30 13:40:48 -07:00
Konstantinos Sideris b1f232bf86 Render messages received by `/messages` on demand 2018-01-30 12:56:01 -07:00
Konstantinos Sideris 992332adf7 Update user avatars in place 2018-01-30 11:39:06 -07:00
Konstantinos Sideris 597f829c57 Remove '#' from the room avatars 2018-01-25 18:10:05 +02:00
Konstantinos Sideris 67418e11b1 Add missing processEvents call 2018-01-25 17:18:37 +02:00
Konstantinos Sideris 2cf3161bff Call processEvents while rendering new events 2018-01-25 16:49:31 +02:00
Konstantinos Sideris 0e91dae922 Erase items using the key 2018-01-25 14:34:15 +02:00
Konstantinos Sideris 936e215aed Resize text input vertically to fit the contents 2018-01-25 07:57:19 +02:00
Konstantinos Sideris 1fad9398fc Use more stl containers & minor refactorings 2018-01-24 20:46:37 +02:00
Konstantinos Sideris 9eedcd700a Remove trailing whitespace from text messages
fixes #216
2018-01-23 18:14:13 +02:00
Konstantinos Sideris 2274642f12 Show the scroll-down button when showing the timeline 2018-01-23 17:34:57 +02:00
Konstantinos Sideris 48dabdfdc7 Don't dismiss the loading overlay by clicking 2018-01-22 16:47:08 +02:00
Konstantinos Sideris 72cba5d9eb Disable minimize to tray except for the ChatPage 2018-01-22 16:33:47 +02:00
Konstantinos Sideris 4098cf6780 Fix ci 2018-01-22 14:52:54 +02:00
Konstantinos Sideris 64dd4c5985 Remove Accept-Encoding header 2018-01-22 12:02:07 +02:00
Konstantinos Sideris c59cd0e80b Load the initial cache data without blocking the UI 2018-01-21 21:43:21 +02:00
Konstantinos Sideris c123bada94 Refactor avatar fetching in one function 2018-01-21 20:28:38 +02:00
Konstantinos Sideris fc890f572c Fix iterator crash 2018-01-21 18:25:58 +02:00
Konstantinos Sideris e37c2e34ce Use the Accept-Content header to enable response compression
fixes #86
fixes #89
2018-01-21 15:12:21 +02:00
Konstantinos Sideris 92a578f5e8 Convert 'if' to 'else if' to remove a no-op 2018-01-17 10:16:54 +02:00
Konstantinos Sideris 9de2db2fb8 Automatically focus on input when opening a dialog 2018-01-16 22:50:47 +02:00
Konstantinos Sideris eea33062e3 Add some very useful commands 2018-01-16 22:34:31 +02:00
Konstantinos Sideris 26540bd120 Hack to work around layout flickering when adding new timeline items 2018-01-16 22:24:23 +02:00
Konstantinos Sideris 7792ca7149 Fix emoji as avatars issue for the receipts 2018-01-16 21:02:29 +02:00
Konstantinos Sideris caf5b70994 Move the cursor to the start/end of the text before we move up/down in history
fixes #166
2018-01-16 20:51:46 +02:00
Konstantinos Sideris af5663b6bc Add borders 2018-01-15 21:04:49 +02:00
Konstantinos Sideris 020a842aef Change cache format to not allow duplicate receipts
Convert list of receipts to map<userId, timestamp>
2018-01-14 23:37:38 +02:00
Konstantinos Sideris 4521837765 Add option to disable typing notifications
fixes #131
2018-01-14 15:57:58 +02:00
Konstantinos Sideris c4fa8c844d Add a checkmark to messages that have been received by the server (#93) 2018-01-14 12:54:17 +02:00
Konstantinos Sideris dfeb0c833a Move timestamps to the right 2018-01-14 12:29:54 +02:00
Konstantinos Sideris d31a08f1d5 Keep syncing regardless of connectivity (#93) 2018-01-13 22:25:15 +02:00
Konstantinos Sideris d3603606e7 Make some functions inline 2018-01-13 17:52:23 +02:00
Konstantinos Sideris 3929261a8e Use QSharedPointer to save RoomStates 2018-01-13 17:15:47 +02:00
krombel f87b8fe817 Upload filter automatically and use filter_id (#201)
When a custom filter is inserted into nheko.conf or there was no filter
defined yet the default filter gets automatically uploaded.
After a successful upload the server-side generated filter-id is used.

This is done async as it is just an enhancement and it is not required
to upload the filter before the first request.
2018-01-13 14:49:51 +02:00
Konstantinos Sideris daabb40bed Use Q_NULLPTR to be compatible with qt5.7
fixes #199
2018-01-12 11:27:24 +02:00
Konstantinos Sideris 5b09c8e652 Handle surrogate pairs in avatars 2018-01-12 10:21:53 +02:00
Konstantinos Sideris 8beef5e61f Dismiss modal by clicking on the overlay 2018-01-11 18:10:18 +02:00
Konstantinos Sideris 9521efab7e Lint
[ci skip]
2018-01-11 16:34:43 +02:00
krombel 0570135253 Filter out content in sync that is currently unhandled (#198)
I had a look at sync.cpp and checked which parts of the sync response
are currently handled and which not. As I think it is unnecessary to let the 
unhandled data be transmitted without being handled I added these filters.

In the same term I increased the timeout server-side to 30s as Riot
defaults to this value as well. Especially now when a lots of presence-updates 
are not send anymore this value is more relevant.

It is now also possible to use a filter that is defined in`client/sync_filter`.
Advanced users might want to set an own filter here.

[ci skip]
2018-01-11 16:33:50 +02:00
Konstantinos Sideris 82341247f7 Remove Connection header 2018-01-10 23:38:34 +02:00
christarazi ddfce136ed Add support for pasting images into a room (#180)
fixes #132
2018-01-10 09:52:59 +02:00
Konstantinos Sideris 53f670096c Make group's sidebar visible through an option 2018-01-09 21:57:41 +02:00
Max Sandholm 312df6f3bb Communities (#195) 2018-01-09 15:07:32 +02:00
Konstantinos Sideris 81a706bf20 Make usernames in timeline less bold 2018-01-08 11:27:37 +02:00
Konstantinos Sideris 953634c9b5 Enable read receipts on messages sent through nheko 2018-01-05 15:28:38 +02:00
Konstantinos Sideris 983aea7c76 Create widgets on demand for messages added to the end of the timeline 2018-01-05 00:27:32 +02:00
Konstantinos Sideris a7e84b63ac Remove an extra colon from the receipt time
[ci skip]
2018-01-04 10:52:49 +02:00
Konstantinos Sideris eaf05748ff Initial support for read receipts 2018-01-03 18:06:29 +02:00
Konstantinos Sideris f7003ddeb5 Load last content from all rooms
fixes #175
2017-12-30 18:16:11 +02:00
Konstantinos Sideris 5e0fbe87a0 Use `toMSecsSinceEpoch` to be compatible with qt < 5.8 2017-12-30 17:44:47 +02:00
Konstantinos Sideris 208f957911 Re-order room list based on activity
fixes #2
2017-12-30 17:29:57 +02:00
Konstantinos Sideris d1d8b92b37 Use qobject_cast on TimelineItem 2017-12-30 11:59:55 +02:00
Konstantinos Sideris 1ab55d4732 Add date separator in the timeline
fixes #157
2017-12-25 23:02:33 +02:00
Konstantinos Sideris 6835a97b15 Use a better regex to identify URLs 2017-12-24 13:13:07 +02:00
Konstantinos Sideris e57f5f848b Restrict display name width to 500px 2017-12-23 14:06:59 +02:00
Konstantinos Sideris 9d763c4de9 Don't keep fetching history on non-visible timelines
If the user switched to another timeline before the current timeline
filled up with messages, nheko would keep fetching history.

Now it will check periodically if the timeline became visible so
it can decide whether or not to stop fetching history.
2017-12-23 13:50:11 +02:00
Konstantinos Sideris de61663e42 Use the "state_key" to assign avatars
fixes #113
fixes #173
2017-12-22 16:02:08 +02:00
Konstantinos Sideris 33f534c6f8 Cache room avatars (#139)
fixes #107
2017-12-22 00:00:48 +02:00
Konstantinos Sideris ece20dd917 Add rounded corners to inline images 2017-12-21 18:27:57 +02:00
Konstantinos Sideris 32377dc027 Remove the 'Video' prefix from video links 2017-12-21 16:02:54 +02:00
Konstantinos Sideris 1705273bb8 Fix font size inconsistencies 2017-12-21 14:36:05 +02:00
Konstantinos Sideris ccbcfe9fa4 Bold room names 2017-12-21 13:41:05 +02:00
Konstantinos Sideris aaa4d8c323 Prevent emoji selector for closing
fixes #176
2017-12-21 13:17:38 +02:00
Konstantinos Sideris f11044b5eb Handle incoming invites
fixes #128
2017-12-19 22:36:12 +02:00
Konstantinos Sideris 101bf47443 Remove minimum height limit (#160, #163) 2017-12-17 17:49:22 +02:00