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