Commit graph

743 commits

Author SHA1 Message Date
RMidhunSuresh 0af9f10166 don't store tilesCreator 2022-01-14 19:11:40 +05:30
Bruno Windels 1f9be978b7 load image in timeline from when it is partially visible 2022-01-14 13:57:11 +01:00
RMidhunSuresh 51215fda16 Rename tileCreator -> tilesCreator 2022-01-14 18:17:49 +05:30
RMidhunSuresh d639e169ec Move tileCreator to BaseMessageTile 2022-01-14 18:17:49 +05:30
RMidhunSuresh e1b9b1161d Split ifs and remove ?. abuse 2022-01-14 18:17:49 +05:30
RMidhunSuresh 846e637716 Remove stray newline 2022-01-14 18:17:49 +05:30
RMidhunSuresh 58dd25b58d track reply-tile 2022-01-14 18:17:49 +05:30
RMidhunSuresh a77b9d9027 Move update logic to BaseMessageTile 2022-01-14 18:17:49 +05:30
RMidhunSuresh 951af49e04 Emit change on reply tile 2022-01-14 18:17:49 +05:30
RMidhunSuresh 455b747a1c Don't check param for reply 2022-01-14 18:17:49 +05:30
RMidhunSuresh f9f7f6cc6f Fix test 2022-01-14 18:17:49 +05:30
RMidhunSuresh 7f91653208 Rename replyTextTile -> replyTile 2022-01-14 18:17:49 +05:30
RMidhunSuresh af5a008d0f Move links to vm 2022-01-14 18:17:49 +05:30
RMidhunSuresh 27a9f5dd02 Use DOMPurify to remove mx-reply 2022-01-14 18:17:49 +05:30
RMidhunSuresh e352867f5a Remove unnecessary ctor 2022-01-14 18:17:49 +05:30
RMidhunSuresh f645065db7 Remove unused getter 2022-01-14 18:17:49 +05:30
RMidhunSuresh 0c3f16e5f6 Use 's' flag with regex if available 2022-01-14 18:17:49 +05:30
RMidhunSuresh cba044eff1 Remove comment 2022-01-14 18:17:49 +05:30
RMidhunSuresh 46b69b3873 Render error 2022-01-14 18:17:49 +05:30
RMidhunSuresh bb45d0eae9 Render non-text messages as well 2022-01-14 18:17:49 +05:30
RMidhunSuresh df22db256b No need to pass tileCreator as argument 2022-01-14 18:17:49 +05:30
RMidhunSuresh e0dc853d74 Fill matrix.to links 2022-01-14 18:17:49 +05:30
RMidhunSuresh 91912bdb8d Create tile using tileCreator 2022-01-14 18:17:49 +05:30
RMidhunSuresh 54004eef4d Integrate into update mechanism 2022-01-14 18:17:49 +05:30
RMidhunSuresh aa3bb9c6ef Remove allowReplies 2022-01-14 18:17:49 +05:30
RMidhunSuresh 73c5562fd3 Remove code from BaseTextTile 2022-01-14 18:17:49 +05:30
RMidhunSuresh 4a12acf157 Improve error code 2022-01-14 18:17:49 +05:30
RMidhunSuresh 67da746b48 Render error 2022-01-14 18:17:49 +05:30
RMidhunSuresh 545aae31d9 WIP 2022-01-14 18:17:49 +05:30
RMidhunSuresh 61f4d0719f Refactor code 2022-01-14 18:17:49 +05:30
RMidhunSuresh d6233e7c77 Render static avatar 2022-01-14 18:17:49 +05:30
RMidhunSuresh 540aa6c546 Use contextEntry and pass avatarUrl 2022-01-14 18:17:49 +05:30
RMidhunSuresh e88ee31991 Add getter for reply body 2022-01-14 18:17:49 +05:30
RMidhunSuresh f6cf3b378b Strip reply fallback 2022-01-14 18:17:49 +05:30
RMidhunSuresh 41cf6460d0 Remove dead code 2022-01-06 12:07:10 +05:30
RMidhunSuresh b753507b8d WIP 2022-01-06 11:59:58 +05:30
Bruno Windels fe26f48c47 rename SessionContainer to Client 2021-12-22 17:09:52 +01:00
Bruno Windels dacdc1aec6
Merge pull request #597 from vector-im/ts-conversion-matrix-ssss
Convert matrix/ssss to typescript
2021-12-09 18:54:25 +01:00
Bruno Windels 21a41e192b Merge branch 'master' into ts-conversion-matrix-net 2021-12-09 18:49:54 +01:00
RMidhunSuresh f120ce50e6 Convert Reconnector.js to ts 2021-12-03 11:40:26 +05:30
RMidhunSuresh dd4704b818 Fix imports 2021-12-03 11:36:49 +05:30
Bruno Windels bb9362ee8b only import node-html-parser when running the unit tests 2021-12-01 17:26:00 +01:00
Bruno Windels 7e1818b285 Merge branch 'master' into bwindels/vite-mvp 2021-12-01 12:30:33 +01:00
Bruno Windels fc3eb7f57f Merge branch 'master' into bwindels/typescript-observable-2 2021-11-30 16:37:43 +01:00
RMidhunSuresh 0c424cb77f Fix imports 2021-11-17 20:28:44 +05:30
RMidhunSuresh 8a169d5ddc Convert sortedIndex.js to ts 2021-11-17 20:28:44 +05:30
RMidhunSuresh a3460d8c2a Convert formatSize to ts 2021-11-17 20:28:44 +05:30
RMidhunSuresh 520e0f1b89 Use interface ILogItem 2021-11-15 17:29:08 +05:30
Bruno Windels 01712c3f23 make tests run again 2021-11-08 11:10:34 +01:00
Bruno Windels b6fda8865f make all dependencies use vite and remove post-install script / lib dir 2021-11-08 11:10:34 +01:00
Bruno Windels 4c5fe824c2
Merge pull request #569 from vector-im/fix-400
Show redacted tile for redacted messages in encrypted rooms
2021-11-05 15:57:36 +01:00
Bruno Windels 781147bf0e add some comments and rename for clarity 2021-11-05 15:42:07 +01:00
RMidhunSuresh a4cd40c2f8 Keep filling gap until sibling changes 2021-11-05 17:25:29 +05:30
RMidhunSuresh f6b7dcbad7 Show redacted tile 2021-11-03 20:03:47 +05:30
Bruno Windels 6d9d8797fe use same UI as in settings to pick between recovery key and passphrase 2021-10-29 16:40:35 +02:00
Bruno Windels 44a26fd340 key backup: add disable button,and enabling add dehydrated device option 2021-10-29 15:48:28 +02:00
Bruno Windels 3b3751c827 remove dehydrated device test button from settings 2021-10-29 15:47:14 +02:00
Bruno Windels 68a6113c26 add logout button to session load error screen 2021-10-28 11:47:31 +02:00
Bruno Windels cbccca20d0 remove leftover logging 2021-10-27 18:09:31 +02:00
Bruno Windels c89e414bb5 WIP3 2021-10-27 15:08:53 +02:00
Bruno Windels f998041748 add logout button in settings 2021-10-26 12:49:31 +02:00
Danila Fedorin 0466b49520 Rename MappedList to TypeScript 2021-10-03 22:18:12 -07:00
Danila Fedorin 348a9c83f5 Rename ObservableArray to TypeScript 2021-10-03 22:16:46 -07:00
Bruno Windels a0f443ccc3
Merge pull request #521 from DanilaFe/typescript-observable
Start migrating Observable code to TypeScript.
2021-10-01 09:54:29 +02:00
Bruno Windels e42739ec81 scroll room list to top when entering query first 2021-09-30 17:19:42 +02:00
Danila Fedorin 3952c3b969 Rename BaseObservableList to TypeScript 2021-09-29 17:46:51 -07:00
Danila Fedorin a7360f409e Rename ObservableValue to TypeScript 2021-09-29 17:42:57 -07:00
Bruno Windels edc3a1d33c convert storage mock to TS and add utility for mock raw database 2021-09-28 14:19:59 +02:00
Bruno Windels ac5a4c2bc6 pass log item everywhere to tryInsert 2021-09-22 10:33:40 +02:00
Bruno Windels 6cded5319a change timelineEventStore.insert to tryInsert 2021-09-21 21:04:10 +02:00
Bruno Windels bae8dc7dd7 changes should be true when replyVM is not set and we set an entry 2021-09-16 22:28:19 +02:00
Bruno Windels 9a9b206bf5
Merge pull request #486 from vector-im/bwindels/fix-scroll-jumps
Fix scroll jumps and loading of gaps not at top of the timeline
2021-09-16 17:14:17 +02:00
Bruno Windels 6ec2712eec remove debug logging 2021-09-16 16:33:09 +02:00
Bruno Windels c9f79343ef remove obsolete comment 2021-09-16 16:32:59 +02:00
Bruno Windels b1994918fe
Merge pull request #488 from vector-im/bwindels/list-and-timeline-view-to-ts
Convert ListView and TimelineView to typescript
2021-09-16 16:08:34 +02:00
Bruno Windels e4101ece65 add "jump down" button in timeline 2021-09-15 18:30:08 +02:00
Bruno Windels 04edff29cf give more top padding to gaps that appear in the middle of the timeline 2021-09-15 15:57:31 +02:00
Bruno Windels ecccadb77e avoid requestIdleCallback as it is not supported on Safari and IE11 2021-09-13 14:53:34 +02:00
Bruno Windels 5c40b75eab don't override newly requested ranges when retrying loadattop 2021-09-10 15:25:19 +02:00
Bruno Windels 9411e6f065 WIP 2021-09-10 14:47:05 +02:00
Bruno Windels 98cc1e2715 don't try to load more when end of timeline reached 2021-09-10 14:17:40 +02:00
Bruno Windels fe4bb5db40 remove comment 2021-09-09 17:15:28 +02:00
Bruno Windels d0f122a2be WIP-ish, batch visible range requests, allow setting empty ranges and...
don't try to notify when the tile becomes invisible again,
we don't need it currently
2021-09-09 17:14:16 +02:00
Bruno Windels 98678b991b no need to store visible state on gap tile & don't fill if edge reached 2021-09-08 16:39:46 +02:00
Bruno Windels e89f60bac0 fill gap tiles when they become visible 2021-09-08 12:05:59 +02:00
Bruno Windels 7578bfa3d9 let tiles know when they become visible & load more tiles close to top 2021-09-08 12:05:19 +02:00
Bruno Windels f4b4638ea8 actually, pass in just the tile instances for expressing the range 2021-09-07 19:10:53 +02:00
Bruno Windels b3cd2a0e03 express the visible range with EventKeys rather than list indices
This is less ambiguous in case the DOM and the ObservableList would be
out of sync.
2021-09-07 17:48:49 +02:00
Bruno Windels c78a83d398 restore most bottom tile in VP on any list change
and tell view model visible range so it can load more or fill gaps, ...
2021-09-07 15:17:27 +02:00
Bruno Windels 44ea65dd3e
Merge pull request #458 from MidhunSureshR/fix-457
Opening member-details panel should not open/close grid view
2021-09-07 12:16:24 +02:00
Bruno Windels c6b020a9e7 Rename TimelineList to TimelineView for consistency 2021-09-06 13:31:43 +02:00
RMidhunSuresh a54413625e No need to pass in roomId
Signed-off-by: RMidhunSuresh <hi@midhun.dev>
2021-09-06 12:59:30 +05:30
J. Ryan Stinnett 3e5cc07440 Move check to fingerprintKey 2021-08-31 17:14:14 +01:00
J. Ryan Stinnett 284ec8a74f Check for null keys in settings view model
The keys to format in the settings view model might be null. This avoid crashing
the UI by testing for this case.
2021-08-31 16:11:33 +01:00
Bruno Windels e105bc4237 fix lint warnings 2021-08-24 15:31:18 +02:00
Bruno Windels c7b47bb8d6 fix homeServer misspelling to homeserver across the project 2021-08-23 19:26:39 +02:00
RMidhunSuresh 2ceaebbd1f Don't find roomId in getter
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-08-18 18:17:37 +05:30
RMidhunSuresh 7e177f6953 Modify open-room action to fix bug
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-08-18 17:43:40 +05:30
Danila Fedorin f239199b1b Add rendering for horizontal rules 2021-08-06 15:50:03 -07:00
Bruno Windels 2c8e259339 focus composer when replying 2021-08-06 23:43:10 +02:00
Bruno Windels c3177b06bf
Merge pull request #418 from vector-im/replies
Sending replies
2021-08-06 21:28:42 +00:00
Bruno Windels 9f0c3b9cea await sending a message before clearing composer (this was missing all along) 2021-08-06 23:06:58 +02:00
Danila Fedorin 053c94b60e Stop passing room to tiles in tests 2021-08-06 11:02:41 -07:00
Danila Fedorin f8dae8e20c Merge branch 'replies' of github.com:vector-im/hydrogen-web into replies 2021-08-06 10:54:33 -07:00
Danila Fedorin bf1f288a92 Make RoomViewModel's room public and stop feeding it to tileCreator 2021-08-06 10:40:25 -07:00
Danila Fedorin 4c1aeb342a Add two new tests for replies 2021-08-06 10:35:45 -07:00
Danila Fedorin 8dc80e68a7 Remove out-of-date comment 2021-08-06 10:31:01 -07:00
Bruno Windels 2a92363317 use disposeTracked 2021-08-06 17:56:02 +02:00
Bruno Windels 3feaf38252 use internalId to compare so we don't have to cache the entry id separately 2021-08-06 17:53:58 +02:00
Bruno Windels 5426908444 add copyright header 2021-08-06 17:49:39 +02:00
RMidhunSuresh b97b9da14a Link to member-panel from avatar
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-08-06 20:51:39 +05:30
RMidhunSuresh be57352f71 Move PowerLevels.js into /room
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-08-06 19:49:48 +05:30
Bruno Windels 1862e31396
Merge pull request #417 from MidhunSureshR/member-details
Member Panel - PR 2 - UI
2021-08-06 11:18:52 +00:00
RMidhunSuresh bc8e6237d6 Merge suggestion from Github 2021-08-06 16:05:08 +05:30
R Midhun Suresh 3ff55204f3
No need for lambda here
Co-authored-by: Bruno Windels <bruno@windels.cloud>
2021-08-06 16:04:51 +05:30
RMidhunSuresh dbd205701c Remove unused prop
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-08-06 16:03:19 +05:30
RMidhunSuresh 86ddfc1e9e Only need to emit
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-08-06 13:06:38 +05:30
R Midhun Suresh 974d9bf199
Don't cache powerlevel value
Co-authored-by: Bruno Windels <bruno@windels.cloud>
2021-08-06 13:02:58 +05:30
Danila Fedorin 21b067eaff Create new tiles instead of keeping old ones 2021-08-05 10:05:50 -07:00
Danila Fedorin 434882069e Lift tiles creator to RoomViewModel 2021-08-05 09:39:59 -07:00
RMidhunSuresh d3ea26a38a Use i8n in role
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-08-05 16:32:30 +05:30
RMidhunSuresh 862e8569a9 Describe what changed in emitChange()
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-08-05 16:32:30 +05:30
RMidhunSuresh a16c3aacab Create getter
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-08-05 16:32:30 +05:30
RMidhunSuresh 0ff0850979 Remove dm user option
- I don't know why but I thought .../open-room/<user_id> would open an
  invite view to a room with the specified user.
