@@ -69,9 +69,17 @@ async function ensureRuntimeLoader(folder: vscode.WorkspaceFolder): Promise<stri
6969 }
7070
7171 // Only create if it doesn't exist to preserve user customizations
72- if ( ! fs . existsSync ( loaderPath ) ) {
72+ const loaderExists = fs . existsSync ( loaderPath ) ;
73+ if ( ! loaderExists ) {
7374 const loaderContent = generateServerMockSdk ( ) ;
7475 fs . writeFileSync ( loaderPath , loaderContent , 'utf8' ) ;
76+
77+ oneDSLoggerWrapper . getLogger ( ) . traceInfo (
78+ desktopTelemetryEventNames . SERVER_LOGIC_RUNTIME_LOADER_CREATED ,
79+ {
80+ workspaceFolder : folder . name
81+ }
82+ ) ;
7583 }
7684
7785 ensureGitignore ( gitignorePath ) ;
@@ -170,14 +178,28 @@ export class ServerLogicDebugProvider implements vscode.DebugConfigurationProvid
170178 oneDSLoggerWrapper . getLogger ( ) . traceInfo (
171179 desktopTelemetryEventNames . SERVER_LOGIC_DEBUG_STARTED ,
172180 {
173- hasCustomMockData : ! ! config . mockDataPath
181+ hasCustomMockData : String ( ! ! config . mockDataPath ) ,
182+ workspaceFolder : folder . name ,
183+ programFile : config . program ? path . basename ( config . program ) : 'unknown'
174184 }
175185 ) ;
176186
177187 return config ;
178188 } catch ( error ) {
189+ const errorMessage = error instanceof Error ? error . message : String ( error ) ;
190+
191+ oneDSLoggerWrapper . getLogger ( ) . traceError (
192+ desktopTelemetryEventNames . SERVER_LOGIC_DEBUG_ERROR ,
193+ errorMessage ,
194+ error instanceof Error ? error : new Error ( errorMessage ) ,
195+ {
196+ phase : 'resolveDebugConfiguration' ,
197+ workspaceFolder : folder . name
198+ }
199+ ) ;
200+
179201 vscode . window . showErrorMessage (
180- vscode . l10n . t ( SERVER_LOGIC_STRINGS . ERROR_INIT_FAILED , error instanceof Error ? error . message : String ( error ) )
202+ vscode . l10n . t ( SERVER_LOGIC_STRINGS . ERROR_INIT_FAILED , errorMessage )
181203 ) ;
182204 return undefined ;
183205 }
@@ -235,7 +257,9 @@ export function activateServerLogicDebugger(context: vscode.ExtensionContext): v
235257 oneDSLoggerWrapper . getLogger ( ) . traceInfo (
236258 desktopTelemetryEventNames . SERVER_LOGIC_DEBUG_COMMAND_EXECUTED ,
237259 {
238- fileName : path . basename ( filePath )
260+ fileName : path . basename ( filePath ) ,
261+ workspaceFolder : workspaceFolder . name ,
262+ triggerSource : 'command'
239263 }
240264 ) ;
241265 }
@@ -275,7 +299,9 @@ export function activateServerLogicDebugger(context: vscode.ExtensionContext): v
275299 oneDSLoggerWrapper . getLogger ( ) . traceInfo (
276300 desktopTelemetryEventNames . SERVER_LOGIC_RUN_COMMAND_EXECUTED ,
277301 {
278- fileName : path . basename ( filePath )
302+ fileName : path . basename ( filePath ) ,
303+ workspaceFolder : workspaceFolder . name ,
304+ triggerSource : 'command'
279305 }
280306 ) ;
281307 }
@@ -305,24 +331,46 @@ function showServerLogicWelcomeNotification(): void {
305331 const learnMoreButton = vscode . l10n . t ( SERVER_LOGIC_STRINGS . BUTTON_LEARN_MORE ) ;
306332 const dontShowButton = vscode . l10n . t ( SERVER_LOGIC_STRINGS . BUTTON_DONT_SHOW_AGAIN ) ;
307333
334+ oneDSLoggerWrapper . getLogger ( ) . traceInfo (
335+ desktopTelemetryEventNames . SERVER_LOGIC_WELCOME_NOTIFICATION_SHOWN ,
336+ { }
337+ ) ;
338+
308339 vscode . window . showInformationMessage (
309340 vscode . l10n . t ( SERVER_LOGIC_STRINGS . WELCOME_MESSAGE ) ,
310341 debugButton ,
311342 learnMoreButton ,
312343 dontShowButton
313344 ) . then ( selection => {
314345 if ( selection === debugButton ) {
346+ oneDSLoggerWrapper . getLogger ( ) . traceInfo (
347+ desktopTelemetryEventNames . SERVER_LOGIC_WELCOME_NOTIFICATION_ACTION ,
348+ { action : 'debug' }
349+ ) ;
315350 vscode . commands . executeCommand ( 'powerpages.debugServerLogic' ) ;
316351 } else if ( selection === learnMoreButton ) {
352+ oneDSLoggerWrapper . getLogger ( ) . traceInfo (
353+ desktopTelemetryEventNames . SERVER_LOGIC_WELCOME_NOTIFICATION_ACTION ,
354+ { action : 'learnMore' }
355+ ) ;
317356 vscode . env . openExternal (
318357 vscode . Uri . parse ( SERVER_LOGIC_URLS . LEARN_MORE )
319358 ) ;
320359 } else if ( selection === dontShowButton ) {
360+ oneDSLoggerWrapper . getLogger ( ) . traceInfo (
361+ desktopTelemetryEventNames . SERVER_LOGIC_WELCOME_NOTIFICATION_ACTION ,
362+ { action : 'dontShowAgain' }
363+ ) ;
321364 vscode . workspace . getConfiguration ( ) . update (
322365 SERVER_LOGIC_CONFIG_KEYS . DONT_SHOW_WELCOME ,
323366 true ,
324367 vscode . ConfigurationTarget . Global
325368 ) ;
369+ } else {
370+ oneDSLoggerWrapper . getLogger ( ) . traceInfo (
371+ desktopTelemetryEventNames . SERVER_LOGIC_WELCOME_NOTIFICATION_ACTION ,
372+ { action : 'dismissed' }
373+ ) ;
326374 }
327375 } ) ;
328376}
0 commit comments