Commit graph

492 commits

Author SHA1 Message Date
Kerry
0b80755fb8
extract reusable styled live beacon icon (#8103)
* extract reusable styles live beacon icon

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

* add secondary live lcation color

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-21 16:43:43 +00:00
Kerry
14653d1378
Live location share - set time limit (#8082)
* add mocking helpers for platform peg

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

* basic working live duration dropdown

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

* add duration format utility

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

* add duration dropdown to live location picker

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

* adjust style to allow overflow and variable height chin

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

* tidy comments

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

* arrow fn change

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

* lint

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-21 12:42:58 +01:00
Šimon Brandner
8418b4fd71
Move KeyboardShortcut styling into a separate file (#8067) 2022-03-21 11:41:32 +00:00
Robin
83f2bf4261
Improve remove recent messages dialog (#6114)
* Allow keeping state events when removing recent messages

The remove recent messages dialog redacts most state events since they
can be abuse vectors as well, however some users that see the option
actually want to use it to only remove messages. This adds a checkbox
option to do so.

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

* Don't redact encryption events when removing recent messages

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

* Show UserMenu spinner while removing recent messages

This also generalizes the UserMenu spinner to work with other types of
actions in the future.

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

* Clarify remove recent messages warning

Clarify that they are removed for everyone in the conversation, not just
yourself.

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

* Adjust copy and preserve state events by default

* Redact messages in reverse chronological order

Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-18 20:08:32 +00:00
Kerry
9f6c238827
Add simple live share warning (#8066)
* add simple live share warning

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

* rough first cut of OwnBeaconStore

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

* working (?) has live beacons status

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

* lint

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

* add left panel share warning

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

* setup for tests

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

* test ownbeaconstore

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

* add copyright

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

* add copyright

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

* remove warning banner

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

* fix test

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

* fix tests for weird asyncstore closure issues

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

* fix OwnBeaconStore more...

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

* revert loose change to LeftPanel

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

* Revert "remove warning banner"

This reverts commit 4529813b12e3206731f18e0514aa6e0f6896d03a.

* test live share warning

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-17 09:25:57 +01: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
Kerry
d38a1fa201
fallback to event text in location body when map unavailable (#7982)
* center icon better

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

* remove debug

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

* retrigger all builds

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

* set assetType on share event

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

* use pin marker on map for pin drop share

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

* lint

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

* test events

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

* pin drop helper text

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

* use generic location type

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

* add navigationcontrol when in pin mode

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

* allow pin drop without location permissions

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

* remove geolocate control when pin dropping without geo perms

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

* test locationpicker

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

* test marker type, tidy

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

* move findMapStyleUrl

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

* fallback to event content when cant render map

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

* update mocks in location picker, show same messages as timeline

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

* style error message in location share menu

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

* i18n

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

* forgotten copyright

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

* add copyright

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

* update style

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

* icon bigger

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-11 09:52:57 +01:00
Kerry
ebc2267e52
Location sharing > back button (#7958)
* add back/cancel buttons to share dialog

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

* test buttons

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

* improve weird indentation

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

* relint

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

* PR tweaks

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

* quotes

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-03 11:30:46 +01:00
Kerry
b480bffab0
Location share type UI (#7924)
* copyright

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

* empty line

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

* functional picker

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

* most style

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

* nice style for options

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

* get ShareType test passing

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

* add maplibre mock

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

* lint and test

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

* add section to themes for location sharing cols

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

* add svg mock

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

* use same mock string as imageMock

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

* newline

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

* lint

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

* add live location icon

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

* rename useEnabledShareTypes

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

* use solid color for live border

* use ternary

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

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-03-02 13:00:40 +00: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
Kerry
f4cd71fd47
Check 'useSystemTheme' in quick settings theme switcher (#7809)
* mock Element.scrollIntoView in jest setup

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

* extract theme switcher from quick settings, add match system option, test

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

* i18n

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

* forgotten copyright

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

* stylelint

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

* remove old class

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-24 10:01:06 +01:00
Michael Telatynski
8fccef86d8
Wire up drag-drop file uploads for the thread view (#7860) 2022-02-22 11:14:56 +00:00
Michael Telatynski
714136d4f7
Consolidate RedactionGrouper and HiddenEventGrouper into MELS (#7739) 2022-02-09 10:51:12 +00: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
Šimon Brandner
a2f1e856be
Make room ID copyable (#7600) 2022-01-24 11:47:59 +00:00
Robin
f59ea6d7ad
Show a tile at beginning of visible history (#5887) 2022-01-20 09:51:31 +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
Šimon Brandner
1f298250b9
Make the Keyboard Shortcuts dialog into a settings tab (#7198) 2022-01-17 11:53:10 +00:00
Timo
ef95644e23
Render Jitsi (and other sticky widgets) in PiP container, so it can be dragged and the "jump to room functionality" is provided (#7450)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2022-01-13 12:10:41 +01:00
Andy Balaam
707f8cd878
Open map in a dialog when it is clicked (#7465) 2022-01-07 14:54:45 +00:00
Kerry
00feb24877
add spacing variables (#7456)
* add spacing variables

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

* eof

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-04 10:15:20 -07: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
Kerry
46b0865e89
Add Heading components (#7362)
* add Heading components

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

* remove margins

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

* snapshots

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

* unset block and inline margins

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

* copyright

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

* fix werid quoting on heading test

Signed-off-by: Kerry Archibald <kerrya@element.io>
2021-12-15 11:00:10 +01:00
Michael Telatynski
914b61239c
Spotlight search labs (#7116) 2021-12-10 11:50:01 +00:00
Kerry
2e3f225520
Put room settings form elements in fieldsets (#7311)
* override default fieldset styles

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

* SettingsFieldset component

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

* test settings fieldset

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

* refactor SettingsFlag styles

* use SettingsFieldset in room > securit settings

* use fieldset in urlpreviewsettings

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

* use SettingsFieldset in AliasSettings

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

* fieldset in room > roles settings

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

* css lint

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

* run i18n

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

* fussy order

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

* default export

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

* fix copyright headers

Signed-off-by: Kerry Archibald <kerrya@element.io>
2021-12-09 18:44:22 +01:00
Kerry
1216285ed2
Add descriptions to ambiguous links for screen readers (#7310)
* add title to room share link

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

* add ExternalLink component

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

* unit test ExternalLink

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

* default target and rel for external link

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

* use scss $font variables

Signed-off-by: Kerry Archibald <kerrya@element.io>
2021-12-09 13:04:06 +01: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
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
4cbed99de3
Add right panel chat timeline (#7112)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2021-11-29 17:06:15 +01:00
Michael Telatynski
9fefeefc8c
Spaces quick settings (#7196) 2021-11-26 15:41:04 +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
27c3153947
Unified room context menus (#7072) 2021-11-15 11:39:25 +00:00
Michael Telatynski
5ad3261cb2
Implement more meta-spaces (#7077) 2021-11-11 13:07:41 +00:00
Andy Balaam
431b69ee49
Display started polls in timeline (without votes) (behind labs setting) (#7088)
* Display started polls in timeline (without votes)

* Update i18n info

* Keep original background colour of poll options, even on hover

* Show full avatar above a poll message
2021-11-10 15:44:57 +00:00
Travis Ralston
73731cc478
Polls: Creation form & start event (#7001)
* PSFD-423: Permission check for polls dialog

* PSFD-423: Implement compound scrollable dialog and skeleton create poll

* PSFD-325: Ask the question

* PSFD-328: Ask for options

* PSFD-423: Ensure form submission semantics work for dialogs

* PSFD-328: Option semantics

* Can delete all option to end up with zero
* Minimum 2 to submit the form

* PSFD-316: Send poll start event

* Appease the linter

* PSFD-328: Reduce padding between options to account for field size

* Iterate per design

* Fix submission
2021-11-01 23:44:42 -06:00
Andy Balaam
abbc39cdec
Add a high contrast theme (a variant of the light theme) (#7036)
* Enable choosing a high contrast variant of the Light theme

* Updates to high contrast theme to match design and show focus

* Adjust the outline-offset to match designs

* Don't draw an outline around the active tab

* Prevent cropping of outlines on buttons

* Use the correct colour for links

* Change light grey text to be darker in high contrast theme

* Use a darker text colour in admin panel

* Adjust background colours of back button and font slider
2021-10-27 14:31:54 +01:00
Andy Balaam
4b903b9fbd
Break ThemeChoicePanel into a separate component (#6998)
* Break ThemeChoicePanel into a separate component

* Tests for ThemeChoicePanel

* i18n fixes

* Fix copyright for ThemeChoicePanel
2021-10-20 14:58:27 +00:00
Andy Balaam
4ad32b16ea Break out font size settings to a separate component 2021-10-19 14:50:09 +01:00
Germain
77e6e1c0ab
Merge pull request #6960 from matrix-org/gsouquet/rename-replythread 2021-10-18 17:11:31 +01:00
Germain Souquet
5a7c0d87b6 Rename ReplyThread to ReplyChain to avoid confusion with m.thread 2021-10-15 17:42:44 +01:00
Andy Balaam
a547ee4654 Break 'Cryptography' settings into a separate component 2021-10-15 16:02:44 +01:00
Dariusz Niemczyk
562a880c7d
Create room threads list view (#6904)
Implement https://github.com/vector-im/element-web/issues/18957 following requirements:
* Create a new right panel view to list all the threads in a given room.
* Change ThreadView previous phase to be ThreadPanel rather than RoomSummary
* Implement local filters for My and All threads

In addition: 
* Create a new TileShape for proper rendering requirements (hiding typing indicator)
* Create new timelineRenderingType for proper rendering requirements
2021-10-14 15:27:35 +02:00
Michael Telatynski
111ae75874 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/18969
 Conflicts:
	src/components/views/right_panel/UserInfo.tsx
2021-10-08 13:00:20 +01:00
Faye Duxovni
651e943b31 Merge branch 'develop' into fayed/fix-verification-dialog 2021-10-05 08:48:52 -04:00
Faye Duxovni
9a16b4636f Make cross-signing dialog clearer and more context-aware
- Don't show loading spinners while waiting for user action
- When checking if there are other devices we can verify against, only
  look for devices that are actually cross-signed.
- Adjust displayed options depending on whether other devices and/or
  recovery keys exist, and add an option to reset cross-signing keys
  if necessary.
- Various minor clarifying adjustments to UI styling/text

Signed-off-by: Faye Duxovni <fayed@element.io>
2021-10-05 00:54:20 -04:00
Jaiwanth
208b914cb0 Merge branch 'develop' into export-conversations 2021-09-29 19:32:05 +05:30
Michael Telatynski
4335cd03c5 Pluck out JoinRuleSettings styles so they apply in space settings too 2021-09-28 16:30:17 +01:00
Jaiwanth
94e4fb71c1 Merge branch 'develop' into export-conversations 2021-09-22 18:07:01 +05:30