[server][web][mobile] Show climbing attempt outcomes - #1871
Conversation
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
📝 WalkthroughWalkthroughPer-climb attempt counts and ascent types now flow from Kaya imports and repository queries through the activity detail API to web and mobile displays. A shared formatter produces count-aware result text, with tests covering API mapping, rendering, and Flash imports. ChangesClimbing activity detail enrichment
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Suggested labels: 🚥 Pre-merge checks | ✅ 2✅ Passed checks (2 passed)
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.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
🤖 Review skipped: Repository rate limit exceeded. Free accounts are limited to 2 reviews per 4 hours per repository. Upgrade to a paid plan for unlimited reviews. |
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
Mobile PreviewScan to open on device:
To test on device:
|
|
Storybook previews for This comment updates automatically on each PR push. |
|
🤖 Review skipped: Repository rate limit exceeded. Free accounts are limited to 2 reviews per 4 hours per repository. Upgrade to a paid plan for unlimited reviews. |
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 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 `@packages/server/src/repositories/climbing-repository.ts`:
- Line 107: Derive the ascentType type from the canonical Zod schema
activityEntryRowSchema instead of maintaining the duplicated string union.
Define or reuse an inferred schema type and reference its ascentType property in
both the row type declaration and the schema-related definition, preserving
nullability and keeping activityEntryRowSchema as the single source of truth.
In `@packages/server/src/routers/climbing.integration.test.ts`:
- Around line 241-258: Extend the real-Postgres fixture used by the climbing
integration test to include one entry with a non-null ascent type such as
“Redpoint” or “Flash”. Update the corresponding activityEntries assertion to
verify that extracted ascentType value, while preserving the existing
null-ascent assertions.
In `@packages/web/src/pages/ActivityDetailPage.tsx`:
- Around line 305-309: Extract the climbing breakdown rendering, including the
ascent type and formatted attempt result logic surrounding
formatClimbingAttemptResult, from ActivityDetailPage into a focused
ClimbingEntryBreakdown component/module. Replace the inline markup with that
component while preserving the existing props, conditional rendering, styling,
and behavior, and ensure ActivityDetailPage remains under the 1000-line limit.
🪄 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: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: bf087ead-355c-4210-b042-62f63fbee03c
📒 Files selected for processing (12)
docs/production-incident-baseline.mdpackages/format/src/format.test.tspackages/format/src/format.tspackages/mobile/app/activity/[id].test.tsxpackages/mobile/app/activity/[id].tsxpackages/server/src/repositories/climbing-repository.test.tspackages/server/src/repositories/climbing-repository.tspackages/server/src/routers/climbing.integration.test.tspackages/web/src/pages/ActivityDetailPage.test.tsxpackages/web/src/pages/ActivityDetailPage.tsxsrc/providers/kaya/import.test.tssrc/providers/kaya/import.ts
|
🤖 Review skipped: Repository rate limit exceeded. Free accounts are limited to 2 reviews per 4 hours per repository. Upgrade to a paid plan for unlimited reviews. |
Greptile SummaryThis PR adds detailed climbing outcomes to activity details. The main changes are:
Confidence Score: 5/5This looks safe to merge.
Important Files Changed
Reviews (1): Last reviewed commit: "refactor(climbing): address PR review" | Re-trigger Greptile |
Summary
Validation
pnpm lint, workspace/server/web TypeScript checks,pnpm test(12,978 passed), and the real-Postgres climbing integration suite (4 passed).Summary by cubic
Show per-climb attempt outcomes and ascent types in activity details on web and mobile, using clear “Sent in N attempts”/“Attempted N times.” Extracts the climbing UI into small components and adds a docs entry with the production diagnosis and validation.
Bug Fixes
attemptCountandascentTypefor each climb.New Features
@dofek/formataddsformatClimbingAttemptResult(sent, attemptCount).src/providers/kayaimporter acceptsFlashas a successful ascent.Written for commit af0b7f4. Summary will update on new commits.
Summary by CodeRabbit
New Features
Bug Fixes