Environment
-
Platform: macOS
-
Application: ChatGPT for macOS
-
App version: 1.2026.153 (1780942906)
-
Network connection: Stable
-
Comparison environment: ChatGPT web application
Preconditions
-
The user is registered and logged in
-
A supported short video file is available on the device
-
The user has access to an existing or new chat
Steps to Reproduce
Scenario 1: Sending a video attachment
-
Open the ChatGPT macOS application
-
Open an existing chat or create a new chat
-
Add a short video file to the message Composer
-
Observe the video attachment preview
-
Enter a text message
-
Send the message
-
Add the video again
-
Send the video without entering any text
Scenario 2: Switching chats with an unsent video attachment
-
Open an existing chat
-
Add a short video file to the message Composer
-
Wait until the grayed-out video preview is displayed
-
Do not send the message
-
Do not remove the attached video
-
Create or open another chat
-
Observe crash
Actual Result
Scenario 1
-
The attached video appears grayed out in the preview
-
The video can be played from the preview
-
The application does not display a clear upload progress or successfully uploaded state
-
When the message containing text and the video is sent, only the text is included in the submitted request
-
The video is not available to the AI
-
When the video is sent without any text, the application behaves as though an empty message was submitted
-
The AI generates a response based on the previous conversation context instead of processing the attached video
-
The same video can be uploaded and sent successfully through the ChatGPT web application
Scenario 2
-
When the user switches to another chat while the unsent video remains in the Composer, the application becomes unresponsive
-
The application subsequently crashes
-
The crash report contains:
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Termination Reason: Namespace SIGNAL, Code 5, Trace/BPT trap: 5
-
The application-specific backtrace references AppKit and SwiftUI layout processing, including:
-
NSWindow -
NSView -
NSHostingView -
GraphHost -
AttributeGraph -
asynchronous
NSItemProviderfile loading
-
Expected Result
-
After a supported video is selected, the application should display a clear upload state
-
The attachment should become available for sending only after the upload is completed successfully
-
When the user sends text with a video, both the text and video should be included in the same request
-
When the user sends only a video, the AI should receive and process the video attachment
-
If the upload fails, the application should:
-
prevent the incomplete request from being sent;
-
display a clear error message;
-
provide retry and remove options
-
-
When the user switches to another chat with an unsent or still-uploading video:
-
the application should remain responsive;
-
the attachment operation should be safely cancelled, preserved as a draft, or removed according to the intended product behavior;
-
active asynchronous file-loading operations should not invalidate the SwiftUI view hierarchy;
-
the application should not freeze or crash
-
-
Video attachment behavior should be consistent between the ChatGPT macOS application and the web application
Reproducibility
-
Video is omitted from the sent request: Reproducible
-
Crash when switching chats: Reproducible under the described attachment state
Severity
Critical
The issue causes both:
-
complete failure of the video attachment workflow in the macOS application;
-
an application freeze and crash during normal chat navigation.
The user may also lose the current unsent message or attachment state.
Priority
High
The issue affects a primary multimodal input feature and can terminate the application. Users are not informed that the video was excluded before the request is submitted.
Layer
Frontend / macOS client
The same video works correctly in the web application, while the native macOS client:
-
incorrectly manages or represents the attachment upload state;
-
submits the message without the selected attachment;
-
may retain an invalid attachment state during navigation;
-
crashes during SwiftUI/AppKit layout invalidation while an asynchronous file operation appears to remain active.
