Skip to content

Stage Release - #4319

Open
github-actions[bot] wants to merge 3 commits into
stagefrom
dev
Open

Stage Release#4319
github-actions[bot] wants to merge 3 commits into
stagefrom
dev

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Created by Github action

finnar-bin and others added 3 commits September 3, 2026 06:01
Resolves #4277

## Summary
- Enforce a 255-character limit on the media title field in both the
file detail modal (`FileModalContent`) and the grid thumbnail inline
editor (`ThumbnailContent`), with a live `x / 255` counter and input
blocked past the limit instead of being silently truncated on save.
- Fix `ThumbnailContent`'s title input not receiving the current `title`
value from `Thumbnail` (missing prop pass-through across all thumbnail
layout variants) and switch it from `defaultValue` to a controlled
`value` so external title updates (e.g. after upload) are reflected.
- Fix `title` being dropped from the upload-success reducer payload in
`media-revamp.ts`, and correct `UploadThumbnail` to source the title
from the uploaded file's own state instead of only the "replace"
original file.
- Remove the fixed `maxHeight={438}` on the upload modal's thumbnail
wrapper, which was clipping content after the title field/counter were
added.

## Test plan
- [ ] In the Media file modal, type past 255 characters in the Title
field and confirm input stops accepting characters and the counter shows
`255 / 255`.
- [ ] Edit a file's title inline from the grid thumbnail view and
confirm the same 255-character limit and counter behavior.
- [ ] Upload a new file, set a title during/after upload, and confirm
the title persists and displays correctly in the thumbnail without being
lost.
- [ ] Verify the upload modal thumbnail is no longer clipped/cut off
when the title field and counter are visible.

## Screenshots
<img width="372" height="506" alt="Screenshot 2026-08-27 084007"
src="https://github.com/user-attachments/assets/f593ddcf-f14d-4fa0-8a57-f0fb5dfd46a8"
/>
<img width="1119" height="825" alt="Screenshot 2026-08-27 084036"
src="https://github.com/user-attachments/assets/94cd437b-70e6-45f7-8303-60dcbfd4e6df"
/>
## Summary
- Replace `claude-sentry-handler.yml`'s auto-fix commit path (`git
config` + `git checkout -b` + `git add -A` + `git commit` + `git push`)
with GitHub's Git Data API, called via a SHA-pinned
`actions/github-script@v7` step, so auto-fix commits show GitHub's
Verified badge.
- Split the old "Open auto-fix PR" step into three: **Prepare auto-fix
branch** (reads `branch_slug`/`pr_title`, captures dev HEAD's
commit/tree SHA), **Create verified auto-fix commit** (builds blobs per
touched file — preserving executable mode bits, representing deletions
with `sha: null`, hard-failing on symlinks/non-regular files — then
creates the tree/commit/ref via the API), and **Open auto-fix PR**
(unchanged reviewer-access checks + `gh pr create`, now passing `--head`
explicitly since there's no local checkout of the new branch).
- Updated **Parse classification** to surface its already-computed
`touched_files` list via `$GITHUB_OUTPUT` so the new step reuses it
instead of recomputing it.

## Test plan
- [x] `node --check` on the embedded github-script JS
- [x] YAML parses
- [x] Manual: trigger the Sentry auto-fix flow (or re-run
`claude-sentry-handler.yml` via `workflow_dispatch`) and confirm the
resulting commit shows the Verified badge

## Successful test run
- #4316

Closes #4299

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
## What

Two model pins, in two commits:

| File | Job | Before | After |
|---|---|---|---|
| `claude-auto-reviewer.yml` | review | `claude-sonnet-4-6` |
`claude-sonnet-5` |
| `claude-issue-critique.yml` | triage | `claude-opus-4-8` |
`claude-sonnet-5` |

After this, all six `claude-code-action` invocations in the repo run
`claude-sonnet-5`, and no invocation relies on the action's default
model. `grep -i opus .github/workflows/` returns nothing.

## Why

**auto-reviewer** was the last workflow on `claude-sonnet-4-6`. That pin
dates to #4150, the commit that first added a `--model` flag to the
file; nothing since bumped it while the other four workflows moved to
sonnet-5.

**issue-critique triage** was the only job deliberately on Opus. Changed
on the Director's instruction. Two comments in that file justified the
Opus pin and are updated with it:

- the `# claude-opus-4-8 ... do not downgrade` line above `claude_args`
is removed — it no longer describes the file;
- the `if:` gate rationale above the `triage` job said the
HIGH-duplicate skip "avoids wasting an Opus run". The skip still stands
on its own merits, so the condition is unchanged and only the cost
framing is reworded.

`--max-turns 100` and `timeout-minutes: 20` are untouched on both jobs.

## Not verified

A model flag only takes effect on the next event that triggers its
workflow, so nothing here demonstrates that either job runs green on
`claude-sonnet-5`. If a model string is rejected by the pinned action
version, it surfaces as a failed job on the first PR (auto-reviewer) or
the first opened issue (triage) after merge.

Related, not addressed: `claude-auto-reviewer.yml` carries the repo's
oldest action pin, `anthropics/claude-code-action@1dc994e` (v1.0.127),
against v1.0.184/185 elsewhere.

## Conflicts

None with #4307, which edits lines 1-14 and 36-48 of
`claude-auto-reviewer.yml`; this touches line 86. #4307 also edits
`claude-issue-critique.yml`, at the workflow/job `name:` keys, not
`claude_args`.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: Nar -- <28705606+finnar-bin@users.noreply.github.com>
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