chore: upgrade to Evo SDK 4.0.0-rc.2 across tutorials and example apps#96
Conversation
Raise the credit withdrawal amount to 1000000 to meet the protocol minimum. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Align the dashmint-lite.html esm.sh import with the React app's pinned version. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…uth flow Owner-chip string matching broke when the test identity has a DPNS name (the chip shows "@username" instead of the truncated identity id). Detect a buyable listing via its "Buy" button instead, and accept the disabled "Insufficient credits" state as a valid mounted-modal outcome. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Align the dashproof-lite.html esm.sh import with the React app's pinned version. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Align the dashnote-lite.html esm.sh import with the React app's pinned version. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…, and fixture coupling - returnToList best-effort waits for sonner toasts to clear before clicking "Back to notes", since a lingering success toast overlays the header and intercepts the click. - waitForSaveComplete matches both "Save" and "Create note", because the button only flips to "Save" once the post-create reload re-selects the note by id, which can lag behind testnet eventual consistency. - deleteNoteByTitle waits for the confirmation dialog to close after confirming the delete. - The mobile delete-flow test opens whichever note is listed first, scoped to a note-row container so it can't latch onto the sidebar hamburger, instead of coupling to a specific fixture title. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
📝 WalkthroughWalkthrough
ChangesNode.js Version Pinning and SDK Upgrade
Tutorial and E2E Test Updates
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 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 |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
example-apps/dashmint-lab/public/dashmint-lite.html (1)
134-139: ⚡ Quick winUpdate the workaround note and re-verify the protocol override for rc.2.
The comment still says the override is for “evo-sdk dev.6”, but the import on Line 122 is now
4.0.0-rc.2. Please update the note to match reality and verify whether forcing{ version: 11 }is still required.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@example-apps/dashmint-lab/public/dashmint-lite.html` around lines 134 - 139, The workaround comment in the connectSdk function references evo-sdk dev.6, but the actual SDK import on line 122 shows version 4.0.0-rc.2. Update the comment to accurately reflect the current SDK version, and then verify whether the protocol version override (the { version: 11 } parameter in the EvoSDK.testnetTrusted call) is still necessary for this newer SDK release. If the override is no longer required, remove it along with the associated workaround comment; if it is still needed, update the comment to explain why it remains necessary for rc.2.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@example-apps/dashnote/test/e2e/notes.spec.ts`:
- Around line 231-240: The test currently hard-fails with a timeout when no
notes exist for the current identity instead of skipping cleanly. Before
attempting to select the first note row using the locator pattern
`[data-testid^="note-row-foreground-"]`, add a check to count the number of note
rows available. If zero note rows are present, call the test skip function
(typically `test.skip()` or `this.skip()` depending on your test framework) to
skip the test deterministically rather than waiting for the timeout to occur.
---
Nitpick comments:
In `@example-apps/dashmint-lab/public/dashmint-lite.html`:
- Around line 134-139: The workaround comment in the connectSdk function
references evo-sdk dev.6, but the actual SDK import on line 122 shows version
4.0.0-rc.2. Update the comment to accurately reflect the current SDK version,
and then verify whether the protocol version override (the { version: 11 }
parameter in the EvoSDK.testnetTrusted call) is still necessary for this newer
SDK release. If the override is no longer required, remove it along with the
associated workaround comment; if it is still needed, update the comment to
explain why it remains necessary for rc.2.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: b82f5bfe-d186-4c3d-908d-c38a2edad67e
⛔ Files ignored due to path filters (5)
example-apps/dashmint-lab/package-lock.jsonis excluded by!**/package-lock.jsonexample-apps/dashnote-starter/package-lock.jsonis excluded by!**/package-lock.jsonexample-apps/dashnote/package-lock.jsonis excluded by!**/package-lock.jsonexample-apps/dashproof-lab/package-lock.jsonis excluded by!**/package-lock.jsonpackage-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (12)
1-Identities-and-Names/identity-withdraw-credits.mjsexample-apps/dashmint-lab/package.jsonexample-apps/dashmint-lab/public/dashmint-lite.htmlexample-apps/dashmint-lab/test/e2e/auth.spec.tsexample-apps/dashnote-starter/package.jsonexample-apps/dashnote/package.jsonexample-apps/dashnote/public/dashnote-lite.htmlexample-apps/dashnote/test/e2e/fixtures.tsexample-apps/dashnote/test/e2e/notes.spec.tsexample-apps/dashproof-lab/package.jsonexample-apps/dashproof-lab/public/dashproof-lite.htmlpackage.json
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add a repo-root .nvmrc and an engines.node range (>=22.22.0 <22.23.0) to the root and every example-app package.json, then point all CI workflows at node-version-file: .nvmrc instead of a hardcoded version so local and CI toolchains stay in lockstep. Each workflow also logs node/npm versions for diagnostics. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Point the remaining workflows at node-version-file: .nvmrc instead of a hardcoded version so all CI runs on the repo-pinned Node, and log node/npm versions for diagnostics. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Summary
Moves the tutorials and all example apps onto
@dashevo/evo-sdk4.0.0-rc.2, pins the Node toolchain repo-wide so local and CI builds match, and hardens the example-app e2e suites that the upgrade shook loose.SDK bump → 4.0.0-rc.2
package.json/package-lock.json.dashmint-lab,dashproof-lab,dashnote,dashnote-starter): each pinned in its ownpackage.json/ lockfile.dashmint-lite.html,dashproof-lite.html,dashnote-lite.html):esm.shimports aligned to the same version as their React app.Node toolchain pinning
.nvmrcpinning Node to 22.22.engines.noderange (>=22.22.0 <22.23.0) added to the root and every example-apppackage.json.node-version-file: .nvmrcinstead of a hardcoded version, and log node/npm versions for diagnostics.Test hardening
Other
identity-withdraw-credits.mjs: raise the withdrawal amount to the protocol minimum (1,000,000 credits).Summary by CodeRabbit