Skip to content

Bump quadraui pin to HEAD (42 commits) and fix the 4 removed-API call sites — next bump does not compile #811

Description

@JDonaghy

Problem

Cargo.toml pins quadraui at 42e0f8fa55bd2f9f94bb77f612d70355a88c9356 (2026-09-03). The authoritative remote develop is 4ff2a645023637bba7229e0aeee5968a9c6f365242 commits ahead (gh api repos/JDonaghy/quadraui/compare/42e0f8f...4ff2a64ahead_by: 42, behind_by: 0).

The next pin bump will not compile. quadraui#704 removed modal_stack_mut and drag_and_modal_mut from the Backend trait. At the true HEAD, quadraui/src/backend.rs has only:

726:    fn modal_stack_handle(&self) -> Rc<RefCell<ModalStack>>;
731:    fn drag_state_handle(&self) -> Rc<RefCell<DragState>>;

vimcode calls the removed method at four live sites:

  • src/tui_main/shell_app.rs:1258let (_, modal_stack) = backend.drag_and_modal_mut();
  • src/tui_main/shell_app.rs:1541let (drag_state, modal_stack) = backend.drag_and_modal_mut();
  • src/tui_main/shell_app.rs:8105let (_, modal_stack) = backend.drag_and_modal_mut();
  • src/tui_main/shell_app.rs:8181let (_, modal_stack) = backend.drag_and_modal_mut();

Stale doc references to fix while here: src/tui_main/shell_app.rs:171, :174, :1209, :2470.

Fix

  1. Rewrite the four call sites against the handle API. drag_state_handle() / modal_stack_handle() return Rc<RefCell<_>>, so the two-at-once borrow that drag_and_modal_mut existed to provide is no longer needed — take two handles and borrow_mut() each.
  2. Bump both rev entries in Cargo.toml (the quadraui dependency at :90 and the [patch.crates-io] vt100 entry at :152 — they must match) to 4ff2a645023637bba7229e0aeee5968a9c6f3652.
  3. Run cargo test to relock Cargo.lock and re-run snapshots against the new rev.

Why this is first in the chain

The bump delivers infrastructure that several queued issues depend on:

Acceptance

  • cargo build, cargo test, cargo clippy -- -D warnings, cargo fmt all pass on the new rev.
  • vimcode --version reports the new rev.
  • Pure-refactor + dependency bump: no user-visible behaviour change, so no new black-box test is required — say so explicitly in the PR per CLAUDE.md's acceptance bar.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    coordTracked by coord-tui pipelineinfrastructureBuild, CI, distributionplatformPlatform-specific (macOS, Windows, Linux)status:readyRefined and ready to enter the work pipeline

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions