Skip to content

Keep HR chart annotations stable while scrolling - #2763

Open
AlexSchmidt1999 wants to merge 1 commit into
ryanbr:mainfrom
AlexSchmidt1999:codex/upstream-hr-chart-interaction-oct10
Open

AlexSchmidt1999 wants to merge 1 commit into
ryanbr:mainfrom
AlexSchmidt1999:codex/upstream-hr-chart-interaction-oct10

Conversation

@AlexSchmidt1999

@AlexSchmidt1999 AlexSchmidt1999 commented Oct 10, 2026 •

Copy link
Copy Markdown

What this PR does

Today reconstructs workout annotations when its data changes. Random IDs made unchanged annotations appear new to Swift Charts. Their IDs now follow the workout window, sport, and source, keeping coincident records from different sources distinct.

On iOS, mostly vertical drags no longer update the chart's pan window. Horizontal pan, pinch zoom, hold-to-scrub, and the macOS gesture path stay available.

Type of change

  • Bug fix

How it was tested

Annotation tests cover repeated IDs, coincident sources, and horizontal/vertical direction checks.

The macOS app and iOS Release builds passed on this PR head. Source hygiene and iOS translation checks passed too. StrandDesign tests passed with the pre-existing English-only recovery-word test skipped on this German host.

Checklist

  • Generated projects, build output, and credentials are excluded.
  • No new dependencies or destructive strap commands.

GitHub validation was rechecked on October 11 at 9a7a373ed8e3. All 16 registered checks passed, including the macOS app build and tests and the iOS app build.

iPhone follow-up, October 16

The combined build with stable HR annotations and directional chart gestures is running on the owner's iPhone. The owner reports that it looks smoother in everyday use.

The anonymized Today measurements from the combined fixes record 1 late callback out of 3,873 (0.026%) over 64.71 seconds, compared with 0.536% over 860.79 seconds before the day-cycle scheduling change. The worst callback interval falls from 159.6 to 63.4 ms. The latest merged installation adds a 6.29-second sample with zero intervals over 33 ms. The report includes the callback counts and source revisions. Raw archives and personal data stay local.

@AlexSchmidt1999

Copy link
Copy Markdown
Author

I am using NOOP 12.1.0 Release build 456 on my iPhone 17 Pro Max, and the app runs very smoothly in everyday use.

This PR is included in that combined build, together with my other Apple changes and the performance fixes from #2724 by @UtkuDenizAltiok and #2705 by @kavemang. The installed source is d67cceb5.

Both Apple builds and the local app, analytics, database and Python test suites passed for this combined build.

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.

2 participants