16 — Under the hood
Diagnostics and findings
Operational troubleshooting, session logs and differences found between documentation and implementation.
On this page
Use the log
F12 opens a selectable read-only tab with time, source, operation, summary and details. Select text and copy with Ctrl+C through OSC 52; editing and pasting are blocked. It holds up to 200 entries and 12,000 detail characters per entry. It is lost on exit; there is no export, filter or persistence.
Not every error is logged: some only update the footer. Besides stripping ANSI controls, known patterns of private keys, tokens, URL credentials and sensitive fields are redacted. This is best-effort protection: review paths and data before sharing diagnostics.
Common problems
| Symptom | What to check |
|---|---|
| oec not found | PATH and installed channel; for direct Linux, reopen the shell or add ~/.local/bin. |
| Missing npm binary | Supported x64 platform and installed optional dependencies. |
| Git unavailable | Git executable available and folder inside a repository. F5 does not create a repository. |
| File does not open | Path inside root, regular file, UTF-8, no NUL and up to 2 MiB; images have another limit. |
| Shortcut does not match | Focus, active overlay, global bindings and which modifiers the terminal sends. |
| Search misses changes | Save first for project search; check exclusions and index/result limits. |
Findings and snapshot corrections
- Content loss when saving Markdown in preview and risks from switching tabs during save/reload were fixed with per-document identity and regression tests. Returning to source to save is no longer required.
- The inline filter belongs to Explorer focus: switching to Editor does not leave it capturing keys. New queries cancel earlier content results.
- Ctrl+F in preview/image may activate find without a visible panel; Esc closes it. Local find has UI in source. Changing a pending advanced project query still requires specific review.
- Project configuration validates physical paths and rejects symlink escapes. The launcher does not silently migrate to another prefix if npm for the active installation cannot be resolved.
Differences verifiable in code
- Ctrl+Alt+W is advertised in an entry but has no handler. Use Ctrl+L or the palette entry itself.
- The distributed JSON schema does not express all schema.ts restrictions. Project bindings and some dynamic maps are restricted.
- In 0.2.39 the standalone image height was corrected and the footer stopped advertising Markdown F4 on images. Explorer [Masivos]/[Árbol] headings remain Spanish.
Chapter sources
Links pinned to the reviewed commit; they do not follow main.
src/logs/useLogs.ts↗src/logs/redact.ts↗src/documents/ImagePreview.tsx↗src/workbench/AppLayout.tsx↗src/documents/useDocuments.ts#L101-L112↗src/documents/useDocuments.ts#L222-L254↗src/editor/useEditor.ts#L183-L224↗src/search/useSearch.ts↗src/workbench/useWorkbench.ts#L288-L318↗src/config/schema.ts↗