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." )
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:
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: