Skip to content

Merge upstream v0.0.46-nightly.20261011.2994 - #5

Merged
mohan6623 merged 376 commits into
custom/usage-badgefrom
sync/v0.0.46-nightly.20261011.2994
Oct 12, 2026
Merged

mohan6623 merged 376 commits into
custom/usage-badgefrom
sync/v0.0.46-nightly.20261011.2994

Conversation

@mohan6623

Copy link
Copy Markdown
Owner

Claude Code resolved the conflicts in this merge of upstream v0.0.46-nightly.20261011.2994. Typecheck passed.

Merging this PR builds and publishes the update.

Claude's summary

The merge is resolved and staged but not committed. No conflict markers are left, and typecheck passes with 0 errors after one fix. The tests I ran pass: driver.test.ts (2 tests), ChatView.logic.test.ts and sidebar.test.tsx (129 tests). ChatComposer.tsx and ComposerUsageStrip.tsx have no unit tests of their own, so those two are covered only by typecheck. The lockfile didn't conflict, but I ran vp install anyway because the merge added a new package. ensure:electron succeeded.

Conflicts:

  1. apps/web/src/components/ChatView.tsx

    • What clashed: the fork had moved the preview panel's width into the panel itself (passing widthStorageKey), so resizing the panel doesn't redraw the whole chat view. Upstream instead held that width in ChatView, measuring the workspace row (usePreviewPanelInlineSize with container).
    • Resolution: I kept the fork's approach and left out upstream's width state and ref. Upstream's own changes to that hook merged cleanly in the hook file, so the panel still gets them.
    • Kept from upstream: the new FileMetadataThreadProvider import and the const content = (...) wrapper that uses it.
  2. apps/web/src/components/chat/ChatComposer.tsx

    • What clashed: both sides made the prompt row leave room for the measured width of the send/attach buttons. Upstream added its own measurement for the resting composer. The fork's useComposerActionRow already measures and watches those buttons in that state, and also handles moving a long prompt onto its own row.
    • Resolution: I kept the fork's row markup and removed upstream's duplicate measurement and its ref. Everything else upstream changed in the file merged as is.
  3. apps/web/src/components/ui/sidebar.tsx

    • What clashed: both sides made the same speed-up, setting width directly on the two sidebar elements while dragging instead of updating a variable that restyles the whole app.
    • Resolution: I took upstream's version. It writes the final width once when the drag ends, so a cancelled drag goes back to the old width, whereas the fork's version kept the dragged width. The fork's hover-to-open sidebar is untouched.
  4. packages/provider-cursor/src/server/driver.test.ts

    • What clashed: upstream moved the Cursor driver into its own package and changed the import style. The fork's key-exchange test needs HttpClientResponse.
    • Resolution: I used upstream's import style and added HttpClientResponse.
    • Checked: the fork's Cursor key-exchange code itself survived the move intact in packages/provider-cursor/src/server/usageLimits.ts.

Typecheck fix: upstream removed getDriverOption, which the fork's ComposerUsageStrip.tsx still called. I switched it to upstream's replacement, providerClients.get(provider.driver). That is the only file I edited outside the four conflicts, and only because of the type error.

juliusmarminge and others added 30 commits October 9, 2026 09:56
…service conventions (pingdotgg#17544)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ngdotgg#17559)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
…#16674)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Ben Davis <bmdavis419@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ract (pingdotgg#17602)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…#17573)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…rgejo (pingdotgg#17581)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ol-azure-devops (pingdotgg#17592)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…lab (pingdotgg#17594)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…bitbucket (pingdotgg#17597)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…hub (pingdotgg#17607)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…g#17576)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gg#17577)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gg#17579)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…st kinds (pingdotgg#17617)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…not its kind (pingdotgg#17619)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…g move into their packages (pingdotgg#17624)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
aravhawk and others added 22 commits October 11, 2026 10:05
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…tgg#17879)

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…17050)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
…#17027)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Copilot AI balanced review requested due to automatic review settings October 12, 2026 00:53

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

provider={activeProviderStatus}
providers={providerStatuses as ServerProvider[]}
environmentId={environmentId}
modelSlug={activeThread?.modelSelection.model ?? activeProjectDefaultModelSelection?.model}
lastRun={activeLatestRun}

P2 Badge Associate the cache timer with the run that created it

