Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: ably/ably-java
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: ably/ably-java
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: chore/liveobjects-add-basic-implementation
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 19 commits
  • 83 files changed
  • 2 contributors

Commits on Jun 8, 2026

  1. Configuration menu
    Copy the full SHA
    0410432 View commit details
    Browse the repository at this point in the history

Commits on Jun 9, 2026

  1. Configuration menu
    Copy the full SHA
    e226ba4 View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2026

  1. Configuration menu
    Copy the full SHA
    99d9dd9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    59a5ecc View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2026

  1. Addressed PR review comments on liveobjects public API

    - PathObjectSubscriptionOptions: validate depth fail-fast per RTPO19c1a,
      throwing AblyException with ErrorInfo(400, 40003) when depth <= 0.
      Depth is now a primitive int; the "no depth / infinite depth" state is
      expressed via a new no-arg constructor (mirrors ably-js `{}` options),
      so no null handling is needed
    - LiveMapValue: defensively copy binary payloads on creation and access,
      making the RTLMV3d immutability guarantee real for byte[] values
    - ObjectData#getBytes: document that the returned array is the underlying
      message payload and must be treated as read-only
    - JsonObjectPathObject/JsonArrayPathObject: reword "primitive resolution"
      javadoc for clarity
    - LiveMapPathObject#at: fix javadoc equivalence example to compile
      (get() returns base PathObject, so chain via asLiveMap())
    sacOO7 committed Jun 11, 2026
    Configuration menu
    Copy the full SHA
    11e87a7 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1213 from ably/feature/path-based-liveobjects-fin…

    …al-public-api
    
    [LiveObjects] Implement path-based LiveObjects public API
    sacOO7 authored Jun 11, 2026
    Configuration menu
    Copy the full SHA
    4f35df8 View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2026

  1. feat(liveobjects): add path-based RealtimeObject and channel.object a…

    …ccessor
    
    Introduce the public, strongly-typed, path-based LiveObjects entry point on a
    realtime channel, accessed via `channel.object`.
    
    - RealtimeObject: exposes `get()` returning the root LiveMapPathObject, and
      extends ObjectStateChange to subscribe to objects sync-state events
      (on/off/offAll).
    - ObjectStateChange / ObjectStateEvent: the SYNCING/SYNCED sync-state
      subscription API surface.
    - ChannelBase.object: a public field providing `channel.object` access. When
      the LiveObjects plugin is not installed, the field is assigned
      RealtimeObject.Unavailable - a null-object guard whose methods fail fast with
      a clear plugin-missing error (statusCode 400, code 40019) instead of an NPE,
      keeping the `channel.object.<method>()` syntax consistent in both cases.
    
    The plugin-present branch is intentionally left as a TODO until the LiveObjects
    plugin exposes the new io.ably.lib.object.RealtimeObject type (getInstance
    currently returns the legacy io.ably.lib.objects.RealtimeObjects).
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    sacOO7 and claude committed Jun 15, 2026
    Configuration menu
    Copy the full SHA
    bfb6de1 View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2026

  1. - Marked channel.object.get method non-blocking using completablefu…

    …ture
    
    - Replaced ObjectsSubscription import with Subscription as per requirement
    sacOO7 committed Jun 16, 2026
    Configuration menu
    Copy the full SHA
    f053c49 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1216 from ably/chore/liveobjects-basic-implementa…

    …tion-for-path-based-interfaces
    
    [AIT-928] feat(liveobjects): add path-based RealtimeObject and channel.object accessor
    sacOO7 authored Jun 16, 2026
    Configuration menu
    Copy the full SHA
    18485d6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6227b75 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2026

  1. Merge remote-tracking branch 'origin/feature/path-based-liveobjects-i…

    …mplementation' into chore/liveobjects-add-basic-implementation
    sacOO7 committed Jun 17, 2026
    Configuration menu
    Copy the full SHA
    68edd4b View commit details
    Browse the repository at this point in the history
  2. Added impl. for DefaultObjectMessage and WireObjectMessage along with…

    … relevant
    
    error codes under `Errors.kt`
    sacOO7 committed Jun 17, 2026
    Configuration menu
    Copy the full SHA
    548c0b5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    af0b39e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f74ae1d View commit details
    Browse the repository at this point in the history
  5. - Implemented ResolvedValue class for resolving value at given path

    - Marked PathObject#getValue as nullable when value doesn't exist at given path
    sacOO7 committed Jun 17, 2026
    Configuration menu
    Copy the full SHA
    54ae53f View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    0a9ea02 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    3c25c13 View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2026

  1. Configuration menu
    Copy the full SHA
    94b96a4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c8a283d View commit details
    Browse the repository at this point in the history
Loading