- Wrap DocumentView's Editor in ComposerContext.Provider so useSelection
(used internally by the Editor) has the required context, enabling
focus and keyboard input to work correctly.
- Add pnpm override pointing @vector-im/matrix-wysiwyg at the local
matrix-rich-text-editor/platforms/web build so the automerge
collaboration API (composerModel, useCollaboration, etc.) is available
when running element-web locally end-to-end.
- Remove the wysiwyg patchedDependency entry (superseded by the override).
- Update pnpm-lock.yaml to reflect the link resolution.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add a new 'Document' content type alongside Timeline/Call/Widget that
shows a full-room Automerge-backed collaborative editor.
Changes:
- Add `MainSplitContentType.Document` to RoomContext enum
- Add `view_document?: boolean` to ViewRoomPayload
- Track `viewingDocument` state in RoomViewStore with `isViewingDocument()`
- Update RoomView.getMainSplitContentType to return Document when active,
and render <DocumentView> in the main split switch statement
- Add document toggle button (📄) to RoomHeader using the Compound
IconButton / Tooltip pattern
- New DocumentView component:
- Uses `useWysiwyg` for the rich text editor surface
- Loads initial document from room-state event (org.element.doc.automerge)
- Sends incremental Automerge deltas (debounced 500 ms) as
org.element.doc.delta timeline events
- Receives and applies remote deltas from other room participants
- Full-height document layout with formatting toolbar
- New _DocumentView.pcss stylesheet + import in _components.pcss
- i18n strings: room.document.open / room.document.close
The collaboration methods (save_incremental, receive_changes, etc.) are
guarded by the isCollaborative() runtime type-check so the component
degrades gracefully with the current 2.40.0 npm package until the
langleyd/automerge build is published.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Refactor DateSeparator using MVVM and move to shared-components
* Add a few more stories, tests and screenshots
* Use the shared component and viewmodel in element-web
* Renaming custom content property an updating snapshots
* Fix lint errors and update snapshot after merge
* Change lifecycle handling for DateSeparatoreViewModel in components where manual handling is preferrable over wrapper component.
* Move context menu from viewmodel to shared components - step 1
* Create a jump to date picker component in shared components
* Add tests for coverage and fix layout issues and roving indexes
* Make element-web use the new component
* Simplify context menu and adjusting tests
* The HTMLExport now render shared components and need a I18nContext.Provider
* Updating unit tests for context menu
* Changed to {translate: _t} to let scripts pick up translations
* Fix lint issue and updating screenshots after merge
* Update snaps for element web components
* Renaming MVVM view components with suffix View.
* Fixing problem with input date calendar icon and system dark theme
* Changed the rendering of the menu and added a separate button component
* Handle input control with useRef in onKeyDown
* Updating DateSeparator snapshots on unit tests
* Updating layout after compound Menu got a className property
* Move files to new subfolder after merge
* Updated snapshot after merge
* Updating lock file
* Updates to styling from PR review
* Updates to focus/blur functionality
* Fixed tabbing and export documentation to stories
* Updated snapshots
---------
Co-authored-by: Zack <zazi21@student.bth.se>
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>