- Does not work like that, so removed.

Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-08-05 16:32:30 +05:30
RMidhunSuresh d056a9f961 Keep memberlist until rightpanel is closed
- This should make switching between memberlist and
  member-details panel smoother for large rooms

Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-08-05 16:32:30 +05:30
RMidhunSuresh 65b1a1958a Add link to open member details
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-08-05 16:32:30 +05:30
RMidhunSuresh 7dacbdb700 Show back button
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-08-05 16:32:30 +05:30
RMidhunSuresh ef17808fbd Fallback to memberlist if member not available
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-08-05 16:32:30 +05:30
RMidhunSuresh f9b1068bae Add links
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-08-05 16:32:30 +05:30
RMidhunSuresh fe6551ff3c Use powerlevel
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-08-05 16:32:30 +05:30
RMidhunSuresh c2b9c3f726 Add isEncrypted to vm
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-08-05 16:32:30 +05:30
RMidhunSuresh 7ef7c419e3 Add basic UI and styling
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-08-05 16:32:30 +05:30
RMidhunSuresh acdba8fc02 Add license headers
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-08-05 16:32:30 +05:30
RMidhunSuresh e4bb20575b Create navigation and add to right panel
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-08-05 16:32:30 +05:30
RMidhunSuresh fdd4caa0b7 Create vm and view
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-08-05 16:32:30 +05:30
Danila Fedorin a9731f5a1d Clean up code for inserting emotes 2021-08-04 16:02:37 -07:00
Danila Fedorin b4a0c31e1c Update test code with new function signature 2021-08-04 15:54:11 -07:00
Danila Fedorin 508214a46b Insert emote text after quotes 2021-08-04 15:50:42 -07:00
Danila Fedorin b5f16468ce Add a flag to strip replies 2021-08-04 15:31:25 -07:00
Danila Fedorin 1a0e305212 Extract ComposerViewModel to its own file 2021-08-03 14:02:11 -07:00
Danila Fedorin 99a630fb84 Add a note on TilesCollection and diposing of tiles 2021-07-29 10:46:17 -07:00
Danila Fedorin e2ad589aa3 Go through and clean up affected files. 2021-07-27 16:51:34 -07:00
Danila Fedorin 242a9c209b Handle replies in EventEntry 2021-07-23 14:34:11 -07:00
RMidhunSuresh 281dc8bdb4 Add missing license headers
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-07-23 18:05:48 +05:30
Danila Fedorin 7adb0e5ddc Get rid of intermediate view model 2021-07-22 10:56:30 -07:00
Danila Fedorin d33d55376a Put reply into its own view model.
Otherwise, we re-render the reply message on
every keystroke.
2021-07-20 16:51:36 -07:00
Danila Fedorin f486bc0e04 Reset reply state after successfully sending a reply 2021-07-20 13:01:04 -07:00
Danila Fedorin 46215b3c51 Add the ability to reply 2021-07-20 12:53:31 -07:00
Danila Fedorin fdcafaf6d3 Add _replyTo field to ComposerViewModel that can be set from a message 2021-07-19 16:10:35 -07:00
Danila Fedorin 0c0633fdd4 Fix body.string in BaseMessageTile 2021-07-16 14:28:18 -07:00