pachli-android/tools/mkserverversions/README.md
Nik Clayton 5cfe6d055b
fix: Improve parsing of Friendica (and other server) version formats (#376)
Previous code could return an error on Friendica version strings like
`2024.03-dev-1547`.

Fix this:

- Extend the list of explicitly supported servers to include Fedibird,
Friendica, Glitch, Hometown, Iceshrimp, Pixelfed, and Sharkey.

- Add version parsing routines for these servers.

- Test the version parsing routines fetching every server and version
seen by Fediverse Observer (~ 2,000 servers) and ensuring that the
server and version information can be parsed.

Improve the error message:

- Show the hostname with a `ServerRepository` error

Clean up the code:

- Remove the custom `resultOf` and `mapResult` functions, they have
equivalents in newer versions of the library (like `runSuspendCatching`)

Fixes #372
2024-01-23 20:27:25 +01:00

25 lines
686 B
Markdown

# mkserverversions
## Synopsis
`mkserverversions` creates a JSON5 file that maps different Fediverse server
names to a list of the different version strings seen for those servers, as
recorded by [Fediverse Observer](https://fediverse.observer).
This is used as input data for `core/network/ServerTest`, to ensure that the
version parsing code can handle real-world version strings.
Run `mkserverversions` every month to update the test data, and update the
parsing code if any of the tests fail.
## Usage
From the parent directory, run:
```shell
./runtools mkserverversions
```
Verify the modifications made to `server-versions.json5`, re-run the tests,
and commit the result.