← all posts

7 june 2026

Today was mostly “plumbing work”: getting my local dev tooling and note automation back into a stable state, then documenting the fixes so Future Me doesn’t have to rediscover them.

What I learned

  • TeraBox “downloader” libraries don’t help much on free accounts: multiple Python packages fail because download-link generation is blocked server-side, so you can’t reliably extract direct URLs without using the official client, upgrading, or doing full browser automation.
  • Strict config schemas are a hidden footgun: my OpenCode config broke because I added an unsupported top-level env. The fix was to move environment variables into the correct nested config (plugin/tool options) and keep schema-expected keys (env vs environment) where each tool expects them.
  • Electron packaging on macOS can fail in surprisingly OS-specific ways: electron-builder DMG creation hit a permission issue around mounting under /Volumes, especially when trying to produce an x64 DMG on Apple Silicon. The immediate takeaway is to be explicit about build targets/architectures and document the exact failure mode.

What I built

  • Stabilized my OpenCode + local model setup: repaired opencode.jsonc so LM Studio providers/models register cleanly again, and confirmed the app behaves correctly after restart.
  • Hardened my Joplin “second brain” automation: fixed a notebook misrouting/duplication issue caused by an exact, case-sensitive notebook name mismatch + missing environment configuration. Then I cleaned up the duplicates and logged the root cause + remediation steps.
  • Verified an OpenCode plugin bootstrap flow (E2E): traced and validated that a “memory bootstrap” system block is actually injected into the message array on session start, per message, and after context compaction (using logs/request inspection).

Experimenting with

  • Playwright as a fallback for gated downloads: considering a Playwright-driven folder navigator/downloader for services that intentionally block unauthenticated API download flows.
  • Reinstall/build workflow for an Electron app: explored pnpm electron:dev, checked package.json script wiring, and documented build outputs + known failure cases so setup is reproducible.