Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Telemetry #95

Merged
merged 7 commits into from
Oct 21, 2024
Merged

Telemetry #95

merged 7 commits into from
Oct 21, 2024

Conversation

darielnoel
Copy link
Contributor

TelemetryDeck Integration for Anonymous Usage Analytics

Feature Overview

This PR introduces the integration of TelemetryDeck, a privacy-focused analytics tool, into our project. This addition will help the core maintainer team gather anonymous usage data to improve our application's performance, stability, and user experience.

Key Changes

  1. Added a new telemetry.js utility module
  2. Implemented functions for initializing and managing TelemetryDeck
  3. Added opt-out functionality for users who prefer not to share analytics

Why TelemetryDeck?

  1. Privacy-First Approach: TelemetryDeck is designed with privacy in mind, collecting only anonymous, non-personal information.
  2. Lightweight: Minimal impact on application performance.
  3. GDPR Compliant: Helps us maintain compliance with data protection regulations.

Benefits

  1. Improved Debugging: Helps identify and diagnose technical issues more efficiently.
  2. Performance Insights: Allows us to measure and optimize different parts of the application.
  3. Informed Decision Making: Provides data to guide our efforts in enhancing the codebase.

User Control

  • Users can opt out of telemetry by setting the KAIBAN_TELEMETRY_OPT_OUT environment variable.
  • When opted out, a mock telemetry instance is used, ensuring no data is collected.

Implementation Details

  • Utilizes UUID for generating unique, anonymous client identifiers.
  • Handles both browser and Node.js environments.
  • Includes fallbacks for older Node.js versions and environments where SubtleCrypto is not available.

Next Steps

  • Monitor initial data to ensure proper functionality.
  • Consider adding specific telemetry signals for key user actions or error scenarios.
  • Regularly review collected data to drive product improvements.

Testing

  • Tested in both browser and Node.js environments.
  • Verified opt-out functionality.
  • Ensured compatibility with different Node.js versions.

@darielnoel darielnoel merged commit c6eb03f into main Oct 21, 2024
3 checks passed
@darielnoel darielnoel deleted the telemetry branch October 21, 2024 18:58
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.

1 participant