Skip to content

Commit fa2ee0b

Browse files
scszcoderclaude
andcommitted
ws039: extend sidebar probe with row preview + unread state
ws038 confirmed the sidebar row exposes NO conversation/talk id (only name + btm tracking ids), and the display name 'sc' is NOT in the WS stream — so there is no shared id to map a nameless WS card to its DOM row. The only mis-delivery-safe bridge is content-anchored (match the row by what the card looks like). Extend dumpRowIds() to also capture _preview (readRowPreview) and _unread, so the next run shows exactly what a card-only conversation's sidebar preview says (e.g. "[商品]") and whether it's flagged unread. Those become the correlators for the content-matched delivery fix. Still diagnostic-only, still fires only on the name-match-miss path. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent c2b70af commit fa2ee0b

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

agent/ec_skills/browser_use_extension/extension_tools_service.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4504,10 +4504,16 @@ async def feige_get_chat_thread(params: FeigeGetChatThreadAction, browser_sessio
45044504
return idEl ? String(idEl.getAttribute('data-btm') || '').trim() : '';
45054505
}
45064506
function dumpRowIds(row) {
4507-
// ws038 diagnostic: collect every id-candidate attribute (data-* / id / href)
4508-
// on the row AND its descendants, so the next run reveals whether the sidebar
4509-
// exposes a stable conversation/talk id anywhere (none is documented today).
4510-
var out = { _name: readRowName(row) };
4507+
// ws038/ws039 diagnostic: id-candidate attributes (data-* / id / href on the
4508+
// row AND descendants) PLUS the row preview + unread state. Card-only convs
4509+
// expose no conv id to map, so a content-anchored delivery matcher needs to
4510+
// know what a card row's preview actually says (e.g. "[商品]") and whether the
4511+
// row is unread — those become the only safe correlators to the WS card.
4512+
var out = { _name: readRowName(row), _preview: readRowPreview(row) };
4513+
try {
4514+
var ub = row.querySelector ? row.querySelector('.rxAvaVFJHvpEGMc1ejm1, [class*="unread"]') : null;
4515+
out._unread = ub ? ((ub.textContent || '').trim() || 'dot') : '';
4516+
} catch (e2) {}
45114517
try {
45124518
var nodes = [row].concat(Array.prototype.slice.call(row.querySelectorAll('*')));
45134519
for (var n = 0; n < nodes.length && n < 80; n++) {

0 commit comments

Comments
 (0)