Bruno Windels
2e3616e05d
call cursor.update during backup field migration, needs new version
2022-02-01 12:31:10 +01:00
Bruno Windels
00c5e747d2
log total backed up keys during flush operation
2022-02-01 12:30:45 +01:00
Bruno Windels
b29ecd339d
add more logging to backup storage migration
2022-02-01 12:18:28 +01:00
Bruno Windels
f4fa013ebc
mark as not configured yet when re-enabling key backup
2022-02-01 11:32:53 +01:00
Bruno Windels
f4bb420f35
mark key backup properly as disabled
2022-02-01 11:27:42 +01:00
Bruno Windels
02f06724d0
don't block reenabling 4s if already enabled
2022-02-01 11:26:00 +01:00
Bruno Windels
fd4eb6b50d
distinguish between "waiting to go online" vs "backup not configured"
2022-02-01 11:08:13 +01:00
Bruno Windels
997666164c
remove unused enum variants
2022-01-31 17:37:44 +01:00
Bruno Windels
9c599d53aa
allow to inject max delay in key backup
2022-01-31 17:31:01 +01:00
Bruno Windels
62acd458c6
also ask for new key if backup version is not found
2022-01-31 17:30:51 +01:00
Bruno Windels
17275a5390
backup 200 keys per request
2022-01-31 17:30:15 +01:00
Bruno Windels
830786b2fd
fixes and cleanup
2022-01-31 16:26:14 +01:00
Bruno Windels
06a1421e97
add backupWriteStatus so binding can take multiple fields into account
2022-01-31 16:26:06 +01:00
Bruno Windels
6541aacf98
don't discount already finished keys in total for previous iterations
2022-01-31 16:23:48 +01:00
Bruno Windels
dacaa86386
fix percentage calculation
2022-01-31 16:22:22 +01:00
Bruno Windels
a757fb3696
better error handling in key backup, cleanup and not overuse observables
2022-01-31 14:37:05 +01:00
Bruno Windels
7eb0d347f5
flush key backup after coming online
2022-01-31 14:36:35 +01:00
Bruno Windels
ae5cc17290
mark all inbound sessions to be backed up again when changing version
2022-01-31 14:36:04 +01:00
Bruno Windels
d9e6164a5c
fix ts errors
2022-01-28 16:40:32 +01:00
Bruno Windels
a97d235cf5
flush after enabling key backup
2022-01-28 16:36:42 +01:00
Bruno Windels
c9b5ce6508
clean up key backup vm using flatMap to avoid subscription handling
2022-01-28 16:36:13 +01:00
Bruno Windels
e0df003aba
add flatMap operator on observable value
2022-01-28 16:35:49 +01:00
Bruno Windels
c340746a87
also remove text nodes when updating message body
...
fixes #649
2022-01-28 16:04:56 +01:00
Bruno Windels
eabd303c8e
count on the index if we're using one, don't always take the store
2022-01-28 15:14:58 +01:00
Bruno Windels
bd2c70b923
adapt key backup view(model) to changes in session, show backup progress
2022-01-28 15:14:23 +01:00
Bruno Windels
504f420293
make keyBackup an observable and don't have separate needs-key flag
2022-01-28 15:13:58 +01:00
Bruno Windels
eb134a6c47
only take into account non-backed up keys for counting
2022-01-28 13:18:03 +01:00
Bruno Windels
7d3e3b992b
some more typing
2022-01-28 13:14:38 +01:00
Bruno Windels
c47bdd5715
flush key backup when creating a new room key
2022-01-28 13:14:11 +01:00
Bruno Windels
b692b3ec4f
move key backup operation and flush bookkeeping inside KeyBackup
...
so we can flush from other places than Session
2022-01-28 13:13:23 +01:00
Bruno Windels
ebc7f1ecd7
needs to be awaited
2022-01-28 13:11:52 +01:00
Bruno Windels
b30db544a3
use idb key range to select non-backed up keys
2022-01-28 13:11:32 +01:00
Bruno Windels
a499689bd8
also write room key that we create ourselves with RoomKey infrastructure
...
so all keys are written in one place and the flags are always correct
2022-01-28 13:10:48 +01:00
Bruno Windels
c81dde53e7
store key source in inbound session
2022-01-28 10:03:30 +01:00
Bruno Windels
dd2b41ff95
use backup flag in key backup rather than separate store
2022-01-27 16:07:18 +01:00
Bruno Windels
48e72f9b69
replace SessionsNeedingBackup store with backup field on inbound session
2022-01-27 16:00:46 +01:00
Bruno Windels
6f1484005b
stop key backup when on the wrong version
...
users can then enter the new key in the settings to start backing up
again
2022-01-27 15:14:29 +01:00
Bruno Windels
0b4954a9ca
log key backup upload requests
2022-01-27 14:20:04 +01:00
Bruno Windels
bf08c0d850
deal with errors when enabling key backup
...
fixes #449
2022-01-27 14:19:37 +01:00
Bruno Windels
e80acd4d57
add migration when backup is enabled
2022-01-26 16:30:40 +01:00
Bruno Windels
60ed276b8a
add progress notification and cancellation to key backup flush
2022-01-26 15:19:31 +01:00
Bruno Windels
554aa45d48
add support for progress notifications in abortable operation
2022-01-26 15:18:23 +01:00
Bruno Windels
524090e27d
support idb store/index.count
2022-01-26 15:12:11 +01:00
Bruno Windels
a791641b34
move types to separate file
2022-01-26 12:10:20 +01:00
Bruno Windels
85155a43bb
cleanup types
2022-01-26 10:17:31 +01:00
Bruno Windels
cfb94206f9
move curve25519 code to separate file
2022-01-26 10:13:01 +01:00
Bruno Windels
86caa5f9b1
rename session backup to key backup to be consistent with RoomKey
2022-01-26 09:51:48 +01:00
Bruno Windels
933a1b4636
draft of session backup writing + some refactoring
2022-01-25 18:48:19 +01:00
Bruno Windels
ffece4f357
move some validation of into session backup
2022-01-25 18:48:03 +01:00
Bruno Windels
8f4e3c62ce
add hs endpoint for backup keys upload
2022-01-25 18:47:42 +01:00
Bruno Windels
290aaad63a
add sessionsNeedingBackup store
2022-01-25 18:47:27 +01:00
Bruno Windels
a3e294bb60
small cleanup
2022-01-25 18:45:39 +01:00
Bruno Windels
5d87d8bde3
change store.get return type when no value is found to undefined
...
IDBRequest.result is undefined according to the official TS type decls.
2022-01-25 18:43:44 +01:00
Bruno Windels
993a86ddb2
convert SessionBackup to typescript and pass in keyloader
2022-01-20 11:16:08 +01:00
Bruno Windels
a4d924acd1
make KeyLoader use proper olm types
2022-01-20 11:15:48 +01:00
Bruno Windels
e6fee75952
remove enterkeyhint attribute as it prevents entering newlines on android
...
on Android, by default (without the above attribute set to "send"), you
press enter twice to submit a field. The first time, enter, Android
seems to prevent sending logic by setting the key property on the event
to "Unidentified", but does insert a newline. The second consecutive enter,
it will be set to "Enter" and we'll send.
Having enterkeyhint to send will disable all of that. So we're going with
the default behaviour, which, IIRC, was a bit annoying on iOS as well.
2022-01-18 09:42:01 +01:00
Bruno Windels
b0e8506cb5
ensure images load in reply preview in timeline
2022-01-17 16:48:36 +01:00
Bruno Windels
f379bf2341
ensure images load in reply preview in composer
2022-01-17 16:48:17 +01:00
Bruno Windels
57bf730241
mention it's better to not close the app
2022-01-17 16:33:57 +01:00
Bruno Windels
4bc421527f
also add extra classes to legacy spinner
2022-01-17 16:31:13 +01:00
Bruno Windels
05d23cc745
hook up logout view
2022-01-17 16:31:02 +01:00
Bruno Windels
4c5b884af7
create and hook up logout viewmodel, on /logout/<id> path
2022-01-17 16:30:22 +01:00
Bruno Windels
c6c1d3b3d8
refactor logout in client so we don't need a fully loaded session
...
instead, we pass the session id in
this will make it easier to first dispose the client when leaving the
/session/<id> and just creating a client without fully loading it
to log out. This way sync is already not running anymore.
2022-01-17 16:29:01 +01:00
Bruno Windels
164d72830f
create subclass for inline template views (e.g. without sub classing)
2022-01-17 16:25:48 +01:00
Bruno Windels
412db33c36
click here labels are so nineties
2022-01-14 19:18:12 +01:00
Bruno Windels
000c8b27c3
Merge pull request #637 from vector-im/bwindels/timeline-readme
...
add basic readme for updates in the timeline
2022-01-14 19:16:25 +01:00
Bruno Windels
a8a8355ea4
fix unit test
2022-01-14 19:05:53 +01:00
Bruno Windels
3d00881508
don't look in remoteEntries when already found
2022-01-14 19:05:30 +01:00
Bruno Windels
7197e5427f
don't emit an update when the context entry is loaded sync
...
also load context entries in parallel
2022-01-14 18:16:52 +01:00
Bruno Windels
3243ce2a90
fix unit test that failed after it finished
...
crashing the runner on node 16
2022-01-14 18:15:46 +01:00
Bruno Windels
65929194b0
fix lint warnings
2022-01-14 16:23:55 +01:00
Bruno Windels
184a16a194
also define param
2022-01-14 16:23:12 +01:00
Bruno Windels
8201a85c47
ensure these have a fn for tilesCreator
2022-01-14 16:20:38 +01:00
Bruno Windels
2321228981
use this._entry here (once updated by super.updateEntry)
2022-01-14 16:20:14 +01:00
Bruno Windels
5f99c2360c
also try to create replyTile from ctor just in case update doesn't come
2022-01-14 16:12:43 +01:00
Bruno Windels
ad335d5088
pass in tilesCreator everywhere, although not needed right now
2022-01-14 16:06:29 +01:00
Bruno Windels
1ea4a347e2
encode url components
2022-01-14 15:53:17 +01:00
Bruno Windels
b578f4ac84
actually add LocationView
2022-01-14 15:50:19 +01:00
Bruno Windels
052ff02571
move TileView type too so we don't have to repeat imports
2022-01-14 15:47:22 +01:00
Bruno Windels
3c59004e72
Merge branch 'master' into threading-fallback-reply
2022-01-14 15:43:24 +01:00
Bruno Windels
17ebc8a066
Merge pull request #611 from vector-im/threading-fallback-relation
...
Threading fallback - PR 1 - Link events with their related event
2022-01-14 15:35:27 +01:00
Bruno Windels
18a76025c7
add location tile view so we don't throw when a location is shared
2022-01-14 15:27:46 +01:00
RMidhunSuresh
dac2d5e685
Pass everything down into updateEntry
2022-01-14 19:26:23 +05:30
RMidhunSuresh
0af9f10166
don't store tilesCreator
2022-01-14 19:11:40 +05:30
RMidhunSuresh
d18f4d341c
store replyFlags on this
2022-01-14 18:31:22 +05:30
Bruno Windels
1f9be978b7
load image in timeline from when it is partially visible
2022-01-14 13:57:11 +01:00
RMidhunSuresh
41fffdf155
Remove even more stray new lines
2022-01-14 18:17:49 +05:30
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
ef5a377bc6
Hide reply option on pending tile
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
28a534ee49
Fix reply nesting
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
086e0c0320
Inline methods
2022-01-14 18:17:49 +05:30
RMidhunSuresh
273c44424f
Throw if viewClass returns undefined
2022-01-14 18:17:49 +05:30
RMidhunSuresh
b134fa7409
Format swtich case properly
2022-01-14 18:17:49 +05:30
RMidhunSuresh
fee6447e22
Don't call render()
2022-01-14 18:17:49 +05:30
RMidhunSuresh
e99cd41ed0
Change check
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
cfefe6962a
Remove stray space
2022-01-14 18:17:49 +05:30
RMidhunSuresh
88f9ad09a2
Move method as local function
2022-01-14 18:17:49 +05:30
RMidhunSuresh
0ae3c60d6d
Remove .js file from rebase
2022-01-14 18:17:49 +05:30
RMidhunSuresh
c34d574385
No need to export renderPart
2022-01-14 18:17:49 +05:30
RMidhunSuresh
2a124d4195
simplify css
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
d69059de68
Use different flag
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
dee22f7120
Implement render flags
2022-01-14 18:17:49 +05:30
RMidhunSuresh
46b69b3873
Render error
2022-01-14 18:17:49 +05:30
RMidhunSuresh
687aa5a7e3
Remove dead code
2022-01-14 18:17:49 +05:30
RMidhunSuresh
4df3654166
Prevent reply previews from being nested
2022-01-14 18:17:49 +05:30
RMidhunSuresh
4d63b41127
Make reply preview flush left
2022-01-14 18:17:49 +05:30
RMidhunSuresh
1b9f970d7f
WIP: Render the whole view instead of messageBody
2022-01-14 18:17:49 +05:30
RMidhunSuresh
7f1b3e25e8
Use t instead of tag
2022-01-14 18:17:49 +05:30
RMidhunSuresh
f01d5d95d9
Reuse code from timeline view
2022-01-14 18:17:49 +05:30
RMidhunSuresh
89d6968139
Show decryption error as well
2022-01-14 18:17:49 +05:30
RMidhunSuresh
2773642406
No need to handle redaction specially
2022-01-14 18:17:49 +05:30
RMidhunSuresh
13cba84445
Remove mapSideEffect
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
3aa29cfc65
Do not remove reply preview
2022-01-14 18:17:49 +05:30
RMidhunSuresh
99f4eb6843
Minimize manual dom manipulation where possible
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
31573b3599
Render reply
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
35a13842af
Implement context endpoint
2022-01-14 18:17:49 +05:30
RMidhunSuresh
65f957f023
WIP
2022-01-14 18:17:49 +05:30
R Midhun Suresh
4fb0a84d0a
Return property from super
...
Co-authored-by: Bruno Windels <brunow@matrix.org>
2022-01-14 18:16:38 +05:30
RMidhunSuresh
30b8e5b5ea
use withReply
2022-01-14 18:15:26 +05:30
RMidhunSuresh
8cd430ac07
Improve test logic
2022-01-14 17:48:25 +05:30
RMidhunSuresh
75012eda9c
Fix tests
2022-01-14 17:28:31 +05:30
RMidhunSuresh
e9a49fdf74
Use hsApi mock
2022-01-14 17:07:06 +05:30
RMidhunSuresh
315acf2fbc
Remove dead code from test
2022-01-14 16:54:16 +05:30
RMidhunSuresh
310790c84e
Use mock storage
2022-01-14 16:51:06 +05:30
RMidhunSuresh
277638b107
Override methods in NonPersistedEventEntry
...
This will prevent redactions to entries fetched from hs showing "message
is being redacted" and will instead show "message is redacted"
2022-01-14 16:15:16 +05:30
RMidhunSuresh
b238357c53
Use emitUpdateForEntry
2022-01-14 16:14:42 +05:30
RMidhunSuresh
4fa32bac2f
check only in remoteEntries
2022-01-14 16:14:06 +05:30
Bruno Windels
58f2192a7e
add basic readme for updates in the timeline
2022-01-14 11:13:21 +01:00
RMidhunSuresh
3c28ee1adf
Remove unused getter
2022-01-13 21:05:18 +05:30
RMidhunSuresh
2c4610c132
add param to emitUpdateForEntry
2022-01-13 19:20:37 +05:30
RMidhunSuresh
239d16747d
Clean test code; try not to peek into internals
2022-01-13 19:14:28 +05:30
RMidhunSuresh
764541d3ca
Remove unused method
2022-01-13 18:32:18 +05:30
RMidhunSuresh
ca1831fef6
update contextForEntries
2022-01-13 14:38:05 +05:30
RMidhunSuresh
2f4c0623d0
Restore earlier name
2022-01-12 19:20:32 +05:30
RMidhunSuresh
ed88184757
Remove statement
2022-01-12 19:14:38 +05:30
RMidhunSuresh
d0f7570f5e
Fix tests
2022-01-12 18:44:17 +05:30
RMidhunSuresh
acafae7d3a
Implement offline support for context entries
2022-01-11 20:58:27 +05:30
RMidhunSuresh
a59bf7c002
Fix looking in allEntries
2022-01-11 20:57:29 +05:30
RMidhunSuresh
5c1813888c
Check in all entries for context
2022-01-11 14:57:22 +05:30
RMidhunSuresh
73733ce145
Guard entry from storage being processed by method
2022-01-11 14:49:59 +05:30
RMidhunSuresh
bf6dfcfcad
update comment
2022-01-11 13:28:35 +05:30
RMidhunSuresh
f605608098
getTrackedEntry -> findLoadedEventById
2022-01-11 13:20:42 +05:30
RMidhunSuresh
31a8227e53
stylistic change
2022-01-11 13:14:13 +05:30
RMidhunSuresh
62dcb61536
Rename updateEntry -> emitUpdateForEntry
2022-01-11 13:11:50 +05:30
RMidhunSuresh
fda211e7b3
Remove dead code
2022-01-11 13:10:40 +05:30
RMidhunSuresh
63b6564f70
Pass prop change
2022-01-11 11:54:41 +05:30
RMidhunSuresh
93bbeee400
Don't pass relatedEntry in param
2022-01-11 11:49:06 +05:30
RMidhunSuresh
66fa8d84a7
Make setAsContextOf private
2022-01-10 18:51:12 +05:30
RMidhunSuresh
091b55a265
Rename method and add comment
2022-01-10 18:05:33 +05:30
RMidhunSuresh
ec8f6e8e0a
use addLocalRelation
2022-01-10 12:58:45 +05:30
RMidhunSuresh
7ad73bb453
Move check down
2022-01-07 19:56:31 +05:30
RMidhunSuresh
3fecce6fe6
Fix tests
2022-01-07 19:39:51 +05:30
RMidhunSuresh
9d161a0bcf
Refactor + put redaction in NonPersistedEventEntry
2022-01-07 19:38:57 +05:30
RMidhunSuresh
8cc04e4c25
Keep calls internal to class
2022-01-07 17:50:36 +05:30
RMidhunSuresh
0a09a50ab9
Move line into if
2022-01-07 17:29:17 +05:30
RMidhunSuresh
c6484f1eac
Replace entry in contextEntryNotInTimeline
2022-01-07 17:11:42 +05:30
RMidhunSuresh
cfbb6d4250
Add explaining comment
2022-01-06 15:37:58 +05:30
RMidhunSuresh
7adce08eee
add more jsdoc comments
2022-01-06 15:33:00 +05:30
RMidhunSuresh
f76217dcce
Change method name
2022-01-06 15:14:13 +05:30
RMidhunSuresh
a2ab36480f
Add jsdoc comment
2022-01-06 15:02:44 +05:30
RMidhunSuresh
90c9018aa4
Update comment
2022-01-06 12:07:10 +05:30
RMidhunSuresh
595deb3a3d
Also copy over contextEntry from otherEntry
2022-01-06 12:07:10 +05:30
RMidhunSuresh
78f97c6532
Remove await from tests
2022-01-06 12:07:10 +05:30
RMidhunSuresh
9f1764c325
Update comment
2022-01-06 12:07:10 +05:30
RMidhunSuresh
4418700589
Add test for move code
2022-01-06 12:07:10 +05:30
RMidhunSuresh
d2c7eec8e0
No need to delete before update on map
2022-01-06 12:07:10 +05:30
RMidhunSuresh
41cf6460d0
Remove dead code
2022-01-06 12:07:10 +05:30
RMidhunSuresh
8ec75ce4bb
Rename methods
2022-01-06 12:07:10 +05:30
RMidhunSuresh
a060d54468
Make tests pass
2022-01-06 12:07:10 +05:30
RMidhunSuresh
3fe824dbd1
Propagate updates
2022-01-06 12:07:10 +05:30