Skip to content

fix(windows): realign GhosttyActionTag ordinals after upstream rebase - #552

Merged
deblasis merged 1 commit into
windowsfrom
fix/windows-action-tag-realign
Jun 26, 2026
Merged

deblasis merged 1 commit into
windowsfrom
fix/windows-action-tag-realign

Conversation

@deblasis

Copy link
Copy Markdown
Owner

Problem (regression introduced by the 2026-06 upstream sync)

The sync inserted GHOSTTY_ACTION_SELECTION_CHANGED at index 51 of ghostty_action_tag_e, which auto-shifts every later C ordinal +1. The hand-maintained C# mirror (GhosttyActionTag) wasn't updated — the layout test's "re-verify against include/ghostty.h" is a manual grep that was missed, and there's no C# CI to catch it. Result: 8 dispatched tags pointed at the wrong upstream action on Windows:

C# tag was now actually resolved to (wrong) fixed to
ShowChildExited 55 OPEN_URL 56
ProgressReport 56 SHOW_CHILD_EXITED 57
StartSearch 59 COMMAND_FINISHED 60
EndSearch 60 START_SEARCH 61
SearchTotal 61 END_SEARCH 62
SearchSelected 62 SEARCH_TOTAL 63
PromptReady 65 COPY_TITLE_TO_CLIPBOARD 66
FirstRender 66 PROMPT_READY 67

So progress bars, search counts, prompt-ready and first-render notifications were silently misrouted on Windows.

Fix

