Skip to content

Skip recascade for identical canonical tabIndex writes #556

Description

@wieslawsoltes

Parent: #243. CSS epic: #235.

Proven hot path

Pinned unchanged Code OSS repeatedly assigns tabIndex in action-bar/toggle focus, blur, enable, disable, and set-focusable paths; the pattern occurs across 175 TypeScript files. WebScene's IDL setter always rewrote the attribute and recascaded the connected subtree even when the exact canonical authored string was unchanged.

Scope

Use the existing Int32 conversion, preserve feature accounting, serialize once, and return only when a present tabindex attribute exactly equals the canonical serialization. Absent attributes still get created; noncanonical text such as 00 still normalizes to 0; changed focus order/selector state still recascades.

Acceptance

  • Focused source and regression authored.
  • git diff --check passes.
  • 4,096 connected and 4,096 detached identical writes produce zero recascade requests/layout/publications.
  • Reconnect preserves getter/attribute/selector state with one bounded layout/publication.
  • Dynamic Code OSS A/B/ABBA, browser/package, lifecycle, memory, pixel and physical-performance gates run later.

No build, test, benchmark or formatter was executed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    vscode-oss/plannedPlanned for the AppScene/WebScene VS Code OSS integration

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions