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

Aggregate open work items #277

Open
KendallWeihe opened this issue Aug 6, 2024 · 5 comments
Open

Aggregate open work items #277

KendallWeihe opened this issue Aug 6, 2024 · 5 comments

Comments

@KendallWeihe
Copy link
Contributor

I'm doing the same over in tbdex-rs; it's time to put the project management hat on, now that we delivered a feature-complete variant of tbDEX, so that we can strategize upcoming work.

@KendallWeihe
Copy link
Contributor Author

KendallWeihe commented Aug 7, 2024

For starters, I would like to spend a day or two reviewing the APID in comparison to web5-go and try and converge closer to web5-go. We haven't touched this repo in about a month, but IIRC I chose to diverge a bit more than I think is comfortable to most from our old suite of SDKs. For that reason, I think it's well-intentioned and considerate to first and foremost try and bring us closer to the old suite of SDKs; the closer we are to the old SDKs, the easier the transition will be (namely, in updating our existing set of developer guides).

Thereafter...

  • Missing VC features: schema, evidence, status list (& maybe more -- do a review in relation to what's in web5-spec)
  • CI/CD
    • Take heavy inspo from tbdex-rs (as, tbdex-rs is the most up-to-speed project)
    • Add byte code build jobs (& remove byte code files from git repo) (edit: done)
    • Ensure FOSSA checks pass
    • Ensure tests are running (across both rust & kt)
      • Ensure existing suite of test vectors are integrated
    • ⭐ Add windows as a build target
    • Publish to Maven central
    • Publish to crates.io
  • Debug logging
    • Add debug logging like we did over in tbdex-rs
    • Add version to debug logs
  • Consider streamlining all errors into a single Web5SdkError like we do at the uniffi layer
    • Rename the RustCoreError inside the web5_uniffi project to Web5SdkError
  • Write all bound/kt code (a lot is missing)
    • Be sure to follow same patterns used over in tbdex-rs/bound/kt
  • Extend CLI features
    • Consider interactive DX for some features, such as creating a DID Doc w/ multiple services or VMs
    • The CLI should roughly match the APID, so there are a ton of features we can add here
    • Consider not requiring a Portable DID experience and instead adding integrations into secure solutions
  • Write READMEs
  • Enable full secp256k1 support
  • Duplicates from tbdex-rs 108
    • Align all major & minor versions (APID = rust crate = maven artifact) (will have to start-off-of Maven artifact)
    • Determine if UniFFI proc macros, instead of UDL, is a more maintainable approach; weigh the possibility of removing UniFFI altogether and building a custom FFI solution
    • WASM!
    • APID
      • Add error cases
      • FUNCTION type
      • JsonNode (or some equivalent?)
    • Add changelog
    • Consider pruning git history of the history of byte code files
    • Bridge the gap between local dev using the Justfile for things and the pipeline

@KendallWeihe
Copy link
Contributor Author

We need to remove the possibility of ring being introduced whatsoever (to prevent accidental usage)

@KendallWeihe
Copy link
Contributor Author

we need doc comments

@KendallWeihe
Copy link
Contributor Author

With the latest web5-spec publication I want us to re-open the can of worms around key management. I had previously gone down the route of offering Signer and Verifier interfaces, but the spec makes more of a point towards key managers. We should re-evaluate what our cryptography strategy here is.

@KendallWeihe
Copy link
Contributor Author

KendallWeihe commented Aug 21, 2024

We're missing some PEX features -- relevant

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

1 participant