Suppress the cache timer unless the latest run matches the currently selected provider and model. After a user changes the composer’s provider or model, activeProviderStatus reflects the new choice while modelSlug still comes from the persisted thread selection and activeLatestRun.completedAt belongs to the previous turn; the badge consequently presents a fresh cache countdown for a provider/model that has not run.

AGENTS.md reference: AGENTS.md:L156-L158


return model === "default" || model.startsWith("composer") || model.startsWith("grok");

P2 Badge Classify Cursor Auto as an own model

Add auto to this predicate. The comment and Cursor usage data identify Auto as part of Cursor’s own-model pool, for which cacheTtlMinutes intentionally returns no estimated prompt-cache lifetime, but the current condition recognizes only default, Composer, and Grok. Threads using the supported model: "auto" selection therefore show a misleading 5-minute cache timer.

AGENTS.md reference: AGENTS.md:L156-L158


- name: Disable upstream workflows on the fork
env:
GH_TOKEN: ${{ github.token }}
run: |
gh workflow list --repo "$GITHUB_REPOSITORY" --all --json path,state --jq '.[] | select(.state == "active") | .path' |

P1 Badge Neutralize newly merged workflows before pushing

This safety step runs before checkout and the upstream merge, so it can disable only workflows already registered in the fork; gh workflow list --help describes the command as listing workflow files, and a path newly introduced by the fetched nightly does not exist in the repository yet. On either the clean-merge push or the conflict branch/PR push, that new upstream workflow is therefore published while active and can run before the next daily sync, exactly the publish risk this step is intended to prevent.


// A menu opened from the peeking sidebar renders outside it, so the pointer
// leaves the sidebar to use it. Keep the sidebar out while one is open.
const SIDEBAR_PEEK_HOLD_SELECTOR = '[role="menu"], [data-slot="sidebar-container"]:hover';

P2 Badge Hold peeking only for a sidebar-owned menu

Scope the menu hold to a menu opened from the peeking sidebar rather than any [role="menu"] in the document. If the user moves from the peeking sidebar to an unrelated menu elsewhere in the chat or right panel, the close timer repeatedly finds that menu and keeps the sidebar overlay pinned over the workspace until the unrelated menu closes.


{limits.windows.map((window) => (
<WindowCard key={window.id} window={window} color={color} now={now} />

P2 Badge Filter aggregate Cursor windows from secondary accounts

Apply relevantWindows to secondary accounts as well as the selected account. With multiple subscriptions, expanding a secondary Cursor account currently maps its raw windows and displays Overall beside Cursor Models and Other Models, even though Overall is the aggregate of those pools rather than a third quota; the collapsed “tightest” calculation can likewise select that aggregate.

AGENTS.md reference: AGENTS.md:L156-L158


await copySelection(selectionAction.clipboardText, requestId);
terminalRef.current?.clearSelection();

P2 Badge Preserve the selection when right-click copy fails

copySelection catches clipboard failures internally, so this unconditional clearSelection() also runs when nothing was copied. In a remote browser where clipboard writes and the execCommand fallback are unavailable or denied, a plain right-click reports the error but destroys the selected terminal text, preventing the user from retrying; return a success result and clear only after a successful write.

AGENTS.md reference: AGENTS.md:L19-L21

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@@ -9,6 +9,7 @@ import {
import { ChatCanvasContext } from "./ChatCanvasContext";
import { resolveChatCanvasLayout, type ChatCanvasPreview } from "./chatCanvasLayout";
import type { PreviewMiniPlayerObstacles } from "../preview/previewMiniPlayerLayout";
import { observeResize } from "../../lib/observeResize";

/** The elements whose rules in index.css read the chat lane variables. */
const CHAT_LANE_SELECTOR = ".chat-composer-lane, .messages-timeline-scroll, .chat-scroll-to-bottom";

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Update the banner lane’s non-inherited variables

Include .chat-banner-lane in CHAT_LANE_SELECTOR. The new @property declarations make these variables non-inherited, but this selector updates only the composer, timeline, and scroll button. When a preview or details card adds a chat inset, provider/error banners therefore retain the initial zero inset and extend underneath the side panel instead of following the conversation lane.

Useful? React with 👍 / 👎.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-12T01:08:16.119253Z d50d103 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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.