Comparing v0.1.3...v0.1.4 · Altinity/altinity-sql-browser · GitHub
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: Altinity/altinity-sql-browser
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.1.3
Choose a base ref
...
head repository: Altinity/altinity-sql-browser
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.1.4
Choose a head ref
  • 3 commits
  • 16 files changed
  • 3 contributors

Commits on Jun 28, 2026

  1. refactor(schema): address PR #62/#63 review follow-ups (#64)

    Code-review follow-ups for the zoom-bridge (#62) and schema-graph (#63) PRs.
    
    Correctness / behavior:
    - ch-client: the transitive-lineage nodeCap now counts only *linked* nodes, not
      every standalone table — so a single large DB of mostly-unrelated tables no
      longer truncates on round 1 and skips its cross-DB lineage walk (#63 review).
    - schema-graph: guard the db-prefix label strip with `&& n.name` so a node with
      an empty name can't be rewritten to a blank title (#63 review).
    
    Altitude / cleanup:
    - dot-layout: split the schema-specific "lineage first, singles gridded below"
      policy out of the generic dagre wrapper into a dedicated `schemaLayout()`;
      `dagreLayout` reverts to its plain generic form (no opts). Drops the dead
      `usedCols` (== cols) term and the always-built `connected` set on the pipeline
      path (#62/#63 review).
    - dom: extract the fixed-popover anchor recipe (divide client coords by the zoom)
      into a pure, 100%-covered `fixedAnchor()` helper; the File menu and the
      Save/user popover now share it instead of hand-transcribing the math — which
      also moves the previously-untested anchoredPopover arithmetic under test (#62).
    - app: simplify `dragCtx.scale` to report the page zoom without the redundant
      per-axis ternary (dragValue already ignores scale for the % axes) (#62).
    - dom: note in zoomScale that the measured element is immaterial (page-global) (#62).
    
    Tests added for schemaLayout (grid extent + no-lineage + no-singles + empty),
    fixedAnchor (both corners + floors), the ·inner label-skip, and the
    linked-only nodeCap. All 1020 tests pass; dot-layout/dom back to 100% coverage.
    
    
    Claude-Session: https://claude.ai/code/session_019kE9qbgBNBrfNgwg9fRsMJ
    
    Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    BorisTyshkevich and claude authored Jun 28, 2026
    Configuration menu
    Copy the full SHA
    3cd33f4 View commit details
    Browse the repository at this point in the history
  2. feat(schema): remove detail-pane action button + ring the selected no…

    …de (#65)
    
    * feat(schema): drop the detail-pane action button, ring the selected card
    
    The full-view detail pane's header carried an "Insert SHOW CREATE" button — an
    action felt out of place in what is otherwise a read-only info panel (and its
    label/behavior were confusing). Removed it; the head is now just the qualified
    name + kind. (SHOW-CREATE-into-editor is still available via shift-click on a
    node in the schema tree, so no capability is lost.)
    
    In its place, opening a node's detail pane now rings that node's card in the
    graph: an accent rect drawn just outside the box, which together with the card's
    own kind-coloured stroke reads as a double border — so it's unmistakable which
    object the pane describes. The ring follows re-selection and is cleared when the
    pane is closed (✕). Cards in another database (or a test harness) without a drawn
    card degrade to a no-op.
    
    schema-detail.js stays at 100% coverage; tests cover the ring, re-selection,
    close-clears-ring, and the no-rect/no-card paths.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_019kE9qbgBNBrfNgwg9fRsMJ
    
    * fix(schema): clear the selection ring on every pane-close path (review #65)
    
    Address the medium /code-review findings on this PR:
    
    - Esc-closing the detail pane (the schema tab + the in-app overlay handlers in
      explain-graph.js) did `pane.remove()` directly, bypassing the ✕ button's
      cleanup — leaving the accent ring + .eg-card--selected class orphaned on the
      card with no pane open. Export `clearSchemaSelection(doc)` and call it from both
      Esc paths so every close route clears the selection. (the real bug)
    - Simplify clearSchemaSelection to a single scan: the ring is always a child of
      the selected card, so strip the class and remove its ring together.
    - Fix two now-stale comments (schemaDetailClick + openDetailPane) that still
      referenced the removed "Insert SHOW CREATE" button / old close behavior.
    - Drop the dead `insertCreate: vi.fn()` stubs from two tests (and the now-unused
      `vi` import) — the detail pane no longer calls insertCreate.
    
    Extends the overlay Esc test to assert the ring is cleared. 1023 tests pass;
    schema-detail.js stays at 100% coverage.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_019kE9qbgBNBrfNgwg9fRsMJ
    
    ---------
    
    Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    BorisTyshkevich and claude authored Jun 28, 2026
    Configuration menu
    Copy the full SHA
    72d15b6 View commit details
    Browse the repository at this point in the history
  3. chore(release): 0.1.4

    Bugfix release rolling up the schema-graph + zoom work since 0.1.3:
    - #64: code-review follow-ups (schemaLayout extraction, fixedAnchor helper,
      linked-only transitive nodeCap, label-strip guard).
    - #65: drop the detail-pane "Insert SHOW CREATE" button, ring the selected node
      (double border), and clear that ring on every pane-close path (incl. Esc).
    No new runtime deps.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_019kE9qbgBNBrfNgwg9fRsMJ
    BorisTyshkevich and claude committed Jun 28, 2026
    Configuration menu
    Copy the full SHA
    5d73ba4 View commit details
    Browse the repository at this point in the history
Loading