Skip to content

fix(soprano): update instances and fix actualizer JSON schema#34

Merged
cofob merged 3 commits into
masterfrom
fix/31-soprano-instances
Mar 1, 2026
Merged

fix(soprano): update instances and fix actualizer JSON schema#34
cofob merged 3 commits into
masterfrom
fix/31-soprano-instances

Conversation

@cofob
Copy link
Copy Markdown
Owner

@cofob cofob commented Feb 26, 2026

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.", added source_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 broken InstancesResponse enum (which expected a url field or plain URL array) with a SopranoInstance struct matching the actual upstream schema (clearnet, tor, i2p string 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 expected

Links

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.
@cofob cofob merged commit deb00a3 into master Mar 1, 2026
8 checks passed
@cofob cofob deleted the fix/31-soprano-instances branch March 1, 2026 22:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix Soprano instance list

1 participant