-
Notifications
You must be signed in to change notification settings - Fork 1
Java SDK: All tests passing (294/294 unit, 138/138 cross-SDK) #11
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
Merged
Merged
Changes from all commits
Commits
Show all changes
83 commits
Select commit
Hold shift + click to select a range
0cf6ccf
fix: cross-SDK test compatibility fixes
joalves e399c35
fix: remove mutation during read lock in audienceMatches
joalves 419c47e
feat: add comprehensive test coverage improvements
joalves 935a36b
docs: add Spring Boot, Android examples and cancellation patterns to …
joalves 07c067d
fix: remove blocking calls and resource leaks from Java Android examples
joalves 12365ed
test: add canonical test parity (265 → 294 tests)
joalves 38327cb
fix: resolve critical bugs for 100% test pass rate
joalves a7a3604
fix: correct IN operator arg order and null equality handling
joalves 76e0293
feat: add convenience ABsmartly.create(endpoint, apiKey, app, env) fa…
joalves e4b79c0
refactor: replace positional create() factory with Builder pattern
joalves 05a8039
docs: update README documentation
joalves 61dd56c
fix: restore events on publish failure and allow override after close
joalves b9d48f6
feat(java-sdk): add readyError() method to Context
joalves f66822a
feat(java-sdk): add @Deprecated finalize aliases and standardize erro…
joalves 980f8fb
fix: read methods return safe defaults when context not ready or closed
joalves 4e1d396
feat: cross-SDK consistency fixes — all 201 scenarios passing
joalves ba6c3e5
refactor: rename ContextEventHandler to ContextPublisher
joalves 2b2775c
fix: address coderabbit review issues
joalves c70c02d
fix: add setContextPublisher to deprecated ABSmartlyConfig
joalves 06cefe5
fix(jsonexpr): restore haystack-first IN operator (CONTAINS semantics)
joalves 2ee5836
fix(jsonexpr): eq(null, null) returns null (canonical null-operand ha…
joalves 056008d
ci: build on JDK 17, apply spotless, fix example dependency
joalves 5ca4b58
fix: UTF-8 encode astral characters correctly in unit hashing
joalves 1abae87
test: add hermetic local-HTTP integration test for real fetch/publish
joalves e84b7c8
fix: restore Java 1.6 compatibility (build, CI, Buffers shim)
marcio-absmartly abed75c
feat: add Animal Sniffer Java 1.6 API floor enforcement
marcio-absmartly 617bcf2
fix: restore com.absmartly.sdk.ABSmartly and ABSmartlyConfig at origi…
marcio-absmartly e8c2987
fix: restore deprecated Context.create(ContextEventHandler) overload …
marcio-absmartly 63e094d
fix: remove Context.finalize() to prevent GC-triggered blocking publish
marcio-absmartly 0543a47
fix: replace CallerRunsPolicy with AbortPolicy in REGEX_POOL; cancel …
marcio-absmartly f0475e7
fix: correct publish-accounting in Context.flush() (addAndGet + close…
marcio-absmartly 1e15a6c
fix: comment and test hygiene (HashingTest, ContextFixTest, Concurren…
marcio-absmartly 6552512
fix: size REGEX_POOL from available processors with bounded queue and…
marcio-absmartly 59f7699
test: add deterministic rejection test for MatchOperator pool saturation
marcio-absmartly fc17886
test: add deterministic publish-accounting regression tests
marcio-absmartly 1fff931
test: cover facade classes; remove ABSmartly/ABSmartlyConfig jacoco e…
marcio-absmartly 77387dc
fix: comment and naming cleanups
marcio-absmartly 84150e0
test: simplify review regression coverage
marcio-absmartly 5c38dc9
test: bound publish-accounting test waits with @Timeout
marcio-absmartly 4dbfa29
docs: close context with try-with-resources in server examples
marcio-absmartly 7e9b0e0
test: name the http-endpoint test for what it asserts
marcio-absmartly c8b29b6
test: exercise DefaultHTTPClientRetryStrategy directly
marcio-absmartly a0603e3
test: restore the original retry-strategy tests
marcio-absmartly de9fffd
fix: await in-flight publish before closing a context
marcio-absmartly 135487c
fix: isolate the Publish log event from publish delivery accounting
marcio-absmartly e6c3714
fix: leave injected schedulers running when ABsmartly closes
marcio-absmartly 7032988
fix: synchronize close with publish restoration
marcio-absmartly b17b7d3
fix: await overlapping context publishes
marcio-absmartly 65fda17
fix: restore events when publisher throws
marcio-absmartly faeb67b
test: bound scheduler close checks
marcio-absmartly 0f0e910
style: format publish future array
marcio-absmartly 694df52
docs: record close sequencing verification
marcio-absmartly 07be5b9
fix: settle publishes before deregistration
marcio-absmartly 2c9d630
fix: isolate error logger from publish settlement
marcio-absmartly 8dc1fc7
test: remove nondeterministic close regression
marcio-absmartly 0916adb
test: cover publish settlement ordering
marcio-absmartly b99c900
test: simplify close settlement retry
marcio-absmartly 3b046cb
style: simplify closing publish array copy
marcio-absmartly 71510f9
fix: isolate publish lifecycle from callers
marcio-absmartly 84edd10
fix: allow publishers to close context
marcio-absmartly e1a5ec3
fix: narrow publisher invocation tracking
marcio-absmartly 5c94b65
fix: reopen context after publish restoration
marcio-absmartly 457497d
fix: recheck pending events before close
marcio-absmartly 0c30999
fix: reject close from publisher callback
marcio-absmartly 0609b6f
test: enforce publisher close contract
marcio-absmartly fe1daed
Revert "test: enforce publisher close contract"
marcio-absmartly 41e4325
Revert "fix: reject close from publisher callback"
marcio-absmartly 0bab8e5
Revert "fix: recheck pending events before close"
marcio-absmartly 14453b7
Revert "fix: reopen context after publish restoration"
marcio-absmartly 436ba37
Revert "fix: allow publishers to close context"
marcio-absmartly ba60895
fix: allow publishers to close context
marcio-absmartly 056e3bc
test: cover publishers closing context
marcio-absmartly 78802a6
test: bound publisher close waits
marcio-absmartly bcaee35
fix: restore ABSmartly API names
marcio-absmartly 2fdabf6
test: restore ABSmartly test names
marcio-absmartly cf22679
docs: restore ABSmartly examples
marcio-absmartly 40b360b
fix: remove regex execution limits
marcio-absmartly 0f89ea6
test: cover unrestricted regex operands
marcio-absmartly d8c2e79
fix: restore allocation-free UTF-8 encoding
marcio-absmartly 843a00d
fix: restore ContextEventHandler API names
marcio-absmartly bd22bb3
test: restore ContextEventHandler type names
marcio-absmartly a895178
test: format restored handler matcher
marcio-absmartly 39997ff
fix: preserve unpaired surrogate hashes
marcio-absmartly File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -11,3 +11,4 @@ | |
| *.log | ||
| build/ | ||
| out/ | ||
| .claude/ | ||
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.