Commit Graph

14402 Commits

Author SHA1 Message Date
Bartosz Sokorski
d0ee2f0dbb i18n: update Polish translations
Co-authored-by: trag1c <dev@jakubr.me>
Co-authored-by: Bartosz Sławecki <bartosz@ilikepython.com>
2026-02-16 09:45:31 +01:00
Jeffrey C. Ollie
32e319ec71 build(deps): bump cachix/install-nix-action from 31.9.0 to 31.9.1 (#10732)
Bumps
[cachix/install-nix-action](https://github.com/cachix/install-nix-action)
from 31.9.0 to 31.9.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cachix/install-nix-action/releases">cachix/install-nix-action's
releases</a>.</em></p>
<blockquote>
<h2>v31.9.1</h2>
<h2>What's Changed</h2>
<ul>
<li>nix: 2.33.0 -&gt; 2.33.3 by <a
href="https://github.com/github-actions"><code>@​github-actions</code></a>[bot]
in <a
href="https://redirect.github.com/cachix/install-nix-action/pull/266">cachix/install-nix-action#266</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/cachix/install-nix-action/compare/v31...v31.9.1">https://github.com/cachix/install-nix-action/compare/v31...v31.9.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="2126ae7fc5"><code>2126ae7</code></a>
Merge pull request <a
href="https://redirect.github.com/cachix/install-nix-action/issues/266">#266</a>
from cachix/create-pull-request/patch</li>
<li><a
href="eb3d7b01e8"><code>eb3d7b0</code></a>
nix: 2.33.0 -&gt; 2.33.3</li>
<li>See full diff in <a
href="4e002c8ec8...2126ae7fc5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cachix/install-nix-action&package-manager=github_actions&previous-version=31.9.0&new-version=31.9.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>
2026-02-15 21:05:14 -06:00
dependabot[bot]
0eaa0c53ba build(deps): bump cachix/install-nix-action from 31.9.0 to 31.9.1
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 31.9.0 to 31.9.1.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Changelog](https://github.com/cachix/install-nix-action/blob/master/RELEASE.md)
- [Commits](4e002c8ec8...2126ae7fc5)

---
updated-dependencies:
- dependency-name: cachix/install-nix-action
  dependency-version: 31.9.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-16 00:20:32 +00:00
github-actions[bot]
1690046425 Update VOUCHED list (#10731)
Triggered by
[comment](https://github.com/ghostty-org/ghostty/issues/10554#issuecomment-3905394671)
from @mitchellh.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-15 23:16:31 +00:00
Mitchell Hashimoto
9bd74fd743 more clickable file path fixes (#10619)
This pull request addresses some of the remaining issues when matching
`~`, `$VAR`, `.directory/`, and embedded commas. It does not address
issues with embedded line breaks.

The PR is split in multiple commits carefully applying a set of changes
to

1. make the big regex more composable / readable
2. update some doc strings
3. add more test cases for the issues mentioned
4. two simple commits, each fixing the issues

Changes:

- **url: refactor regex into documented branches**
  Break up the big monolithic URL and path regex into named sub-pattern
  constants and compose the final expression from three commented
  branches:
  
  - URLs with a scheme
  - absolute or dot-relative paths
  - bare relative paths
  
  This commit only breaks up the regex. It keeps the existing matching
  behavior unchanged.
  

- **url: update top-level comment**
  

- **url: carefully extend test cases**
  Extend existing test cases with `~`, `$VAR`, and bare .-prefixed paths
  and embedded `,` comma handling.
  
  See following issue comments:
  
-
https://github.com/ghostty-org/ghostty/pull/10570#issuecomment-3853842036
-
https://github.com/ghostty-org/ghostty/issues/1972#issuecomment-3859329233
-
https://github.com/ghostty-org/ghostty/issues/1972#issuecomment-3857881196
  

- **url: remove `,` from path_chars**
  Related to #1972
  
  Fixes an issue when paths have embedded comma, e.g.:
  
      shared/src/foo/SomeItem.m:12, shared/src/
  
  with path_chars greedily consuming the rest of the string.
  
  Now file path matching stops at comma. Scheme URLs are unchanged and
  still using the comma.
  

- **url: fix matching `~`, `$VAR`, `.directory/`**
  Related to #1972
  
  This commit adds three new alternatives for
  `rooted_or_relative_path_prefix`:
  
  - `~/`
  - `$VAR` and
  - `.local/`, `.config/` etc. for dot-prefixed directory names
  
Remaining commits fix edge cases one by one:

  - **url: fix mid-string dot partial matches**
    `"foo.local/share"` (was partial match) → now matches fully
    
  - **url: fix $-numeric character matches**
    `"$10/$20"` → no match
    
  - **url: fix partial match of mid string $-variable**
    `"foo/$BAR/baz"` (was partial match) → matches fully now
    
  - **url: fix incomplete $-numeric behavior**
    `"$10/bar.txt"` (was partial match) → but should not match at all
2026-02-15 15:15:58 -08:00
github-actions[bot]
db055f13f5 Update VOUCHED list (#10730)
Triggered by
[comment](https://github.com/ghostty-org/ghostty/issues/10619#issuecomment-3905375367)
from @mitchellh.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-15 23:12:15 +00:00
Mitchell Hashimoto
17bf042e6d macOS: show keyboard shortcuts in command palette (#10723)
Closes #10718

## Summary
- Populates the `symbols` field on `CommandOption` by looking up
keybindings via the existing `keyboardShortcut(for:)` API
- All the UI rendering (`ShortcutSymbolsView`) and the keybinding lookup
were already in place, this just wires them together

## AI Disclosure
Claude Code was used to assist with codebase exploration and drafting
the change. The implementation was manually verified by building and
testing locally on macOS with Xcode 26.2.

## Test plan
- [x] Built with `xcodebuild` on Xcode 26.1 and 26.2
- [x] Launched app, opened command palette, confirmed shortcuts appear
next to commands that have keybindings
- [x] Confirmed commands without keybindings show no shortcuts
<img width="912" height="744" alt="Screenshot 2026-02-14 at 12 55 42 PM"
src="https://github.com/user-attachments/assets/b988015c-21b6-4a17-9883-e23c87c6934b"
/>
2026-02-15 15:02:44 -08:00
github-actions[bot]
6784636c15 Update VOUCHED list (#10729)
Triggered by
[comment](https://github.com/ghostty-org/ghostty/issues/8524#issuecomment-3905321233)
from @mitchellh.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-15 22:46:43 +00:00
Mitchell Hashimoto
d76ab21ccc ci: update vouch to 1.3, create PRs instead of pushing to main (#10728)
This will let us re-enable our main branch protection rules. :)
2026-02-15 14:44:26 -08:00
Mitchell Hashimoto
ef9431b55c ci: update vouch to 1.3, create PRs instead of pushing to main
This will let us re-enable our main branch protection rules. :)
2026-02-15 14:43:02 -08:00
github-actions[bot]
4b3037ccc6 Update VOUCHED list
https://github.com/ghostty-org/ghostty/issues/10702#issuecomment-3904947115
2026-02-15 18:25:09 +00:00
Noah Bernsohn
951cf13d7e macOS: show keyboard shortcuts in command palette 2026-02-15 10:17:01 -06:00
github-actions[bot]
cfcc3aa142 Update VOUCHED list
https://github.com/ghostty-org/ghostty/discussions/10598#discussioncomment-DC_kwDOHFhdAs4A8Ucu
2026-02-15 15:15:03 +00:00
github-actions[bot]
048eafe0bd Update VOUCHED list
https://github.com/ghostty-org/ghostty/issues/10718#issuecomment-3904658787
2026-02-15 15:13:37 +00:00
github-actions[bot]
768a961f60 Update VOUCHED list
https://github.com/ghostty-org/ghostty/issues/10721#issuecomment-3904656004
2026-02-15 15:11:46 +00:00
Mitchell Hashimoto
b0132dd617 add vouch manage by issue workflow 2026-02-15 07:06:31 -08:00
Mitchell Hashimoto
71d54c8699 fix vouch-request discussion template 2026-02-15 07:03:46 -08:00
Mitchell Hashimoto
ea2b674a00 Introduce the Vouch/Denouncement Contribution Model (#10559)
This moves Ghostty to a vouch-based contribution system. The high-level
idea is that only vouched users can participate in contributing to
Ghostty. Users are vouched by maintainers commenting "lgtm" on an issue
they opened.

The system also supports explicit **denouncement**: bad actors can be
added to the denounced list which blocks them from contributing
entirely. We maintain this as a public record so other projects can
adopt our prior knowledge about bad actors if they choose. In this PR,
only maintainers can denounce by responding `denounce`, `denounce [user]
[reason]` to any issue or PR.

This also updates our contribution guidelines and templates to fit this
new model.

This system is inspired very heavily by
[Pi](https://github.com/badlogic/pi-mono). The original commits were
based directly on their work.

> [!IMPORTANT]
> 
> This is experimental. We're going to continue testing and refining
this. It isn't a perfect system [yet]. This PR just adds the basics so
we can start proving it out.

## Why?

Open source has always worked on a system of _trust and verify_.

Historically, the effort required to understand a codebase, implement a
change, and submit that change for review was high enough that it
naturally filtered out many low quality contributions from unqualified
people. For over 20 years of my life, this was enough for my projects as
well as enough for most others.

Unfortunately, the landscape has changed particularly with the advent of
AI tools that allow people to trivially create plausible-looking but
extremely low-quality contributions with little to no true
understanding. Contributors can no longer be trusted based on the
minimal barrier to entry to simply submit a change.

But, open source still works on trust! And every project has a definite
group of trusted individuals (maintainers) and a larger group of
probably trusted individuals (active members of the community in any
form). So, let's move to an explicit trust model where trusted
individuals can vouch for others, and those vouched individuals can then
contribute.

## Web of Trust

The `VOUCHED` file is purposely a basic, single, flat-file system that
is easy to manipulate with any standard POSIX-tooling or mainstream
languages without any external libraries.

I hope that eventually projects can form a web of trust and share and
ingest VOUCH files from other projects they trust in order to get a
better default trust model across projects in the age of relentless AI
attack.

The file also specifically is relaxed on the exact policy for being
vouched or denounced. If/when another project decides to trust an
upstream vouch file, they're expected to do the diligence to understand
if they also trust the upstream projects _reasoning_ for
vouching/denouncing. For example, if someone decides to create a vouch
file promoting their friends or denouncing their own personal shitlist,
that's fine, but downstreams can be aware of that and not trust it.

## A Generic System

The vouch system is implemented as a standalone project currently in
`.github/vouch`. **It is forge-agnostic** but includes GitHub
integration to start. I plan on expanding this. My goal is that if this
works for us, other projects can quickly adopt it. I don't want to
extract this out to its own repo or generalize it more until we prove
out the edge cases with our usage. But, I will welcome contributions
here to improve this system.

### Usage

Local files only:

- `vouch.nu check <user>` - check if a user is vouched/denounced
- `vouch.nu add <user>` - add a user to the vouched list  
- `vouch.nu denounce <user>` - denounce a user

GitHub integration:

- `vouch.nu gh-check-pr <pr>` - check PR author status, optionally
auto-close
- `vouch.nu gh-manage-by-issue <issue> <comment>` - vouch/denounce via
issue comments
2026-02-15 07:01:19 -08:00
Mitchell Hashimoto
eb68d98bad update vouch 2026-02-15 06:57:55 -08:00
Mitchell Hashimoto
2aa773a23a fix old lgtm 2026-02-15 06:53:31 -08:00
Mitchell Hashimoto
7f6c2b57b1 remove the issue template 2026-02-15 06:53:31 -08:00
Mitchell Hashimoto
c2cb050713 fix pins 2026-02-15 06:53:31 -08:00
Mitchell Hashimoto
bb679acbf7 add discussion template 2026-02-15 06:53:30 -08:00
Mitchell Hashimoto
ad6921f276 Use mitchellh/vouch 2026-02-15 06:53:30 -08:00
Mitchell Hashimoto
5e22d4b01d remove built-in vouch, prep to replace with upstream 2026-02-15 06:53:30 -08:00
Mitchell Hashimoto
d3b8e91ed9 add td extension to the files 2026-02-15 06:53:30 -08:00
Mitchell Hashimoto
089f7f2128 vouch: clean up platform stuff 2026-02-15 06:53:30 -08:00
Mitchell Hashimoto
21be48ae4d vouch: add/denounce output to stdout by default, add -w flag 2026-02-15 06:53:30 -08:00
Mitchell Hashimoto
83a4200fcb vouch: add platform prefix support 2026-02-15 06:53:30 -08:00
Mitchell Hashimoto
c40641a9bc fix typos 2026-02-15 06:53:30 -08:00
Mitchell Hashimoto
f1145bbb4b remove one screen vagueness 2026-02-15 06:53:30 -08:00
Mitchell Hashimoto
3e5dbb2a34 pinact 2026-02-15 06:53:30 -08:00
Mitchell Hashimoto
d09a314879 prettier 2026-02-15 06:53:30 -08:00
Mitchell Hashimoto
309a1c4f30 vouch README 2026-02-15 06:53:30 -08:00
Mitchell Hashimoto
00c33eaf72 update our guidelines, templates 2026-02-15 06:53:30 -08:00
Mitchell Hashimoto
dd77c2e797 update our GitHub actions 2026-02-15 06:53:29 -08:00
Mitchell Hashimoto
4af4625249 vouch can manage denouncement 2026-02-15 06:53:29 -08:00
Mitchell Hashimoto
46423a4255 add --require-vouch 2026-02-15 06:53:29 -08:00
Mitchell Hashimoto
b202c19252 clean up 2026-02-15 06:53:29 -08:00
Mitchell Hashimoto
cd090afba7 rename some functions 2026-02-15 06:53:29 -08:00
Mitchell Hashimoto
a4db748980 vouch denounce 2026-02-15 06:53:29 -08:00
Mitchell Hashimoto
2a3483413d vouch.nu reorder 2026-02-15 06:53:29 -08:00
Mitchell Hashimoto
2eec9cc761 add vouched check 2026-02-15 06:53:29 -08:00
Mitchell Hashimoto
b5463f3227 add AGENTS.md 2026-02-15 06:53:29 -08:00
Mitchell Hashimoto
a4d0d5c182 moving stuff around 2026-02-15 06:53:29 -08:00
Mitchell Hashimoto
f6b67aa25a merge the vouch scripts 2026-02-15 06:53:29 -08:00
Mitchell Hashimoto
c3573fc35b rename to vouch 2026-02-15 06:53:29 -08:00
Mitchell Hashimoto
39e610d0ee approved PR gate 2026-02-15 06:53:29 -08:00
Mitchell Hashimoto
dce6552801 approve-contributor workflow 2026-02-15 06:53:26 -08:00
Mitchell Hashimoto
045c540f05 bash: preserve existing PS0 value (#10688)
We were previously overwriting PS0 on every PROMPT_COMMAND. We now
append to PS0, but only if it doesn't already contain our hook.

This is also more consistent with the bash-preexec behavior we maintain
for older bash versions.
2026-02-15 06:52:42 -08:00