Skip to content

Regenerate thicket_apple.h: a merge broke it and main's CI - #156

Merged
rleibman merged 3 commits into
mainfrom
fix-apple-header
Nov 9, 2026
Merged

rleibman merged 3 commits into
mainfrom
fix-apple-header

Conversation

@rleibman

@rleibman rleibman commented Nov 9, 2026

Copy link
Copy Markdown
Owner

main has been red on Linux and Apple since #151 merged (9f2a3bd). Merging #152 and #151 left the generated Apple header broken: the kind-table comment is closed early (*/ after the Stepper row), and a duplicate 25 Tab row sits outside it as bare text before sui_create. That isn't valid C, and shimGen's consistency suite catches it: 45 passed, 6 failed on a clean clone of main.

Change

  • modules/renderer-apple/shim/include/thicket_apple.h: the output of sbt shimGen/run. This is the only file the generator changes.
  • AppleRenderer.scala: a two-line comment the same merge left mis-indented, which scalafmtAll reflows.

Measured

  • sbt --error checkLinux on this branch: exit 0, 356 tests passed, 0 failed.
  • On main at 9f2a3bd: shimGen/testFull 45 passed, 6 failed. This is the check failing without the fix.

Not verified

  • The Swift build and the Apple apps, which need the Mac. Since the old header wasn't valid C, I expect this also fixes the Apple CI job, but that's a guess until the Apple job runs.

Found while preparing the first Maven Central release, which needs a green main. The POM descriptions PR is stacked on this one.

🤖 Generated with Claude Code

Merging #152 and #151 left the kind-table comment in the generated Apple header
closed early (`*/` after the Stepper row) with a duplicate `25 Tab` row outside
it, as bare text before `sui_create`. That is not C, and shimGen's consistency
suite has failed on main since 9f2a3bd: 45 passed, 6 failed (Linux and Apple CI
both red on the #151 push). `shimGen/run` regenerates it; this is its output,
and the only file it changes.

Also the two-line comment in AppleRenderer that the same merge left mis-indented,
which `scalafmtAll` reflows.

Measured: `sbt --error checkLinux` exit 0, 356 tests passed, 0 failed (on main,
shimGen alone: 6 failed). Not verified here: the Swift build of the shim, which
needs the Mac.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note

Copilot was unable to complete this review at the selected tier due to model policy or plan restrictions.

🟡 Changes recommended

A critical finding indicates WidgetKind.Platform is instantiated as ShimKind.Label instead of the required PlatformHost, causing ApplePlatformViews.setView to target the wrong native kind and potentially break platform view embedding at runtime.

1 open issue
What changed in this PR

This pull request regenerates the Apple shim header to fix invalid C produced after a merge regression (restoring shim-gen consistency checks / CI), and includes a formatting-only comment reflow in the Apple renderer source.

Changes:

  • Regenerated modules/renderer-apple/shim/include/thicket_apple.h to repair the widget-kind table comment structure and remove stray/duplicated text so the header parses as valid C.
  • Applied scalafmt-driven comment indentation reflow in modules/renderer-apple/src/main/scala/thicket/renderer/apple/AppleRenderer.scala.

Assessment: This pull request requires changes.

  • Critical: WidgetKind.Platform is currently created as ShimKind.Label, but the embedding contract expects ShimKind.Platform / PlatformHost, which can break platform view embedding (e.g., sui_platform_set_view invoked on the wrong native kind).
File Summary
modules/​renderer-apple/​src/​main/​scala/​thicket/​renderer/​apple/​AppleRenderer.scala Comment formatting adjustment in the widget-kind → shim-kind mapping area.
modules/​renderer-apple/​shim/​include/​thicket_apple.h Regenerated header to restore valid C by fixing the broken kind-table comment / stray duplicated row.

Review effort: Balanced

rleibman and others added 2 commits November 9, 2026 13:20
… docs/14 (#157)

* POM descriptions for every published module; the release rehearsal in docs/14

Each of the 50 published modules now sets `description` next to its `name`, so
the POM's <description> (what Central's and Maven's search pages show) says what
the module is instead of repeating its name.

docs/14 §14.5 records what the practice release run on 2026-11-09 settled: a clean
clone tagged v0.2.0 locally staged 62 modules (jar, sources, javadoc, POM, all
signed, 56 MB), all 33 external dependencies resolve on Central, and sonaUpload
reached VALIDATED (deployment 86b6f4e7, then dropped; nothing published). Also:
which account owns net.leibman, where sbt 2 reads credentials, why the release
must come from one machine (the Mac), and rehearse-then-Drop.

Measured: `show coreJVM/description` etc. print the new descriptions;
`sbt --error checkLinux` on this branch (stacked on the thicket_apple.h fix):
exit 0, 356 tests passed, 0 failed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Update release instructions for Mac and Linux

Clarified release process for Mac and non-Mac hosts, detailing module staging and potential upload collisions.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.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.

2 participants