* Fetches link previews for all links in message (instead of just the first one) * message url component to display preview for multiple urls * Revert visible behaviour back to only showing one URL preview While fetching all link previews in the text message. * Moved URL preview VM to MessageComposer * Added com.beeper.linkpreviews to messages sent with the markdown compositor * MSC 4452 implemented for the older (markdown) composer * claude told me to use logger instead of console * Previews generated with snapshot instead of vm * moved attachPreviews to a separate file * added attach URL previews to rich text editor * don't let attachUrlPreviews block clearning the composer * fixed linter errors * moved url preview behind labs feature gate * passed linters * moved lab feature checking to where attach preview is used * claude wrote some unit tests for url previewing * fixed linter errors * added feature to labs.md * fixed linter errors * fixed oxfmt error * set previews to none if all previews failed * resolved PR reviews besides the ones that requires a larger code change * moved url preview VM creation to message composer * removed delay when clearing composer url preview on message send * minor changes to stop using globals everywhere * moved debouncing responsibility to urlpreviewVM * minor lint fixes * added comment * remove composer content from the state of urlpreview, moved it to the vm * urlpreviewwrapper depends on the vm only * added comments * edited the comment * updated snapshots * claude fixed tests * enable feature for tests that requires MSC4095 * updated snapshot
137 lines
6.7 KiB
Markdown
137 lines
6.7 KiB
Markdown
# Labs features
|
|
|
|
If Labs is enabled in the [Element config](config.md), you can enable some of these features by going
|
|
to `Settings->Labs`. This list is non-exhaustive and subject to change, chat in
|
|
[#element-web:matrix.org](https://matrix.to/#/#element-web:matrix.org) for more information.
|
|
|
|
If a labs features gets more stable, it _may_ be promoted to a beta feature
|
|
(see [Betas](https://github.com/element-hq/element-web/blob/develop/docs/betas.md)).
|
|
|
|
**Be warned! Labs features are not finalised, they may be fragile, they may change, they may be
|
|
dropped. Ask in the room if you are unclear about any details here.**
|
|
|
|
## Render LaTeX maths in messages (`feature_latex_maths`)
|
|
|
|
Enables rendering of LaTeX maths in messages using [KaTeX](https://katex.org/). LaTeX between single dollar-signs is interpreted as inline maths and double dollar-signs as display maths (i.e. centred on its own line).
|
|
|
|
## Message pinning (`feature_pinning`)
|
|
|
|
Allows you to pin messages in the room. To pin a message, use the 3 dots to the right of the message
|
|
and select "Pin".
|
|
|
|
## Jump to date (`feature_jump_to_date`)
|
|
|
|
Note: This labs feature is only visible when your homeserver has MSC3030 enabled
|
|
(in Synapse, add `experimental_features` -> `msc3030_enabled` to your
|
|
`homeserver.yaml`) which means `GET /_matrix/client/versions` responds with
|
|
`org.matrix.msc3030` under the `unstable_features` key.
|
|
|
|
Adds a dropdown menu to the date separator headers in the timeline which allows
|
|
you to jump to last week, last month, the beginning of the room, or choose a
|
|
date from the calendar.
|
|
|
|
Also adds the `/jumptodate 2022-01-31` slash command.
|
|
|
|
## New ways to ignore people (`feature_mjolnir`)
|
|
|
|
When enabled, a new settings tab appears for users to be able to manage their ban lists.
|
|
This is a different kind of ignoring where the ignored user's messages still get rendered,
|
|
but are hidden by default.
|
|
|
|
Ban lists are rooms within Matrix, proposed as [MSC2313](https://github.com/matrix-org/matrix-doc/pull/2313).
|
|
[Mjolnir](https://github.com/matrix-org/mjolnir) is a set of moderation tools which support
|
|
ban lists.
|
|
|
|
## Verifications in DMs (`feature_dm_verification`)
|
|
|
|
An implementation of [MSC2241](https://github.com/matrix-org/matrix-doc/pull/2241). When enabled, verification might not work with devices which don't support MSC2241.
|
|
|
|
This also includes a new implementation of the user & member info panel, designed to share more code between showing community members & room members. Built on top of this new panel is also a new UX for verification from the member panel.
|
|
|
|
The setting will be removed in a future release, enabling it non-optionally for
|
|
all users.
|
|
|
|
## Bridge info tab (`feature_bridge_state`)
|
|
|
|
Adds a "Bridge Info" tab to the Room Settings dialog, if a compatible bridge is
|
|
present in the room. The Bridge info tab pulls information from the `m.bridge` state event ([MSC2346](https://github.com/matrix-org/matrix-doc/pull/2346)). Since the feature is based upon a MSC, most
|
|
bridges are not expected to be compatible, and users should not rely on this
|
|
tab as the single source of truth just yet.
|
|
|
|
## Custom themes (`feature_custom_themes`)
|
|
|
|
Custom themes are possible through Element's [theme support](./theming.md), though
|
|
normally these themes need to be defined in the config for Element. This labs flag
|
|
adds an ability for end users to add themes themselves by using a URL to the JSON
|
|
theme definition.
|
|
|
|
For some sample themes, check out [aaronraimist/element-themes](https://github.com/aaronraimist/element-themes).
|
|
|
|
## Live location sharing (`feature_location_share_live`) [In Development]
|
|
|
|
Enables sharing your current location to the timeline, with live updates.
|
|
|
|
## Video rooms (`feature_video_rooms`) [Beta]
|
|
|
|
Enables support for creating video rooms, which are persistent video chats that users can jump in and out of.
|
|
|
|
## Element Call video rooms (`feature_element_call_video_rooms`) [In Development]
|
|
|
|
Enables support for video rooms that use Element Call rather than Jitsi, and causes the 'New video room' option to create Element Call video rooms rather than Jitsi ones.
|
|
|
|
This flag will not have any effect unless `feature_video_rooms` is also enabled.
|
|
|
|
## Disable per-sender encryption for Element Call (`feature_disable_call_per_sender_encryption`)
|
|
|
|
The default for embedded Element Call in Element Web is per-participant encryption.
|
|
This labs flag disables encryption for embedded Element Call in encrypted rooms.
|
|
|
|
Under the hood this stops Element Web from adding the `perParticipantE2EE` flag for the Element Call widget url.
|
|
|
|
This is useful while we experiment with encryption and to make calling compatible with platforms that don't use encryption yet.
|
|
|
|
## Enable the notifications panel in the room header (`feature_notifications`)
|
|
|
|
Unreliable in encrypted rooms.
|
|
|
|
## Knock rooms (`feature_ask_to_join`) [In Development]
|
|
|
|
Enables knock feature for rooms. This allows users to ask to join a room.
|
|
|
|
## Exclude insecure devices when sending/receiving messages (`feature_exclude_insecure_devices`)
|
|
|
|
Do not send or receive messages to/from devices that are not properly verified. Users with unverified devices will not
|
|
receive your messages at all on those devices, and if they send messages, you will not be able to read them, but you
|
|
will be aware that a message exists.
|
|
|
|
## Encrypted state events (MSC4362) (`feature_msc4362_encrypted_state_events`)
|
|
|
|
Encrypt most of the state events in the room, including the room name and topic.
|
|
|
|
WARNING: this means that users joining a room who do not have access to its history will not be able to see the name or
|
|
topic of the room, or any other room state information. It also means the room name and topic are not available before
|
|
joining a room.
|
|
|
|
## New notifications settings (`feature_notification_settings2`) [Beta]
|
|
|
|
Replaces the legacy notification settings with a new one to manage push rules.
|
|
|
|
## User status (`feature_user_status`)
|
|
|
|
Enables setting a status message in your profile and to be able to view other's statuses.
|
|
Requires [MSC4429](https://github.com/matrix-org/matrix-spec-proposals/pull/4429) and [MSC4426](https://github.com/matrix-org/matrix-spec-proposals/pull/4426).
|
|
|
|
**Warning** This feature has options which are not backwards compatible, disabling
|
|
it may have unintended consequences.
|
|
|
|
## Log in with QR (`feature_login_with_qr`)
|
|
|
|
Enables logging in to Element Web/Desktop by using Element X to scan a QR code.
|
|
Requires server support, based on the v2024 edition of [MSC4108](https://github.com/matrix-org/matrix-spec-proposals/pull/4108).
|
|
Can only be configured via config.json, as labs flags cannot be set until after login, and are cleared on log out. The UI option is disabled.
|
|
Note, this does not affect the existing `Link new device` flow using the same MSC.
|
|
|
|
## URL Preview Bundle (MSC4095) (`feature_msc4095_url_preview_bundle`)
|
|
|
|
Attaches URL preview information generated by the homeserver on messages sent.
|