Skip to content

packages/ui does not compile against the pinned @astryxdesign/core 0.5.2 #4464

Closed as not planned

Description

@Astro-Han

packages/ui does not compile against the @astryxdesign/core version the repository pins.

package.json:108 and packages/ui/package.json:25 both pin @astryxdesign/core at 0.5.2, bumped by c03dfce ("chore(deps): bump @astryxdesign/core from 0.5.0 to 0.5.2"). A clean npm ci installs 0.5.2 and the build fails. It is invisible in any checkout whose node_modules still holds 0.5.0, which is why it has gone unnoticed.

Reproduce

From a clean checkout, or a git worktree with its own install rather than one inheriting a parent checkout's node_modules:

$ npm ci --ignore-scripts
$ npm --workspace @maka/core run build && npm --workspace @maka/ui run build

Failures

src/__tests__/streaming-text.test.tsx(76,7):  TS2353 'settledText' does not exist in type 'UseStreamingTextOptions'
src/__tests__/streaming-text.test.tsx(105,7): TS2353 'settledText' does not exist in type 'UseStreamingTextOptions'
src/chat-surface-layout.tsx(87,7):            TS2322 'autoScroll' does not exist on type 'ChatLayoutProps'
src/markdown-body.tsx(187,9):                 TS2322 'settledText' does not exist on type 'MarkdownProps'
src/session-history-list.tsx(425,9):          TS2322 'trailingAction' does not exist on type 'SideNavItemProps'

What 0.5.2 offers instead

Four call sites, but three different upstream removals rather than one rename. Each needs a decision, and three of them are visible behaviour:

  • SideNavItemProps.trailingAction → actions remains. Close to a rename.
  • ChatLayoutProps.autoScroll is gone. 0.5.2 auto-scrolls implicitly and exposes scrollRef (an external scroll container the layout targets for auto-scroll and scroll-to-bottom) and scrollButton. The chat surface has to hand its scroll container over rather than pass a flag.
  • MarkdownProps.settledText is gone; isStreaming remains. Settling moved inside the component, so the streaming render model changed.
  • UseStreamingTextOptions now carries only speed. The hook no longer exposes settle semantics, so streaming-text.test.tsx asserts behaviour that is no longer part of the API.

Suggested scope

Adapt packages/ui to the 0.5.2 API, verified in the running app — chat auto-scroll, streaming markdown, and the session sidebar row are all visible surfaces. Reverting the pin to 0.5.0 would also make the build pass and is the smaller change if 0.5.2 brings nothing needed.

Found while verifying #4460, which touches no file under packages/ui.

Activity

  1. added theissue type on Sep 1, 2026
  2. orangeCatDeveloper commented on Sep 1, 2026

    @orangeCatDeveloper
    Contributor

    This looks like a false alarm caused by the repro command, not a real incompatibility.

    npm ci --ignore-scripts skips the root postinstall (scripts/apply-dependency-patches.mjs), so patches/@astryxdesign+core+0.5.2.patch is never applied. That patch adds back every API the five errors name — ChatLayoutProps.autoScroll, MarkdownProps.settledText, SideNavItemProps.trailingAction, and UseStreamingTextOptions.settledText. The comment at the top of packages/ui/src/chat-surface-layout.tsx documents autoScroll as exactly this patch seam.

    Verified on a clean install of 0.5.2:

    $ npm --workspace @maka/ui run build
    src/__tests__/streaming-text.test.tsx(76,7): error TS2353: ... 'settledText' does not exist in type 'UseStreamingTextOptions'
    (all five errors from the report)
    
    $ node scripts/apply-dependency-patches.mjs
    @astryxdesign/core@0.5.2 ✔
    $ npm --workspace @maka/ui run build
    > tsc -p tsconfig.json
    (no errors)

    scripts/apply-dependency-patches.mjs already documents that unpatched trees go red, and every CI/release lane runs a plain npm ci, which applies the patches. Adapting packages/ui to the unpatched 0.5.2 API (or reverting the pin) would conflict with the patch, so I think this can be closed as working-as-intended — unless we want a friendlier failure for --ignore-scripts installs, which would be a separate, smaller ask.

  3. Astro-Han commented on Sep 1, 2026

    @Astro-Han
    ContributorAuthor

    Withdrawing this: my own reproduction was wrong.

    patches/@astryxdesign+core+0.5.2.patch restores the props I reported as missing, and it is applied by the postinstall that apply-dependency-patches.mjs drives. I had installed with npm ci --ignore-scripts, which skips it, so I was building against an unpatched 0.5.2. CI runs plain npm ci and its Build step passes.

    With the patches applied, npm --workspace @maka/ui run build is clean. There is no defect here. Apologies for the noise.

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

    bugSomething isn't workinghelp wantedExtra attention is needed

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions