You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add three checklist items to pr-review skill from PR comment analysis
- eventSink must be passed as a direct lambda, not a local variable
- navigator.pop() must be inside the launch block after async operations
- Use Fakes instead of mockk for interfaces with @composable functions
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
-[ ]`navigator.pop()` (or any navigation call) placed *inside* the `launch { }` block when it follows an async operation — `rememberCoroutineScope()` is canceled on composition disposal and can cancel an in-flight write before it completes
122
131
-[ ] Presenter contains no UI logic — pure state/event handling
123
132
124
133
**UI Composable**
@@ -157,6 +166,7 @@ To dismiss a finding so it won't appear in future reviews, say:
157
166
### Testing
158
167
159
168
-[ ] Presenter tests use `presenterTestOf { }` (Circuit test API)
169
+
-[ ] Interfaces with `@Composable` functions use a hand-written `Fake*` class in tests, not `mockk<>()` — mockposable delays Kotlin version uptake and is incompatible with newer compiler versions
160
170
-[ ] Paparazzi tests extend `BasePaparazziTest` from `:ui:base` testFixtures with `@TestParameter` night/accessibility matrix
161
171
-[ ] Snapshots not recorded locally — triggered via GitHub Actions workflow on the feature branch
0 commit comments