Skip to content

Add ActivationTelemetryService for first-time event tracking#103

Merged
dimitar-radenkov merged 2 commits into
masterfrom
feat/activation-telemetry-first-actions
May 15, 2026
Merged

Add ActivationTelemetryService for first-time event tracking#103
dimitar-radenkov merged 2 commits into
masterfrom
feat/activation-telemetry-first-actions

Conversation

@dimitar-radenkov
Copy link
Copy Markdown
Owner

No description provided.

Copilot AI review requested due to automatic review settings May 15, 2026 12:58
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented May 15, 2026

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 80.95238% with 20 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
Pointframe/App.xaml.cs 9.09% 10 Missing ⚠️
...vices/Infrastructure/ActivationTelemetryService.cs 87.95% 5 Missing and 5 partials ⚠️

📢 Thoughts on this report? Let us know!

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces an ActivationTelemetryService to centralize “activation” telemetry and add one-time tracking for a user’s first capture/recording, with optional “time from install” dimensions persisted in UserSettings.

Changes:

  • Added ActivationTelemetryService (+ interface) and wired it into App.xaml.cs for capture/record completion events.
  • Extended UserSettings with InstallCreatedUtc and “first completion tracked” flags, and updated UserSettingsService.Clone(...) accordingly.
  • Added unit tests validating first-time events are emitted only once.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
Pointframe/Services/Infrastructure/UserSettingsService.cs Ensures new UserSettings fields survive Update() by extending Clone(...).
Pointframe/Services/Infrastructure/IActivationTelemetryService.cs Defines the activation telemetry API used by App.
Pointframe/Services/Infrastructure/ActivationTelemetryService.cs Implements capture/record completion telemetry + first-time gating via persisted settings.
Pointframe/Models/UserSettings.cs Adds persisted install timestamp and first-time tracking flags.
Pointframe/App.xaml.cs Registers the new service, routes completion handlers through it, and initializes install metadata.
Pointframe.Tests/Services/ActivationTelemetryServiceTests.cs Covers one-time tracking behavior and duration parsing for recordings.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


public bool FirstCaptureCompletedTracked { get; set; }

public bool FirstRecordingCompletedTracked { get; set; }
Comment thread Pointframe/App.xaml.cs Outdated
Comment on lines 461 to 465

if (_userSettings.Current.InstallCreatedUtc is null)
{
_userSettings.Update(s => s.InstallCreatedUtc = DateTime.UtcNow);
}
@dimitar-radenkov dimitar-radenkov merged commit 4cd4f72 into master May 15, 2026
3 checks passed
@dimitar-radenkov dimitar-radenkov deleted the feat/activation-telemetry-first-actions branch May 15, 2026 16:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants