hydrogen-web
hydrogen-web copied to clipboard
Typescript conversion
- [x] convert logging/
- [x] convert utils/
- [x] convert matrix/net
- [x] convert matrix/login
- [x] convert matrix/push
- [x] convert matrix/sessioninfo
- [x] convert matrix/ssss
- [x] convert matrix/e2ee/olm
- [ ] convert matrix/e2ee/megolm
- [ ] convert matrix/e2ee
- [ ] convert matrix/room/members
- [ ] convert matrix/room/sending
- [ ] convert matrix/room/timeline/entries/ (and needed parts in matrix/room/timeline)
- [ ] convert matrix/room/timeline/persistence/
- [ ] convert rest of matrix/room/timeline
- [ ] convert matrix/room
- [ ] convert matrix/ (split up Sync types in several files under matrix/sync?)
- [ ] convert domain/navigation
- [x] convert domain/ViewModel
- [x] convert domain/login
- [ ] convert domain/session/room/timeline/linkify/ & MessageBody & deserialize
- [ ] convert domain/session/room/timeline/tiles/
- [ ] convert TilesCollection
- [ ] convert rest of domain/session/room/timeline
- [ ] convert domain/session/room
- [ ] convert domain/session/settings
- [ ] convert domain/session/rightpanel
- [ ] convert domain/session/leftpanel (@ibeckermayer is interested in working on this after LoginViewModel)
- [ ] convert domain/session
- [ ] convert rest of domain
- [ ] convert platform/web/utils
- [ ] convert platform/web/dom
- [ ] convert platform/web/Platform
- [ ] convert platform/web/ui/general
- [ ] convert platform/web/ui/login
- [ ] convert platform/web/ui/session/room/timeline
- [ ] convert platform/web/ui/session/room/
- [ ] convert platform/web/ui/session/leftpanel
- [ ] convert platform/web/ui/session/rightpanel
- [ ] convert platform/web/ui/session/settings
- [ ] convert platform/web/ui/session/leftpanel
- [ ] convert platform/web/ui/session/rightpanel
- [ ] convert platform/web/ui/session
- [ ] convert platform/web/ui
- [ ] convert platform/web/worker?
- [ ] extract interface for
Platform
and add needed stuff in each step below - [ ] service worker?
Hello! I'm new to contributing to matrix...is this issue active? I'd like to contribute to it. Also just for confirmation, we need to migrate files from javascript to typescript right? :sweat_smile:
Hey @shubhangi013! Thanks for your offer, feel free to join #hydrogen-web:matrix.org to coordinate dev work.
Hey @shubhangi013! Thanks for your offer, feel free to join #hydrogen-web:matrix.org to coordinate dev work.
Thankyou! so should I claim a folder/file to migrate to TS? :sweat_smile:
I was trying to write a new viewmodel and view in typescript and ran into these problems:
- ViewModel hasn't been converted, so using any properties defined in ViewModel from a subclass yields an error
- the builder element function receives either attributes and children, attributes, children or nothing. The type system doesn't seem to be detecting well which one you're choosing so even when saying that the argument of your binding function is of type
ViewModel
, it gives an error saying it is not a valid attribute object:
Argument of type '(vm: IViewModel) => string' is not assignable to parameter of type 'Child | Child[] | Attributes<IViewModel> | undefined'.
Type '(vm: IViewModel) => string' is not assignable to type 'Attributes<IViewModel>'.
Index signature for type 'string' is missing in type '(vm: IViewModel) => string'.
interface IViewModel
- disappointed about the amount of type inference I can use in the template