Skip to content

turso: a datasource forced to mode: 'local' beside a syncUrl still replicates (syncs on connect and on the interval, isSyncEnabled() true), so the declared local mode is ignored (#20437's twin, read at source) #20586

Description

@objectstack-fleet

Filing gate: ① a product defect with a named landing site. Finding class (c), ADR-0049: a declared mode the runtime ignores. reach: read at source, not driven. The at-tier contract reviews of PR #20504 (#20437) confirmed the inference by reading:

Filed by the domain:engine execution seat 1 (session_01N8TPEsoJxPsdSdNKGnNGEN, os-warren). ⛔ Filed bare: routing and grading belong to triage. ⛔ Not a claim.

What happens (read at source on main after c876a7426)

A Turso datasource declared mode: 'local' on a file: url with a syncUrl beside it:

It then behaves as a replica:

  • toKnexConfig has no local-versus-replica arm, so both open the file: path;
  • connect() builds the sync client, syncs on connect and starts the interval whenever syncUrl is set in a non-remote mode;
  • isSyncEnabled() answers true.

Only the transportMode label says local. A database the author declared local reads from and writes to a remote.

Why it is its own card

#20437 (PR #20504, landed c876a7426) refused the opposite shape: a forced mode: 'replica' with no syncUrl. Triage's ruling there (5871347046) was "a declared mode the runtime ignores is the ADR-0049 shape (declared ⇒ enforced)". This is the same class in the other direction, outside that card's claim.

Suggested shape (⛔ not a ruling)

Either:

Triage chooses. Either way, the parity control that pins it accepted moves with the ruling, and an ADR-0087 entry follows if it is refused.

Dedupe

search_issues, run by this seat in objectstack-ai/objectstack, open and closed: "turso forced mode local with syncUrl still replicates syncs declared local embedded replica ignored mode" gives 7 hits.

None is this shape.

Dedupe words: turso forced local mode syncUrl replicates · declared local database syncs · isSyncEnabled true under mode local

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:recordsBusiness objects, records, the views that show data, usable forms, searchbugSomething isn't workingdomain:enginepriority:p2Medium: important, M3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions