Conversation
Adds the devtools-extension package skeleton with Chrome MV3 manifest, Nx project config (esbuild + Elm build pipeline), TypeScript configs, Vite test config, and ESLint config. Installs [email protected] as a dev dep. Build commands guard against missing src/ so the target passes before source files are added in subsequent tasks.
…ials header is absent
…cision, remove unused getContent
…and storage persistence
…roadcast Scaffolds the Elm 0.19.1 panel with Types, Model, Update, View, Graph, Timeline, and Inspector modules. Wires the service worker to broadcast NETWORK_EVENT and SDK_EVENT results to the panel via chrome.runtime.sendMessage.
…g, structured LLM export - Replace Decode.map8 with andMap pipeline; decode url/method/status/nodeStatus from data.* - statusColor accepts Maybe Int; show "-" for non-HTTP events instead of red "0" - Structure LLM export as a typed flow object instead of dumping raw state - Remove as-casts from message-handler; TypeScript infers the return union naturally
…wd for run-commands
… script/SW issues
- Add @forgerock/devtools-bridge to davinci-app for end-to-end testing
- Split content script into MAIN-world injector + isolated-world relay (postMessage
bridge) to cross the Chrome isolated world boundary without CSP violations
- Move Effect/schema validation out of content script into service worker to avoid
22k-line bundle crash in content script context
- Add export {} footer to service worker esbuild for ES module recognition
- Filter network events to auth-related requests only before appending to store
- Fix Elm dead-code elimination: wrap update with updateWithPorts so exportFlow/
clearFlow ports survive --optimize compilation
- Add SDK node-change row rendering with status-colored left border in Timeline
- Guard broadcastToPanel against null results (filtered/invalid events)
- Add README.md documenting extension architecture, build, and bridge wiring
- Update content-script test to match simplified postMessage relay behavior
…previousStatus fields
…ed cookies, new collectors tab
…nt to timeline rows
…lighting in JsonTree
…ie error handling
…or backward-compat
…ls config capture
…oid uncatchable context error
…terval calc - Guard PlaybackTick so stale in-flight ticks don't restart playback after mode switch - Add parentheses around flowHealth == Error to fix operator precedence with && - Remove round/toFloat round-trip in interval calc; use Float literals directly - Disable Play button when no SDK nodes are available
… fix playback handlers
…learFlow, clean import
…de detail card The detail card previously looked for response/collectors on attributed network events, which never had that data. The real response payload lives in the DaVinci client's RTK Query cache keyed by node.cache?.key (= requestId). - davinci-client: add cache.getCache(requestId) that resolves RTK selectors with store state to return actual data (not just the selector function) - devtools-types: add responseBody field to SdkDataSchema so sdk:node-change events can carry the DaVinci raw response - devtools-bridge: extend Subscribable with optional cache.getCache, pass cached response as responseBody when building node SDK events - FlowView.elm: split detail card into node data section (response + collectors from the node event) and network section (HTTP requests attributed to the node); remove collectors lookup from network events where it never existed - panel.html: add .fv-node-label CSS class for the node response header
|
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
View your CI Pipeline Execution ↗ for commit e825261
☁️ Nx Cloud last updated this comment at |
There was a problem hiding this comment.
Nx Cloud is proposing a fix for your failed CI:
We added causedBy: null to the baseEvent fixture and the standalone sdk event input in auth-event.schema.test.ts to fix 3 failing decode tests. The AuthEventSchema was updated in this PR to include causedBy as a required NullOr(String) field, but the test fixtures were not updated alongside it, causing ParseError: ["causedBy"] is missing for every decode assertion.
Tip
✅ We verified this fix by re-running @forgerock/devtools-types:test.
diff --git a/packages/devtools-types/src/lib/auth-event.schema.test.ts b/packages/devtools-types/src/lib/auth-event.schema.test.ts
index ef9d96e..2bf6fc8 100644
--- a/packages/devtools-types/src/lib/auth-event.schema.test.ts
+++ b/packages/devtools-types/src/lib/auth-event.schema.test.ts
@@ -7,6 +7,7 @@ const baseEvent = {
timestamp: 1700000000000,
source: 'network' as const,
flowId: 'flow-abc',
+ causedBy: null,
flags: {
isCors: false,
isError: false,
@@ -106,6 +107,7 @@ describe('AuthEventSchema', () => {
type: 'sdk:node-change',
source: 'sdk',
flowId: 'flow-xyz',
+ causedBy: null,
flags: { isCors: false, isError: false, isAuthRelated: true },
data: {
_tag: 'sdk',
Or Apply changes locally with:
npx nx-cloud apply-locally aKaE-ZJ00
Apply fix locally with your editor ↗ View interactive diff ↗
🎓 Learn more about Self-Healing CI on nx.dev
JIRA Ticket
n/a
Description
As demo'd chrome extension devtool.