fix(breathwork): show safety before sessions - #2243
Conversation
Replace categorical health claims with evidence-bound optional language. Put loss-of-consciousness, positioning, stop, and emergency guidance in server-owned technique data rendered by web and mobile. Refs #2066
|
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. |
|
🤖 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. |
|
Warning Review limit reached
Next review available in: 20 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (11)
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 |
Reviewer's GuideAdds structured safety guidance and evidence-calibrated benefit messaging to breathwork techniques, ensures this guidance is rendered before starting sessions on web and mobile, introduces a dedicated mobile Breathwork screen reachable from Recovery, and tightens server/shared typing and tests around safety and benefits. Sequence diagram for mobile Recovery to Breathwork with pre-session safetysequenceDiagram
actor User
participant RecoveryScreen
participant Router
participant BreathworkScreen
participant trpc_breathwork_techniques as trpc.breathwork.techniques.useQuery
participant trpc_breathwork_logSession as trpc.breathwork.logSession.useMutation
User->>RecoveryScreen: Tap Breathwork nav link
RecoveryScreen->>Router: push(/breathwork)
Router-->>BreathworkScreen: Show BreathworkScreen
BreathworkScreen->>trpc_breathwork_techniques: useQuery()
trpc_breathwork_techniques-->>BreathworkScreen: techniques with safety and possibleBenefit
BreathworkScreen-->>User: Display safety and optional possibleBenefit
User->>BreathworkScreen: Tap Start Session
BreathworkScreen-->>BreathworkScreen: Run timed breathing phases
BreathworkScreen->>trpc_breathwork_logSession: mutate(completedSession)
trpc_breathwork_logSession-->>BreathworkScreen: onSuccess() clears pendingSession
File-Level Changes
Assessment against linked issues
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
PR Summary by QodoBreathwork: show technique-specific safety guidance before sessions (web + mobile)
AI Description
Diagram
High-Level Assessment
Files changed (11)
|
Mobile PreviewScan to open on device:
To test on device:
|
|
Storybook previews for This comment updates automatically on each PR push. |
Code Review by Qodo
Context used✅ Compliance rules (platform):
194 rules✅ Skills:
fix-provider, write-tests, cloudflare 1.
|
The guided timer omits the retention and recovery phases of the branded protocol, so present its actual fixed cadence under a neutral name. Keep the evidence DOI while avoiding a one-off dictionary entry for the cited author surname.
|
🤖 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. |
Guard starts synchronously so duplicate presses cannot orphan timers or logs. Schedule only at phase boundaries and make Storybook's tRPC operations explicit and fail-fast.
|
🤖 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. |
Summary
Evidence
Validation
mise exec -- pnpm lintmise exec -- pnpm typecheckmise exec -- pnpm --dir packages/server exec tsc --noEmitmise exec -- pnpm --dir packages/web exec tsc --noEmitmise exec -- pnpm --dir packages/mobile exec tsc --noEmitmise exec -- pnpm test -- --run(906 files passed; 14,289 tests passed; 21 skipped)Fixes #2066
Summary by Sourcery
Add calibrated, evidence-backed safety guidance and possible-benefit messaging to all breathwork techniques, and ensure this guidance is shown before starting sessions on web and mobile, including a new mobile breathwork screen accessible from Recovery.
New Features:
Enhancements:
Tests:
Summary by cubic
Show safety guidance before breathwork sessions on web and mobile, rename the fixed cadence to “Power Breathing” with its real timing, and use evidence-based “possible” benefits where supported (Fixes #2066). Harden the mobile guided timer to prevent duplicate starts and only schedule at phase boundaries.
New Features
@dofek/scoring: addsafety(position, warnings, stop criteria, emergency) and technique-levelpossibleBenefit; rename Wim Hof to “Power Breathing” with 2s in/2s out ×30 rounds and material risk warnings.packages/web: show safety and possible benefits before Start; update subtitle to reflect safety guidance.packages/mobile: new/breathworkscreen with technique selector, pre-session safety, guided timer, and session logging; add Recovery → Breathwork link.Bug Fixes
packages/mobile: guard Start to avoid duplicate timers/logs and schedule transitions only at phase boundaries; Storybook tRPC operations are explicit and fail fast.Written for commit 496860d. Summary will update on new commits.