From bfe4c40f73bda16bc5f2c99a60c41e9e8f3fff5b Mon Sep 17 00:00:00 2001 From: Conrad Irwin Date: Thu, 13 Mar 2025 20:55:22 -0600 Subject: [PATCH] Revert "Disable automatic window tabbing (cherry-pick #26600) (#26652)" (#26749) This reverts commit 391eb380b59d5b36efdea027bfdb2fc4f55f4ad0. For some reason that is very unclear to me, this broke ssh'ing into macOS remotes. The remote process aborts with: ``` ------------------------------------- Translated Report (Full Report Below) ------------------------------------- Process: zed-remote-server-dev-build [78088] Path: /Users/USER/*/zed-remote-server-dev-build Identifier: zed-remote-server-dev-build Version: ??? Code Type: ARM-64 (Native) Parent Process: launchd [1] Responsible: iTerm2 [62245] User ID: 501 Date/Time: 2025-03-13 19:30:37.6827 -0600 OS Version: macOS 15.3.1 (24D70) Report Version: 12 Anonymous UUID: 3A9631EB-5468-8CA4-7A0F-E36C3FF9D04F Sleep/Wake UUID: C935AE4C-E06A-4F6D-BE97-101E4E03482F Time Awake Since Boot: 910000 seconds Time Since Wake: 1265 seconds System Integrity Protection: enabled Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Termination Reason: Namespace OBJC, Code 1 Application Specific Information: crashed on child side of fork pre-exec Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 libsystem_kernel.dylib 0x18653fc6c __abort_with_payload + 8 1 libsystem_kernel.dylib 0x186565eb8 abort_with_payload_wrapper_internal + 104 2 libsystem_kernel.dylib 0x186565e50 abort_with_reason + 32 3 libobjc.A.dylib 0x1861dc040 _objc_fatalv(unsigned long long, unsigned long long, char const*, char*) + 128 4 libobjc.A.dylib 0x1861dbfc0 _objc_fatal(char const*, ...) + 44 5 libobjc.A.dylib 0x1861c1674 performForkChildInitialize(objc_class*, objc_class*) + 400 6 libobjc.A.dylib 0x1861a67f0 initializeNonMetaClass + 592 7 libobjc.A.dylib 0x1861c4a3c initializeAndMaybeRelock(objc_class*, objc_object*, locker_mixin>&, bool) + 164 8 libobjc.A.dylib 0x1861a5f98 lookUpImpOrForward + 304 9 libobjc.A.dylib 0x1861a5b84 _objc_msgSend_uncached + 68 10 zed-remote-server-dev-build 0x104f9ec4c _$LT$$LP$$RP$$u20$as$u20$objc..message..MessageArguments$GT$::invoke::hf68c58806f4b5702 + 56 11 zed-remote-server-dev-build 0x104f9d4c8 objc::message::platform::send_unverified::h2ec8392957fd6551 + 120 12 zed-remote-server-dev-build 0x104e5631c cocoa::appkit::NSPasteboard::generalPasteboard::h68122d7f32549cba + 512 13 zed-remote-server-dev-build 0x104e3b3b4 gpui::platform::mac::platform::MacPlatform::new::hb68d7ae2c5fdea7e + 336 14 zed-remote-server-dev-build 0x104e48008 gpui::platform::current_platform::h931999673c8c6468 + 28 15 zed-remote-server-dev-build 0x104ee4284 gpui::app::Application::headless::h3bffec62c65240ce + 32 16 zed-remote-server-dev-build 0x1023746ac remote_server::unix::execute_run::h7ac8de1a7e257f61 + 1200 17 zed-remote-server-dev-build 0x102368e1c remote_server::main::h42e4b18462b32dcf + 252 (main.rs:56) 18 zed-remote-server-dev-build 0x10236717c core::ops::function::FnOnce::call_once::h8534244cea12c898 + 16 (function.rs:250) 19 zed-remote-server-dev-build 0x102368154 std::sys::backtrace::__rust_begin_short_backtrace::h22fd48e0f46eb10b + 12 (backtrace.rs:152) 20 zed-remote-server-dev-build 0x10236bf74 std::rt::lang_start::_$u7b$$u7b$closure$u7d$$u7d$::hf8bd0081bf8d785b + 16 (rt.rs:195) 21 zed-remote-server-dev-build 0x105723d20 std::rt::lang_start_internal::h5f91760815528aa2 + 1092 22 zed-remote-server-dev-build 0x10236bf50 std::rt::lang_start::hb88fe48ac1498ea6 + 60 (rt.rs:194) 23 zed-remote-server-dev-build 0x10236b67c main + 36 24 dyld 0x1861f4274 start + 2840 ``` Which is not even (apparently) on the line that calls this function. To reproduce this, run `ZED_BUILD_REMOTE_SERVER=true cargo run ssh://127.0.0.1/~/`. Release Notes: - N/A --- crates/gpui/src/platform/mac/window.rs | 2 -- 1 file changed, 2 deletions(-) diff --git a/crates/gpui/src/platform/mac/window.rs b/crates/gpui/src/platform/mac/window.rs index 5c7d9e5e93..5046a9d041 100644 --- a/crates/gpui/src/platform/mac/window.rs +++ b/crates/gpui/src/platform/mac/window.rs @@ -92,8 +92,6 @@ extern "C" { #[ctor] unsafe fn build_classes() { - let _: () = msg_send![class!(NSWindow), setAllowsAutomaticWindowTabbing: NO]; - WINDOW_CLASS = build_window_class("GPUIWindow", class!(NSWindow)); PANEL_CLASS = build_window_class("GPUIPanel", class!(NSPanel)); VIEW_CLASS = {