Commit graph

224 commits

Author SHA1 Message Date
Travis Ralston
5c2841323e Appease the linter by turning it off 2020-04-01 14:45:54 -06:00
Travis Ralston
47e5cfecf2 Silence usages of componentWillReceiveProps
For https://github.com/vector-im/riot-web/issues/12877
2020-04-01 14:35:39 -06:00
Travis Ralston
c0ffa8b59a Fix merge conflict between react warnings and SSO 2020-04-01 11:32:13 -06:00
Travis Ralston
07030a9466
Merge branch 'develop' into travis/react-warnings/3-componentCannotDidMount 2020-04-01 11:14:19 -06:00
Travis Ralston
59a99bbad8
Merge pull request #4313 from matrix-org/travis/react-warnings/1-componentDidMount
Use componentDidMount in place of componentWillMount where possible
2020-04-01 11:13:04 -06:00
Travis Ralston
094d006928
Merge pull request #4292 from matrix-org/travis/sso-uia
Support SSO for interactive authentication
2020-04-01 10:27:24 -06:00
Travis Ralston
0a6f54da33 Label and use UNSAFE_componentWillMount to minimize warnings
These TODO comments are expected to be fixed ASAP, but until that happens let's minimize the errors in the console for development.

For https://github.com/vector-im/riot-web/issues/12877

