Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update crate to match v1.0-beta.1 of p2-core #44

Closed
35 tasks done
bitfl0wer opened this issue Jan 2, 2025 · 2 comments · May be fixed by #48
Closed
35 tasks done

Update crate to match v1.0-beta.1 of p2-core #44

bitfl0wer opened this issue Jan 2, 2025 · 2 comments · May be fixed by #48
Milestone

Comments

@bitfl0wer
Copy link
Member

bitfl0wer commented Jan 2, 2025

Once v1.0-beta.1 of the protocol specification document (and its complementary API documentation) is released, work should be started to update the polyproto Rust crate to that version of the specification. The base work is already done and we have a solid foundation - things just need to be updated.

For that, I am going to go through each chapter of the protocol definition again and make sure that all aspects I can think of are covered by the crate.

Chapters

  • 1. Terminology used in this document
  • 2. Trust model
  • 3. APIs and underlying communication protocols
  • 3.1 .well-known
  • 3.2 WebSocket Protocol
  • 3.3 Events over REST
  • 3.4 HTTP
  • 3.5 Internet Protocol (IP)
  • 3.6 Compression
  • 4. Federated identity
  • 4.1 Authentication
  • 4.2 Challenge strings
  • 4.3 Protection against misuse by malicious home servers
  • 5. Federation IDs (FIDs)
  • 6. Cryptography and ID-Certs
  • 6.1 Home server signed certificates for public client identity keys (ID-Cert)
  • 6.2 Actor identity keys and message signing
  • 6.3 Private key loss prevention and private key recovery
  • 6.4 Caching of ID-Certs
  • 6.5 Cryptographic specifications
  • 6.6 Best practices
  • 7. Migrations
  • 7.1 Identity migration
  • 7.2 Re-signing messages
  • 7.3 Moving data
  • 7.4 Challenges and trust
  • 8. Protocol extensions (P2 extensions)
  • 8.1 Extension design
  • 8.2 Namespaces
  • 8.3 Officially endorsed extensions
  • 8.4 Versioning and yanking
  • 8.5 Dependencies
  • 8.6 Routes
  • 9. Services
  • 9.1 Discoverability
@bitfl0wer bitfl0wer moved this to Todo in Polyphony Roadmap Jan 2, 2025
@bitfl0wer bitfl0wer changed the title Update crate to match v1.0-alpha.1 of p2-core Update crate to match v1.0-beta.1 of p2-core Jan 11, 2025
@bitfl0wer bitfl0wer added this to the v0.10.0 milestone Jan 28, 2025
@bitfl0wer bitfl0wer mentioned this issue Feb 23, 2025
@bitfl0wer
Copy link
Member Author

bitfl0wer commented Mar 5, 2025

Resume gateway functionality will be missing from the 0.10 release, as will events over REST functionality. Does this mean this crate is teeeeeeeeeeeeeeeeeeeeeeeeeeeechnically non spec-compliant? yes. But everything is still in alpha/beta—things change so often, that this does not matter at all for now.

@bitfl0wer
Copy link
Member Author

Work here is pretty much completed! Lives on the v0.10 branch and will be merged soon.

@github-project-automation github-project-automation bot moved this from Todo to Done in Polyphony Roadmap Mar 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

1 participant