Realign the 8 ordinals in GhosttyActionTag and the pinned values in GhosttyActionsLayoutTests to the current header. Pure data change; no behavior added (handling SELECTION_CHANGED itself is #550, stacked on this).

⚠️ Verification

Not built/tested locally — the C# app only compiles on Windows (CsWin32 source-gen fails on macOS), and the fork has no C# CI. Ordinals were verified by direct enumeration of include/ghostty/ghostty.h. Please run GhosttyActionsLayoutTests on Windows before merging. (Worth adding a CI job that runs Ghostty.Tests so this class of drift fails automatically on future syncs.)

🤖 Generated with Claude Code

The 2026-06 upstream sync inserted GHOSTTY_ACTION_SELECTION_CHANGED at
index 51 of ghostty_action_tag_e, auto-shifting every later tag by +1.
The hand-maintained C# mirror was not updated -- the layout test's
"re-verify against include/ghostty.h" step is manual and was missed, and
there is no C# CI to catch it -- so eight dispatched tags pointed at the
wrong upstream action on Windows:

  ShowChildExited 55->56, ProgressReport 56->57, StartSearch 59->60,
  EndSearch 60->61, SearchTotal 61->62, SearchSelected 62->63,
  PromptReady 65->66, FirstRender 66->67

Uncorrected, e.g. ProgressReport=55 resolved to OPEN_URL and FirstRender
to PROMPT_READY -- progress bars, search counts, prompt-ready and
first-render notifications were all misrouted. Realign the enum and the
pinned ordinals in GhosttyActionsLayoutTests to the current header.

Not built locally: the C# app only compiles on Windows (CsWin32). Values
verified by direct enumeration of include/ghostty.h.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@deblasis
deblasis marked this pull request as ready for review June 26, 2026 08:35
@deblasis
deblasis merged commit 5e9d9e5 into windows Jun 26, 2026
99 checks passed
@deblasis
deblasis deleted the fix/windows-action-tag-realign branch June 26, 2026 08:39
deblasis added a commit that referenced this pull request Jul 18, 2026
…#552)

The 2026-06 upstream sync inserted GHOSTTY_ACTION_SELECTION_CHANGED at
index 51 of ghostty_action_tag_e, auto-shifting every later tag by +1.
The hand-maintained C# mirror was not updated -- the layout test's
"re-verify against include/ghostty.h" step is manual and was missed, and
there is no C# CI to catch it -- so eight dispatched tags pointed at the
wrong upstream action on Windows:

  ShowChildExited 55->56, ProgressReport 56->57, StartSearch 59->60,
  EndSearch 60->61, SearchTotal 61->62, SearchSelected 62->63,
  PromptReady 65->66, FirstRender 66->67

Uncorrected, e.g. ProgressReport=55 resolved to OPEN_URL and FirstRender
to PROMPT_READY -- progress bars, search counts, prompt-ready and
first-render notifications were all misrouted. Realign the enum and the
pinned ordinals in GhosttyActionsLayoutTests to the current header.

Not built locally: the C# app only compiles on Windows (CsWin32). Values
verified by direct enumeration of include/ghostty.h.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
deblasis added a commit that referenced this pull request Jul 29, 2026
…#552)

The 2026-06 upstream sync inserted GHOSTTY_ACTION_SELECTION_CHANGED at
index 51 of ghostty_action_tag_e, auto-shifting every later tag by +1.
The hand-maintained C# mirror was not updated -- the layout test's
"re-verify against include/ghostty.h" step is manual and was missed, and
there is no C# CI to catch it -- so eight dispatched tags pointed at the
wrong upstream action on Windows:

  ShowChildExited 55->56, ProgressReport 56->57, StartSearch 59->60,
  EndSearch 60->61, SearchTotal 61->62, SearchSelected 62->63,
  PromptReady 65->66, FirstRender 66->67

Uncorrected, e.g. ProgressReport=55 resolved to OPEN_URL and FirstRender
to PROMPT_READY -- progress bars, search counts, prompt-ready and
first-render notifications were all misrouted. Realign the enum and the
pinned ordinals in GhosttyActionsLayoutTests to the current header.

Not built locally: the C# app only compiles on Windows (CsWin32). Values
verified by direct enumeration of include/ghostty.h.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
deblasis added a commit that referenced this pull request Aug 10, 2026
…#552)

The 2026-06 upstream sync inserted GHOSTTY_ACTION_SELECTION_CHANGED at
index 51 of ghostty_action_tag_e, auto-shifting every later tag by +1.
The hand-maintained C# mirror was not updated -- the layout test's
"re-verify against include/ghostty.h" step is manual and was missed, and
there is no C# CI to catch it -- so eight dispatched tags pointed at the
wrong upstream action on Windows:

  ShowChildExited 55->56, ProgressReport 56->57, StartSearch 59->60,
  EndSearch 60->61, SearchTotal 61->62, SearchSelected 62->63,
  PromptReady 65->66, FirstRender 66->67

Uncorrected, e.g. ProgressReport=55 resolved to OPEN_URL and FirstRender
to PROMPT_READY -- progress bars, search counts, prompt-ready and
first-render notifications were all misrouted. Realign the enum and the
pinned ordinals in GhosttyActionsLayoutTests to the current header.

Not built locally: the C# app only compiles on Windows (CsWin32). Values
verified by direct enumeration of include/ghostty.h.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
deblasis added a commit that referenced this pull request Aug 21, 2026
…#552)

The 2026-06 upstream sync inserted GHOSTTY_ACTION_SELECTION_CHANGED at
index 51 of ghostty_action_tag_e, auto-shifting every later tag by +1.
The hand-maintained C# mirror was not updated -- the layout test's
"re-verify against include/ghostty.h" step is manual and was missed, and
there is no C# CI to catch it -- so eight dispatched tags pointed at the
wrong upstream action on Windows:

  ShowChildExited 55->56, ProgressReport 56->57, StartSearch 59->60,
  EndSearch 60->61, SearchTotal 61->62, SearchSelected 62->63,
  PromptReady 65->66, FirstRender 66->67

Uncorrected, e.g. ProgressReport=55 resolved to OPEN_URL and FirstRender
to PROMPT_READY -- progress bars, search counts, prompt-ready and
first-render notifications were all misrouted. Realign the enum and the
pinned ordinals in GhosttyActionsLayoutTests to the current header.

Not built locally: the C# app only compiles on Windows (CsWin32). Values
verified by direct enumeration of include/ghostty.h.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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