RMidhunSuresh
be66969c9a
Remove font section from manifest
2022-06-14 11:52:45 +05:30
RMidhunSuresh
53a8915ffc
Parellelize code
2022-06-12 17:05:31 +05:30
RMidhunSuresh
b5fd3656a7
Fix code breaking on dev server
2022-06-12 16:53:25 +05:30
R Midhun Suresh
acffd15002
Add comment
...
Co-authored-by: Bruno Windels <274386+bwindels@users.noreply.github.com>
2022-06-12 16:52:21 +05:30
R Midhun Suresh
989ecd785a
Lowercase string
...
Co-authored-by: Bruno Windels <274386+bwindels@users.noreply.github.com>
2022-06-12 16:51:58 +05:30
RMidhunSuresh
9a5a002293
Remove test-variant
2022-06-08 13:35:58 +05:30
RMidhunSuresh
d31f127982
Add explaining comment
2022-06-07 13:28:56 +05:30
RMidhunSuresh
d08cfe3a29
Add more logging
2022-06-07 11:57:57 +05:30
RMidhunSuresh
51a837d459
Remove unuseed import
2022-06-06 17:26:39 +05:30
RMidhunSuresh
2f0f7143b5
Simplify code
2022-06-06 17:20:36 +05:30
RMidhunSuresh
0dac00f327
themeVariant is optional
2022-06-06 17:20:16 +05:30
RMidhunSuresh
a639fc5467
Rever to sensisble defaults
2022-06-06 12:20:06 +05:30
RMidhunSuresh
258a604cc6
Don't make defaultTheme compulsory
2022-06-06 12:19:48 +05:30
RMidhunSuresh
a2cbac9e0c
Move code into method
2022-06-06 11:53:13 +05:30
RMidhunSuresh
71c3fb39a2
store theme-name and variant in settings
2022-06-05 20:52:47 +05:30
RMidhunSuresh
9e88bc3098
Fix bugs
2022-06-05 20:52:47 +05:30
RMidhunSuresh
b74f4b612b
Change UI
2022-06-05 20:52:47 +05:30
RMidhunSuresh
8de91291dd
Add more methods to ThemeLoader
2022-06-05 20:52:47 +05:30
RMidhunSuresh
dc2d1ce700
Remove id
2022-06-05 20:52:47 +05:30
RMidhunSuresh
12a8e94243
Move code into ThemeLoader
2022-06-05 20:52:47 +05:30
RMidhunSuresh
9e79b632a8
Extract variable
2022-06-05 20:52:47 +05:30
RMidhunSuresh
efb1a67470
Make method name a verb
2022-06-05 20:52:47 +05:30
RMidhunSuresh
e3235ea3eb
Rename themeName --> themeId
2022-06-05 20:52:47 +05:30
RMidhunSuresh
46d2792dac
Modify comment
2022-06-05 20:52:47 +05:30
RMidhunSuresh
8ad0b8a726
rename themeName --> variantName
2022-06-05 20:52:47 +05:30
RMidhunSuresh
cb03e97e78
Use default theme intially
2022-06-05 20:52:47 +05:30
RMidhunSuresh
f6cec938a7
Add default theme to mapping
2022-06-05 20:52:47 +05:30
RMidhunSuresh
bbec2effe5
Add typing
2022-06-05 20:52:47 +05:30
RMidhunSuresh
d4084da299
Extract code into function
2022-06-05 20:52:47 +05:30
RMidhunSuresh
1f00c8f635
Add a temporary theme to test this PR
2022-06-05 20:52:47 +05:30
RMidhunSuresh
0b98473e85
Render a radio button for default variants
2022-06-05 20:52:47 +05:30
RMidhunSuresh
3afbe1148e
Use the new built-asset format in ThemeLoader
2022-06-05 20:52:47 +05:30
RMidhunSuresh
4474458f4b
getActiveTheme should never return undefined
...
Instead it should throw an error.
This is useful for when we do setTheme(await getActiveTheme()) because
setTheme expects a string.
2022-06-05 20:52:47 +05:30
Bruno Windels
c62c8da10b
fix changed key not being ignored
2022-05-31 13:39:35 +02:00
Bruno Windels
bc51644868
reassignment is not used later on, remove
2022-05-31 13:39:23 +02:00
Bruno Windels
3d3d590334
add failing test for device with changed key being returned
2022-05-31 13:39:05 +02:00
Bruno Windels
11d7535c23
add some basic tests (with mock utils) for DeviceTracker
2022-05-31 13:38:34 +02:00
RMidhunSuresh
ba647d012d
Fix type in observeNavigation
2022-05-29 20:38:14 +05:30
RMidhunSuresh
fc873757d8
WIP
2022-05-27 22:42:21 +05:30
RMidhunSuresh
ec1cc89cf9
Make URLRouter in options conditional on generic
...
URLRouter can be passed in option to vm only if the SegmentType used
contains session.
ViewModel.urlCreator returns undefined when used with a SegmentType that
lacks session.
2022-05-27 22:42:21 +05:30
RMidhunSuresh
a336623f3a
Generic parameter should extend object
2022-05-27 22:42:21 +05:30
RMidhunSuresh
9300347e9b
Give defaultt type
2022-05-27 22:42:21 +05:30
RMidhunSuresh
f49d580d49
WIP
2022-05-27 22:42:21 +05:30
RMidhunSuresh
263948faa3
Remove unwanted export
2022-05-27 22:42:21 +05:30
RMidhunSuresh
52f0690c70
Add return type
2022-05-27 22:42:21 +05:30
RMidhunSuresh
7a24059337
Remove empty line
2022-05-27 22:42:21 +05:30
RMidhunSuresh
4fd1918202
Remove comment
2022-05-27 22:42:21 +05:30
RMidhunSuresh
4ae3a5bf7a
Use undefined instead of null
2022-05-27 22:42:21 +05:30
RMidhunSuresh
5be00f051f
Use subtype instead of whole SegmentType
2022-05-27 22:42:21 +05:30
RMidhunSuresh
e7f4ce6175
Mark methods as private
2022-05-27 22:42:21 +05:30
RMidhunSuresh
09bc0f1b60
Extract complex type as type alias
2022-05-27 22:42:21 +05:30
RMidhunSuresh
76d04ee277
Make defaultSessionId optional
2022-05-27 22:42:21 +05:30
RMidhunSuresh
f28dfc6964
Type createRouter function
2022-05-27 22:42:21 +05:30
RMidhunSuresh
c14e4f3eed
Use segment type
2022-05-27 22:42:21 +05:30
RMidhunSuresh
5d42f372f6
Pass as separate arguments to constructor
2022-05-27 22:42:21 +05:30
RMidhunSuresh
4c3e0a6ff0
Convert URLRouter.js to typescript
2022-05-27 22:42:21 +05:30
RMidhunSuresh
d9bfca10e1
Type function
2022-05-27 22:42:21 +05:30
RMidhunSuresh
bf2fb52691
Fix formatting
2022-05-27 22:42:21 +05:30
RMidhunSuresh
646cbe0fff
Make all keys string
2022-05-27 22:42:21 +05:30
RMidhunSuresh
92e8fc8ad3
Remove deprecated method
2022-05-27 22:42:21 +05:30
RMidhunSuresh
92c79c853d
Convert index.js to typescript
2022-05-27 22:42:21 +05:30
RMidhunSuresh
55229252d7
Type allowsChild
2022-05-27 22:42:21 +05:30
RMidhunSuresh
3efc426fed
Complete converting Navigation.js to ts
2022-05-27 22:42:21 +05:30
RMidhunSuresh
04d5b9bfda
WIP - 2
2022-05-27 22:42:21 +05:30
RMidhunSuresh
66f6c4aba1
WIP
2022-05-27 22:42:18 +05:30
Bruno Windels
13428bd03c
allow updating cache of unhashed assets (like config) in service worker
2022-05-18 21:41:47 +02:00
Bruno Windels
1555b0f4bc
put a message in container node when config file is not found
2022-05-18 21:41:31 +02:00
Bruno Windels
03ab1ee2c7
log theme being loaded
2022-05-18 17:48:03 +02:00
RMidhunSuresh
a550788788
Remove some logging + use wrapOrRun
2022-05-18 18:56:28 +05:30
RMidhunSuresh
7952a34d64
Add logging
2022-05-18 16:09:09 +05:30
RMidhunSuresh
660a08db3e
Give a better name
2022-05-18 14:41:52 +05:30
RMidhunSuresh
1b22a48b54
Treat theme-manifests the same way as config
2022-05-18 14:23:41 +05:30
RMidhunSuresh
9ba1534390
Remove unused import
2022-05-12 16:03:06 +05:30
RMidhunSuresh
4ddfd3b508
built-asset --> built-assets
2022-05-12 14:56:58 +05:30
RMidhunSuresh
e63440527a
Move condition to binding
2022-05-12 13:43:19 +05:30
RMidhunSuresh
0984aeb570
Move code to ThemeLoader
2022-05-12 13:39:57 +05:30
RMidhunSuresh
654e83a5f9
Remove method
2022-05-12 13:28:11 +05:30
RMidhunSuresh
b306344739
Add explaining comment
2022-05-12 12:55:08 +05:30
R Midhun Suresh
4231037345
Update src/platform/web/Platform.js
...
Co-authored-by: Bruno Windels <274386+bwindels@users.noreply.github.com>
2022-05-12 12:48:41 +05:30
R Midhun Suresh
d5bc9f5d7d
Update src/platform/web/Platform.js
...
Co-authored-by: Bruno Windels <274386+bwindels@users.noreply.github.com>
2022-05-12 12:48:34 +05:30
RMidhunSuresh
cc88245933
Create themeLoader only if not dev
2022-05-11 15:46:12 +05:30
RMidhunSuresh
174adc0755
Move platform dependent code to Platform
2022-05-11 15:38:37 +05:30
RMidhunSuresh
c26dc04b52
Fix type
2022-05-11 15:03:32 +05:30
RMidhunSuresh
2761789f45
Move theme code to separate file
2022-05-11 14:58:14 +05:30
RMidhunSuresh
213f87378b
Use t.if instead of t.map
2022-05-11 12:46:12 +05:30
RMidhunSuresh
855298bdaf
Read from manifest
2022-05-11 12:40:32 +05:30
RMidhunSuresh
c39f0d2efb
Don't show theme chooser on dev
2022-05-10 14:12:36 +05:30
RMidhunSuresh
af9cbd727f
Remove existing stylesheets when changing themes
2022-05-10 14:12:36 +05:30
RMidhunSuresh
c611d3f85c
Select current theme in dropdown
2022-05-10 14:12:36 +05:30
RMidhunSuresh
ecb83bb277
Store and load theme from setting
2022-05-10 14:12:36 +05:30
RMidhunSuresh
daae7442bb
Create theme chooser
2022-05-10 14:12:36 +05:30
Bruno Windels
e903d3a6a4
mark options as readonly
2022-05-09 14:12:31 +02:00
Bruno Windels
3888291758
updateOptions is unused,not the best idea since options is/can be shared
2022-05-09 14:10:50 +02:00
Bruno Windels
6beff7e552
override emitChange so no need to clone option object for all tiles
...
instead, we don't store the emitChange in the options but rather on
the tile itself.
2022-05-09 14:09:45 +02:00
RMidhunSuresh
139a87de99
Pass a copy of the options to the tiles
2022-05-08 19:14:51 +05:30
Bruno Windels
23b621492f
Merge pull request #726 from vector-im/flow-registration
...
Allow passing in flowSelector from startRegistration method
2022-04-27 11:18:53 +02:00
RMidhunSuresh
049a477008
Pass flowSelector from Client.startRegistration
2022-04-27 12:27:19 +05:30
Bruno Windels
fa34315210
undo refactoring typo from #723
2022-04-25 16:44:31 +02:00
Bruno Windels
bec8cea583
fix for breaking in #725
2022-04-25 14:17:07 +02:00
Bruno Windels
3536d12680
Merge pull request #725 from vector-im/bwindels/templateview-ts
...
add typing for text bindings in template view
2022-04-25 12:42:37 +02:00
Bruno Windels
ab893f63b5
remove unneeded assignment
2022-04-25 12:40:25 +02:00
Bruno Windels
6c57c96cb9
add typing for text bindings in template view
2022-04-25 12:07:28 +02:00
RMidhunSuresh
d8da128780
remove await
2022-04-22 14:34:16 +05:30
RMidhunSuresh
7a33c2e00d
await
2022-04-22 12:26:29 +05:30
RMidhunSuresh
5a94a2feba
Move handleConfigRequest inside handleRequest
2022-04-22 12:22:30 +05:30
RMidhunSuresh
c6691cf1cb
Simplify code
2022-04-22 12:10:25 +05:30
RMidhunSuresh
826835e518
No need to rewrite to index.html
2022-04-22 12:07:53 +05:30
RMidhunSuresh
b6e55ef59c
Remove comment
2022-04-21 14:46:55 +05:30
RMidhunSuresh
4f23944581
Use named param in Legacy Platform
2022-04-21 14:17:47 +05:30
RMidhunSuresh
1cdc76f5a4
Use undefine instead of null
2022-04-21 14:14:38 +05:30
RMidhunSuresh
468b7e1595
Cache config.json
2022-04-21 12:52:42 +05:30
RMidhunSuresh
6cd3c8ee2b
Read config from URL
2022-04-20 12:42:07 +05:30
RMidhunSuresh
2cfcd4653f
Use named params
2022-04-20 12:00:33 +05:30
Bruno Windels
78f352b839
avoid white ring around avatars in dark theme
2022-04-14 10:38:08 +02:00
RMidhunSuresh
2d8a3d9f9b
Fix SDK build
2022-04-13 17:12:38 +05:30
RMidhunSuresh
23aac5cb45
Make theme-name lowercase in manifest
2022-04-13 14:26:40 +05:30
RMidhunSuresh
f7bfab6e08
Add develop only script tag to index.html
2022-04-13 14:26:40 +05:30
RMidhunSuresh
5e7432b5de
Make badge font color always white
2022-04-13 14:26:40 +05:30
RMidhunSuresh
2de0450e97
Make colors better looking for dark variant
2022-04-13 14:26:40 +05:30
RMidhunSuresh
f26b51e5da
Change colors in more css files
2022-04-13 14:26:40 +05:30
RMidhunSuresh
bf74c3c67b
Add more colors to manifest
2022-04-13 14:26:40 +05:30
RMidhunSuresh
3d304be211
Convert theme.css
...
- Use color variables
- Use colorized icons
2022-04-13 14:26:40 +05:30
RMidhunSuresh
3e2a2b7942
Add theme manifest
2022-04-13 14:26:40 +05:30
RMidhunSuresh
061dc5f824
Replace icon colors with predefined color
2022-04-13 14:26:40 +05:30
Bruno Windels
c9bc080aef
Merge pull request #713 from vector-im/bwindels/fix-request-responsecode-error
...
fix error thrown during request when response code is not used
2022-04-08 15:26:12 +02:00
Bruno Windels
cf780ce259
also apply custom tiles in reply preview in composer
2022-04-08 15:16:22 +02:00
Bruno Windels
d21d10e4f2
pass in viewClassForTile from SessionView
...
so you can also use custom tiles when using the grid view
2022-04-08 15:15:21 +02:00
Bruno Windels
1fea14dd10
ensure other parameters don't get passed to TemplateView parent ctors
2022-04-08 15:04:38 +02:00
Bruno Windels
1f0cb542c8
pass viewClassForTile to tile views, so they can create reply view with correct subtile
2022-04-08 15:02:07 +02:00
Bruno Windels
57f50cc416
fix lint warnings
2022-04-08 15:01:27 +02:00
Bruno Windels
cda96a35ee
rename viewClassForEntry to viewClassForTile
2022-04-08 15:01:06 +02:00
Bruno Windels
ac4bb8ca15
export tile view & view models from SDK
2022-04-08 14:27:08 +02:00
Bruno Windels
a913671f0c
make tileClassForEntry optional, as otherwise it is a breaking change
2022-04-08 14:19:34 +02:00
Bruno Windels
5445db2a42
allow injecting the tilesCreator from the Root/Session/RoomViewModel
...
this changes the API slightly to be more future-proof,
as we'll expose it in the SDK now.
The function now returns a SimpleTile constructor, rather than an
instance. This allows us to test if an entry would render in the
timeline without creating a tile, which is something we might want in
the matrix layer later on.
The function is now called tileClassForEntry, analogue to what we
do in TimelineView.
2022-04-08 12:52:30 +02:00
Bruno Windels
220f35ae03
fix typescript error
2022-04-08 11:52:21 +02:00
Bruno Windels
6aa79cf6e2
allow to inject custom tile view creator fn into timeline view
2022-04-07 17:25:20 +02:00
Bruno Windels
88482292e1
Merge pull request #700 from vector-im/ajbura-patch-2
...
Add observeNavigation in ViewModel
2022-04-07 14:08:40 +02:00
Bruno Windels
9755062563
fix error thrown during request when response code is not used
2022-04-07 10:35:00 +02:00
Bruno Windels
ca211f929b
Merge pull request #702 from vector-im/bwindels/observablemapts
...
convert (Base)ObservableMap to typescript
2022-03-09 11:53:59 +01:00
Bruno Windels
6150e91c3f
fix type error again
2022-03-09 11:51:11 +01:00
Bruno Windels
762925d4a5
fix type error
2022-03-09 11:44:49 +01:00
Bruno Windels
21080d2110
fix tests
2022-03-09 11:41:26 +01:00
Bruno Windels
6d7c983e8e
convert (Base)ObservableMap to typescript
2022-03-09 11:33:49 +01:00
Ajay Bura
e07abfa02a
Add missing type
2022-03-07 11:33:51 +05:30
Bruno Windels
8b8233ff00
Merge pull request #691 from vector-im/madlittlemods/only-crypto-in-secure-context
...
Only initialize `Crypto` when olm is provided
2022-03-03 17:33:50 +01:00
Ajay Bura
61ce2f9e3d
Add observeNavigation in ViewModel
2022-03-03 15:36:25 +05:30
Eric Eastwood
2f4c639cef
Only initialize Crypto when olm is provided
...
See https://github.com/vector-im/hydrogen-web/pull/691#discussion_r816988082
2022-03-02 03:17:59 -06:00
Eric Eastwood
c09964dc30
Add data-event-id="$xxx"
attributes to timeline items for easy selecting in end-to-end tests ( #690 )
...
Split out from https://github.com/vector-im/hydrogen-web/pull/653
Example test assertions: db6d3797d7/test/e2e-tests.js (L248-L252)
```js
// Make sure the $abc event on the page has "foobarbaz" text in it
assert.match(
dom.document.querySelector(`[data-event-id="$abc"]`).outerHTML,
new RegExp(`.*foobarbaz.*`)
);
```
2022-03-01 18:36:14 -06:00
Bruno Windels
2e1283d199
Merge pull request #670 from vector-im/bwindels/ts-olm
...
Convert olm code to typescript
2022-03-01 18:53:22 +01:00
Bruno Windels
62ce111938
Merge pull request #692 from ryushar/ryushar/typescriptify
...
Convert domain/avatar.js and domain/LogoutViewModel.js to Typescript
2022-03-01 18:50:19 +01:00
Bruno Windels
770f7aea00
Merge pull request #689 from vector-im/madlittlemods/add-more-html-elements
...
Add more HTML form and SVG elements
2022-03-01 18:43:34 +01:00
Bruno Windels
b6d9993ed0
remove unused import
2022-03-01 17:08:49 +01:00
Bruno Windels
643ab1a5f3
cant export this for some reason
2022-03-01 15:48:42 +01:00
Bruno Windels
ee8e45926f
also export observable value classes
2022-03-01 15:42:04 +01:00
Bruno Windels
4c50dbf7ec
make SDK exports explicit
2022-03-01 15:41:44 +01:00
Ajay Bura
4a4856a29e
export module
2022-02-28 17:19:01 +05:30
Tushar
17acda7741
typescriptify domain/LogoutViewModel.js
2022-02-25 16:45:07 +05:30
Tushar
7055f02f16
typescriptify domain/avatar.js
2022-02-25 15:52:54 +05:30
Eric Eastwood
0935f2d23a
Only try to use window.crypto.subtle in secure contexts to avoid it throwing and stopping all JavaScript
...
Relevant error if you crypto is used in a non-secure context like a local LAN IP `http://192.168.1.151:3050/ `
```
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'deriveBits')
at new Crypto
at new Platform
at mountHydrogen
```
For my use-case with https://github.com/matrix-org/matrix-public-archive , I don't need crypto/encryption at all.
Docs:
- https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts
- https://developer.mozilla.org/en-US/docs/Web/API/Crypto/subtle
- "Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers."
---
Related to https://github.com/vector-im/hydrogen-web/issues/579
2022-02-25 01:59:48 -06:00
Eric Eastwood
b993331e06
Add more HTML form and SVG elements
...
Split off from https://github.com/vector-im/hydrogen-web/pull/653
Personally using `select`, `option`, and `path` currently in https://github.com/matrix-org/matrix-public-archive
but added a few extra SVG elements that seemed common to me.
2022-02-25 01:40:52 -06:00
Bruno Windels
8adc5a9fae
these were public actually
2022-02-18 17:24:55 +01:00
Bruno Windels
3f9f0e98c7
remove unused olm property in SenderKeyDecryption
2022-02-18 17:21:27 +01:00
Bruno Windels
82299e5aea
Update src/matrix/e2ee/olm/Decryption.ts
...
Co-authored-by: R Midhun Suresh <hi@midhun.dev>
2022-02-18 17:18:33 +01:00
Bruno Windels
3330530f68
Update src/matrix/e2ee/DecryptionResult.ts
...
Co-authored-by: R Midhun Suresh <hi@midhun.dev>
2022-02-18 17:18:25 +01:00
Bruno Windels
620409b3f0
fixup: ctor argument order
...
as it was an object before, order didn't matter
2022-02-18 17:17:24 +01:00
Bruno Windels
78e0bb1ff0
replace isPreKeyMessage with const enum
2022-02-18 17:00:56 +01:00
Bruno Windels
347edb5988
remove unused storage property
2022-02-18 16:47:47 +01:00
Bruno Windels
49f6a2c2eb
Merge pull request #679 from vector-im/bwindels/fix-vm-ctor-default-options
...
always pass options to ViewModel constructor
2022-02-17 10:10:19 +01:00
Bruno Windels
2472f11ec0
export RoomStatus
2022-02-17 09:47:57 +01:00
Bruno Windels
7f1fed6f8c
always pass options to ViewModel constructor
2022-02-17 09:24:18 +01:00
Bruno Windels
d971fd1a47
Merge pull request #678 from vector-im/fix-viewmodel-error
...
Check options exist on emitChange
2022-02-17 09:08:54 +01:00
RMidhunSuresh
498a43327f
Check if options exist in emitChange
2022-02-17 11:30:04 +05:30
Bruno Windels
60f5da60bb
fix lint
2022-02-16 18:01:24 +01:00
Bruno Windels
e3e90ed167
convert olm/Encryption to TS
2022-02-16 18:00:13 +01:00
Bruno Windels
eb5ca200f2
missed rename here
2022-02-16 18:00:03 +01:00
RMidhunSuresh
7a9298328f
Return _type from getter
2022-02-16 14:37:18 +05:30
RMidhunSuresh
a76bcd1739
Changes in TokenAuth
2022-02-16 13:36:24 +05:30
RMidhunSuresh
60bc4450f3
Use type from server
2022-02-16 13:21:04 +05:30
RMidhunSuresh
ed151c8567
Return token stage from createRegistrationStage
2022-02-16 12:33:59 +05:30
RMidhunSuresh
c40801efd9
Implement the registration stage
2022-02-16 12:33:24 +05:30
Bruno Windels
a4fd1615dd
convert decryption
2022-02-15 18:21:29 +01:00
Bruno Windels
74c640f937
convert Session
2022-02-15 18:21:12 +01:00
Bruno Windels
7aeda70ff6
convert DecryptionResult
2022-02-15 18:20:14 +01:00
Bruno Windels
7179758c50
also here
2022-02-15 08:22:09 +01:00
Bruno Windels
1795f58ba5
rename imports
2022-02-14 17:53:59 +01:00
Bruno Windels
4d82dd22b6
convert ViewModel to typescript
2022-02-14 17:50:17 +01:00
Eric Eastwood
dfed04166e
Fix missing reply text when message body is parsed as HTML in [linkedom
]( https://github.com/WebReflection/linkedom ) (SSR).
...
- [`linkedom`](https://github.com/WebReflection/linkedom ) is being used https://github.com/matrix-org/matrix-public-archive to server-side render (SSR) Hydrogen (`hydrogen-view-sdk`)
- This is being fixed by using a explicit HTML wrapper boilerplate with `DOMParser` to get a matching result in the browser and `linkedom`.
Currently `parseHTML` is only used for HTML content bodies in events. Events with replies have content bodies that look like `<mx-reply>Hello</mx-reply> What's up` so they're parsed as HTML to strip out the `<mx-reply>` part.
Before | After
--- | ---
![](https://user-images.githubusercontent.com/558581/153692011-2f0e7114-fcb4-481f-b217-49f461b1740a.png ) | ![](https://user-images.githubusercontent.com/558581/153692016-52582fdb-abd9-439d-9dce-3f04da6959db.png )
Before:
```js
// Browser (Chrome, Firefox)
new DOMParser().parseFromString(`<div>foo</div>`, "text/html").body.outerHTML;
// '<body><div>foo</div></body>'
// `linkedom` ❌
new DOMParser().parseFromString(`<div>foo</div>`, "text/html").body.outerHTML;
// '<body></body>'
```
After (consistent matching output):
```js
// Browser (Chrome, Firefox)
new DOMParser().parseFromString(`<!DOCTYPE html><html><body><div>foo</div></body></html>`, "text/html").body.outerHTML;
// '<body><div>foo</div></body>'
// `linkedom`
new DOMParser().parseFromString(`<!DOCTYPE html><html><body><div>foo</div></body></html>`, "text/html").body.outerHTML;
// '<body><div>foo</div></body>'
```
`linkedom` goal is to be close to the current DOM standard, but [not too close](https://github.com/WebReflection/linkedom#faq ). Focused on the streamlined cases for server-side rendering (SSR).
Here is some context around getting `DOMParser` to interpret things better. The conclusion was to only support the explicit standard cases with a `<html><body></body></html>` specified instead of adding the magic HTML document creation and massaging that the browser does.
- https://github.com/WebReflection/linkedom/issues/106
- https://github.com/WebReflection/linkedom/pull/108
---
Part of https://github.com/vector-im/hydrogen-web/pull/653 to support server-side rendering Hydrogen for the [`matrix-public-archive`](https://github.com/matrix-org/matrix-public-archive ) project.
2022-02-11 20:10:46 -06:00
Bruno Windels
9685ef4dd3
dont log summary valued, as they can contain PII
2022-02-11 18:39:37 +01:00
Bruno Windels
ea8f3e5a6a
remove argument that is already bound in BaseRoom, making decryption fail
2022-02-11 17:14:56 +01:00
Bruno Windels
57b1542688
use private topic field as public one got removed as not needed in view
2022-02-11 09:37:56 +01:00
Bruno Windels
175f869c83
fix lint
2022-02-10 20:07:27 +01:00
Bruno Windels
a442b4b009
Merge branch 'master' into bwindels/create-room
2022-02-10 20:05:40 +01:00
Bruno Windels
d65b25f084
also adjust m.direct if the room has already been replaced
2022-02-10 20:00:01 +01:00
Bruno Windels
2765f48a64
create user id array in m.direct if it doesn't exist already
2022-02-10 19:59:44 +01:00
Bruno Windels
d2008a336b
fix lint errors
2022-02-10 19:54:47 +01:00
Bruno Windels
ff46d382ac
adjust m.direct when creating a DM
2022-02-10 19:54:15 +01:00
Bruno Windels
3adb2c3254
fix ts errors
2022-02-10 16:44:40 +01:00
Bruno Windels
8526461d3c
split up create code into separate files
2022-02-10 16:43:32 +01:00
Bruno Windels
15eecbb463
cleanup
2022-02-10 16:28:44 +01:00
Bruno Windels
30c8ea29b2
fix bug where the wrong left panel tile is removed when accepting invite
...
because when comparing a tile to itself it wasn't returned 0
2022-02-10 16:27:32 +01:00
Bruno Windels
b0d790543a
push to navigation in SessionViewModel rather than RVO
2022-02-10 14:57:48 +01:00
Bruno Windels
2c1b29e637
remove logging
2022-02-10 14:39:41 +01:00
Bruno Windels
75bbde598d
also consider rooms without a name and just you and the other a DM
...
as we don't process m.direct account data yet
2022-02-10 14:39:18 +01:00
Bruno Windels
955a6bd6f9
styling for button in member details to open DM
2022-02-10 14:38:12 +01:00
Bruno Windels
147810864f
add support to set alias and federation flag in create room
2022-02-10 14:09:18 +01:00
Bruno Windels
4c0167ed74
don't show spinner in left panel when room creation fails
2022-02-10 11:19:43 +01:00
Bruno Windels
024a6c06aa
handle offline error nicer
2022-02-10 11:11:15 +01:00
Bruno Windels
b5536830d0
improve RoomBeingCreatedView, allow removing the roombeingcreated
2022-02-10 11:07:29 +01:00
Bruno Windels
20493f9e87
cleanup
2022-02-10 11:07:13 +01:00
Bruno Windels
e8c20c28b2
allow passing label into LoadingView
...
also doesn't need to be a template view, as it doesn't have bindings
or event handlers
2022-02-10 11:06:44 +01:00
Bruno Windels
f12841b2d3
better error handling in RoomBeingCreated
2022-02-10 11:06:20 +01:00
Bruno Windels
d6d1af13d0
rename RoomBeingCreated.localId to id
2022-02-10 11:03:52 +01:00
Bruno Windels
bbb1683dbf
fixup: login view styling
2022-02-10 09:40:42 +01:00
Bruno Windels
fed42f13ad
textarea styling
2022-02-10 09:40:30 +01:00
Bruno Windels
5f6308e7c4
fix homeserver field style in login view
2022-02-10 09:40:19 +01:00
Bruno Windels
74f7879cb6
fix unrelated bug: invite sorting order wasn't stable in left panel
...
as the timestamp is the same when you receive the invite during your
first sync
2022-02-10 09:40:03 +01:00
Bruno Windels
5c085efc10
create room view and view model
2022-02-09 19:02:51 +01:00
Bruno Windels
a1e14c4eec
rename to not have conflict between method name and instance of CreateRoomViewModel
2022-02-09 19:02:18 +01:00
Bruno Windels
4b1be30dc0
improve form-row classes so they can work with create room form
2022-02-09 19:01:35 +01:00
Bruno Windels
8523f6feaf
setup navigation for create room form
2022-02-09 19:00:41 +01:00
Bruno Windels
83d2b58bad
add avatar support to creating room
2022-02-09 19:00:00 +01:00
Bruno Windels
afe8e17a6f
remove debugging code
2022-02-08 17:00:06 +01:00
Bruno Windels
743f2270e5
have a single tile view that supports all 3 view models
2022-02-08 16:22:44 +01:00
Bruno Windels
5325b0b466
cleanup logging
2022-02-08 14:58:29 +01:00
Bruno Windels
d7b024eac1
unrelated fix: encode user name in matrix.to link
2022-02-08 14:35:14 +01:00
Bruno Windels
45c8e3a793
mark room as DM based on synced state events,rather than just inviteData
...
as that does not work for rooms we create ourselves
2022-02-08 14:34:34 +01:00
Bruno Windels
e04463c143
WIP for finding DM room
2022-02-07 18:58:53 +01:00
Bruno Windels
26fa2a5d60
add option
2022-02-07 18:58:43 +01:00
Bruno Windels
e1fbd1242e
WIP 4
2022-02-07 16:30:44 +01:00
Bruno Windels
0bb3cfcfad
WIP3
2022-02-04 17:49:10 +01:00
Bruno Windels
3ff39a9549
Merge pull request #661 from vector-im/sdk-additions
...
Export more code from SDK
2022-02-04 17:43:23 +01:00
RMidhunSuresh
4a0db9f984
Add required exports
2022-02-04 18:28:17 +05:30
RMidhunSuresh
28931f4103
Use async/await
2022-02-04 17:48:42 +05:30
RMidhunSuresh
f7f32ac806
responseCodeReject may not exist
2022-02-04 17:39:52 +05:30
RMidhunSuresh
a163cee18d
Remove dead imports
2022-02-04 17:25:30 +05:30
RMidhunSuresh
0828ac12b1
Fix params
2022-02-04 17:25:15 +05:30
RMidhunSuresh
b59f916824
Merge branch 'registration' of github.com:vector-im/hydrogen-web into registration
2022-02-04 17:16:32 +05:30
R Midhun Suresh
2ac63e78ca
mark method as internal
...
Co-authored-by: Bruno Windels <bruno@windels.cloud>
2022-02-04 17:16:15 +05:30
RMidhunSuresh
028b96e4c5
Let type also be undefined
2022-02-04 17:11:33 +05:30
RMidhunSuresh
22d5505a2b
Create registration stage in Registration itself
2022-02-04 16:50:22 +05:30
RMidhunSuresh
e66549a067
Remove dead code
2022-02-04 16:40:49 +05:30
RMidhunSuresh
e8c480426a
Remove error code
2022-02-04 16:37:43 +05:30
RMidhunSuresh
891375a885
Rename allowerErrors -> allowedStatusCodes
2022-02-04 16:35:47 +05:30
RMidhunSuresh
32af7e6f09
Make more changes
...
- make setter a method
- lazily create promise
2022-02-04 16:23:39 +05:30
Bruno Windels
0b04612d6c
WIP2
2022-02-04 11:16:58 +01:00
RMidhunSuresh
3d8b9cce41
Fix responseCode in Request
2022-02-04 15:41:37 +05:30
Bruno Windels
bc09ede09f
WIP
2022-02-03 17:57:35 +01:00
RMidhunSuresh
b6e1d4a7d5
Implement responseCode()
2022-02-03 19:41:14 +05:30
RMidhunSuresh
89a97537b0
Make methods private + some props readonly
2022-02-03 19:41:14 +05:30
RMidhunSuresh
8a3c0afba6
Fix incorrect types
2022-02-03 19:41:11 +05:30
RMidhunSuresh
0ad0ecfcc2
Check response code instead of existence of props
2022-02-03 19:40:25 +05:30
RMidhunSuresh
c4894f2c24
completed is not always present
2022-02-03 19:40:25 +05:30
RMidhunSuresh
e64f4ad7b2
Refactor code
...
- Move all code that does /register to Registration.ts
- RegistrationStage only deals with the generation of auth data
- Change API so that undefined is returned instead of string when
registration is over
2022-02-03 19:40:25 +05:30
R Midhun Suresh
2aad5546bf
No need for Object.assign here either
...
Co-authored-by: Bruno Windels <brunow@matrix.org>
2022-02-03 19:40:25 +05:30
RMidhunSuresh
7bacbec5e9
Remove type directory
2022-02-03 19:40:25 +05:30
RMidhunSuresh
e13040a49e
Don't mutate flows
2022-02-03 19:40:25 +05:30
R Midhun Suresh
30cb9f6d15
Use includes instead of elaborate find
...
Co-authored-by: Bruno Windels <brunow@matrix.org>
2022-02-03 19:40:25 +05:30
RMidhunSuresh
a351a185a0
Give proper names
2022-02-03 19:40:25 +05:30
RMidhunSuresh
fe0add01ee
Use union of types for RegistrationResponse
2022-02-03 19:40:25 +05:30
RMidhunSuresh
a249a1b2b5
Implement flow seclector
2022-02-03 19:40:25 +05:30
RMidhunSuresh
6798a5e429
Move types to types.ts
2022-02-03 19:40:25 +05:30
RMidhunSuresh
3a67da8830
Refactor type
...
- Change name
- Move union type down
2022-02-03 19:40:25 +05:30
RMidhunSuresh
1d4b079d0c
Type RegistrationResponse
2022-02-03 19:40:25 +05:30
RMidhunSuresh
49ade61ef6
Fill in ts types + change names
2022-02-03 19:40:25 +05:30
RMidhunSuresh
b482d478b4
Add a tos getter
2022-02-03 19:40:25 +05:30
RMidhunSuresh
ac7108b882
Throw error instead of returning it
2022-02-03 19:40:25 +05:30
RMidhunSuresh
7bb7189c6a
No need for this export
2022-02-03 19:40:25 +05:30
RMidhunSuresh
6eba60bd75
Use typescript style that was agreed on earlier
2022-02-03 19:40:25 +05:30
RMidhunSuresh
5de1fc1453
Remove unnecessary getters
2022-02-03 19:40:25 +05:30
RMidhunSuresh
2f3865d8cc
firstStage should be a local variable
2022-02-03 19:40:25 +05:30
RMidhunSuresh
2d4c106542
REFACTOR: Inline method
2022-02-03 19:40:25 +05:30
RMidhunSuresh
a91ba4370d
Change type to show that username is optional
2022-02-03 19:40:25 +05:30
RMidhunSuresh
550a560f40
Remove space
2022-02-03 19:40:25 +05:30
RMidhunSuresh
5f11790f6b
Object.assign is overkill here
2022-02-03 19:40:25 +05:30
RMidhunSuresh
e8dbbd876c
Give default values to parameters
2022-02-03 19:40:25 +05:30
RMidhunSuresh
755f934eb2
No need to explicitly pass in inhibitLogin
2022-02-03 19:40:25 +05:30
RMidhunSuresh
5e93e048ab
Don't cache GET requests
2022-02-03 19:40:25 +05:30
RMidhunSuresh
bb6a885116
Specify what errors are ignored in options
2022-02-03 19:40:25 +05:30
RMidhunSuresh
420c12f202
Copy over username only if it exists
2022-02-03 19:40:25 +05:30
RMidhunSuresh
792d5c62c5
Return username when registration is completed
2022-02-03 19:40:25 +05:30
RMidhunSuresh
fa2e2bc8f3
Allow register without providing username
2022-02-03 19:40:25 +05:30
RMidhunSuresh
170d7a5e55
Add startRegistration method
2022-02-03 19:40:25 +05:30
RMidhunSuresh
8ab8726b8f
Implement m.login.terms stage
2022-02-03 19:40:25 +05:30
RMidhunSuresh
18e2fc1089
Pass in params to BaseRegistrationStage
2022-02-03 19:40:25 +05:30
RMidhunSuresh
a59b67ec45
Fix errors
2022-02-03 19:40:25 +05:30
RMidhunSuresh
d76a059525
Temporary fix for 401 errors
2022-02-03 19:40:25 +05:30
RMidhunSuresh
d28ab919bb
Implement dummy registration logic
2022-02-03 19:40:25 +05:30
RMidhunSuresh
eb146830ba
Implement registration endpoint
2022-02-03 19:40:25 +05:30
RMidhunSuresh
618d02d838
fetch registration flows
2022-02-03 19:40:25 +05:30
Bruno Windels
348de312f9
draft code in matrix layer to create room
2022-02-02 10:19:49 +01:00
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