Skip to content

chore(nsh): synchronize third-party/nsh to upstream 323a8663 - #6708

Merged
M4n5ter merged 1 commit into
rust-previewfrom
chore/sync-nsh-upstream
Nov 8, 2026
Merged

M4n5ter merged 1 commit into
rust-previewfrom
chore/sync-nsh-upstream

Conversation

@M4n5ter

@M4n5ter M4n5ter commented Nov 8, 2026

Copy link
Copy Markdown
Member

Summary

Synchronize third-party/nsh from v0.4.0 (e626a8dd8f8d8b277b9507cfd5ac74d0e67020f3 + fork de176695240d550f2b303643b8019146c7989e7f) to longbridge/nsh main (323a8663f6fdb63340c634a50da9bbb820037b69), keeping GPUI retired (crates/gpui, third-party/gpui-wgpu, examples/embed-gpui deleted) and retaining crates/nsh-terminal and third-party/icy_sixel with minimal local delta:

  • Remove superseded fork patches (input_tokens.rs / InputProp::Tokens / Command::ReplaceRange, RetireListCell / ListCellRetired / ProjectRoot / CancelTouch / HintWatchToken, Renderer / platform.isTerminal / Environment::terminal_keyboard, TextEngine::measure_canvas, OverlayProp::FocusReturn, LayoutTree::lifetime, and the legacy software TUI compositor) in favor of upstream Idiom::Terminal (platform.idiom === 'terminal'), Environment::ctrl_for_command, Core::sync_kept, MountItem::TreeOrder, ProjectStates, and cell-idiom nsh-platform-tui; place EventKind::ScrollIntent at the end of EventKind::ALL so nsh-platform-android JNI constants stay unmodified.
  • Fix root-cause bugs uncovered during full-stack verification:
    1. nsh-core: preserve sibling component listener fan-out and nested emits in Core::deliver_component_event / take_emitted_events.
    2. nsh-js: separate deferred ListState length signals and refresh retained keyed cell item values when splice_count == 0.
    3. nsh-platform-tui: retain pending focus_requests until an attached target becomes focusable (cancelling on detach, blur, or user navigation), and scope AppView::accessibility_snapshot to visible nodes in the active input_scope.
    4. nsh-platform-windows & nsh-platform-macos: allow ViewKind::Input caret sinks with PointerEvents::None (Editor and upstream RichEditor) to hold focus, publish focus_path, expose terminal_target, and participate in Tab traversal when editable without selecting hidden-caret sink text.
  • Migrate Maka consumers (products/maka/workbench, products/maka/terminal-shell, products/maka/desktop-shell, plugins/**, skills/**, DESIGN.md) and update CI suites, ASF source release audit, provenance metadata (SOURCE.md, upstream.json, docs/code-origin-audit.md), LICENSE, DEPENDENCIES.rust.tsv, THIRD_PARTY_NOTICES.txt, and notices.json.

Verification

  • WSL / Linux:
    • third-party/nsh portable crates (nsh-core, nsh-i18n, nsh-updater, nsh-terminal, nsh-platform-web + nsh.test.mjs, nsh-platform-android, nsh-platform-ios, nsh-base, nsh-js, nsh-dev, nsh-bundler, nsh-package, nsh-testing, nsh-engine, nsh-cli) unit, integration & doc tests with -D warnings: passed.
    • nsh-platform-tui (50 unit + 328 integration) and nsh-tui-host (9 + 18) with -D warnings: passed.
    • Cross-target cargo check for nsh-platform-apple, nsh-windows-app, nsh-windows-host, and nsh-platform-linux: passed.
    • maka-ui-build (1/1), maka-workbench (27/27), maka-terminal-shell (70/70), maka-cli --bins (57/57), maka-cli --test integration terminal:: (23/23), product_composition (2/2), node scripts/ci.mjs run termina: passed.
    • node scripts/ci.mjs check format, check contracts, run tooling-tests (264/264), check licenses (2678 covered + 2932 excluded), check notices, run product (23 plugin packages + 6/6 tests), and scripts/asf-source-release.test.mjs: passed.
  • Windows (native x86_64-pc-windows-msvc):
    • nsh-platform-windows --features terminal (-D warnings): 223/223 unit + 2/2 doc tests passed.
    • maka-desktop-shell: 3/3 passed.
    • maka-terminal-shell --test native-pixels: 2/2 passed.
    • maka-cli --no-default-features --features desktop-tests --test native-desktop desktop_new_session: 22/22 passed.
  • Not run locally: macOS AppKit runtime execution (nsh-platform-macos cross-checked against macOS SDK; runtime covered in CI).

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Antigravity — upstream three-way merge, platform focus fixes, Maka consumer migration, provenance/notice updates, and WSL/Windows test verification.

Checklist

  • Tests cover the change and fail without it
  • Format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

Synchronize third-party/nsh from v0.4.0 to longbridge/nsh revision
323a8663f6fdb63340c634a50da9bbb820037b69 while keeping GPUI retired and
retaining nsh-terminal and icy_sixel with minimal local delta:

- Drop superseded fork patches (input_tokens, RetireListCell, ProjectRoot,
  CancelTouch, HintWatchToken, Renderer/platform.isTerminal,
  Environment::terminal_keyboard, TextEngine::measure_canvas,
  OverlayProp::FocusReturn, LayoutTree::lifetime, and the legacy software TUI
  compositor) in favor of upstream Idiom::Terminal, Environment::ctrl_for_command,
  Core::sync_kept, ProjectStates, and cell-idiom nsh-platform-tui.
- Fix sibling component listener fan-out and nested emits in nsh-core,
  deferred length signal separation and 0-splice retained cell item updates in
  nsh-js, pending startup focus_requests retention and active-scope
  accessibility_snapshot in nsh-platform-tui, and PointerEvents::None editor
  sink focus/Tab handling in nsh-platform-windows and nsh-platform-macos.
- Migrate Maka workbench, terminal-shell, desktop-shell, plugins, skills, CI
  suites, ASF source release audit, provenance metadata, dependencies, and
  third-party notices to the synchronized NSH baseline.

Generated-by: Antigravity
@M4n5ter
M4n5ter merged commit cb2cc89 into rust-preview Nov 8, 2026
@M4n5ter
M4n5ter deleted the chore/sync-nsh-upstream branch November 8, 2026 16:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant