92 lines
3.2 KiB
Markdown
92 lines
3.2 KiB
Markdown
# Errors — Falhas para evitar
|
|
|
|
_Registro de erros, exceções e falhas com contexto de reprodução._
|
|
|
|
---
|
|
|
|
## [ERR-20260519-002] tsup-flat-infinity-breaks-dts
|
|
|
|
**Logged**: 2026-05-19T21:35:00-03:00
|
|
**Severity**: high
|
|
**Area**: config | build
|
|
|
|
### What happened
|
|
`cn()` usava `flat(Infinity)` no array de classes. O gerador de DTS do tsup v8 quebra com tipos recursivos infinitos, lançando `Type instantiation is excessively deep`.
|
|
|
|
### Error message
|
|
```
|
|
src/utils/index.ts: error TS2589: Type instantiation is excessively deep and possibly infinite.
|
|
DTS Build error
|
|
```
|
|
|
|
### Reproduction
|
|
```ts
|
|
type ClassValue = string | false | null | undefined | ClassValue[];
|
|
// ❌ flat(Infinity) → tipo recursivo infinito → DTS quebra
|
|
export function cn(...inputs: ClassValue[]): string {
|
|
return inputs.flat(Infinity)....
|
|
}
|
|
```
|
|
|
|
### Fix
|
|
```ts
|
|
type ClassValue = string | boolean | null | undefined | Array<ClassValue>;
|
|
// ✅ flat(2) — máximo de aninhamento é 2 níveis (cls, [cls2])
|
|
export function cn(...inputs: ClassValue[]): string {
|
|
return inputs.flat(2)....
|
|
}
|
|
```
|
|
|
|
### Also fixed in same session
|
|
- `process.env.NODE_ENV` no código → quebra SSR / bundler. Solução: guarda `typeof localStorage !== 'undefined'`
|
|
- `documentoSchema` usava `.replace()` direto na string Zod → `.transform(v => v.replace(…))`
|
|
|
|
---
|
|
|
|
<!-- Novas entradas acima desta linha -->
|
|
|
|
---
|
|
|
|
## ERR-20260519-002
|
|
**Data**: 2026-05-19T21:35:00-03:00
|
|
**Severidade**: medium
|
|
**Status**: resolved
|
|
|
|
### Problema
|
|
Template strings com backticks aninhadas em `docker/dockerfile.ts` quebraram compilação TypeScript.
|
|
|
|
### Resolução
|
|
Reescrever com template literals simples sem aninhamento: concatenar strings ou usar `.replace()` fora do template.
|
|
|
|
### Lição
|
|
Template strings aninhadas (backticks dentro de backticks) podem quebrar sintaxe TS. Usar `fn().replace(...)` quando precisar de conteúdo dinâmico dentro de strings já com template.
|
|
|
|
---
|
|
|
|
## [ERR-20260521-000] tool-call-echo-garbling
|
|
**Logged**: 2026-05-21T09:54:00-03:00
|
|
**Severity**: low (non-blocking)
|
|
**Area**: cli · op-cli · reliability
|
|
|
|
### What happened
|
|
Em ciclos 10, 11, 12, 13, 14 de heartbeat (2026-05-21), as mensagens de `tool_call_output^→20]` contêm texto garbling ao final: sequências como `]→01→19]→→]→0→→2→→]→1→0→→3→→]→0]→` explodem a viewport do texto e sim enganam o modelo na catálogo de contexto.
|
|
|
|
### Observation
|
|
- Aprs 10 ciclos de funcionamento normal (primeiros 9 ciclos, primeiro ciclo 14 OK)
|
|
- A partir do ciclo 10 surge o garbling em algumas tool output chamadas
|
|
- Os arquivos no disco (SESSION-STATE.md, MEMORY.md) estão LIMPOS — o garbling é exclusivo da exibição do history
|
|
- **Não bloqueia funcionamento**, mas causa warnings de token e pode enganar o modelo
|
|
|
|
### Investigation pending
|
|
- ❓ Relação com `stale .jsonl locks` em `/root/.openclaw/agents/main/sessions/`
|
|
- ❓ Fonte: `clawhub update --all` stdout, `ps aux`, `git status` em subdirs sem `.git`
|
|
- ❓ Ocorre em runs com profundidade de tool call > 3 níveis
|
|
|
|
### Workaround
|
|
- Se aparecer: modificar `read` em vez de `exec` stout para verificação de integridade
|
|
- Se o disco estiver OK e os arquivos on-disk limpios, ignorar
|
|
|
|
### Status
|
|
**LOGADO — aguardando pattern confirmado (≥3 occorrências independentes antes de escalar)**
|
|
|