@@ -52,7 +52,6 @@ import {
5252} from '../utils/PrinterUtils' ;
5353import { TimeoutError , withTimeout } from '../utils/ShutdownTimeout' ;
5454import { IPAddressSchema } from '../utils/validation.utils' ;
55- import { getConfigManager } from './ConfigManager' ;
5655import { getLoadingManager } from './LoadingManager' ;
5756import { getPrinterBackendManager } from './PrinterBackendManager' ;
5857import { getPrinterContextManager } from './PrinterContextManager' ;
@@ -80,7 +79,6 @@ interface ConnectionFlowState {
8079}
8180
8281export class ConnectionFlowManager extends EventEmitter {
83- private readonly configManager = getConfigManager ( ) ;
8482 private readonly loadingManager = getLoadingManager ( ) ;
8583 private readonly backendManager = getPrinterBackendManager ( ) ;
8684 private readonly contextManager = getPrinterContextManager ( ) ;
@@ -107,11 +105,6 @@ export class ConnectionFlowManager extends EventEmitter {
107105
108106 /** Setup internal event handlers and service event forwarding */
109107 private setupEventHandlers ( ) : void {
110- // Forward configuration changes
111- this . configManager . on ( 'config:ForceLegacyAPI' , ( newValue : boolean ) => {
112- this . emit ( 'force-legacy-changed' , newValue ) ;
113- } ) ;
114-
115108 // Forward backend manager events
116109 this . forwardEvents ( this . backendManager , [
117110 'backend-initialized' ,
@@ -585,7 +578,6 @@ export class ConnectionFlowManager extends EventEmitter {
585578 // Step 2: Detect printer family and requirements
586579 const familyInfo = detectPrinterFamily ( tempResult . typeName ) ;
587580 const clientType = determineClientType ( familyInfo . is5MFamily ) ;
588- const ForceLegacyAPI = this . configManager . get ( 'ForceLegacyAPI' ) || false ;
589581
590582 this . emit ( 'printer-type-detected' , {
591583 typeName : tempResult . typeName ,
@@ -599,34 +591,7 @@ export class ConnectionFlowManager extends EventEmitter {
599591 ? tempResult . printerInfo . Name
600592 : discoveredPrinter . name ;
601593
602- // Step 3: Handle check code requirements
603- let checkCode = getDefaultCheckCode ( ) ;
604-
605- // Check if this printer has a saved check code
606- const savedCheckCode = this . savedPrinterService . getSavedCheckCode (
607- discoveredPrinter . serialNumber
608- ) ;
609-
610- if ( savedCheckCode ) {
611- console . log ( 'Using saved check code for known printer:' , realPrinterName ) ;
612- checkCode = savedCheckCode ;
613- } else if ( shouldPromptForCheckCode ( familyInfo . is5MFamily , undefined , ForceLegacyAPI ) ) {
614- this . loadingManager . hide ( ) ;
615-
616- const promptedCheckCode = await this . promptForCheckCode ( realPrinterName ) ;
617- if ( ! promptedCheckCode ) {
618- this . loadingManager . showError ( 'Printer pairing cancelled' , 2000 ) ;
619- return { success : false , error : 'Connection cancelled by user' } ;
620- }
621- checkCode = promptedCheckCode ;
622-
623- this . loadingManager . show ( {
624- message : 'Establishing connection with pairing code...' ,
625- canCancel : false ,
626- } ) ;
627- }
628-
629- // Step 4: Extract and validate printer information
594+ // Step 3: Extract and validate printer information
630595 this . loadingManager . updateMessage ( 'Processing printer details...' ) ;
631596 const modelType = detectPrinterModelType ( tempResult . typeName ) ;
632597
@@ -649,6 +614,32 @@ export class ConnectionFlowManager extends EventEmitter {
649614 serialNumber = `Unknown-${ Date . now ( ) } ` ;
650615 }
651616
617+ const existingPrinter = this . savedPrinterService . getSavedPrinter ( serialNumber ) ;
618+ const forceLegacyMode = existingPrinter ?. forceLegacyMode ?? false ;
619+
620+ // Step 4: Handle check code requirements
621+ let checkCode = getDefaultCheckCode ( ) ;
622+ const savedCheckCode = existingPrinter ?. CheckCode ;
623+
624+ if ( savedCheckCode ) {
625+ console . log ( 'Using saved check code for known printer:' , realPrinterName ) ;
626+ checkCode = savedCheckCode ;
627+ } else if ( shouldPromptForCheckCode ( familyInfo . is5MFamily , undefined , forceLegacyMode ) ) {
628+ this . loadingManager . hide ( ) ;
629+
630+ const promptedCheckCode = await this . promptForCheckCode ( realPrinterName ) ;
631+ if ( ! promptedCheckCode ) {
632+ this . loadingManager . showError ( 'Printer pairing cancelled' , 2000 ) ;
633+ return { success : false , error : 'Connection cancelled by user' } ;
634+ }
635+ checkCode = promptedCheckCode ;
636+
637+ this . loadingManager . show ( {
638+ message : 'Establishing connection with pairing code...' ,
639+ canCancel : false ,
640+ } ) ;
641+ }
642+
652643 // Update the discoveredPrinter object with the correct information for connection establishment
653644 const updatedDiscoveredPrinter : DiscoveredPrinter = {
654645 ...discoveredPrinter ,
@@ -671,7 +662,7 @@ export class ConnectionFlowManager extends EventEmitter {
671662 tempResult . typeName ,
672663 familyInfo . is5MFamily ,
673664 checkCode ,
674- ForceLegacyAPI
665+ forceLegacyMode
675666 ) ;
676667
677668 if ( ! connectionResult ) {
@@ -683,7 +674,6 @@ export class ConnectionFlowManager extends EventEmitter {
683674 this . loadingManager . updateMessage ( 'Saving printer details...' ) ;
684675
685676 // Check if printer already exists to preserve per-printer settings
686- const existingPrinter = this . savedPrinterService . getSavedPrinter ( serialNumber ) ;
687677 console . log (
688678 '[ConnectionFlow] Existing printer check for' ,
689679 serialNumber ,
@@ -702,14 +692,14 @@ export class ConnectionFlowManager extends EventEmitter {
702692 IPAddress : discoveredPrinter . ipAddress ,
703693 SerialNumber : serialNumber ,
704694 CheckCode : checkCode ,
705- ClientType : ForceLegacyAPI ? 'legacy' : clientType ,
695+ ClientType : forceLegacyMode ? 'legacy' : clientType ,
706696 printerModel : tempResult . typeName ,
707697 modelType,
708698 // Preserve existing per-printer settings or use defaults for new printers
709699 customCameraEnabled : existingPrinter ?. customCameraEnabled ?? false ,
710700 customCameraUrl : existingPrinter ?. customCameraUrl ?? '' ,
711701 customLedsEnabled : existingPrinter ?. customLedsEnabled ?? false ,
712- forceLegacyMode : existingPrinter ?. forceLegacyMode ?? false ,
702+ forceLegacyMode,
713703 activeSpoolData : existingPrinter ?. activeSpoolData ?? null ,
714704 } ;
715705
@@ -945,7 +935,6 @@ export class ConnectionFlowManager extends EventEmitter {
945935 console . log ( `Initialized default per-printer settings for ${ detailsWithDefaults . Name } ` ) ;
946936 }
947937
948- const ForceLegacyAPI = this . configManager . get ( 'ForceLegacyAPI' ) || false ;
949938 const familyInfo = detectPrinterFamily ( detailsWithDefaults . printerModel ) ;
950939
951940 // Create a mock discovered printer for connection establishment
@@ -962,7 +951,7 @@ export class ConnectionFlowManager extends EventEmitter {
962951 detailsWithDefaults . printerModel ,
963952 familyInfo . is5MFamily ,
964953 detailsWithDefaults . CheckCode ,
965- ForceLegacyAPI
954+ detailsWithDefaults . forceLegacyMode ?? false
966955 ) ;
967956
968957 if ( ! connectionResult ) {
@@ -1251,14 +1240,15 @@ export class ConnectionFlowManager extends EventEmitter {
12511240 model : tempResult . typeName ,
12521241 } ;
12531242
1243+ const forceLegacyMode = existingPrinter ?. forceLegacyMode ?? false ;
1244+
12541245 // Establish final connection
1255- const ForceLegacyAPI = this . configManager . get ( 'ForceLegacyAPI' ) || false ;
12561246 const connectionResult = await this . connectionService . establishFinalConnection (
12571247 updatedDiscoveredPrinter ,
12581248 tempResult . typeName ,
12591249 is5MFamily ,
12601250 checkCode ,
1261- ForceLegacyAPI
1251+ forceLegacyMode
12621252 ) ;
12631253
12641254 if ( ! connectionResult ) {
@@ -1273,14 +1263,14 @@ export class ConnectionFlowManager extends EventEmitter {
12731263 IPAddress : spec . ip ,
12741264 SerialNumber : serialNumber ,
12751265 CheckCode : checkCode ,
1276- ClientType : spec . type ,
1266+ ClientType : forceLegacyMode ? 'legacy' : spec . type ,
12771267 printerModel : tempResult . typeName ,
12781268 modelType,
12791269 // Preserve previously configured per-printer overrides when present
12801270 customCameraEnabled : existingPrinter ?. customCameraEnabled ?? false ,
12811271 customCameraUrl : existingPrinter ?. customCameraUrl ?? '' ,
12821272 customLedsEnabled : existingPrinter ?. customLedsEnabled ?? false ,
1283- forceLegacyMode : existingPrinter ?. forceLegacyMode ?? false ,
1273+ forceLegacyMode,
12841274 } ;
12851275
12861276 await this . savedPrinterService . savePrinter ( printerDetails ) ;
0 commit comments