Repository navigation
ci: macOS UI smoke for 0.6.2 (do not merge) - #3414
Draft
richiemcilroy wants to merge 74 commits into
Draft
richiemcilroy wants to merge 74 commits into
richiemcilroy wants to merge 74 commits into
Conversation
Move the Cap menu onto AppKit: the model in `menus.rs` gains Check for Update, Preferences…, Help destinations, Open File… and Import Media…, and `platform.rs` patches the standard items after gpui installs the bar — About becomes `orderFrontStandardAboutPanel:` (the gpui action and its panel plumbing are gone), autoenables is off so the model owns the enabled state, and the File menu gets the NSDocumentController-backed Open Recent list fed by `add_recent_document` on every editor open. Check for Update resolves to three states (check / download / restart) and is now rewritten in the live `NSMenuItem` by row position rather than reinstalling the menu bar, so an open menu survives a status change; the version and the macOS download percentage ride an `NSMenuItemBadge` on macOS 14+, and the other platforms only rebuild when the state changes. Bumps the app to objc2 0.6.5 / objc2-app-kit 0.3.2 / block2 0.6 and migrates the native code to those bindings.
Give the tray its own AppKit menu: a mode picker (the current mode as a section header with the mode icons on macOS 14+, the ✓-ticked Recording Mode submenu on older macOS and on Windows), record/take-screenshot rows, Previous ▸ with cover-cropped thumbnails, Import Media…, Settings and Upload Logs, plus the version and the SF Symbols for each row. The Previous thumbnails reuse the Recents thumbnail cache for JPEG sources instead of decoding full-resolution originals, which is what the warm-scan tests cover, and the header follows the palette's highlighted row in italic.
Fix the tray row's Settings glyph (`gear`, not `gearshape`) and the macOS 26 window symbol, document the File menu (Open File…, Import Media…, Open Recent), the Help destinations and the live update row.
…om mode picker view
# Conflicts: # .github/workflows/ci.yml # apps/chrome-extension/src/offscreen/recorder.test.ts # apps/desktop-gpui/kernels/Cargo.toml # apps/desktop-gpui/kernels/src/thumbnail.rs # apps/desktop-gpui/src/app_windows.rs # apps/desktop-gpui/src/camera_blur_portable.rs # apps/desktop-gpui/src/controls_window.rs # apps/desktop-gpui/src/editor_edits.rs # apps/desktop-gpui/src/editor_window.rs # apps/desktop-gpui/src/library.rs # apps/desktop-gpui/src/main.rs # apps/desktop-gpui/src/main_window.rs # apps/desktop-gpui/src/menus.rs # apps/desktop-gpui/src/mode_select_window.rs # apps/desktop-gpui/src/platform.rs # apps/desktop-gpui/src/settings_window.rs # apps/desktop-gpui/src/target_thumbnails.rs # apps/desktop-gpui/src/tray.rs # apps/media-server/src/__tests__/lib/media-routes-real-world.integration.test.ts # apps/media-server/src/__tests__/lib/recording-verification.integration.test.ts # apps/media-server/src/__tests__/lib/storage-upload.test.ts # apps/media-server/src/__tests__/routes/lifecycle.test.ts # apps/media-server/src/lib/media-video.ts # apps/media-server/src/lib/recording-packet-proof.ts # apps/media-server/src/lib/recording-timing.ts # apps/media-server/src/routes/video.ts # apps/mobile/app/(tabs)/upload.tsx # apps/mobile/src/screens/dashboard-upload-visibility.test.tsx # apps/web/__tests__/unit/add-folder-videos.test.ts # apps/web/__tests__/unit/analytics-chart-dates.test.ts # apps/web/__tests__/unit/desktop-recording-source.test.ts # apps/web/__tests__/unit/finalize-desktop-recording.test.ts # apps/web/__tests__/unit/folder-access.test.ts # apps/web/__tests__/unit/loom-import-start.test.ts # apps/web/__tests__/unit/media-processing-workflows.test.ts # apps/web/__tests__/unit/media-server-progress.test.ts # apps/web/__tests__/unit/mobile-email-session.test.ts # apps/web/__tests__/unit/notification-read-state.test.ts # apps/web/__tests__/unit/s3-bucket-connections.test.ts # apps/web/__tests__/unit/segment-playlist-route.test.ts # apps/web/__tests__/unit/video-pipeline-recovery.test.ts # apps/web/__tests__/unit/video-processing-recovery.test.ts # apps/web/actions/folders/folder-access.ts # apps/web/actions/loom.ts # apps/web/actions/notifications/mark-as-read.ts # apps/web/actions/spaces/get-space-videos.ts # apps/web/app/(org)/dashboard/analytics/components/ChartArea.tsx # apps/web/app/s/[videoId]/_components/utils/parse-transcript-vtt.ts # apps/web/lib/desktop-recording-source-checkpoint.ts # apps/web/lib/desktop-recording-source.ts # apps/web/lib/loom-import-start.ts # apps/web/lib/loom-import-upload.ts # apps/web/lib/loom-media-dispatch.ts # apps/web/lib/video-pipeline-recovery.ts # apps/web/lib/video-processing-recovery.ts # apps/web/workflows/finalize-desktop-recording.ts # apps/web/workflows/import-loom-video.ts # crates/enc-ffmpeg/src/mux/ogg.rs # crates/enc-ffmpeg/src/video/h264.rs # crates/enc-ffmpeg/src/video/h264_packet.rs # crates/enc-ffmpeg/src/video/packed_yuv.rs # crates/project/src/caption_timing/projection_tests.rs # crates/project/src/configuration.rs # crates/project/src/configuration/style_resolution_tests.rs # crates/recording/src/instant_recording/linux_camera.rs # crates/recording/src/screenshot.rs # crates/rendering/src/frame_pipeline.rs # crates/rendering/src/lib.rs # crates/scap-targets/src/platform/linux.rs # packages/database/types/metadata.ts # packages/sdk-recorder/__tests__/recorder-options.test.ts # packages/sdk-recorder/src/index.ts # packages/web-backend/src/S3Buckets/S3ConnectionPool.ts # scripts/prepare-gpui-dependency.sh # scripts/prepare-gpui-dependency.test.mjs
The branch pinned @tauri-apps/cli to 2.5.0 while bun.lock resolved 2.12.0, so frozen installs failed. Neither change belongs to this menu work, so take package.json, bun.lock, and the root Cargo.lock back from main.
…c2 move changes it
…t waits for a recording
… text width calculation
…in the Ask first label
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
richiemcilroy
force-pushed
the
ci/macos-ui-smoke-062
branch
from
October 26, 2026 18:35
8cd5e65 to
53e1296
Compare
…lder in the screenshot editor
… Ask first and Auto
richiemcilroy
force-pushed
the
ci/macos-ui-smoke-062
branch
from
October 26, 2026 18:40
53e1296 to
b71e83c
Compare
This branch was successfully deployed
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.
Draft used to run the new macOS UI smoke job against #2987 and the recording controls click-through fix (#3357) on a Blacksmith runner with a logged-in desktop. It compares this branch's app with main's: menu bar and tray screenshots, a click test under the recording controls, and the main and settings windows in several languages. Not for merging; the pieces land through their own PRs.