Skip to content

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

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

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

Conversation

@PhantomReactor

@PhantomReactorPhantomReactor commented May 15, 2025

Copy link
Copy Markdown
Contributor

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:devMay 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
Rwanbt referenced this pull request in Rwanbt/unifia 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#16/21.
Jaiminp007 referenced this pull request in finny-ai/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 referenced this pull request in Rwanbt/unifia 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#16/21.
bussard76 pushed a commit to bussard76/openwork that referenced this pull request May 12, 2026
…king-engine-source
feat: streaming, thinking controls, engine source
kitlangton added a commit that referenced this pull request May 19, 2026
CI failure: the Environment section only renders when at least one
provider env var (OPENAI_API_KEY, AWS_ACCESS_KEY_ID, etc.) is set. The
test isolation env deliberately doesn't set those, and clean CI runners
don't have them either — so the section is absent. The test passed on
my local machine because dev-env had AWS_SECRET_ACCESS_KEY leaking in.
Assert only Credentials (always present). The two render paths exercise
the same resolver code, so one stable assertion is enough.
Also drop the stale "task #16" reference in the file header — that was
a conversation-local task ID. Point at script/prebuild-test-cli.ts
which is the actual artifact for the bun pre-warm investigation.
kitlangton added a commit that referenced this pull request May 19, 2026
CI failure: the Environment section only renders when at least one
provider env var (OPENAI_API_KEY, AWS_ACCESS_KEY_ID, etc.) is set. The
test isolation env deliberately doesn't set those, and clean CI runners
don't have them either — so the section is absent. The test passed on
my local machine because dev-env had AWS_SECRET_ACCESS_KEY leaking in.
Assert only Credentials (always present). The two render paths exercise
the same resolver code, so one stable assertion is enough.
Also drop the stale "task #16" reference in the file header — that was
a conversation-local task ID. Point at script/prebuild-test-cli.ts
which is the actual artifact for the bun pre-warm investigation.
kitlangton added a commit that referenced this pull request May 19, 2026
CI failure: the Environment section only renders when at least one
provider env var (OPENAI_API_KEY, AWS_ACCESS_KEY_ID, etc.) is set. The
test isolation env deliberately doesn't set those, and clean CI runners
don't have them either — so the section is absent. The test passed on
my local machine because dev-env had AWS_SECRET_ACCESS_KEY leaking in.
Assert only Credentials (always present). The two render paths exercise
the same resolver code, so one stable assertion is enough.
Also drop the stale "task #16" reference in the file header — that was
a conversation-local task ID. Point at script/prebuild-test-cli.ts
which is the actual artifact for the bun pre-warm investigation.
@github-actionsgithub-actionsBot mentioned this pull request Jun 2, 2026
6 tasks
JiaHuiRed referenced this pull request in JiaHuiRed/RedCode Jun 4, 2026
- 记忆触发从"被纠正"改"自己发现出错/返工当下即记"(AGENTS.md+MEMORY.md),
收工条加复审删旧、防长期库堆叠
- distill 实操:merge 两条通用教训到长期库——
#16 TS const 时空死区(Bun segfault)、#17 Windows 构建/打包坑(bat ASCII/
EBUSY=CWD 锁/钩子 throw/GUI 吃 TUI dist)
- 新增每日日志 260604.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Rwanbt referenced this pull request in Rwanbt/unifia Jun 14, 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#16/21.
zoulukuang added a commit to zoulukuang/deskfox that referenced this pull request Aug 14, 2026
…-toolkit]
自动化原理上做不到的 10 条收成 `MANUAL-CHECKLIST.md`,每条给出前置/步骤/通过判据/
失败记什么,并**必须写明「机器为什么做不到」** —— 否则下次会有人重复写一版跑不通的脚本。
单列第二节「本可自动化但本轮未覆盖」8 条(anomalyco#16 面板矩阵 / anomalyco#22 终端 / anomalyco#26 聊天引用 /
anomalyco#27 md 内链拦截,以及只验了入口没验效果的 anomalyco#59anomalyco#62anomalyco#63anomalyco#55)。
它们**不是「验过了」而是「还没验」**,混进人工单里会被误当成没问题,故显式分开。
更正 anomalyco#12:总清单原文写「崩溃/无响应恢复对话框 —— 出现且按钮可用」,
但 renderer-crash-guard.ts 的实现是**静默自愈**(120s 内第二次可数崩溃 → 隔离 .dat 快照 →
reload,单次崩溃只记日志),根本没有对话框。同 anomalyco#21 / anomalyco#48,属条目本身写错,就地更正并注明源码依据。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wut6R6htBzR8fBN8gbJkWg
zoulukuang added a commit to zoulukuang/deskfox that referenced this pull request Aug 14, 2026
人工验收单第二节列的 8 条「本可自动化但未覆盖」全部补成脚本,现状:
第 2 组 7/7、第 3 组 16 通过 2 跳过、第 4 组 11/11、第 5~7 组 11 通过 2 跳过,**待处理 0**。
剩下的跳过项都是真的做不了(分享需逐次授权;飞书绑定/群消息需真实外部账号)。
## 新覆盖的条目
- **anomalyco#16 面板开关矩阵**:树/审查/终端 **8 种组合全跑**,每种都验不遮挡不溢出。
价值最高的一条 —— `flex-row-reverse` 当初复发正是因为只测了「文件树+聊天」一种组合。
- **anomalyco#22 终端**:开/新建/关,判据是终端实例数真的变。
- **anomalyco#26 聊天引用**:选中 → 右键 → 添加到聊天窗口 → **再点浮层里的「加入聊天」** →
卡片入输入区 → 点卡片不开空白预览页。
- **anomalyco#27 md 内链拦截**:内链跳转在应用内完成,且**没有浏览器被拉起**。
- **anomalyco#59 主题**:真切一次 Fox Blue —— `data-theme` onedarkpro → fox-blue,
`--surface-base-active` `#e2e4e7` → **`#7295c452`**(正是清单要求的值),验完切回。
- **anomalyco#62 MCP**:真执行 ⌘; 开关一次并复位。
- **anomalyco#63**:如实报「只有一个本地服务器,无从切换」;workspace 切换由 anomalyco#19/anomalyco#18 覆盖。
- **anomalyco#55 飞书页**:开关翻转 + **落盘复核** + 复位。
## 被实测推翻的「想当然」(这一批)
- **审查不是独立面板,是中栏的一个 tab**(`[data-component="session-review"]` 从不出现)。
按名字猜选择器,anomalyco#16 里这一档永远开不起来,矩阵只能跑 4/8。
- **终端判据不能带 `canvas`**:PDF/xlsx 预览也是 canvas,导致「没开终端」也被判成开着。
- **标签条会横向溢出**:被挤出可见区的 tab **仍能报出几何坐标**,照着点会落到别处 ——
实撞点在会话标题上、**误触发了内联重命名**。坐标取得到 ≠ 那个位置真属于它。
故 `open_readme` 一律走文件树节点。
- **「添加到聊天窗口」只是第一步**,它先弹提问浮层,要再点「加入聊天」才真入聊天。
停在第一步找不到卡片,曾被记成「引用功能没生效」。
- **`data-theme` 是主题 id,命令面板显示的是主题名**(`onedarkpro` vs「One Dark Pro」)。
拿 id 去搜命令必然搜不到 —— 复位连续失败,**界面被留在 Fox Blue 两次**。
改为从主题定义文件读 id→名 映射,并轮询等主题真的生效。
- **搜索词与匹配词必须一致**:搜「使用主题:X」却取首个候选,点中的未必是 X。
- **持久化判据要具体到键+值**:第一版猜关键词 `caffeinate`,而真实键是
`preventSleepConfig`(store-keys.ts),「落盘可见」恒为 False —— 等于这条根本没验到,
只是没报错而已。
- **anomalyco#27 别拿「前台应用是谁」当判据**:探针自己的 osascript 就会打乱前台(实撞拿到 'Finder')。
改看有没有浏览器进程被拉起。
- **anomalyco#30 撤销要有东西可撤**:会话状态随前面条目漂移,多次 13→13→13 不是撤销坏了,
是没有可撤销的东西。改为先用 shell 造一条再验。
所有改全局状态的条目(主题 / 语言 / 权限自动接受 / 防休眠 / MCP)跑完都复位并复核。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wut6R6htBzR8fBN8gbJkWg
Sign up for freeto 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

@PhantomReactor@adamdotdevin