Skip to content

fix(copy): describe a 5/MG offload that served no history instead of calling sync experimental - #2827

Open
LeonardSEO wants to merge 1 commit into
ryanbr:mainfrom
LeonardSEO:fix/5mg-history-copy
Open

LeonardSEO wants to merge 1 commit into
ryanbr:mainfrom
LeonardSEO:fix/5mg-history-copy

Conversation

@LeonardSEO

Copy link
Copy Markdown

What this PR does

Copy only; no behaviour changes.

  • History chip: the historySyncExperimental state (Effort vs Charge graph on homepage #580) is shown when a 5/MG acked SEND_HISTORICAL_DATA but served no type-47 records. It said "History sync is experimental on 5.0". It now says what happened: "The last sync brought no history from this 5.0 strap." (Apple, Android, all locales).
  • Android add-device note: the warning-styled "WHOOP 5.0 / MG support is newer and still experimental in NOOP" becomes the same text Apple already shows ("WHOOP 5.0 / MG supports live data and strap history. Protocol-research tools are available separately in Test Centre."), styled as an info note, reusing Apple's existing translations.

The 5/MG alarm caveat and every strap-writing probe keep their warnings.

Context: the 5/MG history framing (HISTORY_START / END / COMPLETE, the 8-byte END token, ACK construction) was checked byte-exact on public captures in LeonardSEO/wearable5.0 (FINDINGS status table). #2795 also edits 5/MG copy; this PR touches different strings, but the two may need a rebase against each other.

Type of change

  • Documentation

How it was tested

  • Copy only; covered by the i18n gate below.
  • ./gradlew testFullDebugUnitTest: 6688 tests, all pass apart from the 2 RecoveryDriversTest half-tie cases that fail the same way on unmodified main.
  • Tools/i18n_audit.py --ci, Tools/doc_comment_lint.py, docs/protocol-examples checks and Tools/parity_ledger.py --refresh-derived (derived snapshots included): pass.
  • Tools unit tests, the parity acceptance suite and the R-R contract: pass apart from the 4 test_check_source_references cases (/var vs /private/var temp path on macOS) that fail the same way on unmodified main.
  • Apple: the macOS app (Strand) builds with this change on my development branch; StrandTests and the iOS target were not run locally for this branch. app-build.yml covers both.

Checklist

  • Swift package tests pass for any package I touched (none touched)
  • Android unit tests pass if I touched android/ (apart from the 2 RecoveryDriversTest half-tie cases that fail the same way on unmodified main)
  • No new build warnings introduced (Android: none; Apple warnings not checked per branch)
  • UI changes use only StrandDesign / Palette / Metrics tokens
  • No hardcoded hex frame bytes; protocol facts live in the schema / decoders
  • Follows the conventions in docs/CONTRIBUTING.md
  • I did not commit generated output (Strand.xcodeproj/) or any secrets/keystores

Related issues

None.

🤖 Generated with Claude Code

…tory sync experimental

The history chip now states the observed fact, and the Android add-device note uses the text and translations Apple already ships. Copy only.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant