fix(bridge): stall-based approval detection + known issues from deep debugging
- IDLE→stall detection: RUNNING+delta=0 for 6 polls (30s) - lastModifiedTime-based thinking filter (partial) - ResolveOutstandingSteps confirmed CANCELS steps (removed) - HandleCascadeUserInteraction always socket hang up (removed) - VS Code accept commands: silent success, no effect - Hybrid approval: focus+all commands sequential, no break - logToFile: console.log backup added - Known issues: 4 critical findings documented - better-antigravity reference added for future research
This commit is contained in:
209
better-antigravity-main/README.md
Normal file
209
better-antigravity-main/README.md
Normal file
@@ -0,0 +1,209 @@
|
||||
<div align="center">
|
||||
|
||||
# Better Antigravity
|
||||
|
||||
**Community-driven fixes and improvements for [Antigravity IDE](https://antigravity.dev)**
|
||||
|
||||
[](https://open-vsx.org/extension/kanezal/better-antigravity)
|
||||
[](https://www.npmjs.com/package/better-antigravity)
|
||||
[](LICENSE)
|
||||
[](https://antigravity.dev)
|
||||
[](https://github.com/Kanezal/better-antigravity#support)
|
||||
|
||||
*Antigravity is great. We just make it a little better.*
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
## What is this?
|
||||
|
||||
Better Antigravity is both a **VS Code extension** and an **npm CLI tool** that fixes known bugs and adds quality-of-life features to Antigravity IDE.
|
||||
|
||||
| Channel | What it does | Install |
|
||||
|---------|-------------|---------|
|
||||
| **Extension** | Auto-applies fixes on startup + chat rename + SDK features | [Open VSX](https://open-vsx.org/extension/kanezal/better-antigravity) |
|
||||
| **CLI** | Quick one-off patching via `npx` (no extension install needed) | `npx better-antigravity auto-run` |
|
||||
|
||||
> [!NOTE]
|
||||
> The extension includes everything the CLI does, plus extra features powered by the [Antigravity SDK](https://www.npmjs.com/package/antigravity-sdk). If you install the extension, you don't need the CLI.
|
||||
|
||||
---
|
||||
|
||||
## Install (Extension)
|
||||
|
||||
Search for **"Better Antigravity"** in the Extensions panel, or install from [Open VSX](https://open-vsx.org/extension/kanezal/better-antigravity).
|
||||
|
||||
Manual install:
|
||||
|
||||
```bash
|
||||
antigravity --install-extension better-antigravity-0.5.0.vsix --force
|
||||
```
|
||||
|
||||
On activation the extension will:
|
||||
1. **Auto-apply the auto-run fix** (silent, no prompt)
|
||||
2. **Initialize the SDK** for chat rename and future features
|
||||
3. **Install the integration script** (prompts for reload on first install, auto-reloads on updates)
|
||||
4. **Suppress integrity warnings** ("corrupt installation" notification silenced automatically)
|
||||
|
||||
---
|
||||
|
||||
## Install (CLI only)
|
||||
|
||||
If you just want the auto-run fix without installing an extension:
|
||||
|
||||
```bash
|
||||
npx better-antigravity auto-run # apply fix
|
||||
npx better-antigravity auto-run --check # check status
|
||||
npx better-antigravity auto-run --revert # revert to original
|
||||
```
|
||||
|
||||
Custom install path (if Antigravity is not in the default location):
|
||||
|
||||
```bash
|
||||
npx better-antigravity auto-run --path "D:\Antigravity"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Features
|
||||
|
||||
### Auto-Run Fix
|
||||
|
||||
**The problem:** You set **Settings -> Agent -> Terminal Execution -> "Always Proceed"**, but Antigravity **still asks you to click "Run"** on every terminal command.
|
||||
|
||||
**Root cause:** The `run_command` step renderer has an `onChange` handler that auto-confirms when you switch the dropdown, but there's **no `useEffect`** that checks the saved policy at mount time.
|
||||
|
||||
```javascript
|
||||
// What exists (only fires on dropdown CHANGE):
|
||||
onChange = useCallback(_ => {
|
||||
setPolicy(_), _ === EAGER && confirm(true)
|
||||
}, [])
|
||||
|
||||
// What's MISSING (should fire on mount):
|
||||
useEffect(() => {
|
||||
if (policy === EAGER && !secureMode) confirm(true)
|
||||
}, [])
|
||||
```
|
||||
|
||||
**The fix:** Our patcher adds the missing `useEffect`. It uses **structural regex matching** (not hardcoded variable names) so it works across Antigravity versions.
|
||||
|
||||
> For the full root cause analysis, pattern matching explanation, and example output, see **[FIXES.md](FIXES.md)**.
|
||||
|
||||
### Chat Rename (Extension only)
|
||||
|
||||
Rename conversations to custom titles via the [Antigravity SDK](https://www.npmjs.com/package/antigravity-sdk) title proxy. Custom titles override the auto-generated summaries in the sidebar.
|
||||
|
||||
### Integrity Check Suppression (Extension only)
|
||||
|
||||
When the SDK patches workbench.html, Antigravity shows a sticky "Your installation appears to be corrupt" warning with no dismiss button. As of v0.4.0, the extension automatically updates the checksum in `product.json` after patching so IntegrityService sees `isPure = true`. No warnings on next restart.
|
||||
|
||||
Multiple SDK-based extensions are coordinated automatically -- the original checksum is restored only when the last extension uninstalls.
|
||||
|
||||
### Status Command (Extension only)
|
||||
|
||||
`Ctrl+Shift+P` -> **"Better Antigravity: Show Status"** to see:
|
||||
- SDK initialization state
|
||||
- Language Server connection
|
||||
- Integration script status
|
||||
- Auto-run fix status per file
|
||||
|
||||
---
|
||||
|
||||
## Commands
|
||||
|
||||
| Command | Description |
|
||||
|---------|-------------|
|
||||
| `Better Antigravity: Show Status` | Show extension and fix status |
|
||||
| `Better Antigravity: Revert Auto-Run Fix` | Restore original files from backup |
|
||||
|
||||
---
|
||||
|
||||
## Safety
|
||||
|
||||
- **Automatic backups** -- original files saved as `.ba-backup` before patching
|
||||
- **One-command revert** -- CLI `--revert` or extension command
|
||||
- **Non-destructive** -- patches only add code, never remove existing logic
|
||||
- **Version-resilient** -- structural regex matching, not hardcoded variable names
|
||||
- **Async I/O** -- file operations don't block the extension host
|
||||
|
||||
---
|
||||
|
||||
## Compatibility
|
||||
|
||||
| Antigravity Version | Status |
|
||||
|---------------------|--------|
|
||||
| 1.107.0 | Tested |
|
||||
| Other versions | Should work (dynamic pattern matching) |
|
||||
|
||||
---
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
better-antigravity/
|
||||
├── src/
|
||||
│ ├── extension.ts # Extension entry point (thin orchestrator)
|
||||
│ ├── auto-run.ts # Auto-run fix logic (async, no vscode dependency)
|
||||
│ └── commands.ts # VS Code command handlers
|
||||
├── fixes/
|
||||
│ └── auto-run-fix/
|
||||
│ └── patch.js # Standalone CLI patcher
|
||||
├── cli.js # npx entry point
|
||||
├── build.mjs # esbuild config
|
||||
├── publish-ovsx.mjs # Open VSX publish script
|
||||
└── package.json # Dual: npm package + VS Code extension
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
npm install
|
||||
npm run build # Compile extension
|
||||
npm run watch # Watch mode
|
||||
npm run package # Build VSIX -> out/
|
||||
npm run publish:ovsx # Publish to Open VSX (reads .env)
|
||||
```
|
||||
|
||||
The extension depends on [antigravity-sdk](https://www.npmjs.com/package/antigravity-sdk) from the monorepo sibling directory. The build script aliases it automatically.
|
||||
|
||||
---
|
||||
|
||||
## Contributing
|
||||
|
||||
Found another Antigravity bug? Have a fix? PRs are welcome.
|
||||
|
||||
### Adding a new fix:
|
||||
|
||||
1. Create a folder under `fixes/` with a descriptive name
|
||||
2. Include a `patch.js` that supports `--check` and `--revert` flags
|
||||
3. Use structural pattern matching, not hardcoded variable names
|
||||
4. Update this README's feature table
|
||||
|
||||
---
|
||||
|
||||
## Disclaimer
|
||||
|
||||
> [!WARNING]
|
||||
> This project is not affiliated with Google or the Antigravity team. These are community patches and improvements. If Antigravity updates and the patches break, simply revert and re-apply (or wait for an updated patch).
|
||||
|
||||
**Always report bugs officially** at [antigravity.google/support](https://antigravity.google/support) -- community patches are temporary solutions, not replacements for official fixes.
|
||||
|
||||
---
|
||||
|
||||
## ❤️ Support
|
||||
|
||||
If you find this project useful and want to support its development, you can send **USDT** to:
|
||||
|
||||
| Network | Address |
|
||||
|---------|---------|
|
||||
| **TON** | `UQCjVh3C3mZc44GjT2IDsS4pmeOoUgRNxWMcb85NS5Bz_v1d` |
|
||||
| **TRON (TRC20)** | `TH3JKGjNrSDCsjkkSuneaSMZoJYF7CNTXD` |
|
||||
|
||||
---
|
||||
|
||||
## License
|
||||
|
||||
[AGPL-3.0-or-later](LICENSE)
|
||||
Reference in New Issue
Block a user