* Add report room dialog button/dialog.
* Update copy
* fixup tests / lint
* Fix title in test.
* update snapshot
* Add unit tests for dialog
* lint
* First pass at adding a report room on invite.
* Use a single line input field for reason to avoid bumping the layout.
* Fixups
* Embed reason to make it clear on grouping
* Revert accidental commit
* lint
* Add some playwright tests.
* tweaks
* Make ignored users list more accessible.
* i18n
* Fix sliding sync test.
* Add unit test
* Even more unit tests.
* move test
* Update to match designs.
* remove console statements
* fix css
* tidy up
* improve comments
* fix css
* updates
* Embed Element Call into Element Web packages
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Pass rageshakeSubmitUrl & posthogApiHost to EC widget
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve coverage
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve coverage
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Use @vector-im/element-call-embedded
* Only pass posthog params to EC if Analytics is enabled
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix test mock
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update EC params to match https://github.com/element-hq/element-call/pull/3089
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update to latest element-call package
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* yarn.lock
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update to element-call-embedded@ v0.9.0-rc.1
* Gate Sentry params behind analytics consent
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update to element-call-embedded v0.9.0-rc.4
* Update Element Call embedded to 0.9.0 release
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: Hugh Nimmo-Smith <hughns@element.io>
* Replace onHeightChanged with ResizeObserver
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Switch away from nesting React trees and mangling the DOM
By parsing HTML events and manipulating the AST before passing it to React
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Use MatrixClientContext in Pill now that we are in the main React tree
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add missing import
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Break import cycles
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Minimise
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Docs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix labelling of avatar menu
* Make the integration manager toggle more clear.
* fix label
* lint
* Update snapshots.
* Refactor many cases of checkbox to use the new compound component.
* Remove non-checkbox related changes
* Reset some things
* Remove usages of mx_checkbox* styling.
* Use label locators for apperance tests.
* small linter tweaks
* lint
* update screenshot
* Test updates
* lint
* Realign checkboxes for device selection.
* Fixup QuickSettings styling
* remove comment
* lint
* flex comment
* remove unused label
* remove redundant classes
* add test for spaces
* lint
* Copyright
* fixup spaces test
* spaces lint
* Replace pin with compound pin.
* Realign icons
* Remove hack for colouring icons
* Adjust existing rooms component to correctly label room.
* Add test for adding an existing room to an existing space.
* Set deterministic sort order for rooms
* lint
* chore: update `@vector-im/compound-design-tokens` & `@vector-im/compound-web` to last version
* chore: use `error-solid` icon instead of `error`
* chore: update jest snapshot
* fix: `AccessibleButton` lint
* Fix tiny typo in existing code
* Create a hook that uses the right panel store
So that we track changes to the right panel phases
* Create a context that wraps the previous hook we created
We do this so that we can get by using a single event listener i.e we
only need to call `useCurrentPhase` in the provider as opposed to
calling it in each header icon.
* Create a hook that tells you if a panel is open or not
* Create component that wraps Icon
and adds a class name when the corresponding panel is open
* Style room header icons for when they are toggled
* Style face pile for toggle state
* Fix broken CI
* Give directory a better name
* Update year in license
* Use a stronger type
* Fix outstanding UX issues with replies/mentions/keyword notifs
* Use createRoot instead of deprecated ReactDOM.render
I foresee this change being made across the codebase shortly
and want to proactively prevent my PR from falling behind
* Clean up react root on unmount
* Remove addition of left-edge highlight on message mentions
It is clear that it would be best for me to address
this piece in a separate PR.
* Update call to ReactRootManager.render
---------
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Switch to secure random strings
Because the js-sdk methods are changing and there's no reason for these
not to use the secure versions. The dedicated upper/lower functions were
*only* used in this one case, so this should do the exact same thing with
the one exported function.
Requires https://github.com/matrix-org/matrix-js-sdk/pull/4621 (merge both together)
* Change remaining instances of randomString
which I somehow entirely missed the first time.
* Fix import order
* Switch to React18 useId
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Enable react-compiler eslint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix an easy one
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Disable in tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix usage of useRef as memoization
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix mutation of external values in hooks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Make React compiler happy about some frankly non-issues
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix MapMock
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Revert MemberListViewModel.tsx changes and disable linter per line
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Make viewmodel compatible with react-compiler linter
- Remove searchQuery ref/state and instead pass this query to the
loadMember function.
- Now we no longer need a separate search function
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: R Midhun Suresh <hi@midhun.dev>
* Remove FTUE onboarding as it is incompatible with SSO/OIDC
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove stale screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* React to MatrixEvent sender/target sentinels being updated for rendering state events
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* React to sentinel changes in EventListSummary
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add commercial licence and update config files
* Update license in headers
* Revert "Update license in headers"
This reverts commit 7ed7949485.
* Update only spdx id
* Remove LicenseRef- from package.json
LicenseRef- no longer allowed in npm v3 package.json
This fixes the warning in the logs and failing build check.
* Harden Settings using mapped types
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix issues found during hardening
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove oidc native flow stale key
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stash initial work to bring TSC from over 6 mins to under 1 minute
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stabilise types
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix incorrect props to AccessibleButton
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Swap AccessibleButton element types to match the props they provide
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Changed my mind, remove spurious previously ignored props
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve performance of RoomContext in RoomHeader
This allows a component to subscribe to only part of the RoomContext so they do not need to re-render on every single change
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Prettier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add comment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Handle authenticated media when downloading from ImageView
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Switch secondary React trees to the createRoot API
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add comment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Move state update listeners from constructor to componentDidMount
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove boilerplate around dispatcher and settings watchers
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Ditch legacy Tooltips in favour of Compound
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove dead code
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Extract markdown CodeBlock into React component
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Upgrade compound
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Deduplicate more icons using Compound Design Tokens
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
(cherry picked from commit 7448bd52e2ff354917d6e5f769ca052961c13aa0)
* Upgrade to latest compound-web package
* Use a custom render function for jest tests
This way we don't need to manually wrap our components with
<TooltipProvider>
* Pin wrap-ansi to fix broken yarn install
* Add playwright helper to find tooltip from element
and use it in the failing test
* Exclude floating-ui divs/spans from axe testing
This is rendered outside .MatrixChat by compound and contains all the
tooltips.
* Wrap outermost components with TooltipProvider
* Remove onChange and use onSelect for toggle
* Fix jest tests and update snapshots
* Use vector-im/matrix-wysiwig
---------
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Mobile registration optimizations
- don't autocaptialize or autocorrect on username field
- show each password field in their own row
- improve position of tooltip on mobile so that it's visible
* Use optional prop rather than default prop.
* Redirect to welcome screen if mobile_registration is requested but not enabled in the config.
* autocorrect value should be "off"
* Add unit tests for mobile registration
* Fix test typo
* Fix typo