Skip to content

chore: sync fork with upstream opencode bug fixes (round 2) #235

Description

@alltomatos

Contexto

Este fork (alltomatos/opencode) parte do projeto original anomalyco/opencode. Fora as adições próprias (Batuta, Breniac, app desktop Electron), o core (agente, harness de tools, providers) é herdado do upstream e deve ser mantido em dia com correções de bug de lá. Segue o mesmo padrão de #200.

origin/dev e upstream/dev continuam sem ancestral comum no git, então a comparação foi feita por diff de árvore/conteúdo em packages/opencode/src/session, packages/opencode/src/tool e packages/core/src, com cada correção verificada byte a byte contra o commit real do upstream antes de portar.

Escopo desta issue

Trazer para este fork correções de bug isoladas do core/harness do upstream que ainda não existem aqui, sem alterar comportamento fora do que a correção original já mudava, e sem tocar em Batuta/Breniac/app desktop.

Trabalho feito nesta rodada

3 correções portadas (ver PR vinculado):

  • Modelos gpt-6/astra caindo no prompt genérico de GPT em vez de um prompt dedicado
  • Recuperação de histórico de migração legado quando __drizzle_migrations não tem coluna name (só created_at) — evitava replay de SQL já aplicado
  • headerTimeout/chunkTimeout sem default quando não configurados — uma conexão travada podia pendurar a requisição indefinidamente

Também avaliado e descartado nesta rodada (documentado em .claude/skills/opencode-fork-expert/references/upstream-sync.md pro próximo ciclo):

  • Vários arquivos do core (ripgrep/binary.ts, fs-util.ts, global.ts, plugin/internal.ts, plugin/provider/omniroute.ts, session/session.ts, session/prompt.ts) já estão à frente do upstream neste fork, não atrás — nada a trazer.
  • Upstream removeu as tools builtin browser/computer/memory-save/memory-search; este fork ainda as tem. Não é uma correção de bug (é uma feature descontinuada lá), então não foi replicado — fica pra decisão de um maintainer se quiser descartar essas tools também.

Follow-up

Repetir esta avaliação periodicamente, seguindo o mesmo padrão de verificação byte-a-byte de #200.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions