* Add user status on user profile icon
Currently unstyled & no tests
* Style the user status icon
* Update snapshot
for avatar wrapper
* More snapshot updates
* add if braces
* Split out user status functions
to avoid circular dep which has the weird effect of just breaking
jest's mocking.
* type imports
* Update imports
* Update snapshot
* Tests
* baseline image
* Just snapshot the component itself
* User status in user menu
first pass, unstyled
* fix export
* superstylin'
* snapshots
* Add story & test
* Snapshots
and re-use the repeated rules
* Tests
* Fix jest lcov projectRoot config
* Change tooltip text to just 'clear'
* Add comment & fix console warn
* Remove all options screenshot
as it's not really particularly useful as a preset story
* remove stale screenshot
* fix imports
---------
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* fix: don't display the empty/collapse icon when the room list is empty
* Fix jest lcov projectRoot config
---------
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* fix: hide section separator in context menu when there is no section
* fix: truncate long section name
* feat: add remove from section entry to room list item context menu
* test: update tests and stories
* test: add new test
* test: use same mocks
* test: add e2e test for "Remove from section"
* Add user status on user profile icon
Currently unstyled & no tests
* Style the user status icon
* Update snapshot
for avatar wrapper
* More snapshot updates
* add if braces
* Split out user status functions
to avoid circular dep which has the weird effect of just breaking
jest's mocking.
* type imports
* Update imports
* Update snapshot
* Tests
* baseline image
* Just snapshot the component itself
---------
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove `onFocus` and `onBlur` handlers
react-resizable-panels fixed the issue where focus-visible was not
working as expected, so we no longer need this bit of code.
* Implement new hover/focus separator
* Collapse the panel when clicking on the new focus separator
* Remove `isFocusedViaKeyboard` from snapshot
* Update tests and storybook
* Expand panel only on double click
* Add animation
* Fix tests
* Don't render border when type is bar
* Single click to expand, double click to collapse
* Change focus separator color
* Make EventTileViewModel an owned root VM
* Move timestamp sub-VMs under EventTileViewModel
* Move thread-list action bar VM under EventTileViewModel
* Clean up for improved readability
* Clean up to avoid duplicate EventTile render derivations
* Avoid mutating EventTileViewModel during render
* Move EventTile child VM syncing into adapters
* Replace timestamp VM field setters with batched setProps
* Component wrappers at the end of the file
* Lazy-create EventTile child view models
* Thin EventTile render state wiring
* Move EventTile E2E verification into a view model
* Derive EventTile E2E padlock slots in view model
* Derive EventTile timestamp slots in render state
* Derive EventTile footer slots in render state
* Fix SonarCloud issues
* feat: display empty custom sections in the space where they were created
* test: update tests
* fix: room can't be drag in to a section if a section is created before
* fix: re-render issue when section is created
* Remove border from roomlist container
The separator will act as the border so we no longer need the roomlist
border.
* Use pointer events to detect click event
Otherwise the onClick handler would run when you resize the panel.
* Support showing the border in separator
* Update tests
* Disable double click behaviour on separator
* Fix screenshot tests failing
* 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
* Extract shared types and css
* Add CallDeclinedTileView
* Add storybook and view tests
* Support declined event in view model
* Render declined view from tile factory
* Update snapshots
* Add 10px padding to top and bottom
* Distinguish between call declined by us and other users
* Support `isCallDeclinedByUs` in view model
* Update tests
* Add better comments
* Rename getInitial to generateSnapshot
* refactor: move all access to custom sections settings into `section.ts`
* fix: add robustness when getting the order list of custom sections
* fix: add robustness when getting the custom section data
* fix: ignore malformed section but don't erase them
* fix: remove useless await operator
* test: add more tests
* chore: add dnd kit deps
* chore: patch dnd kit to fix ts error
* feat(sc): add drag-and-drop to room list item and wrapper
* feat(sc): make the room list header a droppable element
* feat(sc): add dnd to room list view
* feat(tags): can tag room as CHAT
* feat(vm): implement `changeRoomSection`
* feat(sc): disable dragging in flat list
* fix: disable keyboard navigation when dragging element
* test(sc): update snapshots
* test(sc): add dnd test
* test(e2e): add e2e tests for room drag and drop
* test(vm): add tests for changeRoomSection
* fix: remove focus visible when dropping with the mouse
* test(playwright): update existing screenshots
* chore(sc): move numbers out of main build
The Ew RecorderWorklet imports shared component bundle. However if the
bundle uses some deps using document/window which, the worklet will not
work.
The solution is to put the used functions into a separate bundle.
* doc(sc): add subpath import into README
* doc: typo barrel/bundle
* test: improve test expect
* refactor: add utils to section tag
* fix: incorrect check in tagRoom
* fix: add doc about dndkit tunning
* 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
* Use condensed version
* Cleanup tests
* more cleaning
* last bity
* s/throw Error/throw new Error/
* Ignore specific directories
Otherwise newly generated screenshots will be ignored.
* Create a CallStartedTileView
This view will render a tile that shows when an EC call was started in
the timeline.
* Add storybook tests
* Add vite tests
* Export the view from shared-components package
* Add a viewmodel for driving the view
* Support rendering the tile in the tile factory
* Fix tile rendering
* Add comment to explain css height
* Use semantic token for gap
* Update snapshot
* Use min-height over height
This will scale the element if the user sets a custom font size.
* Don't show timestamp for call started tile
Timestamp is already shown as a part of the tile content.
* Fix broken tile on bubble layout
The tile should be full-width and not shown within a bubble.
* Fix tests
* Update storybook title
* Fix msgtype changes from edits not rerendering timeline tiles
* Change approach to view model listeners instead
* Repaint the mounted tile on MatrixEventEvent.Replaced
* Initial quick settings menu
* Total refactor
* Quick design fixes.
* Refactor to use a view model.
* Remove unused strings
* Apply label
* Refactor naming
* Fixup most tests
* Remove specific theming for old user menu
* prettier
* Lots of cleanup
* Allow overriding the menu classes
* update snap
* Oops translations
* tidy
* Cleanup guest flows.
* Copyrights
* Remove unused classname
* Match guest view to designs
* Add guest screenshots
* Update guests
* snapshot
* Cleanup
* fix import
* Update tests
* More sceenshot fixes
* update collapsed
* move statements to prevent flake
* update snap
* Kick it along
* Click the room list
* Fiddle with the room video list.
* More screenshot adjustments
* fix imports
* fix another import
* Update snaps
* update snaps
* Fix snap flakes
* Refactor to move actions to view component, and callbacks to Actions
* Cleanup
* Cleanup
* Cleanup
* invert auth
* More bits
* fix
* Change md buttons to sm
* Try to assemble the snapshot component of the house of cards
* Consistent newlines between tests
* Update snapshot
Not sure why this was like this, this seems consistet for a logged in user
* Update snapshot
again these seem sensible for a guest
* Remove test
I don't really understand why the thing it asserts matters, so I'm removing
it for now.
* Update snapshot
* screenshot
* Don't show profile picture for guests
I'm not really sure what it meant for this interface to have a
property with a default value, so I've removed it and added the
property to the view model.
* Show avatar in story
* update snapshots for showAvatar
* Update screenshots
& hopefully make hover consistent in one
* Use outline home icon
---------
Co-authored-by: David Baker <dbkr@users.noreply.github.com>
* Add shared event presentation context
* Add app-web event presentation mapper
* Wire event presentation provider into app timelines
* Add Storybook controls for event layout and density
* Wire compact density through app/web event presentation provider
* Use event presentation density for URL previews
* Move TileErrorView layout to event presentation context
* Minor fix and updated snapshot
* Updated snapshots for url preview group
* Prettier fix
* Restore removed story to fix missing playwright test
* Updates after review comments
* Fix prettier issue
* chore: update compound design tokens
* feat(sc): add collapse/expand button to room list header
* feat: add new events to broadcast section state
* feat(vm): add expand/collpase event to room list events
* test: add e2e tests
* chore: fix company name in copyright
* chore: use two differant actions for collapse/expand
* Update apps/web/src/viewmodels/room-list/RoomListHeaderViewModel.ts
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* test: fix existing tests
---------
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Use other branch
* All the changes that got lost
* Fix merge
* Ensure emoji can only be one character long
* Fixup labs feature
* Remove redundant check
* Update snapshot
* update snapshot
* add snapshot
* unpin
* fix pnpm lock
* undo pn[m lockfile changes altogether
as we shouldn't actually need any afaik
* update snpahot for changed IDs
* Snapshot update
* Snapshot update
* There is now another section
* more snapshots
* more snapshot
* More snapshots
* oh come on snapshots
* actual snapshot update
* Fix sonar issues
* just update the thing manually
* [screams internally]
* Update snapshot
* test for useUserStatus
* Make useUserStatus actually truncate
* Split out slash command to its own file
& add test
* Remove irrelevant comment
* doc
* Comment on non-obvious error message
---------
Co-authored-by: David Baker <dbkr@users.noreply.github.com>
* feat(sc): add section menu to section header
* feat(rls): add edit and remove sections
* feat(dialog): add editing mode to CreateSectionDialog
* feat(dialog): add remove section dialog
* feat(vm): wire up vm and stores
* test: update existing snapshots
* test(e2e): add playwright tests to edit and remove a section
* chore: fix remove section i18n key
* fix: able to send empty sections
* chore: update create section editing docs
* chore: remove useless fallback
* chore: add logs when section is unknown
* feat: use different wording when removing an empty section
* fix: only animate the chevron icon in the section header
* fix: change dialog subtitle weight to medium
* feat(rls): return section tag when created
* feat(vm): assign section tag to room when section created
* test: update exisiting tests
* test(e2e): check that room is in section
* feat(sc): add new toast type for room list
* feat(sc): add section entries in room list item menu
* feat(rls): expose util functions
* feat: allows to tag room with custom sections
* feat(vm): add new Chat moved toast to room list vm
* feat(vm): add section selection to room list item vm
* feat(e2e): add tests for adding room in a custom section
* test(e2e): update existing screenshots
* chore: fix lint after merge
* chore: remove outline in test