Skip to content

Conversation

@shwetha-manvinkurke
Copy link

@shwetha-manvinkurke shwetha-manvinkurke commented Aug 18, 2025

Sync Upstream Main

Summary

This PR syncs the latest changes from the upstream ably-java repository into the HubSpot fork.

Changes

  • Merged latest upstream changes from ably/ably-java main branch
  • No code changes - this is a sync-only PR
  • Branch is up to date with upstream commit: 2c365487

Note:
The fatJar task was added to resolve dependency conflicts with the hubspot managed dependencies. The specific exclusions in the filter are:

  • findbugs: Static analysis tool that's not needed at runtime
  • jcip-annotations: Concurrency annotations only needed at compile time
  • slf4j: Logging facade that can cause conflicts when multiple versions are present

This creates a single executable JAR with all runtime dependencies while avoiding classpath conflicts from these problematic dependencies.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update
  • Maintenance/sync

Testing

  • Build passes locally
  • JAR files generate successfully (java.jar and java-sources.jar)
  • Unit tests (some existing test failures unrelated to sync)

Notes

This sync brings the HubSpot fork up to date with the latest upstream changes. No functional changes were made as part of this sync.

ttypic and others added 30 commits July 19, 2024 09:39
The error messages are subject to change, but the codes are not, so
assert the code instead.

Signed-off-by: Lewis Marshall <[email protected]>
tests: Assert connection error code rather than message
…nnelOption

Fix implicit attach on subscribe
- Extracted HTTP calls and WebSocket listeners into a separate module.
- Introduced an abstraction layer for easier implementation swapping.
Also add algorithm how to add new engine in the `CONTRIBUTING.md` guide
chore: rearrange code before refactoring
refactor: decouple HTTP and WebSocket engines
feat: OkHttp implementation for making HTTP calls and WebSocket connections
feat: introduced retry rules for flaky android push tests
sacOO7 and others added 23 commits August 4, 2025 19:15
…verage

- Added extensive unit tests for LiveCounterManager tombstone serial handling
- Enhanced LiveMapManagerTest with comprehensive tombstone serial scenarios
- Updated DefaultLiveCounterTest and DefaultLiveMapTest for tombstone serial validation
- Implemented thorough test coverage for server-provided tombstone serial functionality
- Added ObjectsCallback interface replacing generic Callback for Live Objects operations
- Updated LiveObjects interface to extend ObjectsStateChange and use ObjectsCallback
- Refactored LiveCounter and LiveMap async methods to use ObjectsCallback instead of Callback
- Added comprehensive Javadoc for ObjectsCallback with operation-specific guidance
…alue union type

- Added DefaultLiveObjectsTest with 187 lines of comprehensive Live Objects integration tests
- Implemented complete integration test suite covering getRoot functionality
- Enhanced test coverage for Objects state management and synchronization
- Added integration tests for ObjectsCallback interface and async operations
- Completed comprehensive test coverage for all Live Objects core functionality
- Enhanced ObjectIdTest with testFromInitialValue test for object initialization
- Added new test methods to UtilsTest for realtime operation utilities
- Updated ObjectMessageSizeTest with realtime write operation size calculations
[ECO-5426][LiveObjects] Implement object sync / operation
…ored

[ECO-5076][LiveObjects] Implement getters for objects, map and counter
…efactored

[ECO-5458][LiveObjects] Implement object subscriptions
…one-serial-refactored

[ECO-5447][LiveObjects] Use server-provided timestamp to sweep old tombstones
…rite-api-refactored

[ECO-5482][LiveObjects] Implement realtime write API
[ECO-5383][LiveObjects] Enable maven publish
- Adjusted channel state checks prior to channel modes for read
and write objects operations
- Added getChannel method to adapter interface, added relevant ensureAttached
method with relevant implementation
…lpers

- Removed unnecessary implementation from Adapter, made it clean
- Updated unit tests/mocks accordingly
…s prefix

- Renamed LiveObjects interface to RealtimeObjects
- Removed Live prefix from other interfaces, kept them with Objects*
- Removed use of liveobject keyword from the library since its reserved for
business use case
[ECO-5517] Implement getRoot implicit attach
…ive-objects` module

live-objects can be used both with ably-java and ably-android, making dependency `compileOnly` we prevent adding specific module (ably-java or ably-android) to the classpath
[LiveObject] Refactor/rename liveobjects classes
chore[live-objects]: change `:java` dependency to `compileOnly` in `live-objects` module
@shwetha-manvinkurke shwetha-manvinkurke marked this pull request as ready for review August 20, 2025 17:58
@ssahu
Copy link

ssahu commented Aug 26, 2025

LGTM

Copy link

@nubsicles nubsicles left a comment

Choose a reason for hiding this comment

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

:shipit:

@shwetha-manvinkurke shwetha-manvinkurke merged commit 49be53e into main Aug 26, 2025
10 of 11 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.

10 participants