pachli-android/tools/mkserverversions
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
..
src/main fix: Improve parsing of Friendica (and other server) version formats (#376) 2024-01-23 20:27:25 +01:00
README.md fix: Improve parsing of Friendica (and other server) version formats (#376) 2024-01-23 20:27:25 +01:00
build.gradle.kts fix: Improve parsing of Friendica (and other server) version formats (#376) 2024-01-23 20:27:25 +01:00
settings.gradle.kts fix: Improve parsing of Friendica (and other server) version formats (#376) 2024-01-23 20:27:25 +01:00

README.md

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.

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:

./runtools mkserverversions

Verify the modifications made to server-versions.json5, re-run the tests, and commit the result.