Skip to content

feat(antigravity): Antigravity Desktop support + Windows SQLite/fsync fixes - #1

Merged
gabszap merged 9 commits into
mainfrom
feat/antigravity-desktop-windows
Oct 17, 2026
Merged

gabszap merged 9 commits into
mainfrom
feat/antigravity-desktop-windows

Conversation

@gabszap

@gabszap gabszap commented Oct 16, 2026

Copy link
Copy Markdown
Owner

PR 1 de 3 — empilhado: merge primeiro.

O que entra

Suporte a sessões do Antigravity Desktop (Electron/macOS, Linux e Windows) como fonte e alvo, mais um fix de Windows nosso.

Os 8 primeiros commits são o trabalho do @elijahr (a mesma base do PR xhluca#6 aberto no upstream), preservando autoria:

  • novo adaptador formats/antigravity_desktop.py (parsing do banco de conversas, projeção de timeline, alvo com escrita nativa);
  • resolução de caminho cross-platform e guardas de plataforma;
  • pin de binários (macOS/Linux/Windows), localização do language_server em resources/bin, versão normalizada em 2.18.1;
  • doc de formato estruturada (docs/antigravity-desktop-format.md) + interoperabilidade;
  • unit tests do formato e teste nativo.

E o commit nosso (fix(antigravity): resolve Windows SQLite locks, directory fsync, and file URI paths):

  • resolve locks de SQLite no Windows ao ler o banco do Antigravity (snapshot consistente em vez de WinError 32);
  • fsync do diretório após publicar arquivos, para durabilidade de crash;
  • constrói file: URI corretamente com paths de Windows (drive + espaços).

Estado

  • Base: main em a3b0fae. Esta branch é a base da pilha: feat/hermes-schema-31 e feat/opencode-v2 vêm em cima.
  • Verificação local (Windows, Python 3.12): tests/test_antigravity_desktop_format.py e tests/test_antigravity_format.py passam; o teste nativo é opt-in. Não rodei a suíte completa do upstream neste branch isoladamente (a evidência de suíte está no PR 2, que é o ramo de Hermes/Windows).
  • Nada foi enviado para o repo do @elijahr; este PR vive só no meu fork.

elijahr and others added 9 commits October 16, 2026 18:44
- add bidirectional format adapter for Antigravity Desktop (antigravity-desktop)
- support reading and writing SQLite conversation databases, conversation_summaries.db, and agyhub_summaries_proto.pb
- handle both 19-column and 21-column schemas (with raw_summary, group_id) in conversation_summaries.db
- support up to 512 MB native sessions in Antigravity CLI and Desktop
- auto-register projects in app_storage.json and ~/.gemini/config/projects/ when installing desktop sessions
- document the desktop storage architecture in docs/antigravity-desktop-interoperability.md
- add comprehensive unit tests and native language server verification
…tform guards

- add default_language_server_path() supporting darwin, linux, and win32
- add electron_user_data_dir() resolving app_storage.json on macOS, Linux (XDG), and Windows (APPDATA)
- update verify_pinned_desktop() with clear platform diagnostics and unvalidated bypass for Linux/Windows
- document platform support status in docs/antigravity-desktop-interoperability.md
- add platform resolution tests across macOS, Linux, and Windows
…, and Windows

- add verified binary sizes and SHA-256 digests for Linux x64 and Windows x64
- implement PINNED_DESKTOP_SPECS table validating binaries against platform-specific digests
- enhance Linux search order (PATH launcher, /opt, ~/.local/share) and Windows case-insensitivity
- update documentation with complete multi-platform installer matrix
…tion arguments

- rename docs/antigravity-desktop-interoperability.md to docs/antigravity-desktop-format.md to match repository naming convention
- update invocation flags and arguments to reflect verified package launcher details
- update reference in CHANGELOG.md
…file URI paths

- Close SQLite connection handles explicitly before unlinking or cleaning up temporary directories (prevents WinError 32 on Windows).

- Bypass directory fd fsync on Windows NT in conversion.py, jsonl.py, and devin.py to avoid PermissionError [Errno 13].

- Normalize Windows drive letter parsing in file:/// URIs (strip leading slash before drive letter).

- Adjust stat permission test assertion for Windows NT (0o666 vs 0o600).

- Restore standard PyPI endpoints in uv.lock.
@github-actions

Copy link
Copy Markdown

🟢 Contributor eligibility requirements met for @gabszap.

  • 🟢 Account created: 2020-07-15; age: 2284 days (required: at least six calendar months).
  • 🟢 Contributions dated on or before 2026-09-16: 336 or more (required: at least 100).

Pull request authors must have a GitHub account at least six calendar months old and at least 100 GitHub contributions dated on or before the date one calendar month before the check.

See the contributor eligibility policy.

@gabszap
gabszap merged commit e780f0c into main Oct 17, 2026
23 checks passed
@gabszap gabszap mentioned this pull request Oct 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants