* extract preventDefaultWrapper into utils
* add click handling to beacon list item
* add click handling to dialog sidebar
* focus in on beacons when clicked in list
* stylelint
* fussy import ordering
* test beacon focusing in beaocnviewdialog
* Add option to display tooltip on link hover
This makes it possible for platforms like Electron apps, which lack
a built-in URL preview in the status bar, to enable tooltip previews
of links.
Relates to: vector-im/element-web#6532
Signed-off-by: Johannes Marbach <johannesm@element.io>
* Gracefully handle missing platform
* Use public access modifier
Co-authored-by: Travis Ralston <travpc@gmail.com>
* Use exact inequality
Co-authored-by: Travis Ralston <travpc@gmail.com>
* Document getAbsoluteUrl
* Appease the linter
* Clarify performance impact in comment
Co-authored-by: Travis Ralston <travpc@gmail.com>
* Use URL instead of anchor element hack
* Wrap anchor in tooltip target and only allow focus on anchor
* Use optional chaining
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Use double quotes for consistency
* Accumulate and unmount tooltips and extract tooltipify.tsx
* Fix indentation
* Blur tooltip target on click
* Remove space
* Mention platform flag in comment
* Add (simplistic) tests
* Fix lint errors
* Fix lint errors ... for real
* Replace snapshot tests with structural assertions
* Add missing semicolon
* Add tooltips in link previews
* Fix copyright
Co-authored-by: Travis Ralston <travpc@gmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Early implementation of module API surface + functions for ILAG module
* Wire up dialog functions and ILAG-needed surface
* Ensure component renders for modules get overridden
* Respond to changes from module API interface
* Use a real module-api dependency
* Update for new Dialogs interface
* Add support for getConfigValue from module API
* Update the remainder of the module API interface
* Docs & cleanup
* Add some unit tests around module stuff
Needs end-to-end tests still.
* Appease early linters
* Break import cycles by not directly depending on Lifecycle
* Appease the linter
* Fix bad merge
* move getForwardableBeacon to beacon utils
* move event transform type up
* add helper to get shareable-as-locaion events
* use getShareableLocationEvent in MessageContextMenu
* test opening in maplink
* fix bad copy pasted tests
* handle beacon location events in ForwardDialog
* add transformer for forwarded events in MessageContextMenu
* remove canForward
* update snapshots for beacon model change
* add comments
* fix bad copy pasted test
* add test for beacon locations
* Implement searching for public rooms and users in new search experience
* Implement loading indicator for spotlight results
* Moved spotlight dialog into own subfolder
* Extract search result avatar into separate component
* Build generic new dropdown menu component
* Build new network menu based on new network dropdown component
* Switch roomdirectory to use new network dropdown
* Replace old networkdropdown with new networkdropdown
* Added component for public room result details
* Extract hooks and subcomponents from SpotlightDialog
* Create new hook to get profile info based for an mxid
* Add hook to automatically re-request search results
* Add hook to prevent out-of-order search results
* Extract member sort algorithm from InviteDialog
* Keep sorting for non-room results stable
* Sort people suggestions using sort algorithm from InviteDialog
* Add copy/copied tooltip for invite link option in spotlight
* Clamp length of topic for public room results
* Add unit test for useDebouncedSearch
* Add unit test for useProfileInfo
* Create cypress test cases for spotlight dialog
* Add test for useLatestResult to prevent out-of-order results
* Remove all mentions of Piwik
* Kill off all consumer of the old Piwik Analytics module
* Simplify ModalManager interface
* i18n
* Attempt to fix old e2e tests
* Remove unused component
* Iterate PR
* Use updates stable relations from js-sdk
* Relations is now accessible on the Room instead
* Reuse more existing code and ditch confusing `isThreadRelation`
* Fix last usage of removed `isThreadRelation`
* Update tests to match removal of isThreadRelation
* Tweak method naming to closer match spec
* Fix missing method name change
* test most basic paths in messageactionbar
Signed-off-by: Kerry Archibald <kerrya@element.io>
* tidy
Signed-off-by: Kerry Archibald <kerrya@element.io>
* use rtl for MessageActionBar test
Signed-off-by: Kerry Archibald <kerrya@element.io>
* make beacon_info events semi actionable
Signed-off-by: Kerry Archibald <kerrya@element.io>
* remove log
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test thread exception for beacon
Signed-off-by: Kerry Archibald <kerrya@element.io>
* eat click events in beacon status to stop jumping from reply tile
Signed-off-by: Kerry Archibald <kerrya@element.io>
* set max width on beaconbody for render in thread panel
* fix: replace fixed height based styling with flex for invite and dev dialogs
* feat: create flex wrapper class for dialogs
* feat: make invite dialogs use flex layout
* feat: make devtools dialogs use flex layout
* Support avatar_url in the scalar client API
Signed-off-by: Oliver Sand <oliver.sand@nordeck.net>
* Fix return type
* Remove automatic upload
* Remove return type
* Fix indention
* Show simple file name and size on images/videos
Fixes https://github.com/vector-im/element-web/issues/18197
* i18n
* Fix bad merge
* Add hover state tracking
* Only show on timeline-like objects
* Match new design requirements
* Remove video support (deemed not needed)
* Colouring and sizing from design
* Include file name in lightbox
* Revert changes to videos since we don't need them
* i18n
* Iterate PR
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Don't consider threads for breaking continuation until they've actually been created
* Update tests
* Make hasThreadSummary null thread safe
* Apply feedback from pr review
* Add non-consent (default) Synapse template
* Add consent test
* Add create room test
* Stash work
* Initial threads tests
* fix
* Delete old threads e2e tests, plan new ones
* Fix typed s'more
* Try something else
* specify d.ts
* Fix types once and for all?
* Fix the consent tests
* Iterate threads test harness
* Fix dispatcher types
* Iterate threads test
* fix typing
* Alternative import attempt
* let it break let it break let it break
* Tweak types
* Stash
* delint and update docs
* null-guard scrollIntoView
* Iterate threads test
* Apply suggestions from code review