Skip to content

Conversation

nicklasl
Copy link
Member

@nicklasl nicklasl commented Oct 10, 2025

Summary

Adds sticky assignment support to the JavaScript OpenFeature provider using remote resolver fallback.

How it works

  • Local WASM resolver attempts to resolve flags first
  • If sticky assignment data is needed, falls back to Confidence cloud resolvers
  • Zero configuration required - works out of the box

Key changes

  • Implemented ResolveWithStickyRequest support in provider
  • Added remote resolver fallback for missing materializations
  • Updated README with sticky assignments documentation

🤖 Generated with Claude Code

@nicklasl nicklasl marked this pull request as ready for review October 16, 2025 09:18
@nicklasl nicklasl changed the title feat: JS sticky resolve support with materialized assignments feat(js): add sticky assignment support with remote resolver fallback Oct 17, 2025
Copy link
Contributor

@andreas-karlsson andreas-karlsson left a comment

Choose a reason for hiding this comment

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

There is still a lot of references to MaterializationRepository etc? Basically I don't expect any changes to public API at this point?
When it comes to tests I think we should focus on a few tests that verify the fallback works. Since this PR was opened there has been a lot of new network tests added that with test-helpers that mock the whole network. Should come in handy for this!

@nicklasl nicklasl changed the title feat(js): add sticky assignment support with remote resolver fallback feat(js): add sticky assignment support through remote resolver fallback Oct 20, 2025
Copy link
Contributor

@andreas-karlsson andreas-karlsson left a comment

Choose a reason for hiding this comment

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

There was some updates while I was reviewing so some comment might be outdated.


---

## Sticky Assignments
Copy link
Contributor

Choose a reason for hiding this comment

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

I think the docs are good, but could do a little more to explain that currently it comes with a drastic latency penalty? Like a styled info box.

Copy link
Member Author

Choose a reason for hiding this comment

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

fixed

- Add sticky resolve support for materialized assignments
- Implement RemoteResolverFallback as default strategy
- Simplify public API to accept MaterializationRepository
- Add router configuration for flags resolve endpoint

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>

refactor: remove references to materialization repo

test: changed tests
test: run e2e tests during make test

ci: pass the environment vars into docker
feat: add e2e test support in Docker builds

- Add all-e2e target that runs e2e tests with credentials
- Default docker build skips e2e tests (no credentials needed)
- CI runs all-e2e target with GitHub secrets
- E2E tests skip gracefully when credentials not provided

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Copy link
Contributor

@andreas-karlsson andreas-karlsson left a comment

Choose a reason for hiding this comment

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

Nice!

@nicklasl nicklasl merged commit baeff3e into main Oct 22, 2025
3 checks passed
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