Improve UX of importing vs. opening files (#3661)

* wip

* fix drag and drop

* fix

* fix tests

* fix tests

* fix warning

* Partial code review

* add dialog

* fix web

* fix web

* push back release candidate expiry

* Code review

* Reduce code duplication for pasting files in frontend

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
This commit is contained in:
Timon
2026-01-22 01:37:49 -08:00
committed by GitHub
co-authored by Keavon Chambers
parent 781fa7ae95
commit 2be7790d4d
23 changed files with 301 additions and 354 deletions
+13 -13
View File
@@ -745,7 +745,7 @@ export class TriggerFetchAndOpenDocument extends JsMessage {
readonly filename!: string;
}
export class TriggerOpenDocument extends JsMessage {}
export class TriggerOpen extends JsMessage {}
export class TriggerImport extends JsMessage {}
@@ -1666,14 +1666,16 @@ export const messageMakers: Record<string, MessageMaker> = {
DisplayDialogDismiss,
DisplayDialogPanic,
DisplayEditableTextbox,
DisplayEditableTextboxUpdateFontData,
DisplayEditableTextboxTransform,
DisplayEditableTextboxUpdateFontData,
DisplayRemoveEditableTextbox,
SendUIMetadata,
SendShortcutFullscreen,
SendShortcutAltClick,
SendShortcutFullscreen,
SendShortcutShiftClick,
SendUIMetadata,
TriggerAboutGraphiteLocalizedCommitDate,
TriggerClipboardRead,
TriggerClipboardWrite,
TriggerDisplayThirdPartyLicensesDialog,
TriggerExportImage,
TriggerFetchAndOpenDocument,
@@ -1683,7 +1685,7 @@ export const messageMakers: Record<string, MessageMaker> = {
TriggerLoadFirstAutoSaveDocument,
TriggerLoadPreferences,
TriggerLoadRestAutoSaveDocuments,
TriggerOpenDocument,
TriggerOpen,
TriggerOpenLaunchDocuments,
TriggerPersistenceRemoveDocument,
TriggerPersistenceWriteDocument,
@@ -1691,11 +1693,9 @@ export const messageMakers: Record<string, MessageMaker> = {
TriggerSaveDocument,
TriggerSaveFile,
TriggerSavePreferences,
TriggerTextCommit,
TriggerClipboardRead,
TriggerClipboardWrite,
TriggerSelectionRead,
TriggerSelectionWrite,
TriggerTextCommit,
TriggerVisitLink,
UpdateActiveDocument,
UpdateBox,
@@ -1714,6 +1714,7 @@ export const messageMakers: Record<string, MessageMaker> = {
UpdateDocumentScrollbars,
UpdateExportReorderIndex,
UpdateEyedropperSamplingState,
UpdateFullscreen,
UpdateGraphFadeArtwork,
UpdateGraphViewOverlay,
UpdateImportReorderIndex,
@@ -1724,6 +1725,7 @@ export const messageMakers: Record<string, MessageMaker> = {
UpdateLayersPanelControlBarRightLayout,
UpdateLayersPanelState,
UpdateLayerWidths,
UpdateMaximized,
UpdateMenuBarLayout,
UpdateMouseCursor,
UpdateNodeGraphControlBarLayout,
@@ -1735,22 +1737,20 @@ export const messageMakers: Record<string, MessageMaker> = {
UpdateNodeThumbnail,
UpdateOpenDocumentsList,
UpdatePlatform,
UpdateMaximized,
UpdateFullscreen,
WindowPointerLockMove,
WindowFullscreen,
UpdatePropertiesPanelLayout,
UpdatePropertiesPanelState,
UpdateStatusBarHintsLayout,
UpdateStatusBarInfoLayout,
UpdateToolOptionsLayout,
UpdateToolShelfLayout,
UpdateUIScale,
UpdateViewportHolePunch,
UpdateViewportPhysicalBounds,
UpdateUIScale,
UpdateVisibleNodes,
UpdateWelcomeScreenButtonsLayout,
UpdateWirePathInProgress,
UpdateWorkingColorsLayout,
WindowFullscreen,
WindowPointerLockMove,
} as const;
export type JsMessageType = keyof typeof messageMakers;