Skip to content

add support to preview webp images and paste file paths#16

Merged
adamdotdevin merged 1 commit intoanomalyco:devfrom
PhantomReactor:filepicker
May 15, 2025
Merged

add support to preview webp images and paste file paths#16
adamdotdevin merged 1 commit intoanomalyco:devfrom
PhantomReactor:filepicker

Conversation

@PhantomReactor
Copy link
Copy Markdown
Contributor

@PhantomReactor PhantomReactor commented May 15, 2025

I missed testing pasting file paths and webp previews when i added filepicker and I just noticed they don't work. This should fix the two issues

@adamdotdevin adamdotdevin merged commit 5f5f9da into anomalyco:dev May 15, 2025
sauerdaniel added a commit to sauerdaniel/opencode that referenced this pull request Jan 17, 2026
- Issue anomalyco#14: SDK cache now limited to 50 entries with LRU eviction
- Issue anomalyco#15: Languages cache now limited to 100 entries with LRU eviction
- Issue anomalyco#16: Instance cache now limited to 20 entries with LRU eviction

Creates new createLruCache utility in src/util/cache.ts with:
- maxEntries limit for bounded cache size
- LRU eviction policy when limit is reached
- Optional onEvict callback for cleanup
andreipromarketing-dev pushed a commit to andreipromarketing-dev/opencode that referenced this pull request Apr 7, 2026
…ecks

Fix Windows CI: skip bash-path-incompatible test on win32
sorted-ai-bot pushed a commit to sorted-ai/opencode that referenced this pull request Apr 15, 2026
Stage B of Session anomalyco#17 R-016 mitigation. Rewrites sysprompt identity
from "You are OpenCode, the best coding agent on the planet." to
"You are Hatch., ...". Removes L8 feedback bullet referencing
opencode.ai/docs. Rewrites L17 "OpenCode honestly applies" → "Hatch.
honestly applies".

Motivation: Anthropic content-fingerprinting classifier matches
sysprompt literal strings (ChadMoran experiment, Grok X corpus
2026-04-12). Identity rename removes the blocklisted token.

Scope: anthropic.txt only. Deferred tool loading hack in
session/prompt.ts:559-568 is NOT touched (Session anomalyco#16 proved
load-bearing). Other provider prompts (codex/kimi/gpt/default/
trinity/beast/gemini) are not in scope — they do not reach Anthropic
per session/system.ts:30.

Verify (CEO live, 2026-04-12):
  - fresh session step=0 self-identification returned
    "私は Hatch. です ... anthropic/claude-sonnet-4-6"
  - 200 OK, no "out of extra usage" 400, no org_level_disabled_until
  - hack preserved, identity rename alone sufficed for this run

CTO Review #1: PASS (independent verify grep/diff/strings).
Authority: V3P2-3 Core change CEO approved.

Refs: CTO/RISKS.md R-016, docs/v3/handoffs/Session17_StageB_Senior_Brief_2026-04-12.md,
docs/v3/handoffs/Session16_Close_2026-04-12.md
Rwanbt added a commit to Rwanbt/opencode that referenced this pull request Apr 19, 2026
…rency

Two small reliability fixes flagged by the scalability audit:

1. llm.ts: maxRetries defaults to 2 instead of 0. The AI SDK already
   retries with backoff on 429 / 5xx / ECONNRESET — the previous 0
   turned every transient provider hiccup into a visible agent error.
   Callers that want "no retry" still pass retries: 0 explicitly.

2. prompt.ts: resolvePart (L1391) and the @-mention resolver (L248)
   switched from concurrency "unbounded" to concurrency 8. 100 parts
   attached at once would previously fire 100 plugin / fs / provider
   lookups in parallel and could trip provider rate-limits. 8 parallel
   is enough to stay fast on the common 1–10 case.

Closes anomalyco#16/21.
Jaiminp007 referenced this pull request in Jaiminp007/finny May 2, 2026
Fixes all 17 Copilot comments:

Telemetry opt-out (#1, #2, #3, #9, #16):
- tracker.ts now reads FINNY_TELEMETRY=0 / OPENCODE_TELEMETRY=0 at module
  load, so the opt-out applies in every entrypoint (TUI worker, server,
  CLI), not just the bootstrap path.
- Email dialog auto-prompt and /subscribe slash command also gated on
  Analytics.isEnabled() — email POST goes to the same Convex deployment.

Tracker correctness (#5, #14, #17):
- drain() now also waits for the DeviceProfile.userId() resolution promise,
  not just the post-send promise.
- worker rpc.shutdown() and main-thread thread.ts both call
  Analytics.drain() before tearing down — neither beforeExit nor SIGTERM
  fire on worker.terminate() / process.exit(0).
- beforeExit handler runs at most once per process, preventing an infinite
  drain loop when a hung telemetry request later resolves and re-empties
  the loop.

Privacy (#10, #11, #12):
- Drop process.argv from tui.worker.booted (could include --prompt text
  and project paths).
- error.surfaced now sends only error.name; error messages frequently
  embed user prompt content and local file paths.
- Don't persist the submitted email address to local KV (no reader, just
  unnecessary PII retention).

Email dialog state machine (#4, #6, #8):
- Wait for kv.ready before evaluating the prompt gate so we don't re-show
  the dialog to users who already submitted/skipped.
- Conditional dismiss handler — only marks "skipped" when no terminal
  status has been set, so a successful submit isn't overwritten by the
  dismiss callback that fires on dialog.clear() and isn't suppressed by
  another dialog replacing this one.

Server-side validation (#15):
- subscribe mutation now rejects empty / oversized / regex-failing emails
  with a ConvexError, so the public Convex client can't bypass the TUI
  regex.

Command coverage (#13):
- Hook Analytics.track() in DialogCommand.trigger() instead of the bus
  event handler. trigger() is the central activation point for palette,
  slash, keybind, plugin, and bus paths — single hook, full coverage,
  no double-counting.

Comment wording (#7):
- bootstrap.ts: "opt-in by default" → "enabled by default" (correct
  description of opt-out semantics).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Rwanbt added a commit to Rwanbt/opencode that referenced this pull request May 5, 2026
…rency

Two small reliability fixes flagged by the scalability audit:

1. llm.ts: maxRetries defaults to 2 instead of 0. The AI SDK already
   retries with backoff on 429 / 5xx / ECONNRESET — the previous 0
   turned every transient provider hiccup into a visible agent error.
   Callers that want "no retry" still pass retries: 0 explicitly.

2. prompt.ts: resolvePart (L1391) and the @-mention resolver (L248)
   switched from concurrency "unbounded" to concurrency 8. 100 parts
   attached at once would previously fire 100 plugin / fs / provider
   lookups in parallel and could trip provider rate-limits. 8 parallel
   is enough to stay fast on the common 1–10 case.

Closes anomalyco#16/21.
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