Uh oh!
There was an error while loading. Please reload this page.
Fix/social binding bug - #911
Conversation
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughAdds debug console logging to social binding signing and verification flows and removes push-token retrieval/display from the onboarding page; no public API changes or control-flow alterations beyond added logs and minor missing-registry handling. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ❌ 3❌ Failed checks (2 warnings, 1 inconclusive)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@infrastructure/eid-wallet/src/lib/utils/socialBinding.ts`:
- Around line 307-315: The console.log in createSocialConnectionDoc currently
prints sensitive fields (normalizedSubject, normalizedSigner, subjectName,
parties, relationDescription and a fragment of signatureHash); remove this
detailed log and replace it with a fully redacted diagnostic (e.g., log only an
operation identifier, the count of parties, and a redaction marker) so no PII or
signature material is emitted; ensure any remaining log references only
non-sensitive metadata (e.g., parties.length, "social-binding created attempt",
and a hashed or fixed redaction token) and do not include signatureHash or
subjectName.
In `@infrastructure/eid-wallet/src/routes/`(app)/scan-qr/scanLogic.ts:
- Around line 730-748: The debug logs in the social-binding flow leak sensitive
social-graph fields (doc, canonicalPayload/payload, signerEname, requesterEname,
requesterName, relationDescription) and also expose a signature preview from
sig; modify the code around globalState.walletSdkAdapter.signPayload to remove
these detailed console.log calls and instead either (a) completely drop logging
in production, or (b) guard minimal redacted logging behind a debug flag (e.g.,
only log non-sensitive counters or lengths such as payloadLength and
signatureLength) so no names, parties, relation text, or signature fragments are
printed; update/remove the two console.log blocks that reference doc, payload,
signerEname, requesterName, relationDescription, and sig accordingly.
In `@infrastructure/evault-core/src/services/BindingDocumentService.ts`:
- Around line 130-133: The code in BindingDocumentService.verifyUserSignature
currently returns false when this.registryUrl is missing, which masks
configuration errors as signature failures; change this to throw a clear error
(e.g., new Error or a custom Error) when this.registryUrl is not set so the
GraphQL layer surfaces the configuration problem. Locate the verifyUserSignature
method and replace the early return false branch that checks this.registryUrl
with a thrown error message indicating the missing registryUrl/configuration.
- Around line 136-151: The console logs in verifyUserSignature (and the similar
block at lines 235-260) expose sensitive values—signature, payload excerpts,
signer, and expectedHash—so remove or redact them; replace the detailed
console.log calls around verifyUserSignature and any other logging that prints
payload/signature with metadata-only messages (e.g., log function name,
registryBaseUrl, lengths or presence flags, and a redacted boolean like
hasSignature) and never emit actual signature, expectedHash, payload contents,
or social_connection fields (relation_description, names); ensure
verifySignature calls remain unchanged but only log the safe metadata and the
final validity result.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 64d85578-f81f-457a-894a-ec6176226f4d
⛔ Files ignored due to path filters (1)
infrastructure/eid-wallet/src-tauri/gen/android/key-shitore.propertiesis excluded by!**/gen/**
📒 Files selected for processing (4)
infrastructure/eid-wallet/src/lib/utils/socialBinding.tsinfrastructure/eid-wallet/src/routes/(app)/scan-qr/scanLogic.tsinfrastructure/eid-wallet/src/routes/(auth)/onboarding/+page.svelteinfrastructure/evault-core/src/services/BindingDocumentService.ts
💤 Files with no reviewable changes (1)
- infrastructure/eid-wallet/src/routes/(auth)/onboarding/+page.svelte
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Summary
pushToken,pushTokenLoading,pushTokenErrorvariables andNotificationServiceimport from onboardingTest plan
pnpm build)Summary by CodeRabbit
Bug Fixes
Chores