Skip to content

Publish Today history results together after loading - #2757

Open
AlexSchmidt1999 wants to merge 2 commits into
ryanbr:mainfrom
AlexSchmidt1999:codex/upstream-today-publication-oct10
Open

AlexSchmidt1999 wants to merge 2 commits into
ryanbr:mainfrom
AlexSchmidt1999:codex/upstream-today-publication-oct10

Conversation

@AlexSchmidt1999

@AlexSchmidt1999 AlexSchmidt1999 commented Oct 10, 2026 •

Copy link
Copy Markdown

What this PR does

Today publishes state after each awaited history read, causing repeated dashboard updates as the queries finish. The reads now collect local values and publish the history results together after the remaining awaits.

The day-scoped Rest spark is retained, and strap steps still take precedence over the Apple Health spark. Queries and stored data stay the same.

Type of change

  • Refactor / cleanup

How it was tested

A native SwiftUI probe with twelve staggered reads recorded 13 body evaluations before batching and 2 after, including initial layout.

The macOS app and iOS Release builds passed on this PR head, along with source hygiene and iOS translation checks.

Checklist

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

iPhone follow-up, October 16

The combined build with batched Today updates 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.

Installed-source update, October 16

All selected-day UI assignments now follow the final query, cancellation check and day check. Rest, provenance, HR, steps, Effort, axis and sleep publish together. An overtaken load retains the displayed state.

Review head: 32939b9a1d13. A local merge of the PRs reproduces the installed iPhone commit f88a1e12: 1,182 of 1,183 Apple product files are byte-identical; the remaining file uses the existing NoopMetrics.space3 token for the same 12-point spacing. The combined macOS build and iPhone Release build pass, including widgets and Watch components. The macOS run completes 2,352 app tests with three skipped and zero failures.

@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