fix(soprano): update instances and fix actualizer JSON schema#34
Merged
Conversation
The upstream instances.json uses clearnet/tor/i2p string fields per entry, not a url field or a plain URL array. Replace the old InstancesResponse enum with a SopranoInstance struct that deserializes those three fields, filters empty strings, and parses each as a Url. Also populate services.json with the 8 current upstream instances and remove the stale deprecated_message. Closes #31
Commit 24b1e72 accidentally modified the beatbump entry instead of soprano, wrongly assigning Soprano's source_link and clearing the deprecated_message despite beatbump having no instances.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Soprano is still active — the project was incorrectly marked as deprecated with no instances. This PR restores 8 current instances (clearnet, Tor, i2p) from the upstream list and fixes the actualizer so it can keep them up to date automatically.
Changes
services.json: removed"deprecated_message": "No instances.", addedsource_link, and populated 8 instances (sp.vern.cc, soprano.catsarch.com, tenor.fsky.io — each with clearnet, Tor, and/or i2p variants)soprano.rs: replaced the brokenInstancesResponseenum (which expected aurlfield or plain URL array) with aSopranoInstancestruct matching the actual upstream schema (clearnet,tor,i2pstring fields)Testing
cargo run -p fastside-actualizer -- --log-level debug actualize -u soprano -o /tmp/out.json— fetched and parsed all 8 instances correctly; deduplication against existing entries worked as expectedLinks