Skip to content

Commit 95e6a0e

Browse files
kburtramBenjin
andauthored
Adding banner to notify users of Azure Data Studio's retirement announcement. (#26191) (#26192)
* Adding banner to welcome page * Adding notification * Updating README * Update label text from "Okay" to "OK" --------- Co-authored-by: Benjin Dubishar <[email protected]>
1 parent e854340 commit 95e6a0e

File tree

7 files changed

+90
-0
lines changed

7 files changed

+90
-0
lines changed

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Azure Data Studio
22

3+
> [!IMPORTANT]
4+
> Azure Data Studio will be retired on **February 28, 2026**. [Read more](https://aka.ms/ads-retirement)
5+
6+
----
7+
38
[![Join the chat at https://gitter.im/Microsoft/sqlopsstudio](https://badges.gitter.im/Microsoft/sqlopsstudio.svg)](https://gitter.im/Microsoft/sqlopsstudio?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
49
[![Build Status](https://dev.azure.com/ms/azuredatastudio/_apis/build/status/AzureDataStudio-Localization-CI?branchName=main)](https://dev.azure.com/ms/azuredatastudio/_build/latest?definitionId=453&branchName=main)
510
[![Twitter Follow](https://img.shields.io/twitter/follow/azuredatastudio?style=social)](https://twitter.com/azuredatastudio)

src/sql/workbench/contrib/welcome/browser/az_data_welcome_page.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,17 @@ export default () => `
3131
</div>
3232
</div>
3333
</div>
34+
<div class="row" id="retirement-announcement-container">
35+
<div class="retirement-banner">
36+
<p>
37+
${escape(localize('welcomePage.adsRetirementAnnouncement', "Azure Data Studio will be retired on February 28, 2026."))}
38+
<a class="link" href="https://aka.ms/ads-retirement">
39+
${escape(localize('welcomePage.adsRetirementAnnouncementLink', "Read more"))}
40+
<span class="icon-link themed-icon-alt"></span>
41+
</a>
42+
</p>
43+
</div>
44+
</div>
3445
<div class="row header-bottom-nav-tiles ads-grid">
3546
<div class="col">
3647
<a role="button" class="header-bottom-nav-tile-link ads-welcome-page-link" href="command:${AddServerAction.ID}">
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/*---------------------------------------------------------------------------------------------
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License. See License.txt in the project root for license information.
4+
*--------------------------------------------------------------------------------------------*/
5+
6+
import { Registry } from 'vs/platform/registry/common/platform';
7+
import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions';
8+
import { LifecyclePhase } from 'vs/workbench/services/lifecycle/common/lifecycle';
9+
import { RetirementAnnouncement } from 'sql/workbench/contrib/welcome/browser/retirementAnnouncement';
10+
11+
Registry
12+
.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench)
13+
.registerWorkbenchContribution(RetirementAnnouncement, LifecyclePhase.Eventually);
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
/*---------------------------------------------------------------------------------------------
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License. See License.txt in the project root for license information.
4+
*--------------------------------------------------------------------------------------------*/
5+
6+
import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage';
7+
import { INotificationService, Severity } from 'vs/platform/notification/common/notification';
8+
import { IHostService } from 'vs/workbench/services/host/browser/host';
9+
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
10+
import { localize } from 'vs/nls';
11+
12+
export class RetirementAnnouncement {
13+
private static DO_NOT_SHOW_RETIREMENT_PROMPT = 'workbench.doNotShowRetirementPrompt';
14+
15+
constructor(
16+
@IStorageService private storageService: IStorageService,
17+
@INotificationService private notificationService: INotificationService,
18+
@IHostService hostService: IHostService,
19+
@IConfigurationService configurationService: IConfigurationService
20+
) {
21+
if (this.storageService.get(RetirementAnnouncement.DO_NOT_SHOW_RETIREMENT_PROMPT, StorageScope.APPLICATION)) {
22+
return;
23+
}
24+
25+
const retirementNotice = localize('prompt.adsRetirementAnnouncement', "Azure Data Studio will be retired on February 28, 2026. [Read more](https://aka.ms/ads-retirement)");
26+
this.notificationService.prompt(
27+
Severity.Info,
28+
retirementNotice,
29+
[
30+
{
31+
label: localize('okay', "OK"),
32+
run: () => { /* no-op, just an ack */ }
33+
},
34+
{
35+
label: localize('never', "Don't show again"),
36+
run: () => {
37+
this.storageService.store(RetirementAnnouncement.DO_NOT_SHOW_RETIREMENT_PROMPT, true, StorageScope.APPLICATION, StorageTarget.MACHINE);
38+
}
39+
}
40+
]
41+
);
42+
}
43+
44+
}

src/sql/workbench/contrib/welcome/browser/welcomePage.css

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -828,6 +828,17 @@
828828
background-repeat: no-repeat
829829
}
830830

831+
.ads-homepage .retirement-banner {
832+
width: 100%;
833+
padding: 20px;
834+
background-color: #ffcc00;
835+
color: #000;
836+
text-align: center;
837+
font-size: 16px;
838+
font-weight: bold;
839+
border-radius: 4px;
840+
}
841+
831842
.ads-homepage .middle-section {
832843
display: flex;
833844
flex-direction: column;

src/vs/workbench/workbench.desktop.main.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,3 +205,6 @@ import 'sql/workbench/contrib/commandLine/electron-sandbox/commandLine.contribut
205205

206206
//getting started
207207
import 'sql/workbench/contrib/welcome/electron-sandbox/gettingStarted.contribution';
208+
209+
// Azure Data Studio Retirement announcent
210+
import 'sql/workbench/contrib/welcome/browser/retirementAnnouncement.contribution';

src/vs/workbench/workbench.web.main.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,4 +225,7 @@ import 'sql/workbench/contrib/welcome/browser/gettingStarted.contribution';
225225
// Telemetry Opt Out
226226
import 'sql/workbench/contrib/telemetry/browser/telemetryOptOut.contribution';
227227

228+
// Azure Data Studio Retirement announcent
229+
import 'sql/workbench/contrib/welcome/browser/retirementAnnouncement.contribution';
230+
228231
//#endregion

0 commit comments

Comments
 (0)