chore: telemetry events for notes creation

This commit is contained in:
haritabh-z01 2026-01-08 16:29:08 +05:30
parent 0d6c4fc2bd
commit 9092d92193
3 changed files with 43 additions and 1 deletions

View file

@ -13,6 +13,7 @@ import type {
OnboardingCompletedEvent,
OnboardingAbandonedEvent,
NativeHelperCrashedEvent,
NoteCreatedEvent,
} from "../types/telemetry-events";
export interface TranscriptionMetrics {
@ -407,6 +408,22 @@ export class TelemetryService {
logger.main.debug("Tracked native helper crash", props);
}
// ============================================================================
// Notes Events
// ============================================================================
trackNoteCreated(props: NoteCreatedEvent): void {
if (!this.posthog || !this.enabled) return;
this.posthog.capture({
distinctId: this.machineId,
event: "note_created",
properties: { ...props, ...this.persistedProperties },
});
logger.main.debug("Tracked note created", props);
}
// ============================================================================
// Transcription Events
// ============================================================================

View file

@ -1,6 +1,7 @@
import { z } from "zod";
import { createRouter, procedure } from "../trpc";
import NotesService from "../../services/notes-service";
import { ServiceManager } from "../../main/managers/service-manager";
const notesService = NotesService.getInstance();
@ -59,11 +60,22 @@ export const notesRouter = createRouter({
// Create new note
createNote: procedure.input(CreateNoteSchema).mutation(async ({ input }) => {
return await notesService.createNote({
const note = await notesService.createNote({
title: input.title,
initialContent: input.initialContent || "",
icon: input.icon,
});
// Track telemetry
const telemetryService =
ServiceManager.getInstance().getService("telemetryService");
telemetryService.trackNoteCreated({
note_id: note.id,
has_initial_content: !!input.initialContent,
has_icon: !!input.icon,
});
return note;
}),
// Update note title

View file

@ -91,3 +91,16 @@ export interface NativeHelperCrashedEvent {
max_restarts: number;
will_restart: boolean;
}
// ============================================================================
// Notes Events
// ============================================================================
/**
* Fired when a new note is created
*/
export interface NoteCreatedEvent {
note_id: number;
has_initial_content: boolean;
has_icon: boolean;
}