You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#61 moved CopilotKit 1.69 → 1.74, @ag-ui/* 0.0.58 → 0.0.59, and Tauri 2.11 → 2.12. The release notes were too thin for concrete issues. CopilotKit 1.74's "stop per-message state cloning and the virtual-scroll tug of war" (#7243) might let us remove local workarounds.
Scope (research only, timeboxed, no code changes)
Read the CopilotKit 1.70–1.74 notes against src/shared/providers/agui-provider.tsx and src-api/src/app/api/copilotkit.ts.
Read the Tauri 2.12 core and plugin notes against src-tauri/ and @tauri-apps/plugin-* usage.
Output: a comment listing follow-up issues to create, or "nothing to adopt", with reasons.
Plan:dev-doc/plan/2026-09-27-post-upgrade-sdk-feature-adoption.md (the section for this issue ID). The plan's parallel-agent protocol applies: one worktree and branch off main per issue, one PR that closes it, a regression test, only edited files formatted, and pnpm validate before the PR. Don't bump any dependency unless the issue says to.
CopilotKit 1.74 — nothing to adopt. Upstream fix #7243 ("stop per-message state cloning and virtual-scroll tug of war") lives entirely inside @copilotkit/react-ui's CopilotChatMessageView/CopilotChatView. Neumar has no @copilotkit/react-ui dependency at all (package.json only lists @copilotkit/react-core and @copilotkit/shared) and no usage of those components — the chat UI is fully custom on useAgent() + a Zustand store. The cloneMessages/cloneFiles calls in thread-store.ts and the isRunning-tracking workaround in agui-provider.tsx are Neumar-authored defensive code, unrelated to the upstream bug class #7243 fixes.
Side note (environment, not code): local node_modules resolved @copilotkit/react-core to 1.69.0 and @ag-ui/client to 0.0.58 despite package.json/lockfile correctly pinning 1.74.0/0.0.59 — a stale install from before PR #61, not a code issue. Re-running pnpm install --frozen-lockfile resolves it.
Tauri 2.12 — one concrete follow-up, filed as #86.Cargo.lock still resolves tray-icon/muda to versions predating 2.12.0's fix for tray left-click being swallowed on macOS 27 (upstream tauri-apps/tauri#16035) — the transitive bump was never picked up after the Cargo.toml version bump. Other 2.12 items checked and ruled out: the new activation API doesn't match Neumar's existing custom NSApplication.activateIgnoringOtherApps use case; the exit() API doesn't replace plugin-process's relaunch() usage; the asset:// fixes are already active automatically via the core version bump, no lockfile gap there.
Research only. No CopilotKit or Tauri code change comes out of this.
CopilotKit 1.70–1.74 (@copilotkit/react-core is already ^1.74.0). 1.70–1.73 are React Native, Vue, BuiltInAgent, and inspector work. We use useAgent from react-core/v2 in src/shared/providers/agui-provider.tsx and do not render CopilotKit's message list. 1.74's "stop per-message state cloning and the virtual-scroll tug of war" (#7243) is inside that list. Our virtualized ChatPanel and the Zustand mirror are our own and do not duplicate that clone loop, so there is nothing to delete.
The local workaround that stays: agui-provider.tsx does not copy agent.isRunning, because the client can leave it true after RUN_FINISHED. The 1.70–1.74 notes do not say that flag was fixed.
AG-UI 0.0.59 is already the installed @ag-ui/client and @ag-ui/core. No caller in src-api/src/app/api/copilotkit.ts is waiting on a 0.0.59 API.
Tauri 2.12 is already the tauri pin. The one fix that was not actually shipping is tray-icon 0.25 / muda 0.20 for the macOS 27 left-click menu (#16035). Cargo.lock was gitignored, so a local cargo update never reached other builds. That lock is now tracked in #102 and closes #86.
The rest of the 2.12 notes do not map onto this app: Liquid Glass and appDirectoriesOverride are new opt-in APIs and we do not use window effects or a portable data root; the Android activity fixes do not apply to the desktop shell; exit without plugin-process is redundant because we already depend on that plugin. No further follow-up issues.
Activity
bravew commentedon Sep 28, 2026
Spike findings
CopilotKit 1.74 — nothing to adopt. Upstream fix #7243 ("stop per-message state cloning and virtual-scroll tug of war") lives entirely inside
@copilotkit/react-ui'sCopilotChatMessageView/CopilotChatView. Neumar has no@copilotkit/react-uidependency at all (package.jsononly lists@copilotkit/react-coreand@copilotkit/shared) and no usage of those components — the chat UI is fully custom onuseAgent()+ a Zustand store. ThecloneMessages/cloneFilescalls inthread-store.tsand theisRunning-tracking workaround inagui-provider.tsxare Neumar-authored defensive code, unrelated to the upstream bug class #7243 fixes.Side note (environment, not code): local
node_modulesresolved@copilotkit/react-coreto 1.69.0 and@ag-ui/clientto 0.0.58 despitepackage.json/lockfile correctly pinning 1.74.0/0.0.59 — a stale install from before PR #61, not a code issue. Re-runningpnpm install --frozen-lockfileresolves it.Tauri 2.12 — one concrete follow-up, filed as #86.
Cargo.lockstill resolvestray-icon/mudato versions predating 2.12.0's fix for tray left-click being swallowed on macOS 27 (upstream tauri-apps/tauri#16035) — the transitive bump was never picked up after the Cargo.toml version bump. Other 2.12 items checked and ruled out: the new activation API doesn't match Neumar's existing customNSApplication.activateIgnoringOtherAppsuse case; theexit()API doesn't replaceplugin-process'srelaunch()usage; theasset://fixes are already active automatically via the core version bump, no lockfile gap there.No further follow-up issues from this spike.
bravew commentedon Sep 28, 2026
Research only. No CopilotKit or Tauri code change comes out of this.
CopilotKit 1.70–1.74 (
@copilotkit/react-coreis already^1.74.0). 1.70–1.73 are React Native, Vue, BuiltInAgent, and inspector work. We useuseAgentfromreact-core/v2insrc/shared/providers/agui-provider.tsxand do not render CopilotKit's message list. 1.74's "stop per-message state cloning and the virtual-scroll tug of war" (#7243) is inside that list. Our virtualizedChatPaneland the Zustand mirror are our own and do not duplicate that clone loop, so there is nothing to delete.The local workaround that stays:
agui-provider.tsxdoes not copyagent.isRunning, because the client can leave it true afterRUN_FINISHED. The 1.70–1.74 notes do not say that flag was fixed.AG-UI 0.0.59 is already the installed
@ag-ui/clientand@ag-ui/core. No caller insrc-api/src/app/api/copilotkit.tsis waiting on a 0.0.59 API.Tauri 2.12 is already the
tauripin. The one fix that was not actually shipping istray-icon0.25 /muda0.20 for the macOS 27 left-click menu (#16035).Cargo.lockwas gitignored, so a localcargo updatenever reached other builds. That lock is now tracked in #102 and closes #86.The rest of the 2.12 notes do not map onto this app: Liquid Glass and
appDirectoriesOverrideare new opt-in APIs and we do not use window effects or a portable data root; the Android activity fixes do not apply to the desktop shell;exitwithoutplugin-processis redundant because we already depend on that plugin. No further follow-up issues.