Skip to content

Commit d60b2ef

Browse files
committed
Merge remote-tracking branch 'origin/master' into suraj/debug-active-rule-files
2 parents 2f67696 + 10b2540 commit d60b2ef

456 files changed

Lines changed: 28690 additions & 4026 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.agents/skills/dedupe-issue-local/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
name: dedupe-issue-local
33
specializes: dedupe-issue
4-
description: Repo-specific dedupe guidance for warp-external. Only the categories declared overridable by the core dedupe-issue skill may be specialized here.
4+
description: Repo-specific dedupe guidance for warp. Only the categories declared overridable by the core dedupe-issue skill may be specialized here.
55
---
66

7-
# Repo-specific dedupe guidance for `warp-external`
7+
# Repo-specific dedupe guidance for `warp`
88

99
This file is a companion to the core `dedupe-issue` skill. It does not
1010
redefine the duplicate-detection algorithm, the similarity thresholds,

.agents/skills/review-pr-local/SKILL.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,15 @@ skill marks as overridable.
2222
- In WarpUI code, flag inline `MouseStateHandle::default()` usage during render or event handling. Mouse state handles should be created during construction and then cloned/referenced where needed.
2323
- For user-facing UI changes, mention missing validation only when it is tied to a concrete risk or when the PR changes behavior that should be verified visually.
2424

25+
## UI-impacting changes require visual evidence
26+
27+
- If the PR changes anything user-visible (UI components, layout, styling, copy in surfaces users see, terminal/Warp app visuals, or other behavior a user can perceive), analyze both `pr_description.txt` and any PR comments available in the workflow context for attached screenshots, GIFs, or videos demonstrating the change end to end.
28+
- Treat markdown image/video embeds (`![...](...)`, `<img ...>`, `<video ...>`), GitHub user-attachment links (e.g. `https://github.com/user-attachments/...`, `https://user-images.githubusercontent.com/...`), Loom links, and similar hosted media as valid evidence.
29+
- The `Screenshots / Videos` section from `.github/pull_request_template.md` being present but empty does not count as evidence.
30+
- If the change is UI-impacting and no screenshots or videos are attached in the description or comments, add an inline or summary-level comment requesting them. Use wording such as: "For faster review, please upload screenshots or a video of the feature working end to end."
31+
- When required visual evidence is missing for a UI-impacting change, set the final recommendation in `summary` to `Request changes`, even if no other blocking issues were found. Call this out explicitly in the `## Verdict` section.
32+
- If the PR is clearly not user-visible (pure refactor, internal tooling, build scripts, server-only logic with no UI surface, tests, docs-only), do not request screenshots or videos.
33+
2534
## User-facing strings
2635

2736
- Flag interpolated text that would read unnaturally at runtime or combine sentence fragments with the wrong casing.

.agents/skills/triage-issue-local/SKILL.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
name: triage-issue-local
33
specializes: triage-issue
4-
description: Repo-specific triage guidance for warp-external. Only the categories declared overridable by the core triage-issue skill may be specialized here.
4+
description: Repo-specific triage guidance for warp. Only the categories declared overridable by the core triage-issue skill may be specialized here.
55
---
66

7-
# Repo-specific triage guidance for `warp-external`
7+
# Repo-specific triage guidance for `warp`
88

99
This file is a companion to the core `triage-issue` skill. It does not
1010
redefine the triage output schema, safety rules, or follow-up-question
@@ -13,7 +13,7 @@ marks as overridable.
1313

1414
## Heuristics
1515

16-
- `warp-external` is the public-facing Warp desktop client repository. Treat public issue reports as potentially incomplete and avoid asking for secrets, tokens, private workspace names, private repository names, or account identifiers in the public issue thread.
16+
- `warp` is the public-facing Warp desktop client repository. Treat public issue reports as potentially incomplete and avoid asking for secrets, tokens, private workspace names, private repository names, or account identifiers in the public issue thread.
1717
- Distinguish the user's observed Warp behavior from their guesses about Rust modules, UI components, server behavior, feature flags, or product intent.
1818
- For issue reports that mention another terminal, editor, shell, or CLI tool, identify whether the problem is Warp-specific or generally reproducible outside Warp before assigning Warp ownership.
1919
- When the issue includes screenshots, videos, logs, stack traces, or command output, use them as primary evidence and ask follow-up questions only for missing details that cannot be inferred from that evidence.
@@ -28,6 +28,8 @@ Ask **at most 2 follow-up questions** per triage response. Each question must be
2828

