You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As I wanted to check if #17462 can be fixed by using oEmbed I stumbled upon parsing issues in the oEmbed config parser. I used the official provider official providers.json from https://oembed.com/providers.json
The config parser throws an error and hinders Synapse from starting, when a provider in the providers.json does not contain the "schemes" key, IMO this should just throw a warning and not error out.
When a provider in the providers.json does not have a 'schemes' entry it can't be used directly in Matrix, as there is no URL pattern to match, these entries without 'schemes' are seemingly only there to signal that these websites have a discoverable oembed provider.
You can see which providers don't have schemes via this jq command: jq '.[] | select(.endpoints[].schemes == null)' providers.json
Start Synapse and immediately see the error that schemes are required
After you have removed the entries which contain no scheme, start synapse again and you'll see the error with the spotify scheme.
Homeserver
Synapse Version
1.113.0
Installation Method
Docker (matrixdotorg/synapse)
Database
Workers
I don't know
Platform
Not relevant for the issue but I use Debian on a Dedicated Server and Synapse runs inside Docker
Configuration
No response
Relevant log output
# This is the log output for the first issue:
Error in configuration at 'oembed.additional_providers.<item 0>.<item 282>.endpoints.<item 0>':
'schemes' is a required property
# This is the log output for the second issue:
Error in configuration at 'oembed.additional_providers.<item 0>':
Unsupported oEmbed scheme (spotify) for pattern: spotify:*
I directly knew what the providers.json is and where to get it from, but I don't think that it is mentioned anywhere in the docs.
Also a direct link to the providers.json that gets shipped by default would be helpful. I at first thought Synapse wouldn't ship one contrary to what the docs state, but the problem was I only searched for oembed, and @clokep pointed me to the link where it can be found https://github.com/element-hq/synapse/blob/develop/synapse/res/providers.json
The text was updated successfully, but these errors were encountered:
Description
As I wanted to check if #17462 can be fixed by using oEmbed I stumbled upon parsing issues in the oEmbed config parser. I used the official provider official
providers.json
from https://oembed.com/providers.jsonThe config parser throws an error and hinders Synapse from starting, when a provider in the providers.json does not contain the "schemes" key, IMO this should just throw a warning and not error out.
When a provider in the providers.json does not have a 'schemes' entry it can't be used directly in Matrix, as there is no URL pattern to match, these entries without 'schemes' are seemingly only there to signal that these websites have a discoverable oembed provider.
You can see which providers don't have schemes via this jq command:
jq '.[] | select(.endpoints[].schemes == null)' providers.json
This is the current output of this command:
The Parser also errors out for this spotify scheme:
spotify:*
. Again IMO this should probably just throw a warning instead of erroring out.This would make it easier to just grab the latest providers.json from https://oembed.com and use it. (Which could make Dynamically fetch
oembed
provider metadata (for url previews) #9877 possible)Steps to reproduce
Start Synapse and immediately see the error that schemes are required
After you have removed the entries which contain no scheme, start synapse again and you'll see the error with the spotify scheme.
Homeserver
Synapse Version
1.113.0
Installation Method
Docker (matrixdotorg/synapse)
Database
Workers
I don't know
Platform
Not relevant for the issue but I use Debian on a Dedicated Server and Synapse runs inside Docker
Configuration
No response
Relevant log output
Anything else that would be useful to know?
The docs should probably be refined a bit https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#oembed
I directly knew what the providers.json is and where to get it from, but I don't think that it is mentioned anywhere in the docs.
Also a direct link to the providers.json that gets shipped by default would be helpful. I at first thought Synapse wouldn't ship one contrary to what the docs state, but the problem was I only searched for oembed, and @clokep pointed me to the link where it can be found https://github.com/element-hq/synapse/blob/develop/synapse/res/providers.json
The text was updated successfully, but these errors were encountered: