Skip to content

feat(WhereUI): refresh Explore Features and add maintenance skill - #326

Merged
kyleve merged 7 commits into
mainfrom
codex/refresh-explore-features
Sep 26, 2026
Merged

kyleve merged 7 commits into
mainfrom
codex/refresh-explore-features

Conversation

@kyleve

@kyleve kyleve commented Sep 25, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • User-facing: Expand Explore Features from six to nine walkthroughs. Add Your Places & Your Year, Recording & Devices, and Privacy & Backups; put core workflows first.
  • User-facing: Explain correction and notification workflows, current appearance controls, supported evidence formats, and planned stays in Timeline. Reuse production cards and status views; hide unavailable actions in demo mode. Timeline galleries use the regular PresenceTimelineList in its non-scrolling .excerpt presentation, sharing row rendering and planned-stay joins.
  • User-facing: Keep estimate examples visible in grayscale when the feature is off. Join adjacent recorded and planned Timeline stays, and align the privacy card with the gallery panels.
  • Internal: Add $update-explore-features for periodic local maintenance, with source-based coverage checks and no automatic publishing or scheduling.

Why

The galleries covered integrations but omitted the main browsing and recording workflows. They also missed newer appearance controls and the backup/diagnostics contracts. A zero issue count previously claimed the year was all clear even when a scan might not have completed.

Review focus

Browsing does not start recording, scans, permissions, edits, or backups. The privacy guide receives process-effective diagnostics. Restore stays in onboarding. Empty/unavailable reports and demo restrictions remain explicit.

Testing

  • ./test --no-generate WhereUITests: 509 tests passed.

  • Eight affected snapshot suites: 105 captures passed with recording disabled after visual review.

  • Full-content image review includes phone/tablet, light/dark, accessibility text sizes, contrast, demo, and unavailable states.

  • Catalog, SF Symbol, SwiftFormat, attribution, and skill validation passed. Agent mirrors synchronized.

  • Review fixes: ./test --snapshots --no-generate --no-build --only WhereUISnapshotTests/EstimatedTimeFeaturesViewSnapshotTests --only WhereUISnapshotTests/PlacesYearFeaturesViewSnapshotTests --only WhereUISnapshotTests/PrivacyBackupsFeaturesViewSnapshotTests: 3 suites / 44 captures passed with recording disabled. SwiftFormat and string-catalog lint passed.

  • Shared Timeline refactor: ./test --snapshots --only WhereUISnapshotTests/PresenceTimelineListSnapshotTests --only WhereUISnapshotTests/EstimatedTimeFeaturesViewSnapshotTests --only WhereUISnapshotTests/PlacesYearFeaturesViewSnapshotTests: all three suites passed with recording disabled and no reference changes.

Add browsing, recording, and privacy/backup guides. Refresh planning, accuracy, appearance, evidence copy, search, and Flyover coverage. Keep discovery read-only and hide unavailable demo actions.

Validation: 509 WhereUI tests and 8 affected snapshot suites (105 captures) passed. Reviewed full-content references, including accessibility layouts. Formatting, catalogs, SF Symbols, attribution, and skill validation passed.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks broken compared to the regular in-app view, not sure why or how? There's gaps and the planned stay should be part of the same round rect as the other nyc row.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Posted by an AI agent on kyleve’s behalf.

Fixed in f3911c2. The preview now uses zero spacing between journey rows, keeps the rail connected through the planned stay, and joins adjacent recorded/planned stays in the same region with the production top/bottom card shapes. Reviewed the updated phone, iPad, and accessibility snapshots; all affected suites pass.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should still include estimate examples here, but grey out the estimate related cards if the feature is off?

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Posted by an AI agent on kyleve’s behalf.

Fixed in f3911c2. Turning the feature off now keeps the forecast and calculation examples visible in grayscale, with an explicit off-state explanation and the Appearance link. Viewing the gallery does not change the setting. Updated light/dark snapshots pass.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "private by design" card shouldn't be wider than the other cards.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Posted by an AI agent on kyleve’s behalf.

Fixed in 0887b4a. The privacy card now uses the same maximum width as the other gallery panels while retaining its intrinsic height for large text. Reviewed the iPad and accessibility references; the snapshot suite passes.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems the root of the issues called out above; why is it separate from the regular timeline?

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Posted by an AI agent on kyleve’s behalf.

You’re right: I created the separate type to bound the gallery to two stays and avoid the scrolling/editing surface, but duplicated row composition and introduced the drift you noticed. Fixed in 0968324: removed FeatureTimelinePreview and added an .excerpt presentation to PresenceTimelineList itself. Both galleries now use that regular view, with shared rail, row, and card-join logic. The full presentation retains lazy scrolling and editing controls. All three affected snapshot suites (full Timeline and both galleries) pass with recording disabled and no reference updates.

@kyleve
kyleve enabled auto-merge (squash) September 26, 2026 04:48
@kyleve
kyleve merged commit e15577a into main Sep 26, 2026
8 checks passed
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