Skip to content

feat: warn before the login token expires, and open the mod pane on a new hold - #1266

Merged
Zach Dunn (zachdunn) merged 1 commit into
mainfrom
claude/project-thread-ev1v3w
Oct 22, 2026
Merged

Zach Dunn (zachdunn) merged 1 commit into
mainfrom
claude/project-thread-ev1v3w

Conversation

@zachdunn

Copy link
Copy Markdown
Member

Requested by Zach · project thread

Two small follow-ups.

Token expiry warning (follow-up to #1228)

  • API: workspace auth sends Uploads-Token-Expires: <expires_at> when the request's D1 token has an expiry.
  • CLI: the client hands that header to an onTokenExpiry callback. In the token's last 7 days the CLI writes one stderr line, at most once a day (the day is kept in token-expiry-warned beside the config file):
    uploads: your login expires in 5 days (2026-10-27). Run \uploads login --force` to renew it.`
  • JSON output (--json, --format json) and --quiet don't warn, so the Claude Code mod's background uploads staged --format json calls can't use up the day's warning before a person or agent sees it.

Mod: open the pane on a new hold (follow-up to #1209)

When a band refresh finds a file held that wasn't held at the last look on the same repo and branch, the mod opens the staged pane on that row's detail view, where Approve is. It doesn't take keyboard focus. The first look of a session opens nothing, and the same hold doesn't open the pane twice.

Tests

  • claude plugin test plugins/claude/uploads: 45 pass (2 new)
  • packages/uploads/test/client-expired-token.test.ts: warning once, quiet the same day, quiet further out or without the header
  • apps/api/test/routes-auth.test.ts: header on an expiring D1 token
  • pnpm typecheck, pnpm check

Changeset: patch for @buildinternet/uploads and @uploads/plugin.


Generated by Claude Code

… new hold

The API sends Uploads-Token-Expires on requests made with an expiring D1
token. The CLI warns once a day on stderr in the token's last 7 days, with
the date and `uploads login --force`. JSON output and --quiet stay silent,
so the Claude Code mod's background refreshes never swallow it.

The mod opens its staged pane on a row when a refresh finds a file held
that wasn't held at the last look on the same branch. The first look of a
session opens nothing.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MKDvJCH8YysWRhymtbqvn2
@zachdunn Zach Dunn (zachdunn) self-assigned this Oct 22, 2026
@changeset-bot

changeset-bot Bot commented Oct 22, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 57e1675

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
@buildinternet/uploads Patch
@uploads/plugin Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai

coderabbitai Bot commented Oct 22, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are limited based on label configuration.

🏷️ Required labels (at least one): 2
  • coderabbit:review
  • review
🚫 Excluded labels (none allowed): 1
  • wip

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 71e07e64-c05d-4046-a5b9-26b07e6a82d5

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@zachdunn
Zach Dunn (zachdunn) merged commit 901d994 into main Oct 22, 2026
4 checks passed
@zachdunn
Zach Dunn (zachdunn) deleted the claude/project-thread-ev1v3w branch October 22, 2026 15:33
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