2929
The label taxonomy for this repository is managed in `.github/issue-triage/config.json`. Prefer labels from that configuration, especially the `area:*`, `os:*`, `repro:*`, `accessibility`, `needs-info`, `duplicate`, and primary issue-type labels. Do not invent new labels unless the prompt explicitly allows it.
3030

31+
Evaluate `ready-to-implement` during triage instead of relying on issue-template defaults. For bug reports, apply `ready-to-implement` only when the issue is reproducible from the provided evidence or straightforward local verification and the likely fix appears narrow enough to implement without a product spec, design mocks, or substantial investigation. If the bug is not reproducible, lacks a clear fix path, requires product/design decisions, or needs deeper technical discovery, omit `ready-to-implement` and prefer `needs-info`, `ready-to-spec`, `needs-mocks`, or the appropriate `repro:*` label.
32+
3133
Use area labels based on the user's reported surface:
3234

3335
- `area:shell-terminal` for terminal output, block rendering, shell integration, prompt rendering, command execution display, and terminal-emulation behavior.

.github/ISSUE_TEMPLATE/01_bug_report.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Bug Report
22
description: "Found a bug? Please search through our open issues and docs, to make sure it isn't already submitted. If you have an SSH related issue, please use the SSH Template below"
3-
labels: ["bug", "ready-to-implement"]
3+
labels: ["bug"]
44
body:
55
- type: checkboxes
66
attributes:
@@ -134,4 +134,3 @@ body:
134134
- Ignore
135135
validations:
136136
required: false
137-

.github/STAKEHOLDERS

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@
5454
/app/src/search/command_palette/ @acarl005
5555

5656
# @ context, slash commands, and global search / file tree
57-
/app/src/context_chips/ @moirahuang
5857
/app/src/search/ai_context_menu/ @moirahuang
5958
/app/src/search/files/ @moirahuang
6059
/app/src/search/search_results_menu/ @moirahuang

.github/actions/bundle_arch_package/action.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,5 +37,6 @@ runs:
3737
-e GIT_RELEASE_TAG="$GIT_RELEASE_TAG" \
3838
-e GITHUB_ACTIONS="$GITHUB_ACTIONS" \
3939
-e GITHUB_OUTPUT="/dev/null" \
40+
${SETTINGS_SCHEMA_CACHE:+-e SETTINGS_SCHEMA_CACHE=/github/workspace/.settings_schema_cache.json} \
4041
arch-bundle-builder \
4142
${{ inputs.channel }} ${{ inputs.release-tag }} ${{ inputs.arch }} ${{ inputs.artifact }}

.github/workflows/comment-on-unready-assigned-issue-local.yml

Lines changed: 0 additions & 16 deletions
This file was deleted.

.github/workflows/create_release.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,9 @@ jobs:
111111
shell: bash
112112
env:
113113
CHANNEL: ${{ steps.get-config.outputs.channel }}
114+
# See https://github.com/orgs/community/discussions/151442 for why we need to use
115+
# a PAT here.
116+
GITHUB_TOKEN: ${{ secrets.CREATE_RELEASE_TAG_PUSH_PAT }}
114117

115118
- name: Create GitHub release
116119
if: ${{ steps.set_publish.outputs.should_publish == 'true' }}
@@ -519,6 +522,9 @@ jobs:
519522
# them with FUSE, which isn't available on GitHub runners (and this is
520523
# easier and less error-prone than trying to install it).
521524
APPIMAGE_EXTRACT_AND_RUN: "1"
525+
# Cache the generated settings schema so prepare_bundled_resources only
526+
# compiles and runs the generator once per job instead of per-package.
527+
SETTINGS_SCHEMA_CACHE: ${{ github.workspace }}/.settings_schema_cache.json
522528
steps:
523529
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
524530

