Open turt2live opened 4 years ago
The logs look like this on riot-desktop:
Updating homeserver-configured integration managers...
Homeserver has no integration managers
Although the riot-web finds the integration manager.
@luilegeant
Well in your case it simply looks like the well-known isn't being observed.
Are there no other instances of Updating homeserver-configured integration managers...
in the logs?
If you could; open the Javascript Console (Ctrl Shift I / Cmd Optn I)
and type mxMatrixClientPeg.matrixClient.getClientWellKnown()
posting the result here.
Thanks
Hello @t3chguy, when I read your answer, this is my first thought: how is the .well-known
related to this ? I haven't seen (yet) any reference to the integration server in the well-known for matrix/client
and matrix/server
. If my .well-known
needs to be updated, could you point me towards the documentation.
Second, no, there is no other occurences of the message Updating homeserver-configured integration managers...
in the logs (I killed the app: only single occurrence in logs & rebooted my laptop to be sure: same result).
Lastly, here is what is returned by mxMatrixClientPeg.matrixClient.getClientWellKnown()
:
{"m.homeserver":{"base_url":"https://matrix.luilegeant.com"},"m.identity_server":{"base_url":"https://vector.im"}}
I did a json.stringify on the result to be able to copy paste it.
Where did you specify your integrations manager then? If config.json then where did you put the config.json?
:bulb: only in the riot-web configuration...
Because the dimension homepage doesn't mention it, or not clearly enough for me. It just says: Here's the configuration options you'll need to update in your Riot config.json
to me it was saying "update the riot-web config.json" because I never touched the riot-deskopt config.json file.
So, back to my question above, where in the doc does it mention to update the .well-known/matrix/client
and what should I put inside ?
Could we add this on the landing page that we are referencing here ?
update the riot-web config.json
Well as you have found, if you don't equally update the config for riot-desktop it will not work. https://github.com/vector-im/riot-desktop#user-specified-configjson has the docs on riot-desktop's config.json - however you might be better served by well-known: https://github.com/matrix-org/matrix-doc/blob/master/proposals/1957-integrations-discovery.md
If you want it documented in Dimension's docs then you should open an issue there.
Hello, Sorry for the long delay.
Here are my findings:
.well-known/matrix/client
info (I don't want to wait for the x hours before the lifetime expires or the app decides to re-download the client info):
ctrl+f5
(if doesn't work put your cursor in active mode (blinking) in the dev tools and retry)mxMatrixClientPeg.matrixClient.getClientWellKnown()
rerturning updated data.Disconnect & relog into the riot-desktop doesn't seem to do the trick (for me anyway during these tests).
domain.tld/.well-known/matrix/integrations
doesn't seem to do anythingReading the MSC1957: Via domain.tld/.well-known/matrix/client
2 cases tried:
A. Adding this section in the .well-known/matrix/client
doesn't change anything
"m.integrations_widget": { "url": "https://dimension.luilegeant.com/riot", "data": { "api_url": "https://dimension.luilegeant.com/api/v1/scalar" } }
B. Adding this section in the .well-known/matrix/client
doesn't change anything
"m.integrations": { "managers": [ { "api_url": "https://dimension.luilegeant.com/api/v1/scalar", "ui_url": "https://dimension.luilegeant.com/riot" } ] }
C. And putting both inside doesn't change anything either.
Hm, my dimension setup in riot-desktop via .well-known was working until this morning, when I upgraded from 1.6.4 to 1.6.8 (archlinux package). Now I'm back to scalar. :-/
This is what it looks like when typing thing into the console:
Yup, this is the same case for me. Interestingly enough my local Laptop does it correctly but another user from the same home server has issues accessing the integration manager even though the sticker picker is pointing to the right direction. This persists in 1.7.0
For me it's the same Problem as above... The well-known record was working fine until 1.6.8 And as far as i understand: scalar.vector.im is now stuck there since the desktop app basically never updates those settings via well-known once logged in?
I am having same problems even in dev tools it shows the correct url etc -> dimension works over chrome web ( new elementor previously riot ) but not in desktop app instead of our dimension it shows scalar.vector.im
I'm hitting this in Firefox with Radical and riot.im/develop too.
Uncaught (in promise) TypeError: this._managers is undefined
_setupHomeserverManagers webpack-internal:///559:123
emit webpack-internal:///28:157
_fetchClientWellKnown webpack-internal:///458:4844
aha, I think thats the problem!
Not to resurrect anything, but this problem persists in Element Desktop. Do we know if the upstream fix has made it into a release yet?
https://github.com/matrix-org/matrix-react-sdk/pull/5010/commits/7453f8dd071b525b522bca525bc331d26866849b says it has been included in 2 releases so far. So if you are on 1.7.2 or 1.7.3 and it still doesn't work then send logs from Settings.
This seems to have regressed again.
@t3chguy debug logs sent with refenrence to this issue.
2020-08-23T11:42:40.850Z I Updating homeserver-configured integration managers...
2020-08-23T11:42:40.850Z I Homeserver has 1 integration managers
...
2020-08-23T11:49:13.082Z I Updating homeserver-configured integration managers...
2020-08-23T11:49:13.083Z I Homeserver has no integration managers
It seems like it gets set and then later cleared in your logs @Bubu, very strange
I believe the second entry was me calling setupHomeserverManagers() manually after noticing it didn't work.
I've resent the logs after a restart without fiddling with the dev-tools this time.
Hmm, those logs correctly show Homeserver has 1 integration managers
which is strange, do you have an integrations manager in your account data? Did you ever use the multiple integrations manager feature?
I have this in my account data, but I don't think that is what you are looking for?
{
"type": "im.vector.setting.integration_provisioning",
"content": {
"enabled": true
}
}
Did you ever use the multiple integrations manager feature?
No.
This is getting interesting... :thinking:
Right now I had dimension back without a restart since reporting the issue yesterday. I just went ahead and restarted element-desktop again. And I'm back on scalar.
I think I am having this issue on develop.element.io with it saying that my integration server is dimension.aragon.sh. How can I change it back to Scalar to manage integrations made with it?
Same issue with riot-desktop here: Homeserver has 1 integration managers
appeared in console but the only available integration was still Scalar. I got a .well-known/matrix/client
defined as luilegeant's one and have no issue with riot-web.
Managed to get my Dimension integration on riot-desktop by manually updating the mxIntegrationManagers
. A bit annoying but it's working.
In the DevTools console:
this.mxIntegrationManagers.sharedInstance()
this.mxIntegrationManagers.instance.setupHomeserverManagers(this.mxIntegrationManagers.sharedInstance().client.getClientWellKnown())
to update the manager with the data from your .well-known/matrix/client
Yeah. I can report that this issue continually appears no matter the version of client. It's hard to pin down exactly what's driving it but I have multiple users on my homeserver who cannot get a reliable integration experience because of this. my .well-known is properly configured, I personally get it to work somehow on my desktop and web clients...
I am testing with a smart user right now, so we'll see.
Same issue with riot-desktop here:
Homeserver has 1 integration managers
appeared in console but the only available integration was still Scalar. I got a.well-known/matrix/client
defined as luilegeant's one and have no issue with riot-web.Managed to get my Dimension integration on riot-desktop by manually updating the
mxIntegrationManagers
. A bit annoying but it's working. In the DevTools console:* get the current state with `this.mxIntegrationManagers.sharedInstance()` * execute `this.mxIntegrationManagers.instance.setupHomeserverManagers(this.mxIntegrationManagers.sharedInstance().client.getClientWellKnown())` to update the manager with the data from your `.well-known/matrix/client` * restart the riot-desktop client
I tried this - my .well-known/matrix/client should be as in described in the linked post but CORS happens - could that be the problem or am I not allowed to call that funktion directly?
@xelantro you have not configured your .well-known/matrix/client
file correctly. You need to add an Access-Control-Allow-Origin header so that Element can access the file. https://matrix-org.github.io/synapse/develop/setup/installation.html#client-well-known-uri
thanks a lot - I actually did that but since my .well-known file is handelt by a seperate server behind a reverse proxy I tryed to set the header twice (so I had to remove the heady from my outer server)
I also have to report that Element Desktop (nightly and stable) does not reliably use the integration manager configured via .well-known
. It worked at first, but a restart later it used Scalar again. I had to restart a few times to get Element to use my Dimension again. In all cases Homeserver has 1 integration managers
appeared in the log.
Anything I can do to help debug this?
I have verified that CORS is properly set and that the return body is correct, and all headers are correct. Still manifests this errors, and its super frustrating as it outright cripples a major set of functionality.
My Element Desktop also does not use the integration manager which I have specified using the client-wellknown. I have doublechecked the CORS configuration. Although it worked once after restarting Element-Desktop the first time. Now not even a restart brings dimension back :/
Element version: 1.10.4
Wouldn't it be easier to just let the user define a preferred integration manager via a textbox? Just like it is already done for identity servers?
This is so random... I bet it's changing to scalar again on the next restart
I've setted up my own matrix server with the ansible playbook and experiencing the same problem, very frustrating 😅
I'm an ansible playbook user too. I figured out a workaround to get this to work, rather... I can tell what the cause of this issue is and maybe a dev can fix it.
https://github.com/vector-im/element-desktop/issues/905 < this comment was helpful.
Basically, if you're sure your instance is serving .well-known (probably is if iOS/Android/Web was working like it was for me), you need to clear Electron's cache because the clear cache button won't work inside element-desktop, nor will blowing out the entire config directory for element-desktop. Nope, electron wants to cache the wrong .well-known until whenever it feels like. Only way to stop it being stupid is to fire up inspector, tick the disable cache box, and force reload the app.
We facing very similar issues with all-latest versions of Element Desktop, Synaps and Dimension. Even though everything is configured the right way using the .well-known client configuration, the integration manager is being reverted back to scalar after a little while. Executing the following in the debug console reverses this in the preference panel (but doesn't fix the broken tokens, so sticker picking etc is not actually working):
this.mxIntegrationManagers.instance.setupHomeserverManagers(this.mxIntegrationManagers.sharedInstance().client.getClientWellKnown())
It happens for existing and new users, and disabling the cache does not prevent this form happening.
Web appears unaffected