These all aren't using componentDidMount because they do something which causes application instability if componentDidMount were used. Much of these calls are expected to move into constructors once they are converted to real classes.
2020-03-31 14:15:23 -06:00
Travis Ralston
3f99332f4b Use componentDidMount in place of componentWillMount where possible
This fixes a common React warning we see. Most of these components should be using constructors instead, however componentDidMount is just as good (and doesn't require converting most of these).

Conversion to classes will be done in a later stage of React warning fixes.

For https://github.com/vector-im/riot-web/issues/12877
2020-03-31 14:14:17 -06:00
Travis Ralston
64c11c3565 Move ssoUrl to a class property 2020-03-31 09:26:17 -06:00
Travis Ralston
4a9bc5e5bf
Update src/components/views/auth/InteractiveAuthEntryComponents.js
Co-Authored-By: David Baker <dbkr@users.noreply.github.com>
2020-03-31 08:29:42 -06:00
Michael Telatynski
1c5b7bf132
Merge pull request #4279 from matrix-org/t3chguy/instant_sso
Support $riot: Templates for SSO/CAS urls in the welcome.html page
2020-03-31 09:39:40 +01:00
Travis Ralston
d899576578 Appease the linter 2020-03-30 20:24:53 -06:00
Travis Ralston
ffa75ef48c Wire up all the dialog parts for SSO, using device deletion as a POC 2020-03-30 20:03:46 -06:00
Travis Ralston
b35356833f Merge branch 'develop' into travis/sso-uia 2020-03-30 14:56:52 -06:00
Michael Telatynski
19aae087e0 Field: make id optional, generate one if not provided
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-29 22:59:15 +01:00
Travis Ralston
1e30bdb739 Early proof of concept for SSO UIA
It works well enough to start doing design.
2020-03-27 14:39:59 -06:00
Travis Ralston
984f9ea4aa Fix fallback auth link to act and look like a link 2020-03-27 13:44:32 -06:00
Michael Telatynski
9d0ed6e800 fix copy-pasta error
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-27 14:19:43 +00:00
Michael Telatynski
6664535a26 change welcome page placeholders
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-27 14:05:32 +00:00
Michael Telatynski
f4d3cc8ee6 revert stale changes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-27 14:05:14 +00:00
Michael Telatynski
db6f88c66a Welcome page, support $ssoUrl and $casUrl placeholders
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-27 14:02:32 +00:00
Michael Telatynski
0bcdf062a3 reset opener when using window.open
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-23 22:22:12 +00:00
Michael Telatynski
d783ce86c8 Use noreferrer in addition to noopener for edge case browsers
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-23 22:14:29 +00:00
Michael Telatynski
67aa241ee5
Merge pull request #4052 from matrix-org/t3chguy/recaptcha_protocol
Fix recaptcha blocked by CSP for non-SSL origins
2020-02-11 10:18:44 +00:00
Michael Telatynski
f01b4fe241 Allow custom hs url submission on enter 2020-02-10 20:47:27 +00:00
Michael Telatynski
86306e3da3 Recaptcha should always be loaded over https 2020-02-10 20:41:16 +00:00
Michael Telatynski
4d0d6cdaa4
Merge branch 'develop' into t3chguy/password_completion 2020-02-05 20:24:37 +00:00
J. Ryan Stinnett
02cada7cc6 First pass of copy changes 2020-01-31 12:15:19 +00:00
Zoe
318689f40b Disable all inputs in login form while busy, not just the submit button 2020-01-30 15:06:36 +00:00
Michael Telatynski
fe71fe6033 Sprinkle forms and new-password designators to make autofill and password completion less wild
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-29 13:38:50 +00:00
J. Ryan Stinnett
6a9786e202
Merge pull request #3951 from matrix-org/jryans/comp-sec-body
Add separate component for post-auth security flows
2020-01-28 10:01:13 +00:00
J. Ryan Stinnett
89f110f60a Add separate component for post-auth security flows
Instead of twisting `AuthBody`, this adds a new component for the different
styling of post-auth security flows. This also makes them fixed width and
adjusts padding to match designs.
2020-01-27 22:28:07 +00:00
stoically
ff195381e9
Use https for recaptcha for all non-http protocols
Signed-off-by: stoically <stoically@protonmail.com>
2020-01-27 18:56:55 +01:00
David Baker
988ae14d35
Merge pull request #3937 from matrix-org/dbkr/e2esetup
Setup flow for cross-signing on login / registration
2020-01-25 12:40:17 +00:00
J. Ryan Stinnett
9991a544aa Resolve default export warnings from Webpack
Webpack was printing several warnings about missing default exports,
particularly from components, where we auto-generate a default import via the
component index.

As part of this, the emoji picker recent handling (which is not a component) is
moved elsewhere to avoid the generated import.
2020-01-24 22:26:34 +00:00
David Baker
3d7137d4ad Setup flow for cross-signing on login / registration
Still outstanding:
 * Keep password from login / registration
 * Confirmation on skip button

Fixes https://github.com/vector-im/riot-web/issues/11902
2020-01-24 19:11:57 +00:00
David Baker
cd4e75c378 Unnecessary blank line 2020-01-24 09:36:22 +00:00
David Baker
5319ee4572 Remove riot logo from the security setup screens
With a little faff to make the rounded borders consistent again
2020-01-23 18:14:08 +00:00
Travis Ralston
fde32f13a5 [CONFLICT CHUNKS] Merge branch 'develop' into travis/sourcemaps-develop 2020-01-09 14:15:09 -07:00
Travis Ralston
59f608ffd6
Merge pull request #3761 from matrix-org/travis/babel7-wp-es6-export
Convert CommonJS exports to ES6 exports
2020-01-08 09:09:11 -07:00
Travis Ralston
806d728d59 Import from the js-sdk's src/ directory
Because ES6 and such.
2019-12-22 21:14:33 -07:00
Travis Ralston
d56f0f2a25 Convert many imports to handle ES6 exports
Reliant upon https://github.com/matrix-org/matrix-react-sdk/pull/3761
2019-12-22 21:04:42 -07:00
Travis Ralston
344dac4fb9 Convert CommonJS exports to ES6-compatible exports
We use `export default` begrudgingly here. Ideally we'd use just `export`, though this entire SDK expects things to be exported as a default. Instead of breaking everything, we'll sacrifice our export pattern for a smaller diff - a later commit can always do the default export -> regular export conversion.
2019-12-22 21:01:02 -07:00
Travis Ralston
0a9985fb48 Rename decorator for clarity 2019-12-16 16:10:11 -07:00
Michael Telatynski
cecf581e04 Make Combobox dropdown keyboard and screen reader accessible 2019-12-15 15:04:57 +00:00
Travis Ralston
20a615396b Implementation of new potential skinning mechanism
With a switch to Only One Webpack™ we need a way to help developers generate the component index without a concurrent watch task. The best way to do this is to have developers import their components, but how do they do that when we support skins? The answer in this commit is to change skinning.

Skinning now expects to receive your list of overrides instead of the react-sdk+branded components. For Riot this means we send over *only* the Vector components and not Vector+react-sdk. 

Components can then be annotated with the `replaceComponent` decorator to have them be skinnable. The decorator must take a string with the dot path of the component because we can't reliably calculate it ourselves, sadly. 

The decorator does a call to `getComponent` which is where the important part of the branded components not including the react-sdk is important: if the branded app includes the react-sdk then the decorator gets executed before the skin has finished loading, leading to all kinds of fun errors. This is also why the skinner lazily loads the react-sdk components to avoid importing them too early, breaking the app.

The decorator will end up receiving null for a component because of the getComponent loop mentioned: the require() call is still in progress when the decorator is called, therefore we can't error out. All usages of getComponent() within the app are safe to not need such an error (the return won't be null, and developers shouldn't use getComponent() after this commit anyways).

The AuthPage, being a prominent component, has been converted to demonstrate this working. Changes to riot-web are required to have this work.

The reskindex script has also been altered to reflect these skinning changes - it no longer should set the react-sdk as a parent. The eventual end goal is to get rid of `getComponent()` entirely as it'll be easily replaced by imports.
2019-12-12 19:48:45 -07:00
Michael Telatynski
d22985f12e Migrate string refs over to createRef
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-08 12:16:17 +00:00
Matthew Hodgson
9f455fae4b
Merge branch 'develop' into matthew/fix_logging 2019-11-26 10:19:48 +00:00
Matthew Hodgson
9fd45d1f14 console.log doesn't take %s substitutions 2019-11-26 01:14:03 +00:00
Michael Telatynski
d4d51dc61f Rip out the remainder of Bluebird 2019-11-18 10:03:05 +00:00