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

🚧 Roadmap to v1 #7

Open
4 of 29 tasks
tmaxmax opened this issue Jul 11, 2023 · 1 comment
Open
4 of 29 tasks

🚧 Roadmap to v1 #7

tmaxmax opened this issue Jul 11, 2023 · 1 comment
Assignees
Labels
good first issue Good for newcomers
Milestone

Comments

@tmaxmax
Copy link
Owner

tmaxmax commented Jul 11, 2023

Here's what's planned for v1, listed by priority:

  • Improve internal parsing API (Next version – various refactors and cleanups #6, 1352b29)
  • Improve server-side message creation API
  • Improve server implementation
    • Fix memory leak in FiniteReplayProvider (use circular buffer in FiniteReplayProvider #23)
      • Refactor ValidReplayProvider as a consequence of the changes made by the other PR
    • Add benchmarks for all server components and create some end-to-end performance testing of the server for common use-cases (input from the community would help, 👋 Are you using go-sse? #24)
    • Re-evaluate the Session API, OnSession and MessageWriter – could we do without them and use standard net/http types instead?
  • Improve client
    • Modify response validators so they're able to signal if an error is temporary or not
    • Experiment and try to receive feedback on a new, potentially simpler API (Alternative SSE client #25)
  • Internal parser
  • General codebase improvements:
    • Remove all panics
      • Use constructors which return errors instead of lazily initialized objects which panic later at runtime if configuration parameters are invalid
    • Improve testability of all APIs
    • Refactor tests to ensure full coverage of all use cases and edge cases and remove flakiness
    • Fix or improve documentation, add more examples where necessary
  • Experiment with splitting the codebase into multiple modules and making it a monorepo using go.work (Split code into multiple modules #26)
  • At least an additional provider implementation (e.g. for Redis, nats-io or other) (see also Lets add a NATS provider #13, Are there any existing providers out there besides Joe? #19)
  • Add event parser to the sse module? (the code in internal/parser – is there demand for this?)
  • Project process and discoverability improvements (as activity surrounding it grows)
    • Create a vulnerabilities reporting policy
    • Add known use-cases, projects which use go-sse, external provider implementations if any to README
    • Create issue templates, relevant labels for sorting etc.
  • The test of time – try to grow usage of library, solve issues or requests that may pop up, and wait for things to be stable
@tmaxmax tmaxmax added the good first issue Good for newcomers label Jul 11, 2023
@tmaxmax tmaxmax added this to the v1 milestone Jul 11, 2023
@tmaxmax tmaxmax self-assigned this Jul 11, 2023
@tmaxmax tmaxmax pinned this issue Jul 11, 2023
@tmaxmax tmaxmax changed the title Roadmap to v1 🚧 Roadmap to v1 Jul 11, 2023
@tmaxmax tmaxmax mentioned this issue Jun 2, 2024
@Pramodh-G

This comment was marked as resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

2 participants