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