Repository navigation
Refine native motion and recipe save feedback - #36
Merged
Merged
Conversation
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.
Home’s secondary recommendation controls did not consistently honor Reduce Motion, and link-import saving replaced its label with a differently sized spinner. This change reuses existing native feedback and introduces a presentation-only save label whose Idle / Processing / Success / Failure states keep a stable footprint.
Home keeps its view-aligned shelf, next-card peek, Accessibility-size vertical layout, navigation and task hierarchy. The secondary detail action has an explicit 44pt content target. Saving still uses the existing operation, error alert, retry rules, success haptic and immediate completion navigation. No animation timer or success hold is added.
Scope
KitchenMotionpresets stay unchanged; Morph and Feedback are aliases.Validation
Reused source-bound Xcode MCP evidence on iOS 27.2: build-for-testing succeeded; 60 current unit tests and 10 current UI methods passed across focused runs, including Light/Dark × normal/Accessibility XXXL, real save failure/retry/success, navigation and system Reduce Motion. These are distinct tests across runs, not a single full-suite result. Original xcresults were independently rechecked: 67/67, 4/4 and 3/3, zero failures/skips. The eight committed Swift files match the validated source manifest. The Node source-contract guard passed 13/13. Screenshot bundles remain local and are not added to Git.
The final build log has zero errors and three pre-existing compiler warning lines: actor isolation in
AIRecommendationProviderTests.swift:218, a never-mutated variable inInventoryConsumptionPlannerTests.swift:576, and actor-isolatedaiRecipeBaseServingsaccess inSpecialPlanMenuTests.swift:82. All three also appear unchanged in the baseline log. They are documented, not silently fixed or described as zero diagnostics.UNVERIFIED: VoiceOver speech delivery, actual focus traversal/order and restoration, and automatic state announcements. Dynamic labels, structural order and screenshots do not establish a listening pass. AXXXL regeneration animation timing, external generation completion, physical-device and Release validation are also outside local acceptance.
Cloud CI — exact accepted head
claude/**, notcodex/**or PRs.The five unit skips are credential-gated
HostedGuestMergeSmokeTests; hosted smoke credentials were not supplied. The UI skip istestSystemReduceMotionSaveFailureRetryAndSuccess, which requires the actual simulator setting to be enabled. Its earlier source-bound local system Reduce Motion evidence is reused; the hosted skip is not counted as a pass.The full clean hosted build contains 74 compiler warning lines at 29 source locations, all outside the 11 changed files. This is a separate inventory from the three local incremental-build warnings above; no full baseline cloud warning comparison was run, and no warning cleanup is included.
CI exported 48 screenshots and uploaded screenshots (expires November 5) and raw test results/logs (expires October 29). Raw test results/logs are retained locally. Existing local visual acceptance is reused; these uploads do not establish a VoiceOver listening pass.
All three runs are bound to
bf4b4610079d8abe859b0c92664078f6d6e2b8d4. No branch-protection required check names are configured; this does not waive the native integration gate. Optional baseline/full-UI jobs are outside this focused run.Integration gate — completed
Owner-approved PR #36 was merged with a normal merge commit:
7962edc1b07b66b8533b6600753b77274f591567, parents45b108dand accepted feature headbf4b4610079d8abe859b0c92664078f6d6e2b8d4. GitHub reports MERGED; the merge tree exactly matches the accepted head. The feature branch remains atbf4b461.Documentation-only follow-up
207ca095311175b3ab5d09af037347c27f0ee94fupdatesPROJECT_STATUS.mdandCHANGELOG.md, with native files unchanged. This was independently verified as the final remotemainSHA. The original dirty checkout and unrelated worktrees were preserved.Post-merge checks:
The Obsidian Current Status anchor and Next Actions are reconciled through
207ca09; the UI Design System records the integrated conventions. VoiceOver speech, actual focus traversal/restoration and automatic announcements remain UNVERIFIED. No new native release, physical-device or live-provider pass is claimed. No further EasyUI refinements were started.Essential acceptance evidence is retained. Five byte-identical temporary MCP result copies were removed after durable-original hash and no-open-handle checks (13.92 MiB); nonidentical copies and curated screenshots remain. No large evidence bundles were added to Git.