* Handle SDKContextClass `client` initialisation internally
Rather than via MatrixChat - this is predominantly for Lifecycle tests as they don't use a MatrixChat and it doesn't make much sense for this component to own this state.
* Fix tests
* refactor(room-list): migrate SpaceStore off the legacy room list store
SpaceStore.setActiveRoomInSpace iterated the legacy RoomListStore's
`orderedLists` in `TAG_ORDER`; switch it to the space-aware
RoomListStoreV3.getSortedRoomsInActiveSpace() accessor. This drops the
last non-UI dependency on the legacy store and on `TAG_ORDER` (exported
from LegacyRoomList, deleted next).
* feat(room-list)!: remove the legacy room list UI
Delete the old sublist-based room list and its components now that the
new RoomListPanel is the default. Removed: LegacyRoomList,
LegacyRoomListHeader, RoomSublist, ExtraTile, RoomTile (+ Subtitle/
CallSummary), RoomBreadcrumbs and RoomSearch, plus their styles and
tests.
LeftPanel collapses to the RoomListPanel-only path. The shared
`contextMenuBelow` helper is relocated into RoomResultContextMenus (its
only remaining consumer).
* feat(room-list)!: remove the legacy RoomListStore
The legacy sublist-based room list UI is gone, so the old
`stores/room-list` store (Algorithm, sorters, filters, layout store,
space
watcher) has no remaining consumers. Delete the directory and its tests.
MatrixChat.forgetRoom no longer calls the legacy `manualRoomUpdate`; the
new room list store removes the room on the `AfterForgetRoom` dispatch
that still fires. Drop the `mxRoomListStore`/`mxRoomListLayoutStore`
globals and the now-dead test imports.
* feat(room-list)!: remove the feature_new_room_list labs flag
The new room list is now the only room list, so remove the
feature_new_room_list labs flag and make its enabled behaviour
unconditional everywhere it was gated:
- LoggedInView: always use the resizable layout and
NEW_ROOM_LIST_MIN_WIDTH;
drop the collapsible/minimized legacy path.
- SpaceStore: People and Favourites are dropped from metaSpaceOrder (per
the
long-standing TODO on the removed accessor).
- MessagePreviewStore: stop appending thread replies to previews.
- Settings, SidebarUserSettingsTab, PreferencesUserSettingsTab,
QuickSettingsButton, SpacePanel, LandmarkNavigation: drop the flag
reads and
legacy branches.
Update the tests that toggled the flag; the People/Favourites meta space
tests covered behaviour that the flag (default on) already disabled.
* feat(room-list)!: remove the dead legacy left-panel resizer
LoggedInView still built the old `Resizer`/`CollapseDistributor` over an
`lp-resizer` ResizeHandle and persisted `mx_lhs_size`. That handle is no
longer rendered (the resizable layout is now driven by
LeftResizablePanelView + ResizerViewModel, which persists its own state
via RoomList.panelSize/RoomList.isPanelCollapsed), so the old resizer
was
inert dead code left over from the legacy room list.
Remove createResizer/loadResizer/loadResizerPreferences, the
_resizeContainer/resizeHandler refs, the ResizeHandle render, the
mx_lhs_size handling and NEW_ROOM_LIST_MIN_WIDTH, plus the unit tests
that
exercised the mocked resizer.
* feat(room-list)!: update i18n files
* refactor(room-list): remove the now-unused collapseLhs state
`collapseLhs` is write-only since the left panel no longer collapses: it
was last read by LoggedInView's `shouldUseMinimizedUI`, removed with the
feature_new_room_list flag. Drop it from MatrixChat's IState (and its
assignments), collapsing the hide/show_left_panel handlers to just the
`notifyLeftHandleResized()` call they still need, and from
LoggedInView's
IProps and the test props.
* fix(room-list): instantiate message previewers lazily
Removing the unused SettingsStore import from MessagePreviewStore (when
the
feature_new_room_list flag was dropped) changed module load order and
exposed a latent circular dependency: ReactionEventPreview imports
MessagePreviewStore, which eagerly did `new ReactionEventPreview()` at
module-eval — so importing ReactionEventPreview first (as its unit test
does) hit "ReactionEventPreview is not a constructor".
Construct the previewers lazily on first use (cached) instead of at
module
load, so nothing dereferences a mid-evaluation module. Fixes
ReactionEventPreview-test.
* test(room-list): remove `feature_new_room_list` labs flag in e2e tests
* chore: remove remaining `newRoomList` flag
* chore: cleanup theme files
* fix: restore the re-resizable TouchEvent polyfill
* chore: remove usage of breadcrumbs settings in BreadcrumbStore
* Revert "fix(room-list): instantiate message previewers lazily"
This reverts commit 4e6eedfff0449c68a96c0470a4eb425b5aec5512.
* chore: remove unused function in BreadCrumbStore
* test: remove unused fuction of BreadcrumStore in tests
* test: add tests for RoomResultContextMenu
* Separate out SDKContext
...from SDKContextClass, as the comments hopefully explain.
Also make the captitalisation consistent.
* Adding the new file usually helps too
* Fix import
* More comment
* Update the various imports of SDKContextClass
* Also fix case of TestSDKContext
* Update the mock
* Initial reword of upload to MVVM.
* Update tests
* More incremental improvements
* Refactor tests to use helper method for composer uploads.
* Add drag and drop tests
* lint
* Add commentary
* fixup test
* More precise selector
* Retarget uploads
* lint
* fixup
* one more type
* update snap
* Fixup composerUploadFiles
* fix import
* lint
* Copy and paste fixes too
* Add tests for pasting
* Add tests for pasting files.
* Remove redundant fn
* rm comment
* tidy up
* Test cleanup
* More clean up
* another fix
* Begin fleshing out
* Park changes
* More stuff
* Use condensed version
* Cleanup tests
* more cleaning
* last bity
* Add a test for the composer
* Park up changes
* Rewrite Measured to be a functional component
* Add tests to cover narrow viewports
* lint
* breakpoint is optional
* Cleanup
* Support narrow mode
* fixup
* begone
* Provide default value
* add label
* fixup test
* update copyright
* cleanup
* Be a bit more lazy with FileDropTarget
* remove a debug statement
* Fixup
* fix two snaps
* Update screenshot
* and the other one
* Update snaps
* unfake CIDER
* update screens again
* remove extra test
* Undo accidental snapshots
* Bit of tidyup
* fixup
* even more tidyup
* may drag and drop file
* tidy up again
* snap snap snap
* Use load to make sonarQube happy
* Bunch of refactors
* More cleanup
* cleanup debug code
* tweaks
* remove a test we no longer need
* make it happy
* fix import
* fixup
* Update snaps
* typo
* one off
* Add tests
* lint
* remove only
* Reduce screenshot scope
* fix snapshot usage
* cleanup
* Upgrade to compound 9.2.0
... to pick up the export of PageHeader
* update snapshots
* update shared-components snapshots
* More snapshot updates
* update snapshot
* GHA: Show disk usage on failure
* Add support for Widget & Room Header Buttons module APIs
To support https://github.com/element-hq/element-modules/pull/217
* Update for new api
* Test addRoomHeaderButtonCallback
* Extra mock api
* Test for widgetapi
* Convert enum
* Convert other enum usage
* Add tests for widget context menu move buttons
Which have just changed because of the enum
* Add tests for moving the widgets
* Fix copyright
Co-authored-by: Florian Duros <florianduros@element.io>
* Update module API
* A little import/export
---------
Co-authored-by: Florian Duros <florianduros@element.io>
* Update to Module API v1.11.0
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove stale state field to make CQL happy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Bump npm dep
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve coverage
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve coverage
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update comment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add widget lifecycle API at top level
* Integrate while still falling back to the legacy api
* Remove WidgetKind
* Update module api
to the one that includes the new widget lifecycle api
* lint
* Make preload checks easier to understand
- Have single code path for preload checks.
- Remove duplicated logic for preapproveIdentity check
- Fix headers
* lint
mkdir apps/web/scripts
mv scripts/{cleanup.sh,ci_package.sh,copy-res.ts,deploy.py,package.sh} apps/web/scripts
And a couple of gitignore tweaks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>