Skip to content

Improve update dialogs with clearer messaging and safer ESC key handling - #2257

Merged
wojtekn merged 2 commits into
trunkfrom
update/auto-update-messaging
Dec 16, 2025
Merged

Improve update dialogs with clearer messaging and safer ESC key handling#2257
wojtekn merged 2 commits into
trunkfrom
update/auto-update-messaging

Conversation

@wojtekn

@wojtekn wojtekn commented Dec 15, 2025

Copy link
Copy Markdown
Contributor

Related issues

Proposed Changes

  • Improved update dialog UX by using message/detail pattern for clearer, more distinct notifications
  • Added cancelId: 1 and defaultId: 0 to restart dialog to prevent accidental app restarts when pressing ESC
  • Extended "no updates available" detail text to ensure consistent left-alignment across all dialogs
No updates Downloading update Ready to install
CleanShot 2025-12-15 at 19 27 04@2x CleanShot 2025-12-16 at 09 48 51@2x CleanShot 2025-12-16 at 09 49 29@2x

Testing Instructions

  1. Start the app with npm start
  2. Test each dialog by temporarily adding debug code to src/updates.ts in the manualCheckForUpdates() function
export async function manualCheckForUpdates() {
	await showUpdateAvailableNotice();
	//await showUpdateUnavailableNotice();
	//await showUpdateReadyToInstallNotice();
	return;
	// ... rest of function
}
  1. After adding debug code, restart the app
  2. Go to Studio menu → Check for Updates
  3. Verify each dialog has clear text and behaves correctly

Pre-merge Checklist

  • Have you checked for TypeScript, React or other console errors?
@wojtekn wojtekn self-assigned this Dec 15, 2025
@wojtekn
wojtekn requested a review from a team December 15, 2025 18:37
@github-actions

github-actions Bot commented Dec 15, 2025

Copy link
Copy Markdown
Contributor

📊 Performance Test Results

Comparing d3d3fb0 vs trunk

site-editor

Metric trunk d3d3fb0 Diff Change
load 9875.00 ms 7924.00 ms -1951.00 ms 🟢 -19.8%

site-startup

Metric trunk d3d3fb0 Diff Change
siteCreation 14161.00 ms 14171.00 ms +10.00 ms 🔴 0.1%
siteStartup 5939.00 ms 5988.00 ms +49.00 ms 🔴 0.8%

Results are median values from multiple test runs.

Legend: 🟢 Improvement (faster) | 🔴 Regression (slower) | ⚪ No change

@epeicher epeicher left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @wojtekn for improving this! I have left a couple of suggestions, but they are non-blocking as they are a matter of preference. I have tested it, and it works as expected. When I click Restart, the application closes and remains minimised, but I see this is the current behaviour. Changes LGTM!

Downloading in background No updates available Updates ready
Image Image Image

Click on Restart

CleanShot.2025-12-16.at.08.58.44.mp4
Comment thread src/updates.ts Outdated
buttons: [ __( 'OK' ) ],
title: __( 'New Version Available' ),
message: __( 'The latest version is being downloaded.' ),
message: __( 'Update downloading in background' ),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
message: __( 'Update downloading in background' ),
message: __( 'Update downloading in the background' ),

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I added the article.

Comment thread src/updates.ts Outdated
'A new version has been downloaded. Restart the application to apply the updates.'
message: __( 'Update ready to install' ),
detail: __(
"Restart Studio now to install the update, or choose 'Later' to continue working and restart when convenient."

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would remove the quotes from Later and keep it capitalized as it is. But that is personal preference, happy to hear other views.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense, removed.

Comment thread src/updates.ts Outdated
buttons: [ __( 'OK' ) ],
title: __( 'New Version Available' ),
message: __( 'The latest version is being downloaded.' ),
message: __( 'Update downloading in background' ),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
message: __( 'Update downloading in background' ),
message: __( 'Update is downloading in the background' ),
Comment thread src/updates.ts Outdated
buttons: [ __( 'OK' ) ],
title: __( 'New Version Available' ),
message: __( 'The latest version is being downloaded.' ),
message: __( 'Update downloading in background' ),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OR

Suggested change
message: __( 'Update downloading in background' ),
message: __( 'Downloading update in the background' ),

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I updated the wording.

Comment thread src/updates.ts
message: __( 'You are already running the latest version.' ),
message: __( 'No updates available' ),
detail: __(
"You're already running the latest version of Studio. No update is needed at this time."

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this looks good, if we want to go more casual, we could do something like:

You're up to date! You're running the latest version of Studio.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would leave the more extended version, as with the shorter one, macOS centers the texts.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good 👍

@katinthehatsite katinthehatsite left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Functionality looks good, I just left some minor wording suggestions 👍

@wojtekn
wojtekn merged commit e2a0363 into trunk Dec 16, 2025
15 checks passed
@wojtekn
wojtekn deleted the update/auto-update-messaging branch December 16, 2025 12:07
fredrikekelund pushed a commit that referenced this pull request Dec 17, 2025
…ing (#2257)

* Improve update dialogs with clearer messaging and safer ESC key handling

* Adjust wording and formatting
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants