chore: telemetry events for notes creation
This commit is contained in:
parent
0d6c4fc2bd
commit
9092d92193
3 changed files with 43 additions and 1 deletions
|
|
@ -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
|
||||
// ============================================================================
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue