forked from pingdotgg/t3code
-
Notifications
You must be signed in to change notification settings - Fork 0
Merge upstream pingdotgg/t3code main (35 commits) #11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 40 commits
Commits
Show all changes
41 commits
Select commit
Hold shift + click to select a range
774cff9
ci(github): add pull request size labels (#901)
binbandit a01d712
fix(web): resolve preferred editor from available editors & introduce…
mbuvarp a33cc8c
fix: diff panel unclosable after retainSearchParams middleware (#937)
eggfriedrice24 c3bfcc3
feat: add selective file staging to commit dialog (#872)
GuilhermeVieiraDev 5e23e9c
add Ymit24 to vouched list (#959)
nmggithub ed4be2c
fix: Fix response duration for agent to no longer always be 1ms (#866)
Noojuno b60a34e
fix: fix logo aligment regression on macOS (#960)
nmggithub f63cda2
fix: improve business logic in prompt editor and fix cursor bugs in P…
nmggithub ab0002f
update project removal copy (#981)
donnes fcbf3f3
Fix new-thread shortcuts when terminal is focused
juliusmarminge c52ad29
Fix mod+N new thread flow and terminal split limits
juliusmarminge d9d0216
fix pr size workflow
juliusmarminge 581d242
remove triggers
juliusmarminge 85c174a
fix: Linux icon now shows up (#807)
alexsch01 224aceb
fix(web): add pointer cursor to running stop-generation button (#900)
binbandit 74c2262
chore: update actions/checkout and actions/github-script (#956)
Bashamega b6eba33
fix: add logging for WebSocket errors (#948)
hobostay 724f54c
fix: clean up timeout in PlanSidebar to prevent memory leaks (#949)
hobostay b496ae8
fix: add error logging for code highlighting failures (#951)
hobostay db17ff3
fix syntax errors from bad merge
juliusmarminge 1e27657
feat: add fuzzy workspace entry search (#256)
maskdotdev dcd2e5c
fix: don't restart the app on normal exists in dev runner (#986)
nmggithub 727c0cf
feat: Allow Overriding Timestamp Format in Settings (#855)
huxcrux 5c03fb6
Add Antigravity to supported editors in Open menu (macOS, Windows, an…
WilgotM 71a7473
fix: composer @file autocomplete cursor and spacing bugs (#936)
chuks-qua a14debc
fix: block image uploads during plan mode questions (#621)
chuks-qua 36473f7
feat: replace worktree toggle with discoverable Select dropdown (#1001)
zortos293 ae4ae99
chore: update @vitejs/plugin-react to 6.0.0 (#1002)
Noojuno 64dc07a
Add compact Codex tool-call icons and details to the chat timeline (#…
zortos293 dfd62cf
fix(desktop): show dialog after "Check for Updates" menu action (#955)
dpav02 995a266
chore: Upgrade marketing app to Astro 6 (#1005)
Noojuno d0ae0ad
fix(web): add default thread env mode setting (#892)
binbandit ac0d1f5
fix(web): defer diff worker startup until diff opens (#934)
binbandit 876bbd7
Extract reusable clipboard hook and standardize media queries (#1006)
juliusmarminge 89ffcf4
Upgrade oxfmt and oxlint tooling versions (#1010)
juliusmarminge c43e0f4
Merge upstream pingdotgg/t3code main (35 commits)
aaditagrawal dc2c5f9
Fix CodeRabbit review issues from PR #11 round 1
aaditagrawal 1a04a06
Fix CodeRabbit review issues from PR #11 round 2
aaditagrawal 790e315
Fix CodeRabbit review issues from PR #11 round 3
aaditagrawal f19e590
Fix CodeRabbit review issues from PR #11 round 4
aaditagrawal 02036ca
Fix useLocalStorage fallback shim and cross-instance ping-pong loop
aaditagrawal File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -28,3 +28,4 @@ github:PatrickBauer | |
| github:realAhmedRoach | ||
| github:shiroyasha9 | ||
| github:Yash-Singh1 | ||
| github:Ymit24 | ||
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,202 @@ | ||
| name: PR Size | ||
|
|
||
| on: | ||
| pull_request_target: | ||
| types: [opened, reopened, synchronize, ready_for_review, converted_to_draft] | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| jobs: | ||
| prepare-config: | ||
| name: Prepare PR size config | ||
| runs-on: ubuntu-24.04 | ||
| outputs: | ||
| labels_json: ${{ steps.config.outputs.labels_json }} | ||
| steps: | ||
| - id: config | ||
| name: Build PR size label config | ||
| uses: actions/github-script@v8 | ||
| with: | ||
| result-encoding: string | ||
| script: | | ||
| const managedLabels = [ | ||
| { | ||
| name: "size:XS", | ||
| color: "0e8a16", | ||
| description: "0-9 changed lines (additions + deletions).", | ||
| }, | ||
| { | ||
| name: "size:S", | ||
| color: "5ebd3e", | ||
| description: "10-29 changed lines (additions + deletions).", | ||
| }, | ||
| { | ||
| name: "size:M", | ||
| color: "fbca04", | ||
| description: "30-99 changed lines (additions + deletions).", | ||
| }, | ||
| { | ||
| name: "size:L", | ||
| color: "fe7d37", | ||
| description: "100-499 changed lines (additions + deletions).", | ||
| }, | ||
| { | ||
| name: "size:XL", | ||
| color: "d93f0b", | ||
| description: "500-999 changed lines (additions + deletions).", | ||
| }, | ||
| { | ||
| name: "size:XXL", | ||
| color: "b60205", | ||
| description: "1,000+ changed lines (additions + deletions).", | ||
| }, | ||
| ]; | ||
|
|
||
| core.setOutput("labels_json", JSON.stringify(managedLabels)); | ||
| sync-label-definitions: | ||
| name: Sync PR size label definitions | ||
| needs: prepare-config | ||
| if: github.event_name == 'pull_request_target' | ||
| runs-on: ubuntu-24.04 | ||
| permissions: | ||
| contents: read | ||
| issues: write | ||
| steps: | ||
| - name: Ensure PR size labels exist | ||
| uses: actions/github-script@v8 | ||
| env: | ||
| PR_SIZE_LABELS_JSON: ${{ needs.prepare-config.outputs.labels_json }} | ||
| with: | ||
| script: | | ||
| const managedLabels = JSON.parse(process.env.PR_SIZE_LABELS_JSON ?? "[]"); | ||
|
|
||
| for (const label of managedLabels) { | ||
| try { | ||
| const { data: existing } = await github.rest.issues.getLabel({ | ||
| owner: context.repo.owner, | ||
| repo: context.repo.repo, | ||
| name: label.name, | ||
| }); | ||
|
|
||
| if ( | ||
| existing.color !== label.color || | ||
| (existing.description ?? "") !== label.description | ||
| ) { | ||
| await github.rest.issues.updateLabel({ | ||
| owner: context.repo.owner, | ||
| repo: context.repo.repo, | ||
| name: label.name, | ||
| color: label.color, | ||
| description: label.description, | ||
| }); | ||
| } | ||
| } catch (error) { | ||
| if (error.status !== 404) { | ||
| throw error; | ||
| } | ||
|
|
||
| try { | ||
| await github.rest.issues.createLabel({ | ||
| owner: context.repo.owner, | ||
| repo: context.repo.repo, | ||
| name: label.name, | ||
| color: label.color, | ||
| description: label.description, | ||
| }); | ||
| } catch (createError) { | ||
| if (createError.status !== 422) { | ||
| throw createError; | ||
| } | ||
| } | ||
| } | ||
| } | ||
| label: | ||
| name: Label PR size | ||
| needs: [prepare-config, sync-label-definitions] | ||
| if: github.event_name == 'pull_request_target' | ||
| runs-on: ubuntu-24.04 | ||
| permissions: | ||
| contents: read | ||
| issues: read | ||
| pull-requests: write | ||
| concurrency: | ||
| group: pr-size-${{ github.event.pull_request.number }} | ||
| cancel-in-progress: true | ||
| steps: | ||
| - name: Sync PR size label | ||
| uses: actions/github-script@v8 | ||
| env: | ||
| PR_SIZE_LABELS_JSON: ${{ needs.prepare-config.outputs.labels_json }} | ||
| with: | ||
| script: | | ||
| const issueNumber = context.payload.pull_request.number; | ||
| const additions = context.payload.pull_request.additions ?? 0; | ||
| const deletions = context.payload.pull_request.deletions ?? 0; | ||
| const changedLines = additions + deletions; | ||
| const managedLabels = JSON.parse(process.env.PR_SIZE_LABELS_JSON ?? "[]"); | ||
|
|
||
| const managedLabelNames = new Set(managedLabels.map((label) => label.name)); | ||
|
|
||
| const resolveSizeLabel = (totalChangedLines) => { | ||
| if (totalChangedLines < 10) { | ||
| return "size:XS"; | ||
| } | ||
|
|
||
| if (totalChangedLines < 30) { | ||
| return "size:S"; | ||
| } | ||
|
|
||
| if (totalChangedLines < 100) { | ||
| return "size:M"; | ||
| } | ||
|
|
||
| if (totalChangedLines < 500) { | ||
| return "size:L"; | ||
| } | ||
|
|
||
| if (totalChangedLines < 1000) { | ||
| return "size:XL"; | ||
| } | ||
|
|
||
| return "size:XXL"; | ||
| }; | ||
|
|
||
| const nextLabelName = resolveSizeLabel(changedLines); | ||
|
|
||
| const { data: currentLabels } = await github.rest.issues.listLabelsOnIssue({ | ||
| owner: context.repo.owner, | ||
| repo: context.repo.repo, | ||
| issue_number: issueNumber, | ||
| per_page: 100, | ||
| }); | ||
|
|
||
| for (const label of currentLabels) { | ||
| if (!managedLabelNames.has(label.name) || label.name === nextLabelName) { | ||
| continue; | ||
| } | ||
|
|
||
| try { | ||
| await github.rest.issues.removeLabel({ | ||
| owner: context.repo.owner, | ||
| repo: context.repo.repo, | ||
| issue_number: issueNumber, | ||
| name: label.name, | ||
| }); | ||
| } catch (removeError) { | ||
| if (removeError.status !== 404) { | ||
| throw removeError; | ||
| } | ||
| } | ||
| } | ||
|
|
||
| if (!currentLabels.some((label) => label.name === nextLabelName)) { | ||
| await github.rest.issues.addLabels({ | ||
| owner: context.repo.owner, | ||
| repo: context.repo.repo, | ||
| issue_number: issueNumber, | ||
| labels: [nextLabelName], | ||
| }); | ||
| } | ||
|
|
||
| core.info(`PR #${issueNumber}: ${changedLines} changed lines -> ${nextLabelName}`); | ||
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make the label-definition sync job reachable.
Line 60 can never pass because this workflow only listens to
pull_request_target. That leaves thelabeljob assuming thesize:*labels already exist, so a fresh repo state or deleted label set won't recover automatically.Suggested fix
sync-label-definitions: name: Sync PR size label definitions needs: prepare-config - if: github.event_name != 'pull_request_target' + if: github.event_name == 'pull_request_target' runs-on: ubuntu-24.04 permissions: contents: read issues: write @@ label: name: Label PR size - needs: prepare-config + needs: + - prepare-config + - sync-label-definitions if: github.event_name == 'pull_request_target' runs-on: ubuntu-24.04Also applies to: 57-60, 115-130
🤖 Prompt for AI Agents