Repository navigation
chore: update dependency ink to v8 - #4371
Merged
Merged
Conversation
Ink 8 は終了時に stdout への空の write の callback を待ってから waitUntilExit を解く。試験の偽の stdout が callback を呼ばず、Ctrl+D・/exit で終わる試験が時間切れになっていた(本物の stdout は呼ぶ)。 Ink 8 はどのキーにも当たらない制御列を useInput へ渡さず捨てるため、modifyOtherKeys の Shift+Enter(ESC[27;2;13~)が届かなくなっていた。Ink へ渡す stdin の read() で同じ意味の CSI u(ESC[13;2u)へ書き換え、Ink 8 に解釈させる。
Contributor
Author
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
pnpm-lock.yaml の衝突は pnpm install で作り直した。
takecchi
added a commit
that referenced
this pull request
Oct 10, 2026
この PR は takecchi 本人ではなく、クローン teto の委譲で動くマネージャー層(mgr-52dc46a6)が書いた。 ## なぜ SDK 更新の PR(`automation/claude-agent-sdk`)は、日次の定時(`0 22 * * *`)にだけ積み直される。日中に main の `pnpm-lock.yaml` が動くと、開いている SDK の PR は main と衝突する。衝突した PR には `pull_request` のワークフローが起きないので、次の定時までチェックが1本も付かずに止まる。 - 実例: #4396(0.3.296)は 2026-10-10 の日中に衝突し、`no checks reported` のまま止まっていた。手で `workflow_dispatch` して積み直すと、MERGEABLE になって必須チェックが走った - 直近7日の main で、SDK の PR 以外が `pnpm-lock.yaml` を動かしたのは4回(#4371・#4369・#4309・#3855) - SDK の版はモデルの対応表でもあるので、止まると新しいモデルが層に届かない(AGENTS.md・dev-setup) ## 何を変えたか `update-claude-sdk.yml` の `on:` に、main への push で `pnpm-lock.yaml` / `pnpm-workspace.yaml` が動いたときを足した。 - 開いている SDK の PR があれば(main の版がまだ古ければ)、`changed=true` になり、いつもどおり検証して積み直す - 開いている PR が無く、版も上がっていなければ、`changed=false` で検証も PR も飛ばして終わる。SDK の PR をマージした直後の push もこちらに当たる - 重なった走行は、既存の `concurrency: update-claude-sdk`(前を殺さない)で順番に回る ## 費用 積み直すたびに、検証(`verify-for-sdk-pr.sh`)が1回走る(実測では1回 15〜25 分)。上の頻度なら、週に数回ぶん増える。PR が無い日は、install と版の確認だけで終わる。 ## 確かめたこと - prettier(YAML) - 動作は、マージ後に main の lockfile が動いた最初の回で確かめる。workflow の push トリガーは、PR の枝では発火しない
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^7.1.1→^8.0.0Release Notes
vadimdemedes/ink (ink)
v8.0.0Compare Source
Breaking
7829102minWidthandmaxWidthon<Box>now only accept numbers (#1029)7cd7fd9stdin,stdout, andstderrare now typed as generic Node.js streams (#981)eb82d8frender()options and touseStdin(),useStdout(), anduseStderr(). TTY-only properties likestdout.columnsare no longer part of the typesuseInputno longer receives unrecognized terminal control sequences (#1014)c76893einputwith the ESC stripped, as if typed. They are now droppedNew
contentOffsetXandcontentOffsetYprops to<Box>for building scrollable views (#765)3ba5828overflow="hidden". See the scroll exampleclientWidthandclientHeighttouseBoxMetrics()andmeasureElement()(#988)3ba5828stdin,stdout, andstderroptions ofrender()(#981)eb82d8fPassThroughor otherReadable/Writablestreams. Raw mode is used only whenstdinis a TTY withsetRawMode()incrementalRenderingmode (#1036)91eb50awsdependency in favor of the nativeWebSocketfor React DevTools (#976)33567edkey.returnb73ebf4Fixes
Rendering
fe1d123clear()494ebebclear()fc358c2f603aebc800284cdc18fa06385e9013feb29a501e4507c0c9509ea75<Transform>line indices when clipping4f3c7aa<Static>and nested<Text>753a5f8undefined274b15afc685bconRenderafter the frame is written83d7de5<Static><Static>output on full-clear frames (#1005)d661543<Static>output when resuming re-enters the alternate screen (#1012)9235028793fe59<Static>output after abandoned concurrent renders8678b76<Static>output when its identity changescfdd9e6<Static>rowsf6b2620c0fa4ef5911f44staticNodereference on indirect subtree removal (#979)5448e6bText
4b4493436f5624<Text>vanishing when it starts above the top of the output (#1001)77aba4a405f7512fbc26a32dc266b419e5c80b1c9cb0dfd619dfe1377fe1577f7e57a5064df65<Transform>wrap points changefc685bc9c323f61e57b233be9ed7Input
2ee828creportAssociatedTextnow enablesreportAllKeysAsEscapeCodesautomatically13707d236d7739onKittyQueryResponsestable acrossrerender()calls (#1007)70beca561004d7suspendTerminal()handles idempotent, and do not restore input modes that were released or belong to an unmounted appa7297c4b35e89ac613707a6789fbFocus
02ae1e5disableFocus()blur the focused component as documented, and respect it when new components auto-focusd130588d130588f6f7dc7Other
<Transform>labels, rewrapping when the terminal widens, and restoring output after console writes (#1028)f480301bebfe2d81e2451renderToString()swallowing thrownundefined, and run effect cleanup when output rendering fails9f7c1d0useWindowSize()missing resizes before it subscribesfab670b53244dcuseAnimation()values while pausedf25d312render()options that areundefined659249dad9e3eawrapTextcache returning results for the wrong text or width (#998)3809acc064b4f6waitUntilExit()after unmount1fcd380Migration guide
React 19.3
Upgrade
react(and@types/react) to 19.3 or later.minWidthandmaxWidthUse a number. If you need a relative minimum or maximum width, compute it from
useWindowSize()oruseBoxMetrics()of the parent.Stream types
useStdout().stdoutis now typed asNodeJS.WritableStream, so TTY properties likecolumnsandrowsare no longer available in the types. UseuseWindowSize()instead, which also re-renders on resize.Control sequences in
useInputIf your
useInputhandler parsed mouse reports, focus events, or other terminal replies frominput, it will no longer receive them. Keys that Ink recognizes, including Kitty keyboard protocol events, are not affected.Configuration
📅 Schedule: (in timezone Asia/Tokyo)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.