-
Notifications
You must be signed in to change notification settings - Fork 180
Adds missing check for typescript types to app ci #1198
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughAdds a CI “Check App Types” step to mobile workflow. Reworks mobile-sdk-alpha public exports: converts a value export to a type-only export, introduces multiple new re-exports (MRZ, NFC, mocks, validation, web shim, entry), marks client exports deprecated, and reorders exports. Minor lint script tweak and a screen import cleanup. Changes
Sequence Diagram(s)Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro 📒 Files selected for processing (4)
🚧 Files skipped from review as they are similar to previous changes (1)
🧰 Additional context used📓 Path-based instructions (8)packages/mobile-sdk-alpha/package.json📄 CodeRabbit inference engine (.cursor/rules/mobile-sdk-migration.mdc)
Files:
packages/mobile-sdk-alpha/**/package.json📄 CodeRabbit inference engine (packages/mobile-sdk-alpha/AGENTS.md)
Files:
**/*.{js,ts,tsx,jsx,sol,nr}📄 CodeRabbit inference engine (.cursorrules)
Files:
app/**/*.{ts,tsx}📄 CodeRabbit inference engine (app/AGENTS.md)
Files:
app/src/**/*.{ts,tsx,js,jsx}⚙️ CodeRabbit configuration file
Files:
packages/mobile-sdk-alpha/src/index.ts📄 CodeRabbit inference engine (.cursor/rules/mobile-sdk-migration.mdc)
Files:
packages/mobile-sdk-alpha/**/*.{ts,tsx}📄 CodeRabbit inference engine (packages/mobile-sdk-alpha/AGENTS.md)
Files:
packages/mobile-sdk-alpha/**/*.{ts,tsx,js,jsx}⚙️ CodeRabbit configuration file
Files:
🧠 Learnings (9)📓 Common learnings📚 Learning: 2025-08-29T15:31:15.924ZApplied to files:
📚 Learning: 2025-08-24T18:54:04.809ZApplied to files:
📚 Learning: 2025-08-24T18:54:04.809ZApplied to files:
📚 Learning: 2025-08-29T15:31:15.924ZApplied to files:
📚 Learning: 2025-08-29T15:31:15.924ZApplied to files:
📚 Learning: 2025-08-24T18:54:04.809ZApplied to files:
📚 Learning: 2025-08-29T15:31:15.924ZApplied to files:
📚 Learning: 2025-08-24T18:54:04.809ZApplied to files:
⏰ Context from checks skipped due to timeout of 300000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
🔇 Additional comments (7)
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.github/workflows/mobile-ci.yml(1 hunks)app/src/screens/prove/ConfirmBelongingScreen.tsx(1 hunks)packages/mobile-sdk-alpha/src/index.ts(1 hunks)
🧰 Additional context used
📓 Path-based instructions (7)
**/*.{js,ts,tsx,jsx,sol,nr}
📄 CodeRabbit inference engine (.cursorrules)
**/*.{js,ts,tsx,jsx,sol,nr}: NEVER log sensitive data including PII (names, DOB, passport numbers, addresses), credentials, tokens, API keys, private keys, or session identifiers.
ALWAYS redact/mask sensitive fields in logs using consistent patterns (e.g.,***-***-1234for passport numbers,J*** D***for names).
Files:
app/src/screens/prove/ConfirmBelongingScreen.tsxpackages/mobile-sdk-alpha/src/index.ts
app/**/*.{ts,tsx}
📄 CodeRabbit inference engine (app/AGENTS.md)
Type checking must pass before PRs (yarn types)
Files:
app/src/screens/prove/ConfirmBelongingScreen.tsx
app/src/**/*.{ts,tsx,js,jsx}
⚙️ CodeRabbit configuration file
app/src/**/*.{ts,tsx,js,jsx}: Review React Native TypeScript code for:
- Component architecture and reusability
- State management patterns
- Performance optimizations
- TypeScript type safety
- React hooks usage and dependencies
- Navigation patterns
Files:
app/src/screens/prove/ConfirmBelongingScreen.tsx
packages/mobile-sdk-alpha/src/index.ts
📄 CodeRabbit inference engine (.cursor/rules/mobile-sdk-migration.mdc)
Re-export new SDK modules via packages/mobile-sdk-alpha/src/index.ts
Files:
packages/mobile-sdk-alpha/src/index.ts
packages/mobile-sdk-alpha/**/*.{ts,tsx}
📄 CodeRabbit inference engine (packages/mobile-sdk-alpha/AGENTS.md)
packages/mobile-sdk-alpha/**/*.{ts,tsx}: Use strict TypeScript type checking across the codebase
Follow ESLint TypeScript-specific rules
Avoid introducing circular dependencies
Files:
packages/mobile-sdk-alpha/src/index.ts
packages/mobile-sdk-alpha/**/*.{ts,tsx,js,jsx}
⚙️ CodeRabbit configuration file
packages/mobile-sdk-alpha/**/*.{ts,tsx,js,jsx}: Review alpha mobile SDK code for:
- API consistency with core SDK
- Platform-neutral abstractions
- Performance considerations
- Clear experimental notes or TODOs
Files:
packages/mobile-sdk-alpha/src/index.ts
.github/workflows/**/*.{yml,yaml}
📄 CodeRabbit inference engine (AGENTS.md)
.github/workflows/**/*.{yml,yaml}: In GitHub Actions workflows, use shared composite caching actions from .github/actions (cache-yarn, cache-bundler, cache-gradle, cache-pods)
Do not call actions/cache directly; rely on the shared composite caching actions
When using cache actions, optionally pass cache-version (often with GH_CACHE_VERSION and tool version) for stable keys
Files:
.github/workflows/mobile-ci.yml
🧠 Learnings (7)
📓 Common learnings
Learnt from: CR
PR: selfxyz/self#0
File: app/AGENTS.md:0-0
Timestamp: 2025-09-22T11:10:57.879Z
Learning: Applies to app/**/*.{ts,tsx} : Type checking must pass before PRs (yarn types)
📚 Learning: 2025-08-24T18:54:04.809Z
Learnt from: CR
PR: selfxyz/self#0
File: .cursor/rules/mobile-sdk-migration.mdc:0-0
Timestamp: 2025-08-24T18:54:04.809Z
Learning: Applies to packages/mobile-sdk-alpha/src/index.ts : Re-export new SDK modules via packages/mobile-sdk-alpha/src/index.ts
Applied to files:
packages/mobile-sdk-alpha/src/index.ts
📚 Learning: 2025-08-29T15:31:15.924Z
Learnt from: CR
PR: selfxyz/self#0
File: packages/mobile-sdk-alpha/AGENTS.md:0-0
Timestamp: 2025-08-29T15:31:15.924Z
Learning: Applies to packages/mobile-sdk-alpha/**/*.{ts,tsx} : Use strict TypeScript type checking across the codebase
Applied to files:
packages/mobile-sdk-alpha/src/index.ts
📚 Learning: 2025-08-29T15:31:15.924Z
Learnt from: CR
PR: selfxyz/self#0
File: packages/mobile-sdk-alpha/AGENTS.md:0-0
Timestamp: 2025-08-29T15:31:15.924Z
Learning: Applies to packages/mobile-sdk-alpha/{**/*.test.{ts,tsx},**/__tests__/**/*.{ts,tsx}} : Ensure parseNFCResponse() works with representative, synthetic NFC data
Applied to files:
packages/mobile-sdk-alpha/src/index.ts
📚 Learning: 2025-09-22T11:10:57.879Z
Learnt from: CR
PR: selfxyz/self#0
File: app/AGENTS.md:0-0
Timestamp: 2025-09-22T11:10:57.879Z
Learning: Applies to app/**/*.{ts,tsx} : Type checking must pass before PRs (yarn types)
Applied to files:
.github/workflows/mobile-ci.yml
📚 Learning: 2025-08-29T15:29:47.727Z
Learnt from: CR
PR: selfxyz/self#0
File: AGENTS.md:0-0
Timestamp: 2025-08-29T15:29:47.727Z
Learning: Before committing, run repository checks (yarn nice, yarn lint, yarn build, contracts build, yarn types)
Applied to files:
.github/workflows/mobile-ci.yml
📚 Learning: 2025-08-29T15:31:15.924Z
Learnt from: CR
PR: selfxyz/self#0
File: packages/mobile-sdk-alpha/AGENTS.md:0-0
Timestamp: 2025-08-29T15:31:15.924Z
Learning: Run yarn nice, yarn types, and yarn test before commits and PRs
Applied to files:
.github/workflows/mobile-ci.yml
🪛 GitHub Actions: Mobile SDK CI
packages/mobile-sdk-alpha/src/index.ts
[error] 106-106: sort-exports/sort-exports: Expected provingMachineCircuitType before parseNFCResponse.
🪛 GitHub Actions: Workspace CI
packages/mobile-sdk-alpha/src/index.ts
[error] 106-106: sort-exports/sort-exports: Expected provingMachineCircuitType before parseNFCResponse
🪛 GitHub Check: lint
packages/mobile-sdk-alpha/src/index.ts
[failure] 106-106:
Expected provingMachineCircuitType before parseNFCResponse
🪛 GitHub Check: workspace-lint
packages/mobile-sdk-alpha/src/index.ts
[failure] 106-106:
Expected provingMachineCircuitType before parseNFCResponse
⏰ Context from checks skipped due to timeout of 300000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
- GitHub Check: android-build-test
- GitHub Check: e2e-ios
- GitHub Check: build-deps
- GitHub Check: analyze-ios
- GitHub Check: analyze-android
🔇 Additional comments (2)
.github/workflows/mobile-ci.yml (1)
89-91: LGTM! Type checking enforced in CI.This addition ensures TypeScript type correctness is validated before merge, preventing type regressions. The step placement after formatting and before license checks is appropriate.
Based on learnings.
app/src/screens/prove/ConfirmBelongingScreen.tsx (1)
15-15: Removal of usePrepareDocumentProof is safe: ripgrep shows no references in ConfirmBelongingScreen.tsx; the import cleanup is correct.
5f2fcee to
ee21982
Compare
fixes types
Summary by CodeRabbit