* Extend the module api hints with renderAsInformationalMessage and renderSenderProfile
* Use the new render hints in EventTiles and MainGrouper
* Update tests
* Use datatestid tags in playwritgh tests
* Fix playwright tests
* Better documentation and updated test
* Add renderGroupSummary to module api
* Merge custom group summaries with existing
* Add tests for custom group summaries
* Adjust custom renderer tests
* Reuse custom renderer metadata during timeline rendering
* Defer event-list summary generation until collapse
* Updated tests
* renderAsInformationalMessage to renderAsInfoMessage
* Fix sonar issues
* Added spy tracking and restore
* oxfmt
* Added TSDoc
* collapsed media preview component
* expanded preview tile
* file body uses new previews
* collapsed and uncollapsed image tile
* using the new preview tiles in upload confirm dialog
* audio and video tag
* slapped on the styles for url previews as well
* uses css tokens
* refactored so all media types use the same tile declaration
* remove old urlpreview code
* refactored textpreview tile to be a normal media preview tile
* force media width in confirm dialog to be max
* only display displayable images
* fixed upload audio upload preview failing, and hide preview box when preview fails
* undo the removal of the legacy mediabody
* button hover style
* cleaning up PR for review
* add the collapse previews button back
* cleaning up the PR more
* fixed oxlint issues
* regenerate storybook screenshots
* give old media previews the same gaps as the new previews
* updated jest test
* claude fixed playwright tests
* generated even more images
* coverage tests
* regenerate stuff for end to end tests
* jest and linter fix
* added gaps between buttons and text
* pass lint
* file body uses new previews
* upload dialogue use tallbanner instead of full images
* collapsed and uncollapsed image tile
* added comments
* using the new preview tiles in upload confirm dialog
* added tallbanner variant to be used for upload confirm dialog
* audio and video tag
* cleaned up pr for reviews
* slapped on the styles for url previews as well
* minwidth 0
* remove old urlpreview code
* left group need some minwidth as well
* fixed upload audio upload preview failing, and hide preview box when preview fails
* undo the removal of the legacy mediabody
* undo removing the audio/voice message mediabody
* fixed oxlint issues
* regenerate storybook screenshots
* regenerate stuff for end to end tests
* jest and linter fix
* regenreated one image
* show the new file preview in file search
* claude fixed end to end tests
* pass lint
* upload dialogue use tallbanner instead of full images
* fixed tests
* Cover the file preview tile and its view model
The preview tile's download button, its size fallback and
MediaPreviewGroupViewModel.replace were all untested, leaving the diff
coverage for this branch at 65%.
Claude-Session: https://claude.ai/code/session_01Gr8zCXinjjNTmAHpZDGNtW
* Update the file panel screenshot to CI's rendering
Claude-Session: https://claude.ai/code/session_01Gr8zCXinjjNTmAHpZDGNtW
* applied some of the reviews
* applied more reviews
* updated snapshots
* applied some reviews
* fixed vitest
* oxlint
* docs for mediapreiewgroupviewmodel
* uses wrapper!
* switch to userevent
* renamed file name in test to more sensible thing
* use screen.getByRole instead of the destructed getByRole
* made a new view model for mbodyfactory
* regenered one snapshot
* applied reviews
* image alt text is now required
* css tokens
* regenerated snapshot
* regen one more image
* use aria label selector
* update changes from merge
* make bubble layout try to use as much width as the mediatile allow
* fixed type issue
* shared component diff again
* updated snapshot
* Update apps/web/src/viewmodels/message-body/MBodyTileViewModel.tsx
Co-authored-by: Florian Duros <florianduros@element.io>
* collapsed media preview component
* expanded preview tile
* file body uses new previews
* collapsed and uncollapsed image tile
* using the new preview tiles in upload confirm dialog
* audio and video tag
* slapped on the styles for url previews as well
* uses css tokens
* refactored so all media types use the same tile declaration
* remove old urlpreview code
* refactored textpreview tile to be a normal media preview tile
* force media width in confirm dialog to be max
* only display displayable images
* fixed upload audio upload preview failing, and hide preview box when preview fails
* undo the removal of the legacy mediabody
* button hover style
* cleaning up PR for review
* add the collapse previews button back
* cleaning up the PR more
* fixed oxlint issues
* regenerate storybook screenshots
* give old media previews the same gaps as the new previews
* updated jest test
* claude fixed playwright tests
* generated even more images
* coverage tests
* regenerate stuff for end to end tests
* jest and linter fix
* added gaps between buttons and text
* pass lint
* upload dialogue use tallbanner instead of full images
* added comments
* added tallbanner variant to be used for upload confirm dialog
* cleaned up pr for reviews
* minwidth 0
* left group need some minwidth as well
* applied some of the reviews
* applied more reviews
* updated snapshots
* fixed vitest
* applied reviews
* image alt text is now required
* css tokens
* regenerated snapshot
* regen one more image
* Keep the snapshot type checked after dropping the annotation
00d2801b29 removed the `: MediaPreviewGroupSnapshot` annotation as
suggested in review, but the annotation was load-bearing: without it
`type: "text"` widens to `string`, so the literal no longer matches the
MediaPreviewGroupEntry discriminated union and tsc reports it against
the video variant. It also left the import unused.
`satisfies` keeps the reviewer's intent -- no redundant annotation
widening the inferred type -- while preserving literal inference and
validating the shape.
* empty pr to trigger sonar cloud
* pdf viewer button
* refresh MBodyFactory snapshot for FileBodyView css hash
#34928 added rules to FileBodyView.module.css, changing the CSS module
hash from p4b0p to 1dw8a. develop regenerated its snapshot; this branch
kept the old one through a merge resolution.
* pdf viewer button o rder
---------
Co-authored-by: Florian Duros <florianduros@element.io>
* Add support for mutating URL previews
* Improvements
* Pass in the MatrixEvent being previewed, if relevant.
* And wire it up
* Add a playwright test to cover it.
* Fixup
* cleanup
* Cleanup lint
* fix error
* reduce cognitive load
* lint
* Align view model with the current EventTileView contract
* Use presentation context at every application call for EventTileView
* Render EventTileView from UnwrappedEventTile
* Remove the legacy styling
* Added missing receipt gutter logic
* Adding Card as a new shape, used in TimelineCard panel
* Added visual tests for the Card story
* Migrate EventTile layout styling and enhanced the story book rendering
* Migrate preview, notification, thread, and file shapes
* Use MemberAvatar and RoomAvatar in storybook
* Make slot styling self-contained and clean up corresponding application styling
* Clean up action bar styling
* Clean up event tile styling overrides
* RoomView realted styling fixes
* Adjustments for threads list
* Adjustments to File view
* Adjustments to Card shape
* More styling cleanup
* Updated Playwright test selectors
* Update the story book with more relevant data
* Fix oxlint and update story screenshots
* Restored conditional notification-badge slot rendering to avoid empty wrappers
* Fixed tests and snapshots
* Remove the unused UnreadNotificationBadge
* Updated snapshots and removed a11y failing story test
* Fix test locator hooks
* Fixed styling and logic issues in appearance settings
* Fixes to slotSender and slotBody placement for group layout
* Reorder style sheet for better readability
* Fix for spacing between slotSender, slotBody and reply-chain
* Fix more Playwright test loacators
* Clean up event tile class overrides
* Fix the slotBody styling
* More clean up of unused locators
* Styling fixes
* Fixes to test locators and styling for bubble and irc layout
* Locator fixes, updated snapshots, layout adjustements
* Fix for selected and editing markers and timestamp pos
* Styling fixes to bubble layout. Also dismiss releaseAnnouncements
* Styling updates and dont wait for release announcements anymore
* Styling adjustments
* Make the Playwright test wait for UI to settle before taking screenshot.
* Updated screenshot - the only difference is scroll pos
* Fixing test locators and styling adjustments
* Updated the test to reflect ellipsis, hence the screenshot update
* More test locators and styling adjustments
* Updated snapshots and screenshots
* More locator fixes and snapshots
* Restore the original screenshot
* Added Search result specific styling and make reply chain density aware
* Test locators and styling adjustments
* More styling fixes
* Updated snapshot
* oxfmt
* Styling adjustment and updated snapshots
* Styling adjustement
* Restore the font-12px override on thread view ViewSourceEvent
* Adjust styles for thread view bubble layout of ViewEventSoucrce
* More adjustments
* Styling adjustments
* Fix the bubble layout thread view event source alignment
* Fix the thread view without destroying the room view
* Removing !important
* Updated snapshots after merge
* Put back !important until MemberAvatarView is actually used in event tiles
* Updated snapshots
* Use hideJumpToBottomButton to avoid flakiness
* More hideJumpToBottomButton
* 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
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>