Skip to content

Latest commit

 

History

62 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Air Reproducible Examples

This repo collects minimal projects that reproduce bugs when running apps with Air. If you hit an Air bug, add the smallest repro you can here and open a PR so others can run it quickly.

Quick start

  • Install Go (1.21+ recommended) and Air: go install github.com/air-verse/air@latest.
  • Pick a sample directory, cd into it, and run air.
  • Hit the route noted below; stop with Ctrl+C when you are done.

Current samples

  • air-proxy-timeout/: Delays startup by one second so Air's proxy on :8888 times out while the app comes up on :7777 (reproduces air-verse/air#732).
  • include-file-issue-545/: Files in include_file are watched but don't trigger rebuilds unless their extension is also in include_ext; server on :8080 (reproduces air-verse/air#545, fixed in v1.53.0+).
  • ldflags-issue/: Build command uses -ldflags to set version variables, but Air-run builds don't embed them; server on :8080 (reproduces air-verse/air#513).
  • issue-505-tmp-dir-nested/: Air fails to create nested tmp_dir paths (e.g., /tmp/air/nested/build) because it uses os.Mkdir() instead of os.MkdirAll(); server on :3000 (reproduces air-verse/air#505).
  • proxy-reload-timing-issue-656/: Browser reload triggered immediately when process starts, before app is ready to accept connections on :8080; Air's proxy on :8081 shows "unable to reach app" error (reproduces air-verse/air#656).
  • race-condition-issue-784/: Race condition where Build B cancels itself when triggered during Build A, leaving outdated binary running (reproduces air-verse/air#784).
  • send-interrupt-delay-issue-671/: When send_interrupt = true, Air always waits full kill_delay even if process exits gracefully in milliseconds, wasting ~1.9s per reload; server on :9090 (reproduces air-verse/air#671).
  • sse-chunking-issue/: Air's proxy buffers and repackages Server-Sent Events into larger chunks instead of forwarding them immediately; direct on :3002, proxy on :3082 (reproduces air-verse/air#791).
  • windows-path-bug/: Windows-only: Air fails to run binaries when path is provided via CLI flags with forward slashes (e.g., --build.bin "bin/app.exe"); config file works fine (reproduces air-verse/air#589).
  • "with space"/: Gin app kept in a path containing a space to check watcher/build behavior; air serves /ping and /index on :8080.
  • with-template/: Gin app rendering templates (LoadHTMLGlob) with a couple nested packages to see how template changes are picked up; air serves /ping and /index on :8080.
  • windows-exe-lock-pr-897/: Windows-only reproduction for PR #897 where building tmp\\main.exe fails because the running executable is locked.

Add a new reproduction

  1. Create a new folder named after the bug or upstream issue; keep code and dependencies minimal.
  2. Include a .air.toml, go.mod, and a short README inside that folder explaining expected vs actual behavior, ports used, and exact steps to trigger the bug.
  3. Make sure air runs cleanly from that folder (the shared tmp/ patterns are already gitignored).
  4. Update this README with a one-line description of your sample and open a PR linking to the upstream Air issue you are reproducing.

About

Please make a PR for this repo if you have a minimal reproducible example to reproduce the bug

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages