[Bug]: preview_evaluate accepts returnByValue:false but returns no usable object reference
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 70/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- electron, typescript
調査の方向性
packages/contracts/src/previewAutomation.ts の returnByValue の仕様と、apps/server/src/preview/ServerBrowserPage.ts の結果マッピングを読みます。false と true の場合の Runtime.evaluate の動作を比較し、既存のプレビュー自動化テストでカバレッジを確認します。false が利用可能なリモートオブジェクト参照を返すか、明示的に拒否され、default と true は引き続きオブジェクトの内容を返す状態になれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Written by human: this is possibly the lowest-priority issue I've ever opened. I seriously doubt anybody has ever actually encountered this problem naturally, but because it was mentioned once, my clankers keep bugging me to get this one fixed. IMO, the right solution is just to reject returnByValue:false altogether and close this out.
Written by AI:
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
packages/contracts or packages/shared
Steps to reproduce
-
Open a fresh blank preview tab in T3 Code Desktop:
preview_open({ profileId: "incognito", reuseExistingTab: false, open: true, show: true }) -
Retain its tab ID and evaluate an object with non-by-value mode:
preview_evaluate({ tabId, expression: "({ alpha: 1, href: location.href })", returnByValue: false }) -
Repeat with
returnByValue:true. -
Repeat with
returnByValueomitted.
Expected behavior
Either return a usable remote-object reference, as the contract describes, or explicitly reject the unsupported false option.
Default and explicit by-value evaluation should continue returning object contents.
Actual behavior
returnByValue:false succeeds but returns only:
{"value":"Object"}
There is no object handle or content in the result.
The same expression with returnByValue:true returns:
{"value":{"alpha":1,"href":"about:blank"}}
Default by-value evaluation also works. The behavior reproduced repeatedly, on both a blank page and a locally served static page.
The original generic execution error from #3716 did not reproduce. This report concerns the remaining contract mismatch.
Impact
Minor bug or occasional failure
Version or commit
main @ 680152e27b2a961686389ca69a1557cbb2c55f08
Environment
Linux x86_64; Electron 44.9.3; Chromium 152.0.7977.167; Codex provider through T3 Code.
Logs or stack traces
No exception is returned.
The contract describes `returnByValue` as:
> Serialize and return the value instead of a remote object reference. Defaults to true.
https://github.com/pingdotgg/t3code/blob/680152e27b2a961686389ca69a1557cbb2c55f08/packages/contracts/src/previewAutomation.ts#L622
The server forwards the option to `Runtime.evaluate`, then maps the result to its value or description. The remote object ID is not returned:
https://github.com/pingdotgg/t3code/blob/680152e27b2a961686389ca69a1557cbb2c55f08/apps/server/src/preview/ServerBrowserPage.ts#L851
Screenshots, recordings, or supporting files
No response
Workaround
Omit returnByValue or set it to true when inspecting serializable values.
Related issues
Focused follow-up requested in the closing comment on #3716:
https://github.com/pingdotgg/t3code/issues/3716#issuecomment-6314979496
Explicitly rejecting false would resolve this report without requiring a new remote-object manipulation feature.
Investigated and drafted by GPT-6.1-Sol through the Codex harness in T3 Code.
- 主要言語
- TypeScript
- スター
- 24.8k
- フォーク
- 6.4k
- 平均マージ
- 3時間 39分
- マージ済み PR(30日)
- 301
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
pingdotgg/t3code のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
pingdotgg/t3code#22819 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
メンテナーはふだん 1 日以内に返信
-
bug needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
メンテナーはふだん 1 日以内に返信
pingdotgg/t3code の issue をすべて見る
似ている issue
-
[BUG] rag: sentence content can cross the reported sentence boundaries対応中かも @LJK-ikun が今日担当しました。 オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
README: the Resource URI Schemas example's file://documents/* pattern only matches that literal URIオープン
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
platformatic/mcp#361 ·
メンテナーはふだん 1 日以内に返信
-
frontend
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
Push: sem service worker ou sem VAPID, o interruptor de Notificações fica ligado sem avisar nadaオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
melgarafael/DeskcommCRM#3164 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
ant-design/pro-components#9769 ·
メンテナーはふだん 1 日以内に返信