Commit graph

825 commits

Author SHA1 Message Date
Šimon Brandner
3c36a7f704
Add ability to change audio and video devices during a call (#7173) 2022-05-04 16:41:56 +02:00
Michael Telatynski
964c60d086
Apply corrections identified by SonarQube (#8457) 2022-05-03 22:04:37 +01:00
Michael Telatynski
633229ca26
Clear local storage settings handler cache on logout (#8454) 2022-05-02 03:23:43 +01:00
Kerry
942ca74316
update location labs flag descriptions (#8411)
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-26 12:46:36 +00:00
Michael Telatynski
859fdf7d51
Cache localStorage objects for SettingsStore (#8366) 2022-04-20 08:44:06 +00:00
Janne Mareike Koschinski
bca9caa98e
Settings toggle to disable Composer Markdown (#8358) 2022-04-19 14:53:59 +01:00
Suguru Hirahara
c68515ae0a
Replace "Reply in thread" and "Leave the beta" with variables (#8349) 2022-04-19 08:43:35 +00:00
Šimon Brandner
d162e021e1
Add message right click context menu v2 (#5672)
* migrate the message context menu to IconizedContextMenu

Signed-off-by: Michael Weimann <mail@michael-weimann.eu>

* migrate the message context menu to IconizedContextMenu

Signed-off-by: Michael Weimann <mail@michael-weimann.eu>

* Added right-click menu

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* add message context menu group keys

Signed-off-by: Michael Weimann <mail@michael-weimann.eu>

* add message context menu icons

Signed-off-by: Michael Weimann <mail@michael-weimann.eu>

* add _MessageContextMenu.scss license header

Signed-off-by: Michael Weimann <mail@michael-weimann.eu>

* use null vars for context menu lists

* Add allowOverridingNativeContextMenus()

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use allowOverridingNativeContextMenus()

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix types

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix types

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Remove mistaken line

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix styling

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* InputHTMLAttributes -> AllHTMLAttributes

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Convert to TS

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Add some types

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Make onClick optional

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Add rightClick prop

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Add copy button

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* What about upgrading deps after the eslint migration, Simon?

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Add edit button

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* fix

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Add reply button

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Add react button

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Cleanup render()

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix comments

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Add save button

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Don't show context menu if editing

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Add special handling for click a timestamp

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix double empty line

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Don't show context menu for images

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Cleanup

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix order

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Keep action bar shown when right-clicking

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Highlight event tile when right-clicking

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Delint

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Pointless change so that I can re-run the CI

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Remove dowload button

Because we don't use this menu when clicking on images

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Be more clear for non-bools

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use triggerOnMouse down prop

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Remove a comment

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Remove unused var

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Remove unnecessary import

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Add some missing types

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Add missing type

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Remove unused import

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Add a missing type

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix types

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix types/naming

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Add missing current

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Remove unused var

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix editing and replying

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* i18n

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix import

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Support right-click context menu for threads

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Make button order match `MessageActionBar`

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix missing permalink button

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Remove useless part of if statement

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Some small refactoring for consistency

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Some more refactoring

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix `editEvent()` call

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Make editing polls work

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix collapse reply chain button

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix timelineRenderingType

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix reply button

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Hide right-click context menu behind a labs flag

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Add missing return type

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Make `contextMene` optional

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Move `renderContextMenu()`

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Simplify `renderContextMenu()`

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Improve `aboveLeftOf` typing

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use `InputHTMLAttributes`

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Disable message right-click context menu in browser (for now)

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Give permalink button more props

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

Co-authored-by: Michael Weimann <mail@michael-weimann.eu>
2022-04-15 08:22:59 -06:00
Robin
7335b35fbb
Avoid looking up settings during timeline rendering (#8313)
* Avoid showHiddenEventsInTimeline lookups

* Avoid MSC3531 feature lookups

* Test that showHiddenEventsInTimeline doesn't get looked up while
rendering

* Fix code review nits

Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-04-14 23:23:22 +00:00
Michael Telatynski
7a1a2c41d2
Improve Threads beta around degraded mode (#8318)
* Hide MAB Threads prompt if user would have degraded mode

* Confirm user wants to enable Threads beta if in degraded mode

* fix

* Fix copy
2022-04-14 11:50:55 +01:00
Germain
694c39e72d
Enable threads by default and mark it as a beta feature (#8081) 2022-04-05 17:15:31 +01:00
Robin
1f64835fab
Update video rooms to new design specs (#8207)
* Remove radio component

* "Voice room" → "video room"

* Remove interactivity from video room tiles

* Update connection state when joining via widget

* Simplify room header buttons for video rooms

* Split out video room creation into a separate menu option

* Simplify room options for video rooms

* Update video room tile layout

* Tell the Jitsi widget whether it's a video channel

* Update tests

* "Voice" → "video" in more places

* Fix tests

* Re-add frame to immersive Jitsi widgets

* Comment ack

* Make updateDevices more readable

* Type FacePile
2022-04-01 14:36:10 +00:00
Kerry
69469e5a98
Live location sharing - update copy (#8177)
* update settings copy

Signed-off-by: Kerry Archibald <kerrya@element.io>

* i18n

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-29 00:04:30 -06:00
Robin
3160442b8b
Floor media dimensions to prevent blurhash errors (#8157) 2022-03-25 16:40:49 +00:00
Michael Telatynski
306ddd51e4
Refactor all of Devtools and tidy it up (#8097) 2022-03-23 20:17:57 +00:00
Travis Ralston
fce36ec826
Delete groups (legacy communities system) (#8027)
* Remove deprecated feature_communities_v2_prototypes

* Update _components

* i18n

* delint

* Cut out a bit more dead code

* Carve into legacy components

* Carve into mostly the room list code

* Carve into instances of "groupId"

* Carve out more of what comes up with "groups"

* Carve out some settings

* ignore related groups state

* Remove instances of spacesEnabled

* Fix some obvious issues

* Remove now-unused css

* Fix variable naming for legacy components

* Update i18n

* Misc cleanup from manual review

* Update snapshot for changed flag

* Appease linters

* rethemedex

* Remove now-unused AddressPickerDialog

* Make ConfirmUserActionDialog's member a required prop

* Remove useless override from RightPanelStore

* Remove extraneous CSS

* Update i18n

* Demo: "Communities are now Spaces" landing page

* Restore linkify for group IDs

* Demo: Dialog on click for communities->spaces notice

* i18n for demos

* i18n post-merge

* Update copy

* Appease the linter

* Post-merge cleanup

* Re-add spaces_learn_more_url to the new SdkConfig place

* Round 1 of post-merge fixes

* i18n

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-03-22 23:07:37 +00:00
Robin
953e3148d1
Make video sizing consistent with images (#8102)
* Make video sizing consistent with images

* Test suggestedSize

* Constrain width of media in large mode
2022-03-22 18:16:03 -04:00
Robin
cfabcdda35
Voice rooms prototype (#8084)
* Add voice room labs flag

Signed-off-by: Robin Townsend <robin@robin.town>

* Add more widget actions for interacting with Jitsi

Signed-off-by: Robin Townsend <robin@robin.town>

* Factor out a more generic Jitsi creation utility

Signed-off-by: Robin Townsend <robin@robin.town>

* Add utilities for managing voice channels

Signed-off-by: Robin Townsend <robin@robin.town>

* Enable creation of voice rooms

Signed-off-by: Robin Townsend <robin@robin.town>

* Force a maximized view of voice channel widgets

Signed-off-by: Robin Townsend <robin@robin.town>

* Add voice channel store

Signed-off-by: Robin Townsend <robin@robin.town>

* Factor out a more generic FacePile

Signed-off-by: Robin Townsend <robin@robin.town>

* Implement room tile changes for voice rooms

Signed-off-by: Robin Townsend <robin@robin.town>

* Add interactive radio component to the left panel

Signed-off-by: Robin Townsend <robin@robin.town>

* Test voice rooms

Signed-off-by: Robin Townsend <robin@robin.town>

* Update name of call room type

Signed-off-by: Robin Townsend <robin@robin.town>

* Clarify that voice rooms are under development

Signed-off-by: Robin Townsend <robin@robin.town>

* Use readonly

Signed-off-by: Robin Townsend <robin@robin.town>

* Move acks to the end of handlers

Signed-off-by: Robin Townsend <robin@robin.town>

* Add comment about avatar URLs coming from Jitsi

Signed-off-by: Robin Townsend <robin@robin.town>

* Don't use unicode ellipses

for translation reasons?

Signed-off-by: Robin Townsend <robin@robin.town>

* Fix tests

Signed-off-by: Robin Townsend <robin@robin.town>

* Fix tests, again

Signed-off-by: Robin Townsend <robin@robin.town>

* Remove unnecessary export

Signed-off-by: Robin Townsend <robin@robin.town>

* Ack Jitsi events when we wait for them

Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-22 16:14:11 -06:00
Travis Ralston
d8a939df5d
Use & enforce snake_case naming convention on config.json settings (#8062)
* Document and support the established naming convention for config opts

This change:
* Rename `ConfigOptions` to `IConfigOptions` to match code convention/style, plus move it to a dedicated file
* Update comments and surrounding documentation
* Define every single documented option (from element-web's config.md)
* Enable a linter to enforce the convention
* Invent a translation layer for a different change to use
* No attempt to fix build errors from doing this (at this stage)

* Add demo of lint rule in action

* Fix all obvious instances of SdkConfig case conflicts

* Fix tests to use SdkConfig directly

* Add docs to make unset() calling safer

* Appease the linter

* Update documentation to match snake_case_config

* Fix more instances of square brackets off SdkConfig
2022-03-18 10:12:36 -06:00
Travis Ralston
813a60a7f3
Remove left panel widgets (#8044)
They aren't practically used, and are difficult to set up in the first place (requires server-managed account or devtools).
2022-03-14 19:39:35 -06:00
J. Ryan Stinnett
3426c3c3cd
Fix room account settings (#7999) 2022-03-07 17:51:20 +00:00
Kerry
9379be0189
add feature_location_share_live labs flag (#7997)
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-07 13:49:32 +01:00
Travis Ralston
b981a96b29
Add unexposed account setting for hiding poll creation (#7972)
* Add unexposed account setting for hiding poll creation

This is to match the sticker picker setting we already have, but not exposed in the user settings until we decide if we actually want it to be there.

This is primarily intended to be used in environments that disable it at the config level, though given there's multiple people in the wild who have asked for this, it seems reasonable to expose it as a hidden setting instead. Note that as of writing it's not clear if any of those requests made it as far as an issue tracker.

Typically for the usecase presented we'd add a new UIFeature flag, however this *feels* wrong for the case at hand.

* Move visibility check way higher

* Fix i18n post-merge
2022-03-04 18:04:30 +00:00
Šimon Brandner
675b4271e9
Rename MessageComposerInput.insertTrailingComma to MessageComposerInput.insertTrailingColon (#7981) 2022-03-04 15:13:50 +00:00
Šimon Brandner
4c05b7da1f
Make trailing : into a setting (#6711)
* Make trailing `:` into a setting

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Make traling comma opt-out

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Write `insertTrailingComma` when reading for future opt-in setting

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Update src/editor/parts.ts

* Fix line length

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

Co-authored-by: Travis Ralston <travpc@gmail.com>
2022-03-04 00:23:26 -07:00
Michael Telatynski
afbe3d16b4
Fix account & room settings race condition (#7953) 2022-03-03 22:09:06 +00:00
Travis Ralston
f882466329
Add a few more UIComponent flags, and ensure they are used in existing code (#7937)
* UIComponent flag: Explore rooms

To disable the room directory access on the Home space. Can be controlled with the existing ComponentVisibilityCustomisation

* Make "plus menu" respect component visibility

* UIComponent flag: Add integrations

To disable the widgets section of the room info card and addwidget slashcommand. Can be controlled with the existing ComponentVisibilityCustomisation

* Make sure invite users component applies to space rooms too

* Appease the linter
2022-03-02 10:37:18 -07:00
Kerry
3f1951b5b8
Prep for pin drop location sharing (#7919)
* add labs flag feature_location_share_pin_drop

Signed-off-by: Kerry Archibald <kerrya@element.io>

* split LocationButton into two components

Signed-off-by: Kerry Archibald <kerrya@element.io>

* rethemendex

Signed-off-by: Kerry Archibald <kerrya@element.io>

* copyright

Signed-off-by: Kerry Archibald <kerrya@element.io>

* one more (c)

Signed-off-by: Kerry Archibald <kerrya@element.io>

* i18n

Signed-off-by: Kerry Archibald <kerrya@element.io>

* empty line

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use same matrix client import

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-01 18:00:07 +01:00
Michael Telatynski
7fa01ffb06
Improve typing around event emitter handlers (#7816) 2022-02-22 12:18:08 +00:00
Kerry
5b8d440406
type Actions (#7862)
* type ViewHomPage action

Signed-off-by: Kerry Archibald <kerrya@element.io>

* type spacestore actions

Signed-off-by: Kerry Archibald <kerrya@element.io>

* lint

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add action types

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use new action types in stores

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove debug change

Signed-off-by: Kerry Archibald <kerrya@element.io>

* stricter keyboard shortcut types

Signed-off-by: Kerry Archibald <kerrya@element.io>

* action comments

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-22 10:04:27 +00:00
Šimon Brandner
eca64d776a
Remove layout workaround (#7853) 2022-02-21 10:05:01 +00:00
Šimon Brandner
9aa77f3417
Remove autoplayGifsAndVideos workaround (#7852) 2022-02-21 10:02:45 +00:00
Travis Ralston
34567b9aab
Add labs flag: Show only current profile on historical messages (#7815)
* Add labs flag: Show only current profile on historical messages

For https://github.com/vector-im/element-web/issues/3768
Related https://github.com/vector-im/element-web/issues/4677

* Use the member's user ID
2022-02-18 07:58:04 -07:00
Kerry
b5e7d12f76
Add config option to autorageshake when key backup is not enabled (#7741)
* report on not enabled

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add setting

Signed-off-by: Kerry Archibald <kerrya@element.io>

* check key backup status after crypto init

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove log

Signed-off-by: Kerry Archibald <kerrya@element.io>

* test encryption setup in DeviceListener

Signed-off-by: Kerry Archibald <kerrya@element.io>

* i18n

Signed-off-by: Kerry Archibald <kerrya@element.io>

* sendLogs for key backup auto-report event

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove reloadOnChagneController

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-11 14:00:37 +01:00
Kerry
818fddd72c
Add customisation point to disable space creation (#7766)
* mock matchMedia in jest setup

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use UIComponent.CreateSpaces in space panel

Signed-off-by: Kerry Archibald <kerrya@element.io>

* lint

Signed-off-by: Kerry Archibald <kerrya@element.io>

* hide add space in spacecontextmenu

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use UIComponent customistations in space oom view add space button

Signed-off-by: Kerry Archibald <kerrya@element.io>

* copyright

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-09 17:21:40 +01:00
Michael Telatynski
ed185240a5
Move new search experience to a Beta (#7718) 2022-02-08 14:02:36 +00:00
Andy Balaam
70a44a8cd6
Enable location sharing (#7703) 2022-02-02 11:44:17 +00:00
Kerry
085ecc7f5f
Chat export parameter customisation (#7647)
* use export settings and hide fields

Signed-off-by: Kerry Archibald <kerrya@element.io>

* fix exporter tests

Signed-off-by: Kerry Archibald <kerrya@element.io>

* test ExportDialog with settings

Signed-off-by: Kerry Archibald <kerrya@element.io>

* tidy debugs, rename setting to Parameters

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use reasonable 100gb limit

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use normal setting instead of UIFeature

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use a customisation

Signed-off-by: Kerry Archibald <kerrya@element.io>

* move validateNumberInRange to utils

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use nullish coalesce

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use 8gb size limit for customisation

Signed-off-by: Kerry Archibald <kerrya@element.io>

* update comments

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-31 12:54:14 +01:00
Eric Eastwood
7fa27f5834
Add jump to date functionality to date headers in timeline v2 (#7339)
Fix https://github.com/vector-im/element-web/issues/7677

Utilizes MSC3030: https://github.com/matrix-org/matrix-doc/pull/3030

https://user-images.githubusercontent.com/558581/150060664-79627573-f4fd-497c-b726-dc3485854bd0.png
2022-01-27 16:32:12 -06:00
Michael Telatynski
8ddd677c35
De-labs Metaspaces (#7613) 2022-01-25 12:33:17 +00:00
Michael Telatynski
68024c156a
De-labs Message Bubbles layout (#7612) 2022-01-25 10:12:05 +00:00
J. Ryan Stinnett
20e6d36df7
Add labs flag for default open right panel (#7618) 2022-01-24 17:53:42 +00:00
Andy Balaam
c4fc20018d
Enable the polls feature (#7581) 2022-01-20 09:40:47 +00:00
Andy Balaam
e1cdbe1e54
Use IncompatibleController to disable showLocation via labs flag (#7566) 2022-01-18 11:28:23 +00:00
David Teller
6b870ba1a9
MSC3531 - Implementing message hiding pending moderation (#7518)
Signed-off-by: David Teller <davidt@element.io>
2022-01-17 16:04:37 +01:00
Andy Balaam
18c82d57ae
Add setting for enabling location sharing (#7547) 2022-01-14 15:57:39 +00:00
Michael Telatynski
f4a6219c88
Replace kick terminology with Remove from chat (#7469) 2022-01-14 13:08:34 +00:00
Travis Ralston
61a0be7d46
Render events as extensible events (behind labs) (#7462)
* Render events as extensible events (behind labs)

* Include the SDK

* Appease linter

* Update for changed property name

* Fix formatting error

* Fix branch matching for build steps

* Update SDK

* Update scripts/fetchdep.sh

Co-authored-by: Andy Balaam <andyb@element.io>

Co-authored-by: Andy Balaam <andyb@element.io>
2022-01-13 17:03:37 +00:00
Michael Telatynski
6d9d9a56b4
Apply border-radius onto linear gradient in bubble layout (#7536) 2022-01-13 16:42:32 +00:00
Faye Duxovni
3eb5130cda
Add labs flag to automatically rageshake on decryption errors (#7307)
Also sends a to-device message to the sender, prompting them to auto-rageshake too if they have this lab enabled as well.

Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-01-13 10:55:25 -05:00
Timo
59f57e15fe
Ship maximised widgets and remove feature flag (#7509)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-01-11 14:11:48 +01:00
Timo
325e2ba99b
Right panel store refactor (#7313)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2022-01-05 16:14:44 +01:00
Kerry
61e3c38b19
Add configuration to disable relative date markers in timeline (#7405)
* add disabler elative dates setting

Signed-off-by: Kerry Archibald <kerrya@element.io>

* test existing DateSeparator

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use full date format when TimelineDisableRelativeDates is truthy

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add comment

Signed-off-by: Kerry Archibald <kerrya@element.io>

* flip timelineDisableRelativeDates -> timelineEnableRelativeDates to fit convention

Signed-off-by: Kerry Archibald <kerrya@element.io>

* mock date constructor in test

Signed-off-by: Kerry Archibald <kerrya@element.io>
2021-12-21 10:08:22 +01:00
Michael Telatynski
39c4b78371
Space preferences for whether or not you see DMs in a Space (#7250) 2021-12-17 09:26:32 +00:00
Michael Telatynski
9ed771ad7a
Have LocalEchoWrapper emit updates so the app can react faster (#7358) 2021-12-17 08:53:03 +00:00
Michael Telatynski
71b561d471
Make compact layout only apply to Modern layout (#7382) 2021-12-15 16:27:02 +00:00
Eric Eastwood
1e09599447
Add /jumptodate slash command (#7372)
Fix https://github.com/vector-im/element-web/issues/7677

Utilizing MSC3030: https://github.com/matrix-org/matrix-doc/pull/3030

Experimental Synapse implementation added in https://github.com/matrix-org/synapse/pull/9445

---

Jump to date headers are being worked on in https://github.com/matrix-org/matrix-react-sdk/pull/7339
2021-12-15 06:34:47 -06:00
Michael Telatynski
914b61239c
Spotlight search labs (#7116) 2021-12-10 11:50:01 +00:00
Aaron Raimist
7b94e13a84 Merge branch 'develop' into sort-imports
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 08:34:20 +00:00
Matthew Hodgson
1262021417
Simple static location sharing (#7135)
Adds maplibre as a dependency, and behind a labs flag, lets users send and receive [MSC3488](https://github.com/matrix-org/matrix-doc/blob/matthew/location/proposals/3488-location.md) style location shares - with backwards compatibility with old school `m.location` `msgtype` location shares too.

For this to work, you have to define a valid maptile server and API in your config.json's `map_style_url`.
2021-12-06 09:45:12 +00:00
James Salter
5219b6be80
Analytics opt in for posthog (#6936)
* Add a new flag pseudonymousAnalyticsOptIn replacing analyticsOptIn, stored at account level, so people only need to opt in once.

* Show a toast in login to users that have analyticsOptIn set but not yet pseudonymousAnalyticsOptIn prompting them confirm the new method is okay. Update the copy of the existing opt-in toast. Don't notify users that previously opted out.

* Update the copy in settings

* Add a new learn more dialog

* Support a new config flag analyticsOwner which is used in these toasts when explaining which entity the data is sent to ("Help improve %(analyticsOwner)"). If unset, display brand. This allows deployments whose brand differs from the receiver of the analytics to explain the situation to their users (e.g. AcmeCorp badges their app, but explains the data is sent to Element, not them)

* The new opt-in and flags are only used when posthog is configured; prior to that there are no changes to UX or tracking behaviour.
2021-12-06 09:39:33 +11:00
Michael Telatynski
f40291d408
Make composer buttons react to settings without having to change room (#7264) 2021-12-02 14:09:57 +00:00
Michael Telatynski
4a6d46b76a
Replace breadcrumbs with recently viewed menu (#7073) 2021-12-01 10:50:06 +00:00
Michael Telatynski
8fe582b094
Tweaks to informational architecture 1.1 (#7052)
* Move user avatar to Space panel

* Add room list header for 'Home' or 'Space Name' to room list
Add existing Space context menus to room list header

* Re-add pending room join spinner

* Iterate RoomListHeader plus context menu

* Iterate space context menu

* Iterate room list + interactions

* Move DND to new iA model

* Replace composer custom status management with usermenu one

* Cull Quick Actions

* Iterate minimized room list state

* delint

* Merge the RoomListNumResults into the RoomListHeader

* Make the search shortcut prompt semi-bold

* Iterate RoomListHeader based on design review

* Iterate UserMenu based on feedback

* Add name to expanded spacepanel usermenu button

* i18n

* Make room sub list aux button components more generic

* Change left panel explore button to only refer to room directory

* Iterate RoomListHeader

* Fix custom user status input field width in Chrome

* Bring back Notification settings button

* delint

* i18n

* post-merge fix

* iterate pr

* Remove unused state

* update copy

* Apply suggestions from PR review

* delint

* Update invite iconography

* Iterate Space context menu to match Figma

* Fix chevron alignment

* Fix edge case for RoomListHeader on metaspaces

* Wire up general rageshake-driven feedback mechanism

* Add IA1.1 info toast

* add missing alt attribute

* delint

* delint

* tweak ia toast priority

* e2e test account for new toast

* autofocus feedback field and remove old subheading

* tweak copy

* Iterate space panel colours to match Figma

* Iterate PR

* delint

* Fix feedback submission with object setting values

* iterate based on review

* Tweak colours and update splash image

* Tweaks based on review

* Remove room list prompt, made redundant by the big fat `+`

* Fix edge cases around User Menu positioning and dnd

* Add missing import, bad merge?

* Update aria label in e2e test

* Fix room list space rooms context menu explore button behaviour

* Tweak copy

* Revert order of options in the UserMenu

* Tweak copy

* i18n
2021-11-30 18:08:46 +00:00
Timo
8860916225
Fix size of portrait images with the SIZE_NORMAL setting. (#7188) 2021-11-29 15:01:54 +01:00
Michael Telatynski
c8765821b5
Group Labs flags (#7190) 2021-11-25 16:21:10 +00:00
Matthew Hodgson
b6b7511fd9
Restore 'large' thumbnails to be 800x600 (#7172)
In order to restore the original behaviour for those who want it, redefine "large" thumbnails to be fit within 800x600px.
This means that timeline screenshots end up typically not being downscaled (which is important given screenshots are our easiest way of copying chunks of history between rooms currently :/).  It also means that photos end up nice and big, which was a deliberate aesthetic choice for the app in the past, which some users will want to retain.
2021-11-21 14:16:12 +00:00
Travis Ralston
3c06e7f7a0
Add option to change the size of images/videos in the timeline (#7017)
Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
Co-authored-by: Timo K <toger5@hotmail.de>
2021-11-17 15:19:30 +00:00
Michael Telatynski
5ad3261cb2
Implement more meta-spaces (#7077) 2021-11-11 13:07:41 +00:00
Timo
a76fa5d624
add feature flag for maximised widgets (#7084) 2021-11-04 16:30:07 +01:00
Faye Duxovni
d61a83a7b9
Remove all directional quotation marks in the codebase (#7059) 2021-10-29 21:59:21 -04:00
James Salter
3defb863b3
Automatic error reporting (#7046)
* Enable sentry global handlers if automaticErrorReporting is on

* Pass the exception through on session restore error

Passing the exception object itself through to the BugReportDialog means a stack trace can be correctly recorded in Sentry
2021-10-29 08:34:25 +00:00
Aaron Raimist
bc1dd6fedf Merge branch 'develop' into sort-imports 2021-10-28 19:44:21 -05:00
Aaron Raimist
2112089146
Move comments back to correct location
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-10-28 19:41:45 -05:00
Andy Balaam
68b64564c0
Respect the system high contrast setting when using system theme (#7043)
* Respect the system high contrast setting when using system theme

* Restore correct behaviour of getEffectiveTheme
2021-10-28 13:01:50 +01:00
Aaron Raimist
bdc56be863
Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-10-22 17:23:37 -05:00
Travis Ralston
d188d32423
Add a developer mode flag and use it for accessing space timelines (#6994)
Fixes https://github.com/vector-im/element-web/issues/19416
2021-10-20 06:55:22 -06:00
Dariusz Niemczyk
5290afcc4c Replace console.warn with logger.warn
Related https://github.com/vector-im/element-web/issues/18425
2021-10-18 14:08:23 +02:00
Dariusz Niemczyk
5e73a212f4 Replace console.error with logger.error
Related https://github.com/vector-im/element-web/issues/18425
2021-10-18 14:08:23 +02:00
James Salter
1f7d07ab6c
Merge pull request #6942 from SimonBrandner/fix/autoplay-setting
Don't `setValue()` if that would lead to setting a `null`/`undefined`
2021-10-14 09:30:43 +01:00
Šimon Brandner
9533f7b0b9
Don't setValue() if that would lead to setting a null/undefined
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-10-13 19:47:49 +02:00
Travis Ralston
ea7257698c
Merge pull request #6934 from matrix-org/travis/labs/polls
Add feature flag for polls and placeholder dialog
2021-10-13 11:28:53 -06:00
Travis Ralston
71c5b02390 Add feature flag for polls and placeholder dialog
We're anticipating development of polls soon, so for efficiency reasons we're getting the labs flag in early. If something goes wrong with the plan, this whole change will be reverted.
2021-10-12 15:13:56 -06:00
Travis Ralston
d99660d420 Add customisation point for visibility of invites and room creation
Fixes https://github.com/vector-im/element-web/issues/19331
2021-10-12 14:33:29 -06:00
Paulo Pinto
1b334e47aa
Fix issue that caused the value of certain settings to be inverted (#6896)
When using the SettingsStore.watchSetting() method for settings which have an
invertedSettingName, the newValueAt argument passed to the callback function,
would erroneously contain the inverted value.

This was making it so that such settings appeared to be disabled when they
should in fact be enabled, or vice-versa. This was however only the case for
code which took in account the newValueAt argument. Code using the newValue
argument was not affected.

The settings which have an invertedSettingName, and were thus potentially
impacted are:

- MessageComposerInput.dontSuggestEmoji
- hideRedactions
- hideJoinLeaves
- hideAvatarChanges
- hideDisplaynameChanges
- hideReadReceipts
- Pill.shouldHidePillAvatar
- TextualBody.disableBigEmoji
- dontSendTypingNotifications
- TagPanel.disableTagPanel
- webRtcForceTURN

Signed-off-by: Paulo Pinto <paulo.pinto@automattic.com>
2021-10-07 16:42:23 +02:00
Dariusz Niemczyk
2d1d42b90e
Globally replace all console.logs via codemod (#6827)
This commit replaces all the `console.log` to `logger.log` via an automated script.
Related: vector-im/element-web#18425
2021-09-21 09:48:09 -06:00
Michael Telatynski
80fd960304 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/18088 2021-09-10 09:53:04 +01:00
Travis Ralston
21e33362e5 Add config option to turn on in-room event sending timing metrics
This is intended to be hooked up to an external system. 

Due to the extra events and metadata concerns, this is only available if turned on from the config.

See `sendTimePerformanceMetrics.ts` for event schemas.
2021-09-08 11:28:19 -06:00
Michael Telatynski
a688e5b8b3 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/18088
 Conflicts:
	src/components/structures/LoggedInView.tsx
	src/stores/SpaceStore.tsx
2021-09-06 11:41:09 +01:00
Šimon Brandner
c246b027be
Add missing space
Co-authored-by: Dariusz Niemczyk <3636685+Palid@users.noreply.github.com>
2021-09-02 17:39:13 +02:00
Šimon Brandner
9b2c380b64
Split autoplay gifs and videos in to different settings
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-01 17:28:15 +02:00
Germain
7621a9a0f3
Merge pull request #6658 from matrix-org/gsouquet/threaded-messaging-2349 2021-09-01 08:47:10 +01:00
Šimon Brandner
a8b86da058
Set the new layout setting when reading it
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-26 18:09:14 +02:00
Germain Souquet
77a463e679 Merge branch 'develop' into gsouquet/threaded-messaging-2349 2021-08-25 08:53:16 +01:00
Travis Ralston
9444995305
Merge pull request #6662 from matrix-org/travis/safe-labs
Flag a couple features as having dependencies
2021-08-25 01:12:48 -06:00
Travis Ralston
4790b4fc17 Remove advanced room logging setting
Fixes https://github.com/vector-im/element-web/issues/14602

This has proven to be less useful month over month, so it's time for it to go. The initial goal for keeping it was to track stability in the ~6 months post-release, which means it should have left around the start of 2021. At the time, Spaces was on the horizon with room list corruption issues though, so it was put on hold. These days, it's rock solid and doesn't appear to be causing issues. As such, the logging can leave in favour of more specific/targeted logging when we need it.

This might even speed things up as it's not hitting the SettingsStore every 0.2 seconds.
2021-08-24 13:17:12 -06:00
Germain Souquet
54a0a869bf PR feedback 2021-08-24 09:09:28 +01:00
Travis Ralston
8237497bc4 Flag a couple features as having dependencies 2021-08-23 20:27:29 -06:00
Germain Souquet
ac0412d238 rename feature flag for Threads 2021-08-19 12:25:29 +01:00
Germain Souquet
458f860a26 Merge branch 'develop' into gsouquet/threaded-messaging-2349 2021-08-17 11:14:21 +01:00
Michael Telatynski
0414ea27b8 Iterate PR based on feedback 2021-08-12 15:53:10 +01:00
Michael Telatynski
4f47907abf Show disabled spaces section in preferences regardless 2021-08-11 23:33:10 +01:00
Michael Telatynski
da110855f0 delint and remove groups-specific tests and setups 2021-08-11 15:36:35 +01:00
Michael Telatynski
be85dcd1bf Delabs Spaces, keeping it as a default-on preference for the time being 2021-08-11 14:52:40 +01:00
Michael Telatynski
d90321d813 Iterate PR, merge types with @types/PushRules 2021-08-10 11:03:03 +01:00
Germain Souquet
7d4698da49 Merge branch 'develop' into gsouquet/threaded-messaging-2349 2021-08-10 11:41:15 +02:00
Michael Telatynski
cd1b315ed6 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/ts/12 2021-08-10 10:21:01 +01:00
Travis Ralston
6a9ebc6902
Merge pull request #6390 from SimonBrandner/feature/hidden-rrs
Support for MSC2285 (hidden read receipts)
2021-08-06 09:27:14 -06:00
Šimon Brandner
44acded0a0
Use snake case
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-06 07:55:08 +02:00
Šimon Brandner
015e0b6d77
Make into a labs feature
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-06 07:51:57 +02:00
Šimon Brandner
b99e39e011
Merge remote-tracking branch 'upstream/develop' into feature-surround-with 2021-08-04 18:14:38 +02:00
Šimon Brandner
ee500ad684
Update copy
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-04 18:14:32 +02:00
James Salter
dc7aad1abf Revert "Revert "Add support for Posthog Analytics under a labs flag""
This reverts commit c5ea253181.
2021-08-03 11:55:02 +01:00
James Salter
c5ea253181
Revert "Add support for Posthog Analytics under a labs flag" 2021-08-03 07:30:02 +01:00
James Salter
a65b41be63
Merge pull request #6495 from matrix-org/posthog-analytics
Add support for Posthog Analytics under a labs flag
2021-08-02 14:46:17 +01:00
Travis Ralston
711210d16e
Merge pull request #6437 from matrix-org/travis/voice-messages/delabs
Remove voice messages labs flag
2021-08-02 02:02:36 -06:00
Michael Telatynski
3c436c9617 update setting naming to match style 2021-07-30 12:20:02 +01:00
Michael Telatynski
02dbdc5c0a Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/18093
 Conflicts:
	src/components/views/spaces/SpaceTreeLevel.tsx
	src/dispatcher/actions.ts
	src/i18n/strings/en_EN.json
2021-07-29 16:11:16 +01:00
James Salter
a1ffd240e1 Use .instance pattern 2021-07-29 14:40:18 +01:00
Michael Telatynski
6123ccb2eb Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/18096 2021-07-28 17:45:15 +01:00
Michael Telatynski
07b9d6b30b Fix styling of setting flag descriptions in preferences
and add description to spaces all/home setting
and make it an account setting rather than device one
and hide it from the Beta card
2021-07-28 14:39:19 +01:00
James Salter
d5bef53f8b Use snake case for feature name 2021-07-28 14:03:17 +01:00
James Salter
bd7e2dee3d Merge remote-tracking branch 'origin' into posthog-analytics 2021-07-28 11:13:22 +01:00
James Salter
1d81bdc6f9 Interface changes and anonymity fixes 2021-07-28 09:37:08 +01:00
Michael Telatynski
776435f620 Switch all-rooms toggle for spaces to non-feature settings key 2021-07-27 21:17:24 +01:00
Michael Telatynski
0a9d3302ba Fix home vs all rooms requiring app reload and change default to home
Consolidate ALL_ROOMS and HOME_SPACE storage
Fix behaviour when recalled room is no longer part of the target space
Improve tests
2021-07-27 21:11:47 +01:00
Šimon Brandner
9761c38f3d
Merge remote-tracking branch 'upstream/develop' into feature/hidden-rrs
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-27 18:39:22 +02:00
Michael Telatynski
12461a79e1 Move SettingsStore setting_updated dispatch to action enum 2021-07-27 17:19:45 +01:00
Michael Telatynski
755007cbee Conclude labs flags and write more tests 2021-07-27 14:39:14 +01:00
Germain Souquet
92394daa62 Merge branch 'develop' into gsouquet/threaded-messaging-2349 2021-07-27 14:37:50 +02:00
Michael Telatynski
22339688cb Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/ts/12
 Conflicts:
	src/components/structures/InteractiveAuth.js
2021-07-23 23:43:48 +01:00
Michael Telatynski
7ccc429bea Change spaces beta feedback to not be so beta-centric 2021-07-23 15:47:11 +01:00
Travis Ralston
0e3cc6b8f4 Remove voice messages labs flag
Fixes https://github.com/vector-im/element-web/issues/17151
2021-07-21 18:09:35 -06:00
Šimon Brandner
621aee6f9a
Merge remote-tracking branch 'upstream/develop' into feature-surround-with
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-20 13:21:52 +02:00
Germain Souquet
06c9a060b4 Merge branch 'develop' into gsouquet/message-bubbles-4635 2021-07-20 10:16:21 +02:00
Šimon Brandner
651f19fb9b
Merge remote-tracking branch 'upstream/develop' into feature/hidden-rrs 2021-07-16 10:21:30 +02:00
Germain
c7c29f2119
Merge pull request #6365 from psrpinto/fix/naming 2021-07-15 08:07:03 +01:00
Germain Souquet
f4dfe9832b change labs flag wording 2021-07-14 16:20:25 +02:00
Šimon Brandner
226224b039
Allow sending hidden RRs
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-14 15:12:35 +02:00
Paulo Pinto
09d08882e3 Standardise casing of identity server
Replace instances of 'Identity Server' with 'Identity server', when at start of
sentence, or 'identity server' when not.

Signed-off-by: Paulo Pinto <paulo.pinto@automattic.com>
2021-07-13 16:28:43 +01:00
Michael Telatynski
bd175c6f40 Improve and consolidate typing 2021-07-10 15:43:46 +01:00
Germain Souquet
6868478044 Add threaded messaging feature flag 2021-07-08 11:30:56 +02:00
Germain Souquet
10bdb3cefa Merge branch 'develop' into gsouquet/message-bubbles-4635 2021-07-07 13:07:43 +02:00
Michael Telatynski
b88d67bb00 Convert SearchResult, InteractiveAuth, PushProcessor and Scheduler to Typescript 2021-07-07 11:08:53 +01:00
Šimon Brandner
e355bf0db1
Merge remote-tracking branch 'upstream/develop' into reorganize-preferences 2021-07-01 18:53:53 +02:00
Šimon Brandner
3cc041a4ae
Change displayName of ctrlEnterToSend
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-01 18:53:38 +02:00
Germain Souquet
d9eec1c03b Merge branch 'develop' into gsouquet/message-bubbles-4635 2021-06-30 08:58:20 +01:00
J. Ryan Stinnett
782e793925 Merge remote-tracking branch 'origin/develop' into jryans/rework-linting-2 2021-06-29 15:27:24 +01:00
J. Ryan Stinnett
ae0a8b8da4 Auto-fix lint errors 2021-06-29 13:11:58 +01:00
Germain Souquet
6607294573 Deprecate Tinter and TintableSVG 2021-06-28 17:13:23 +01:00