@@ -669,6 +675,10 @@ jobs:
669675
needs: prepare_release
670676
if: ${{ inputs.build_linux != false }}
671677
timeout-minutes: 90
678+
env:
679+
# Cache the generated settings schema so prepare_bundled_resources only
680+
# compiles and runs the generator once per job instead of per-package.
681+
SETTINGS_SCHEMA_CACHE: ${{ github.workspace }}/.settings_schema_cache.json
672682
steps:
673683
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
674684

@@ -845,6 +855,9 @@ jobs:
845855
# them with FUSE, which isn't available on GitHub runners (and this is
846856
# easier and less error-prone than trying to install it).
847857
APPIMAGE_EXTRACT_AND_RUN: "1"
858+
# Cache the generated settings schema so prepare_bundled_resources only
859+
# compiles and runs the generator once per job instead of per-package.
860+
SETTINGS_SCHEMA_CACHE: ${{ github.workspace }}/.settings_schema_cache.json
848861
steps:
849862
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
850863

@@ -1011,6 +1024,10 @@ jobs:
10111024
needs: [ prepare_release, build_linux_arm_binaries, build_linux_cli_arm_binaries ]
10121025
if: ${{ inputs.build_linux != false }}
10131026
timeout-minutes: 60
1027+
env:
1028+
# Cache the generated settings schema so prepare_bundled_resources only
1029+
# compiles and runs the generator once per job instead of per-package.
1030+
SETTINGS_SCHEMA_CACHE: ${{ github.workspace }}/.settings_schema_cache.json
10141031
steps:
10151032
- name: Checkout sources
10161033
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

.github/workflows/delete_release.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,6 @@ jobs:
9292
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
9393
with:
9494
ref: ${{ inputs.branch }}
95-
fetch-depth: 0
9695

9796
- name: Rename branch to deleted/
9897
env:
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# ======================================================================================
2+
# Workflow: Label External Contributors
3+
# ======================================================================================
4+
# Usage:
5+
# - Runs whenever a pull request is opened.
6+
# - Adds the `external-contributor` label to the PR if the PR head repository is
7+
# a fork (i.e. it does not belong to the same repository as the base), and the
8+
# PR is not authored by a bot.
9+
#
10+
# Notes:
11+
# - The workflow triggers on `pull_request_target` rather than `pull_request` so
12+
# that it has the `pull-requests: write` permission needed to apply labels even
13+
# when the PR is opened from a fork. Because we never check out the PR's code
14+
# and only read the event payload, this trigger is safe.
15+
# ======================================================================================
16+
17+
name: Label External Contributors
18+
19+
on:
20+
pull_request_target:
21+
types: [opened]
22+
23+
# Default to a read-only token. The job below widens permissions explicitly.
24+
permissions:
25+
contents: read
26+
27+
jobs:
28+
label-external-contributor:
29+
name: Label external-contributor PRs
30+
runs-on: ubuntu-latest
31+
permissions:
32+
pull-requests: write
33+
steps:
34+
- name: Determine and apply external-contributor label
35+
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
36+
with:
37+
script: |
38+
const pr = context.payload.pull_request;
39+
const author = pr.user.login;
40+
41+
// Ignore PRs authored by bots.
42+
if (pr.user.type === 'Bot' || author.endsWith('[bot]')) {
43+
console.log(`Skipping bot user: ${author}`);
44+
return;
45+
}
46+
47+
// The PR comes from a fork if its head repo differs from its base repo.
48+
const isFork =
49+
!pr.head.repo ||
50+
pr.head.repo.full_name !== pr.base.repo.full_name;
51+
52+
console.log(
53+
`PR #${pr.number} by ${author}: isFork=${isFork}`,
54+
);
55+
56+
if (!isFork) {
57+
return;
58+
}
59+
60+
await github.rest.issues.addLabels({
61+
owner: context.repo.owner,
62+
repo: context.repo.repo,
63+
issue_number: pr.number,
64+
labels: ['external-contributor'],
65+
});
66+
console.log(`Labeled PR #${pr.number} as external-contributor`);

0 commit comments

Comments
 (0)