Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions plugin/plugin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,13 @@
name="Amazon Q Code Reference"
restorable="true">
</view>
<view
category="amazonq"
class="software.aws.toolkits.eclipse.amazonq.views.DeprecationBannerView"
id="software.aws.toolkits.eclipse.amazonq.views.DeprecationBannerView"
name="Amazon Q Developer IDE plugins: end of support"
restorable="false">
</view>
</extension>
<extension point="org.eclipse.ui.activities">
<!-- These activities and activityPatternBindings prevent the view from showing up in the Show View menu. Logic exists that will filter these views out. -->
Expand All @@ -146,6 +153,11 @@
isEqualityPattern="true"
pattern="amazon-q-eclipse/software.aws.toolkits.eclipse.amazonq.views.AmazonQViewContainer">
</activityPatternBinding>
<activityPatternBinding
activityId="software.aws.toolkits.eclipse.amazonq.activity.AmazonQViewContainer"
isEqualityPattern="true"
pattern="amazon-q-eclipse/software.aws.toolkits.eclipse.amazonq.views.DeprecationBannerView">
</activityPatternBinding>
</extension>
<extension
point="org.eclipse.ui.perspectiveExtensions">
Expand All @@ -158,6 +170,17 @@
relationship="right"
visible="false">
</view>
<view
closeable="false"
id="software.aws.toolkits.eclipse.amazonq.views.DeprecationBannerView"
moveable="false"
ratio="0.15"
relative="org.eclipse.ui.editorss"
relationship="top"
showTitle="false"
standalone="true"
visible="false">
</view>
</perspectiveExtension>
</extension>
<extension point="org.eclipse.core.contenttype.contentTypes">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,6 @@ private PluginStoreKeys() {

public static final String CHAT_DISCLAIMER_ACKNOWLEDGED = "qchatDisclaimerAcknowledged";
public static final String PAIR_PROGRAMMING_ACKNOWLEDGED = "qchatPairProgrammingAcknowledged";
public static final String EDITOR_DEPRECATION_BANNER_DISMISSED = "editorDeprecationBannerDismissed";

}
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@
import software.aws.toolkits.eclipse.amazonq.util.AutoTriggerPartListener;
import software.aws.toolkits.eclipse.amazonq.util.AutoTriggerTopLevelListener;
import software.aws.toolkits.eclipse.amazonq.util.Constants;
import software.aws.toolkits.eclipse.amazonq.util.KiroSunsetNotification;
import software.aws.toolkits.eclipse.amazonq.util.ThreadingUtils;
import software.aws.toolkits.eclipse.amazonq.util.ToolkitNotification;
import software.aws.toolkits.eclipse.amazonq.util.UpdateUtils;
import software.aws.toolkits.eclipse.amazonq.views.DeprecationBannerManager;
import software.aws.toolkits.eclipse.amazonq.views.ViewConstants;
import software.aws.toolkits.eclipse.amazonq.views.ViewVisibilityManager;
import software.aws.toolkits.eclipse.amazonq.views.actions.AmazonQToolbarActions;
Expand All @@ -41,6 +41,8 @@ public class LspStartupActivity implements IStartup {

@Override
public final void earlyStartup() {
Display.getDefault().asyncExec(
() -> DeprecationBannerManager.getInstance().showOncePerSession());
Job startupJob = new Job("Amazon Q Startup") {
@Override
protected IStatus run(final IProgressMonitor monitor) {
Expand Down Expand Up @@ -82,23 +84,11 @@ private void schedulePostStartupJobs() {
Display.getDefault().asyncExec(() -> launchWebview());
}
Display.getDefault().asyncExec(() -> attachAutoTriggerListenersIfApplicable());
Display.getDefault().asyncExec(() -> showKiroSunsetNotification());
checkForUpdates();
NotificationPollingService.getInstance().start();
});
}

private void showKiroSunsetNotification() {
if (Activator.getPluginStore().get(Constants.KIRO_SUNSET_NOTIFICATION_DISMISSED_KEY) != null) {
return;
}
AbstractNotificationPopup notification = new KiroSunsetNotification(Display.getCurrent(),
Constants.KIRO_SUNSET_NOTIFICATION_TITLE,
Constants.KIRO_SUNSET_NOTIFICATION_BODY,
() -> Activator.getPluginStore().put(Constants.KIRO_SUNSET_NOTIFICATION_DISMISSED_KEY, "true"));
notification.open();
}

private void checkForUpdates() {
Job updateCheckJob = new Job("Check for updates") {
@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import software.aws.toolkits.eclipse.amazonq.util.PluginLogger;
import software.aws.toolkits.eclipse.amazonq.notifications.NotificationPollingService;
import software.aws.toolkits.eclipse.amazonq.util.ThreadingUtils;
import software.aws.toolkits.eclipse.amazonq.views.DeprecationBannerManager;
import software.aws.toolkits.eclipse.amazonq.views.router.ViewRouter;
import software.aws.toolkits.eclipse.workspace.WorkspaceChangeListener;

Expand Down Expand Up @@ -64,6 +65,7 @@ public Activator() {

@Override
public final void stop(final BundleContext context) throws Exception {
DeprecationBannerManager.getInstance().shutdown();
NotificationPollingService.getInstance().shutdown();
AmazonQBrowserProvider.getInstance().dispose();
super.stop(context);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,13 @@ private Constants() {
public static final String TELEMETRY_NOTIFICATION_TITLE = "AWS IDE plugins telemetry";
public static final String TELEMETRY_NOTIFICATION_BODY = "Usage metrics are collected by default. This can be changed in the \"Amazon Q\" section"
+ " of the IDE preferences.";
public static final String KIRO_SUNSET_NOTIFICATION_TITLE = "Amazon Q Developer end of support";
public static final String KIRO_SUNSET_NOTIFICATION_BODY = "Amazon Q Developer IDE plugins will reach end of support on April 30, 2027."
+ " New accounts will no longer be available starting May 15, 2026";
public static final String KIRO_SUNSET_LEARN_MORE_URL = "https://aws.amazon.com/blogs/devops/amazon-q-developer-end-of-support-announcement/";
public static final String KIRO_SUNSET_NOTIFICATION_DISMISSED_KEY = "kiroSunsetNotificationDismissed";
public static final String DEPRECATION_NOTICE_TITLE = "Amazon Q Developer IDE plugins: end of support";
public static final String DEPRECATION_NOTICE_BODY = "On April 30, 2027, AWS will discontinue support for Amazon Q Developer IDE plugins. "
+ "For capabilities similar to Amazon Q Developer IDE plugins, explore Kiro to access the latest models and features, including agentic coding, "
+ "chat and MCP support.";
public static final String KIRO_URL = "https://kiro.dev";
public static final String DEPRECATION_NOTICE_LEARN_MORE_URL =
"https://aws.amazon.com/blogs/devops/amazon-q-developer-end-of-support-announcement/";
public static final String RE_AUTHENTICATE_FAILURE_MESSAGE = "An error occurred while attempting to re-authenticate. Please try again.";
public static final String AUTHENTICATE_FAILURE_MESSAGE = "An error occurred while attempting to authenticate. Please try again.";
public static final String IDE_SSL_HANDSHAKE_TITLE = "SSL Handshake Error";
Expand Down

This file was deleted.

Loading
Loading