Commit Graph

2316 Commits

Author SHA1 Message Date
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
J. Ryan Stinnett efa1667d7e Remove Unpin option from maximised widget context menu (#7657) 2022-01-27 17:08:09 +00:00
Kerry 3eca71bc84 Unit test ExportDialog (#7619)
* add test ids to dialog buttons

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

* unit test ExportDialog

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

* remove extra snapshot

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

* fix bad snapshots

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

* remove wrappers from snapshot

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-27 09:55:08 +01:00
Michael Telatynski 1d02e61655 Improve taken username warning in registration for when request fails (#7621) 2022-01-25 10:45:41 +00:00
Timo 9d9b77d5e1 Make widgets not reload (persistent) between center and top container (#7575) 2022-01-24 15:24:30 +00:00
Kerry 26e1570dd6 a11y - fix iframes without title (#7614)
* iframe title in AppTile

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

* iframe title in hostSignupDialog

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

* iframe title in MFileBody

* iframe titles in modal widget and int man

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

* enable jsx-a11y/iframe-has-title rule

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-24 14:07:54 +00:00
Šimon Brandner a2f1e856be Make room ID copyable (#7600) 2022-01-24 11:47:59 +00:00
Oliver Sand 2e6f616e91 Allow downloads from widgets (#7502)
Notes: Allow downloads from widgets.

We are working on a widget that allows the user to download a file (a ICS calendar entry). Right now the sandbox of the widget iframe doesn't allow downloading. Instead, the following error is displayed in the console (for Google Chrome):

```
Download is disallowed. The frame initiating or instantiating the download is sandboxed, but the flag ‘allow-downloads’ is not set. See https://www.chromestatus.com/feature/5706745674465280 for more details.
```

Therefore this PR adds `allow-downloads` to the sandbox capabilities.

Steps to reproduce:
1. Create a simple widget with an `index.html` file like, e.g.
   ```
     <a href="index.html" download>Download</a>
   ```
2. Host the widget somewhere, add it to the room and open the widget
3. Click on the download button
  * Without the fix: Nothing happens, there is a warning in the console (see above)
  * With the fix: The file is downloaded

Signed-off-by: Oliver Sand <oliver.sand@nordeck.net>
2022-01-20 16:52:06 -07:00
Travis Ralston 6712a5b1c5 Parse matrix-schemed URIs (#7453)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
Co-authored-by: Dariusz Niemczyk <dariuszn@element.io>
Co-authored-by: Timo K <toger5@hotmail.de>

With this pr all href use matrix matrix.to links. As a consequence right-click copy link will always return get you a sharable matrix.to link.
2022-01-20 18:18:47 +01:00
Germain ec6bb88068 Fix reply chain fallback for first event in a thread (#7580) 2022-01-19 13:37:19 +00:00
Germain 41b9e4aa4f Implement reply chain fallback for threads backwards compatibility (#7565) 2022-01-19 09:06:48 +00:00
Eric Eastwood a00d359422 Fix left positioned tooltips being wrong and offset by fixed value (#7551)
Previously, the `left` positioning seemed to only work with icons which are all about the same size so the arbitrary offset worked. Now we actually position off to the left of the element and we have equal `margin-left` and `margin-right` to determine the offset.

Spawned from https://github.com/matrix-org/matrix-react-sdk/pull/7339#discussion_r767154349
2022-01-18 21:08:11 -06:00
Travis Ralston 65987e6b72 Move all polls processing to events-sdk & prep for stable polls (#7517)
* Move all polls processing to events-sdk

This makes polls support the full range of extensible events (both parsing and generation).

* Appease the linter

* Fix & update tests

* Update events-sdk for polls bugfix

* Update events-sdk for typechecking

* Add missing type cast

* Update per review
2022-01-17 10:06:30 -07:00
Kerry 42adedc468 Wait for initial profile load before displaying widget (#7556)
* wait for initial profile load before displaying jitsi

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

* update comment

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

* amke fn return boolean

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

* listen for profile update once

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

* remove unneccessary check

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-17 13:47:07 +00:00
Michael Telatynski f4a6219c88 Replace kick terminology with Remove from chat (#7469) 2022-01-14 13:08:34 +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
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 f6effc52fd Fix active Jitsi calls (and other active widgets) not being visible on screen, by showing them in PiP if they are not visible in any other container (#7435)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2022-01-11 11:25:21 +01:00
J. Ryan Stinnett 6199c337ea Fix spacing errors (#7484) 2022-01-10 12:57:20 +00:00
Šimon Brandner d00483be3e Hide maximise button in the sticker picker (#7488) 2022-01-10 09:02:07 +00:00
Andy Balaam 309f7bb235 Display a tooltip when you hover over a location (#7472) 2022-01-07 15:11:30 +00:00
Kerry fed53a268b A11y - fix anchors-as-buttons (#7444)
* add link_inline accessiblebutton variant

* valid anchors in SecurityRoomSettingsTab

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

* new room intro link button

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

* replace anchor with button in rerequest encryption keys message

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

* inline button in UrlPreviewSettings

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

* ButtonResetDefault mixin

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

* inline link buttons in TextForEvent

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

* fix anchors in InviteDialog

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

* fix anchors in DevToolsDialog

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

* fix anchors in login/registration/reset pword flows

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

* fix types after fixing anchors in devtools

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

* fix anchors in MemberEventListSummary

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

* fix anchors in ReactionsRow and RoomUpgrade

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

* fix anchors in ReplyChain

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

* fix more anchors

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

* fix anchors in auth comps

* stylelint fixes

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

* remove ignore of jsx-a11y rule that is not added yet

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

* devtools style important explainer

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

* translate button alt in devtools dialog

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

* AccessibleButton is reactionsrow

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

* fix viewsourcevent button placement, use AccessibleButton

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

* use AccessibleButton in EventTile

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

* unignore jsx-a11y/anchor-is-valid

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

* fix lint issue in test jsx

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

* update coment

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-07 10:40:53 +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 7f13a1b40a Attribute fallback i18n strings with lang attribute (#7323)
* add lang attribute to fallback translations

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

* readability improvement

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

* split _t and _tDom

Signed-off-by: Kerry <kerry@Kerrys-MBP.fritz.box>

* use tDom in HomePage

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

* lint

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

* bump matrix-web-i18n

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-05 11:37:28 +01:00
Timo f4a94f6e7f Add new line in settings label (#7451) 2022-01-04 10:57:29 +01:00
Dariusz Niemczyk 74ea2adfc2 Fix room alias address isn't checked for validity before being shown as added (#7107)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-01-04 09:22:51 +00:00
Michael Telatynski 44d7d74949 Call view accessibility fixes (#7439) 2022-01-04 08:57:46 +00:00
Kerry aaf14aacd2 A11y fix role-has-required-aria-props (#7455)
* remove jsx a11y direct use in eslintrc

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

* remove debug

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

* split aria-selected out from restProps in Autocomplete

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

* update Dropdown to aria 1.1 aria-owns -> aria-controls

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

* unignore jsx-a11y/role-has-required-aria-props rule

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

* remove debug

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-04 08:46:21 +00:00
Kerry 03f5a3c3e6 Associate room alias warning with public option in settings (#7430)
* add describedby to styledradiogroup description

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

* alias warning in description

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

* lint

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

* update snapshot

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-03 09:55:09 +01:00
Timo d4bafdcddd Fix zIndex of peristent apps in miniMode (#7429)
Fixes a bug, where the persistent (PiP mode app) is hidden behind another widget in the right panel or a maximised widget.
2021-12-21 17:42:42 +01:00
Eric Eastwood 9289c0c90f Refactor ContextMenu to use RovingTabIndex (more consistent keyboard navigation accessibility) (#7353)
Split off from https://github.com/matrix-org/matrix-react-sdk/pull/7339
2021-12-17 11:08:56 -06:00
Michael Telatynski 818465a4d6 Increase gap between ELS and the subsequent event to prevent overlap (#7391) 2021-12-17 09:28:10 +00:00
Andy Balaam fc58ce7ed2 Use the moved makePollContent function from js-sdk (#7387) 2021-12-15 16:54:01 +00:00
Michael Telatynski 71b561d471 Make compact layout only apply to Modern layout (#7382) 2021-12-15 16:27:02 +00:00
Andy Balaam 43839adec0 Use constants from js-sdk in polls code (#7381) 2021-12-15 14:26:26 +00:00
Michael Telatynski 42b14bfcd7 Tweak FacePile tooltip to include whether or not you are included (#7367) 2021-12-14 16:07:54 +00:00
Michael Telatynski a667677c57 Fix accessibility regressions (#7336)
* Fix room list roving treeview

New TooltipTarget & TextWithTooltip were not roving-accessible

* Fix programmatic focus management in roving tab index not triggering onFocus handler

* Fix toolbar no longer handling left & right arrows

* Fix roving tab index focus tracking on interactive element like context menu trigger

* Fix thread list context menu roving

* add comment

* fix comment

* Fix handling vertical arrows in the wrong direction

* iterate PR

* delint

* tidy up
2021-12-14 14:27:35 +00:00
Andy Balaam 55eda7314b Show votes in replied-to polls (pass in getRelationsForEvent) (#7345) 2021-12-13 13:12:22 +00:00
Travis Ralston 8a0398b632 Fix remaining import ordering requirements 2021-12-09 16:09:20 -07:00
Travis Ralston e4b96cff1f Merge remote-tracking branch 'aaronraimist/sort-imports' into develop 2021-12-09 16:03:59 -07: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 3c1ee204a0 default export for TooltipTarget (#7319)
* default export for TooltipTarget

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

* newline

Signed-off-by: Kerry Archibald <kerrya@element.io>
2021-12-09 13:36:55 +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
Kerry 0c850b2f13 Make tooltips keyboard accessible (#7281)
* show tooltips on hover in eventtile

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

* use tooltip props pass thru

* use tooltiptarget in InfoTooltip

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

* use target in TestWithTooltip

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

* tsc fixes

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

* test tooltip target

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

* lint fix

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

* rename tooltip handlers

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

* update copyright to 2021

Signed-off-by: Kerry Archibald <kerrya@element.io>
2021-12-09 11:47:50 +01:00
Aaron Raimist 2e8a93834b Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 09:10:23 +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
Timo 12000060a5 Fix: Warning: Unsupported style property pointer-events. Did you mean pointerEvents? (#7291) 2021-12-06 12:47:43 +01:00
Michael Telatynski 7dfdb06627 Dropdown follow wai-aria practices for expanding on arrow keys (#7277) 2021-12-06 09:25:44 +00:00
Germain f2fee53a0e Allow stickers to be sent in a Thread (#7267) 2021-12-03 08:22:13 +00:00
Michael Telatynski a4714829f7 Hide clear cache and reload button if crash is before client init (#7242) 2021-12-01 10:54:14 +00:00