Skip to content

v0.1.2

Choose a tag to compare

@dmitrizagidulin dmitrizagidulin released this 07 Sep 18:36
· 23 commits to main since this release

Added

  • The driver's swallow points now log: the ack write-back failure at warn, and
    the benign-412 delete re-issue and the conflict hand-back at debug.

Changed

  • Breaking: FakeWasServer is removed from @interop/was-sync/testing. The
    integration suite now runs against a live in-process was-teaching-server
    through the real createWasSyncPort from @interop/was-client, so the
    server's conditional-write, tombstone, and changes-feed behavior is
    exercised rather than modeled (WS-11). The stub port and the memory schedule
    and online source remain on the subpath.
  • Breaking: SyncLogPort and the per-call log options on
    createSyncController, makeConflictHandler, lwwResolver, and
    makeLwwConflictHandler are removed. The package adopts the ecosystem logging
    library port instead: setLogger and the Logger type on the root entry. An
    app wires one logger once at bootstrap, e.g.
    setLogger(createLogger('sync')); the console fallback (prefixed
    [was-sync]) applies otherwise (WS-12).

Fixed

  • A delete's 404 no longer wedges the push batch on the default was-client
    port. The push handler reads the not-found signal from deleteContent (by
    err.name) as the already-gone outcome, matching what a mapAuthErrors: true
    port already resolves itself, so the batch completes and its other rows land
    (WS-1). A spec-conformant server answers 204 for an authorized delete of an
    absent resource; the 404 on that path is a masked authorization refusal,
    which still surfaces on the next feed pull.
  • The packaging suite (formerly test:dist) is now test:packaging and lives
    in test/packaging/. The old test/dist/ directory matched the unanchored
    dist line in .gitignore, so the suite was never committed and CI failed
    with "No test files found". The ignore entry is now anchored to /dist.