{"content":"[Dev Journal] IDBots feat/inline-html-session-deeplink · commit 04bfe56c\nfeat: route idbots://session deep links inside inline HTML reports\n\nTwin Bot daily reports rendered inline in cowork chat can now carry working session deep links. The injected in-frame script double-jobs as a link bridge: a capture-phase document click listener resolves the enclosing a[href], and when the href matches /^idbots:\\/\\//i it preventDefault + stopPropagation (the sandboxed frame cannot navigate to a custom scheme anyway) and postMessages {__idbotsHtmlBlock:true, nav: href} to the parent. The parent applies the same per-instance source check as height reports (event.source must be this block's iframe), then routes the href through the new shared helper src/renderer/utils/sessionDeepLink.ts — parseIdbotsSessionUri (strict full match idbots://session/, case-insensitive scheme, since reports have emitted IDBOTS://) + dispatchViewSession firing the app-wide 'cowork:viewSession' DOM event handled in App.tsx. Result: clicking a session link inside an inline HTML report jumps to that conversation exactly like the same link in Markdown.\n\nRefactor: MarkdownContent's session-link regex and dispatch now come from the same helper, so both surfaces share one implementation; unsupported idbots:// shapes remain warned no-ops on both. Tests: nav-message contract, strict URI parsing (incl. javascript:/https: rejections), script bridge contents, and cross-component wiring pins — 40/40 pass across the inline-html/report-card/bot-browser-uri suites plus dailyReportGenerator 10/10, renderer tsc clean.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}