Claude/whoop app fork improvements 897f7b - #5
Open
MatB57 wants to merge 8 commits into
Open
Conversation
The in-app update checkers (macOS + Android), AltStore/SideStore source metadata, bug-report links, and install/README docs all still pointed at ParthJadhav/noop. Retarget them at MatB57/noop so future releases published here are the ones this fork's users (and their sideloaded devices) actually discover and auto-update to. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
French was ~15% complete on the main catalog (458/2988 keys) and partial elsewhere. Fills in all remaining keys across the four Xcode string catalogs (Strand, NOOPWatch, NOOPWatchComplications, StrandDesign) and adds the missing android/values-fr/strings.xml, matching the established "vous"-register terminology already used in the existing French strings (Récupération, Effort, VFC, Bracelet, Sources de données, etc.). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…897f7b Claude/whoop app fork improvements 897f7b
Version bump only, to trigger a clean CI build/publish of the update- redirect and French-localization changes for MatB57/noop, and to give the family's devices a distinct version to update to. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
TestReportLinkTest.kt and TestReportLinkTests.swift still asserted the old ParthJadhav/noop issue URL, which broke Android CI's unit tests after the source was retargeted to MatB57/noop. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The first real release built and published from this fork. Prepends the 8.2.1 entry (keeps 8.2.0 for AltStore's version history) and fixes the remaining ParthJadhav source-attribution string. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Version-only bump to verify the in-app "Check for updates" flow works end-to-end for both a currently-installed app and a freshly-checking one. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
jaedonvs
pushed a commit
to jaedonvs/noop
that referenced
this pull request
Aug 15, 2026
…ingle-slot arbiter (ParthJadhav#5) ParthJadhav#4/#6 (iOS): the iOS smart alarm only armed the strap firmware buzz and posted a local notification AFTER the strap reported it fired, so a failed strap buzz or a suspended phone past day one meant NO wake at all. applySmartAlarm() now also schedules a REPEATING daily UNCalendarNotificationTrigger (the WindDownNudge idiom: lives in the notification center, survives relaunch) at the wake time per selected weekday, gated on the wrist-alerts master + notification auth, replaced on every re-arm and cancelled on disarm. HONEST: it is a best-effort backup, not a guaranteed loud alarm (a sideloaded build has no critical-alert entitlement, so Focus/silent can still mute it) , the honesty card now says so and still tells users to keep their Clock alarm. ParthJadhav#5 (Android): "Buzz WHOOP 4/5" and the "Strap wake-alarm" both drove the single firmware-alarm slot with no coordination, so toggling one off ran disableStrapAlarm() and killed the other. Introduced one reconcileStrapAlarm() as the SOLE caller of arm/disable: it computes both requested times and arms the slot to the EARLIEST when either is on, else disarms. All six call sites routed through it. Test: both on, turn one off, slot stays armed to the other.
jaedonvs
pushed a commit
to jaedonvs/noop
that referenced
this pull request
Aug 15, 2026
iOS Backup & Sync: mirror Android adjustable keep-count (default 7)
jaedonvs
pushed a commit
to jaedonvs/noop
that referenced
this pull request
Aug 15, 2026
fitnessReadyLead() returns an already-localized String (via String(localized:)), but ReadinessChecklistCard.lead was typed LocalizedStringKey?, which SwiftUI treats as a lookup key rather than literal text. Retype to String? — Text(_:) accepts both, and this is the correct type for pre-resolved copy. Pre-existing break from commit 75a096a (PR #81), unrelated to this branch's localization change; fixing here so PR ParthJadhav#5's CI build passes. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR does
Type of change
How it was tested
Checklist
swift testinPackages/<name>)android/(./gradlew testFullDebugUnitTest)StrandDesigntokens — no hardcoded colors, fonts, or spacingdocs/CONTRIBUTING.mdStrand.xcodeproj/) or any secrets/keystoresRelated issues