Skip to content

Frustrating experience reading docs for Initial bridge config (With suggestions) #95

Description

@itsmeehmon

I just went through the experience of setting up mautrix-whatsapp bridge using the docs, and I found the experience a bit rougher than I would have liked. I've listed some of my pain points and my suggestions as a bulleted list broken up by severity. The pages I interacted with were:
https://docs.mau.fi/bridges/general/initial-config.html
https://docs.mau.fi/bridges/general/double-puppeting.html
https://docs.mau.fi/bridges/general/registering-appservices.html

Gaps which caused actual problems for me enabling the bridge:

  • The docs and comments in the example doublepuppet.yaml say that the url is not required except for if your sever is a "non-spec-compliant server". It encounters a problem with that value left blank on element-synapse installed on debian 13. If that is non-spec-compliant, you should be more specific about what would make a server compliant/non-compliant, because I can't think of a more generic/"out of the box" way to be running a matrix server. If that should be considered a spec-compliant server, the text saying it's not necessary should be removed.
  • Postgres requires url-encouded passwords and the bridge will fail to start if given unescaped special characters in the db uri. This isn't really on mautrix and I can understand a resistance to writing documentation for postgres, but it will cause the bridge to fail and based on past experiences I believe is likely to be encountered by a non-trivial number of users and so is worth calling out regardless.

Bad practice for Documentation/Little "F you"s to the reader:

In general there seems to be an expectation of familiarity with functionality/configuration not explained in the section currently being read, it reached the point where I was actively frustrated on the Double Puppetting page.

  • Never, ever, EVER refer to functionality you have any reason to assume a user might be unfamiliar with as "The Usual Way". The page is linked from "Initial bridge config" as the # 1 recommended next step. You cannot be assuming that level of familiarity with other aspects of the software/configuration.

  • Step 3 contains mention to as_token:$TOKEN. This is extremely confusing, because not only is there no context provided for what the heck it does, it uses a different placeholder for the token than the line in the example config. That makes it read as completely unrelated. My initial assumption was that it was referencing a line in a different file not named there. Not good!

Nice-To-Haves/Low Priority:

  • SQLite and Postgres are mentioned as options for db config on the Initial Bridge Config. Links out to docs/repos or short code block with example config steps/commands would be nice.
  • On the registering appservices page, the Synapse section assumes the existence of a section in the config which is not guaranteed to exist. It would be nice to acknowledge that (ex. append something like "If the section is not present, add it at the end of the file" after "If necessary, copy the registration file somewhere where Synapse can read it. Then add the path to the file under app_service_config_files in Synapse's homeserver.yaml file." )

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions