fix: paginate environment-document for local evaluation#204
fix: paginate environment-document for local evaluation#204emyller merged 4 commits intoFlagsmith:mainfrom
Conversation
cada705 to
fea5882
Compare
emyller
left a comment
There was a problem hiding this comment.
Thanks for the contribution! This will help us immensely in moving other projects too.
I've left one blocking comment, and another potential one.
|
I've opened #205, including updated acceptance criteria, and updated the description of this PR pointing to it. If you decide to meet all A/C — you're not required to! —, please update the comment to "closes". |
Follow Link: rel="next" until exhaustion instead of gating pagination behind opt-in limits, so local evaluation matches remote evaluation on large environments by default. When a refresh takes longer than the configured interval, log a warning naming both durations so operators know to raise WithEnvironmentRefreshInterval or trim the environment.
@emyller Pushed an update addressing the acceptance criteria from #205. Pagination now always follows Link: rel="next" to the end, the two opt-in limits are gone, and a warning is logged when a refresh exceeds WithEnvironmentRefreshInterval. I've also replied inline on both threads with the reasoning behind the original conservative approach for context. |
emyller
left a comment
There was a problem hiding this comment.
Great work, thank you! Adding to our release pipeline soon.
Satisfies the godot linter rule.
|
@emyller ops, linter issue solved haha |
|
Sorry, it looks like we need to handle tooling updates around linting/CI. Allow us a bit to get that sorted. |
|
@higordasneves Can you please update this branch with latest |
|
@emyller done |
|
FYI this has been release as part of v5.1.0. Again, thanks so much for the contribution! |
Closes #205
Summary
Adds pagination support for the local-evaluation environment document, addressing Flagsmith/flagsmith#4664 on the
Go SDK side. Before this PR the Go client only consumed the first page, silently dropping identity overrides that fall on
subsequent pages.
What changed
engine evaluation context exactly once at the end of the refresh cycle.
cap).
in. 0 means unlimited.
Link-paginated two-page response.
Behaviour notes
today. They opt in to pagination by setting the limit to 0 (unlimited) or a value > 1.
feature_states, project, segments, etc. are taken from page 1. This matches the Edge API's pagination contract.
warning is logged; the refresh otherwise succeeds with what was loaded.
Manual tests
Backward compatibility test
Pagination test