void (@NotNull Project project, @NotNull String url, boolean onUpgrade) { if (!JBCefApp.isSupported()) { var name = ApplicationNamesInfo.getInstance().getFullProductName(); var version = ApplicationInfo.getInstance().getShortVersion(); UpdateChecker.getNotificationGroupForIdeUpdateResults() .createNotification(IdeBundle.message("whats.new.notification.text", name, version), NotificationType.INFORMATION) .setIcon(AllIcons.Nodes.PpWeb) .setDisplayId("ide.whats.new") .addAction(NotificationAction.createSimpleExpiring(IdeBundle.message("whats.new.notification.action"), () -> BrowserUtil.browse(url))) .notify(project); } else { openWhatsNewPage(project, url, onUpgrade, (id, jsRequest, completion) -> { if (ENABLE_NEW_UI_REQUEST.equals(jsRequest)) { if (!ExperimentalUI.isNewUI()) { ApplicationManager.getApplication().invokeLater(() -> { ExperimentalUiCollector.logSwitchUi(ExperimentalUiCollector.SwitchSource.WHATS_NEW_PAGE, true); ExperimentalUI.Companion.setNewUI(true); UISettings.getInstance().fireUISettingsChanged(); }); } return "true"; } else { throw new IllegalArgumentException("Unexpected query: " + jsRequest); } }); } }