Skip to content

Conversation

thomaspoignant
Copy link
Member

This PR

This is a complete rebuild of the GO Feature Flag provider.
This version is using a webassembly module to do in-process evaluation inside the provider.

You can still use the remote evaluation if you prefer through the OFREP endpoint of GO Feature Flag.

Things to know:

  • The default evaluation method is now the in-process one.
  • If you are using the remote evaluation, we are not managing any cache.
  • The provider is also now supporting tracking method

Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
@thomaspoignant thomaspoignant marked this pull request as draft August 5, 2025 17:38
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
@thomaspoignant thomaspoignant marked this pull request as ready for review August 5, 2025 17:50
Signed-off-by: Thomas Poignant <[email protected]>
@beeme1mr
Copy link
Member

beeme1mr commented Aug 5, 2025

Hey @thomaspoignant, I can configure Gemini here if you'd like. We've only enabled it in a few repos but it has worked well so far!

@thomaspoignant
Copy link
Member Author

Hey @thomaspoignant, I can configure Gemini here if you'd like. We've only enabled it in a few repos but it has worked well so far!

Yes I will be awesome if you can enable it here.

@beeme1mr
Copy link
Member

beeme1mr commented Aug 5, 2025

/gemini review

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request is a complete and impressive rebuild of the GO Feature Flag provider, introducing in-process evaluation via WebAssembly and remote evaluation via OFREP. The new architecture is well-structured, modular, and a significant improvement. My review focuses on ensuring documentation consistency and improving the maintainability of the build process.

Signed-off-by: Thomas Poignant <[email protected]>
@thomaspoignant
Copy link
Member Author

/gemini review

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request represents a significant and impressive overhaul of the GO Feature Flag provider, introducing in-process evaluation via WebAssembly and remote evaluation through OFREP. The new architecture is well-structured, with clear separation of concerns, and the addition of comprehensive documentation and tests is a great improvement.

My review focuses on a few minor areas for refinement:

  • Ensuring consistent timestamp generation for tracking events.
  • Correcting the error handling example in the README to align with the actual exceptions thrown.
  • Improving the logic for batching and publishing events to avoid potential race conditions.

Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
@thomaspoignant
Copy link
Member Author

/gemini review

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This is an impressive and comprehensive rewrite of the GO Feature Flag provider. The introduction of in-process evaluation via WebAssembly is a significant architectural improvement, and the new modular structure is much cleaner and more maintainable. The code quality is high, and the test coverage appears to be thorough. My feedback focuses on a few areas to improve robustness, particularly around asynchronous operations and potential race conditions.

@thomaspoignant thomaspoignant force-pushed the feat-goff-inprocess branch 5 times, most recently from 1091412 to 351ba45 Compare August 26, 2025 14:57
Signed-off-by: Thomas Poignant <[email protected]>
@thomaspoignant
Copy link
Member Author

/gemini review

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request is a significant and impressive rewrite of the GO Feature Flag provider, introducing in-process evaluation using WebAssembly and support for remote evaluation via OFREP. The changes are well-structured, with clear separation of concerns into evaluators, services, and hooks. The addition of a build script to manage the WASM binary is a thoughtful touch. My feedback focuses on improving the developer experience by clarifying the documentation and enhancing the flexibility of the build scripts. Overall, this is a high-quality contribution that modernizes the provider.

Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
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.

2 participants