Apple Responsive And Web Spec Parity Plan
Apple Responsive And Web Spec Parity Plan Status: active Last updated: 2026-06-09 Current Simulator Coverage runs the debug-only seeded chat preview and chec...
[T:documentation.sender_name]
Apple Responsive And Web Spec Parity Plan
Status: active
Last updated: 2026-06-09
Current Simulator Coverage
ChatResponsiveParityUITestsruns the debug-only seeded chat preview and checks that native breakpoint decisions match the web-mapped chat thresholds.- Verified on iPhone 17 simulator:
chat-width=402, compact chat state, assistant stacked at<=500, inline new-chat compact at<=550. - Verified on iPad Pro 13-inch (M5) simulator:
chat-width=1032, regular chat state, assistant not stacked, inline new-chat not compact. ChatOpeningScalabilityUITestscovers large seeded chat opening on simulator without rendering the full history.ChatFlowParityUITestscovers deterministic seeded chat hierarchy and no default table chrome.MessageInputAttachmentUITestscovers simulator-safe pending attachment structure.MessageInputAudioRecordingUITestscovers simulator-safe record button and recording overlay structure.ChatShellResponsiveParityUITestscovers shell-level sidebar responsiveness on the real unauthenticated native shell.- Verified on iPhone 17 simulator: compact shell reports drawer panel mode and opens the chat history panel from
sidebar-toggle. - Verified on iPad Pro 13-inch (M5) simulator: regular shell reports side-by-side panel mode and keeps active chat visible after
sidebar-toggle.
Current Responsive Testing Gaps
- No automated Apple test resizes macOS windows from small to fullscreen.
- No automated Apple test currently runs the macOS target for app shell parity.
- No responsive coverage exists yet for settings pages, auth screens, embed fullscreen, search, chat context menus, or public/demo chat cards.
- Visual/pixel checks are still warning-only; current tests prove structural/testability and breakpoint decisions, not exact screenshot equality.
Recommended Web Specs To Reproduce Next In Apple
-
chat-flow.spec.ts- Apple target:
ChatFlowParityUITests,ChatFlowRealAccountUITests, new seeded transcript/header contract test. - Why: It is the core product path and already maps to native chat opening and real-account tests.
- Next native assertions:
message-user,message-assistant,chat-header-title,chat-header-icon, activechat-item-wrapper, sidebar closed/open behavior, reload persistence where simulator-safe.
- Apple target:
-
chat-management-flow.spec.ts- Apple target: new
ChatManagementParityUITestsbacked by seeded chats. - Why: Pin/unpin, unread badges, delete, and context menu actions are high-risk cross-platform UX.
- Next native assertions:
chat-context-pin,chat-context-unpin,unread-badge,chat-context-mark-unread,chat-context-mark-read, delete confirmation and touch menu persistence.
- Apple target: new
-
chat-search-flow.spec.ts- Apple target: new
ChatSearchParityUITestswith seeded public/user chats. - Why: Search is already partly identified by
search-buttonbut lacks native flow coverage. - Next native assertions: search bar opens, query filters chats, no-results state, Escape/close clears query, settings search result routes correctly where applicable.
- Apple target: new
-
file-attachment-flow.spec.tsandfile-attachment-code-flow.spec.ts- Apple target: extend
MessageInputAttachmentUITestsand add embed fullscreen checks. - Why: Pending attachment structure is covered; sent-message embed preview/fullscreen parity is not.
- Next native assertions: sent user message contains image/code embed preview, no raw JSON leakage, fullscreen image/code view opens and closes.
- Apple target: extend
-
audio-recording.spec.ts- Apple target: extend
MessageInputAudioRecordingUITests. - Why: Button and overlay structure are covered; interaction outcome states are not.
- Next native assertions: short tap shows press-and-hold hint without an embed, cancel removes overlay without preview, fixture completion creates an audio pending embed.
- Apple target: extend
-
incognito-mode.spec.ts- Apple target: new privacy-mode parity test after identifiers are aligned.
- Why: It is privacy-sensitive and includes shell, settings, banner, and chat-list state.
- Next native assertions: incognito toggle,
incognito-pill, incognito chat grouping, persistence/exclusion behavior.
-
model-override.spec.ts- Apple target: mention dropdown/model selector parity test.
- Why: It is a frequent chat composer flow and affects AI routing visibility.
- Next native assertions: mention dropdown opens from
@, model results render, selected model appears in generated-by metadata.
Responsive Expansion Plan
- Extend shell responsive tests to authenticated chat lists and settings overlays after simulator credential setup is stable.
- Add a macOS UI test path or remote run command that launches
OpenMates_macOS, resizes the window to narrow and fullscreen widths, and captures screenshots. - Promote one visual check at a time only after two clean simulator runs and screenshot review against rendered web reference captures.
- Extend
apple-ui-contracts.spec.tsto capture responsive variants for chat header, transcript, sidebar, composer, and embed fullscreen at mobile/tablet/desktop widths. - Keep physical-device-only checks separate for camera, real microphone behavior, APNs, and OS-owned pickers.