Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Bug]: Server git tests sign fixture commits with the developer's key when run from the repo root

Open Beginner friendly
#17,523 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@Mnigos is already working on this.

Since Oct 10, 2026.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
78/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
git, typescript, vite
Domain
testing

Research direction

The fix is a config change: the root vite.config.ts setupFiles lacks apps/server/src/testUtils/gitConfig.setup.ts, which apps/server/vite.config.ts already loads. Start by comparing the two setupFiles arrays, then reproduce by running apps/server/src/git/GitManager.test.ts from the repo root with GIT_CONFIG_GLOBAL pointing at a config that sets commit.gpgsign=true. Done means the suite passes with no gpg calls, and other suites still run unchanged.

Written by the indexing model from the issue text.

Description

Before submitting
  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.
Area

apps/server

Steps to reproduce
  1. Set commit.gpgsign = true in ~/.gitconfig (any GPG or SSH signer; mine is a YubiKey through gpg-agent).
  2. From the repo root, run a server git suite the way AGENTS.md describes:
    vp test run apps/server/src/git/GitManager.test.ts
Expected behavior

Fixture repositories ignore the developer's signing config. apps/server/src/testUtils/gitConfig.setup.ts exists to pin commit.gpgsign=false and tag.gpgsign=false for exactly this reason.

Actual behavior

Every fixture commit calls gpg. With a hardware key, that's a PIN/touch prompt every few seconds for the whole run. Without a usable signer, most of the suite fails.

The setup file is only registered in apps/server/vite.config.ts (setupFiles). Running from the repo root loads the root vite.config.ts instead, and its setupFiles only contains packages/shared/src/testing/longTempDir.ts. Agents running inside T3 Code run tests from the root, so an agent running server tests on a machine with signing enabled keeps prompting the user.

Measured with GIT_CONFIG_GLOBAL pointing at a config with commit.gpgsign=true and a gpg.program that logs and exits 1:

Tests gpg calls
root config as is 107 failed, 13 passed 107
setup file added to root setupFiles 120 passed 0

Adding ./apps/server/src/testUtils/gitConfig.setup.ts to the root setupFiles fixes it. It only sets GIT_CONFIG_* variables, so other suites are unaffected. Happy to send the 3-line PR.

Impact

Major degradation or frequent failure

Version or commit

101f8b2f55

Environment

macOS 26 (Darwin 25.6), git 2.56, GnuPG (MacGPG2) with a YubiKey

Workaround

Run from apps/server (cd apps/server && vp test run src/git/GitManager.test.ts), or export GIT_CONFIG_COUNT=1 GIT_CONFIG_KEY_0=commit.gpgsign GIT_CONFIG_VALUE_0=false.

Dominant language
TypeScript
Stars
24.8k
Forks
6.4k
Avg merge
11h 33m
Merged PRs (30d)
312

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from pingdotgg/t3code

All issues in pingdotgg/t3code

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.