Commit Graph

27 Commits (2242e6b8c610e868f62516bf0483962e92d55191)

Author SHA1 Message Date
Jorik Schellekens 4ba1f91a2b Fix lint issues in new code 2020-07-20 20:43:55 +01:00
Jorik Schellekens c3ffbdbdbc Fix naming format errors 2020-07-20 20:02:21 +01:00
Michael Telatynski c0e78b56b1 convert integrations manager utils to Typescript
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-17 13:38:08 +01:00
Michael Telatynski 7453f8dd07 Fix `this` context in _setupHomeserverManagers for IntegrationManagers
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-17 13:25:28 +01:00
Michael Telatynski cbc2aee746 Add js-sdk mechanism for polling client well-known for config
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-01 22:35:16 +01:00
Michael Telatynski 16bbea0b59 Fix various leaks due to method re-binding
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-20 02:35:30 +00:00
David Baker 066a01ae94 Check for a matrixclient before trying to use it
Was being caught by the try block but still logging an error to the
console unnecessarily: we should not expect there to necessarily
be a matrix client since we run this from the constructor and
there's a shared instance which could be constructed at any point.
2020-01-17 13:35:51 +00:00
Travis Ralston 042bd35d79 Fix MatrixClientPeg imports 2019-12-22 21:15:54 -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 560c0afae3 Appease the linter 2019-11-20 20:45:16 -07:00
Travis Ralston 94fed922cf Intercept cases of disabled/no integration managers
We already intercepted most of the cases where no integration manager was present, though there was a bug in many components where openAll() would be called regardless of an integration manager being available.

The integration manager being disabled by the user is handled in the IntegrationManager classes rather than on click because we have quite a few calls to these functions. The StickerPicker is an exception because it does slightly different behaviour.

This also removes the old "no integration manager configured" state from the IntegrationManager component as it is now replaced by a dialog.
2019-11-20 20:40:39 -07:00
Travis Ralston 81c9bdd9f3 It's called an "Integration Manager" (singular)
Fixes https://github.com/vector-im/riot-web/issues/11256

This was finally annoying me enough to fix it.
2019-11-20 20:14:25 -07:00
Travis Ralston b3cda4b19a Support multiple integration managers behind a labs flag
Fixes https://github.com/vector-im/riot-web/issues/10622
Implements [MSC1957](https://github.com/matrix-org/matrix-doc/pull/1957)

Design is not final.
2019-08-23 09:12:40 -06:00
Travis Ralston 470295ad14 Expose a getOrderedManagers() function for use elsewhere 2019-08-22 15:17:59 -06:00
Travis Ralston 8493887ceb Import the right js-sdk 2019-08-22 14:57:09 -06:00
Travis Ralston a35735da45 Support homeserver-configured integration managers
Fixes https://github.com/vector-im/riot-web/issues/4913
Requires https://github.com/matrix-org/matrix-js-sdk/pull/1024
Implements part of [MSC1957](https://github.com/matrix-org/matrix-doc/pull/1957)
2019-08-22 14:49:20 -06:00
Travis Ralston 27504e1578 Prompt for terms of service on integration manager changes
Part of https://github.com/vector-im/riot-web/issues/10539
2019-08-15 13:28:23 -06:00
Travis Ralston 8b1c90a01e Convert to using im.vector.integration_manager for IM widget
This avoids us having to throw the entirety of MSC1957 into the queue, particularly when we're only using a third of the MSC.
2019-08-14 08:57:38 -06:00
Travis Ralston 03d735f4ed Support changing your integration manager in the UI
Part of https://github.com/vector-im/riot-web/issues/10161
2019-08-12 15:40:50 -06:00
Travis Ralston d2c7a5a979 Also check that the client even exists 2019-08-10 14:59:13 -06:00
Travis Ralston 58ccc7eb0c Don't fetch widgets unless logged in 2019-08-09 18:01:08 -06:00
Travis Ralston 74ce5c3541 Read integration managers from account data
For https://github.com/vector-im/riot-web/issues/4913 / https://github.com/vector-im/riot-web/issues/10161

Relies on the structure defined by [MSC1957](https://github.com/matrix-org/matrix-doc/pull/1957)

This is just the bit of code to parse the user's widgets (while watching for changes) and allow for it to be the default manager.
2019-08-09 17:35:59 -06:00
Travis Ralston 5a15e78fe4 Appease the linter 2019-08-09 16:14:36 -06:00
Travis Ralston ffa49df889 Refactor integration manager handling into a common place
It was already in a common place, but this is the boilerplate for supporting multiple integration managers, and multiple integration manager sources. 

For https://github.com/vector-im/riot-web/issues/4913 / https://github.com/vector-im/riot-web/issues/10161
2019-08-09 16:08:06 -06:00
J. Ryan Stinnett 39d5aa7cf4 Avoid visual glitch when terms appear for IM
This avoids a visual glitch where the Integration Manager portal would briefly
appear, but then be replaced by a smaller Terms dialog when there's something to
agree to.

To resolve this minimal code churn, this cheats a bit and customises the size of
the terms dialog to match the IM portal modal when terms are shown for IM
purposes.

Fixes https://github.com/vector-im/riot-web/issues/10386
2019-07-23 15:11:38 +01:00
David Baker f4be4ab271 Re-add logic for if no integ url is configured 2019-07-10 15:27:33 +01:00
David Baker 54aaabac74 Initial support for ToS dialogs for IS/IM
as per MSC2140
2019-07-09 18:51:56 +01:00