@@ -30,6 +30,7 @@ import { adjustConnectionOptionsBeforeConnect } from '@mongodb-js/connection-for
3030import mongodbBuildInfo , { getGenuineMongoDB } from 'mongodb-build-info' ;
3131import EventEmitter from 'events' ;
3232import { showNonGenuineMongoDBWarningModal as _showNonGenuineMongoDBWarningModal } from '../components/non-genuine-connection-modal' ;
33+ import { showEndOfLifeMongoDBWarningModal as _showEndOfLifeMongoDBWarningModal } from '../components/end-of-life-connection-modal' ;
3334import ConnectionString from 'mongodb-connection-string-url' ;
3435import 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+
21112142type ImportConnectionsFn = Required < ConnectionStorage > [ 'importConnections' ] ;
21122143
21132144export const importConnections = (
0 commit comments