Skip to content

Commit 21762ce

Browse files
committed
Show end-of-life warning modal on connection
1 parent 8e30a40 commit 21762ce

File tree

2 files changed

+33
-1
lines changed

2 files changed

+33
-1
lines changed

packages/compass-connections/src/stores/connections-store-redux.ts

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import { adjustConnectionOptionsBeforeConnect } from '@mongodb-js/connection-for
3030
import mongodbBuildInfo, { getGenuineMongoDB } from 'mongodb-build-info';
3131
import EventEmitter from 'events';
3232
import { showNonGenuineMongoDBWarningModal as _showNonGenuineMongoDBWarningModal } from '../components/non-genuine-connection-modal';
33+
import { showEndOfLifeMongoDBWarningModal as _showEndOfLifeMongoDBWarningModal } from '../components/end-of-life-connection-modal';
3334
import ConnectionString from 'mongodb-connection-string-url';
3435
import type { ExtraConnectionData as ExtraConnectionDataForTelemetry } from '@mongodb-js/compass-telemetry';
3536

@@ -1785,6 +1786,25 @@ const connectWithOptions = (
17851786
) {
17861787
dispatch(showNonGenuineMongoDBWarningModal(connectionInfo.id));
17871788
}
1789+
1790+
void dataService.instance().then(
1791+
(instance) => {
1792+
if (instance.build.isEndOfLife) {
1793+
dispatch(
1794+
showEndOfLifeMongoDBWarningModal(
1795+
connectionInfo.id,
1796+
instance.build.version
1797+
)
1798+
);
1799+
}
1800+
},
1801+
(err) => {
1802+
debug(
1803+
'failed to get instance details to determine if the server version is end-of-life',
1804+
err
1805+
);
1806+
}
1807+
);
17881808
} catch (err) {
17891809
dispatch(connectionAttemptError(connectionInfo, err));
17901810
} finally {
@@ -2108,6 +2128,17 @@ export const showNonGenuineMongoDBWarningModal = (
21082128
};
21092129
};
21102130

2131+
export const showEndOfLifeMongoDBWarningModal = (
2132+
connectionId: string,
2133+
version: string
2134+
): ConnectionsThunkAction<void> => {
2135+
return (_dispatch, getState, { track }) => {
2136+
const connectionInfo = getCurrentConnectionInfo(getState(), connectionId);
2137+
track('Screen', { name: 'end_of_life_mongodb_modal' }, connectionInfo);
2138+
void _showEndOfLifeMongoDBWarningModal(connectionInfo, version);
2139+
};
2140+
};
2141+
21112142
type ImportConnectionsFn = Required<ConnectionStorage>['importConnections'];
21122143

21132144
export const importConnections = (

packages/compass-telemetry/src/telemetry-events.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2648,7 +2648,8 @@ type ScreenEvent = ConnectionScopedEvent<{
26482648
| 'restore_pipeline_modal'
26492649
| 'save_pipeline_modal'
26502650
| 'shell_info_modal'
2651-
| 'update_search_index_modal';
2651+
| 'update_search_index_modal'
2652+
| 'end_of_life_mongodb_modal';
26522653
};
26532654
}>;
26542655

0 commit comments

Comments
 (0)