Skip to content

Commit b081dc3

Browse files
authored
Attribute every telemetry event to the deployment it concerns (#811)
1 parent f01b0f3 commit b081dc3

22 files changed

Lines changed: 995 additions & 379 deletions

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

quilt-sync/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@
99
<!-- markdownlint-disable MD013 -->
1010
# Changelog
1111

12+
## [v0.20.0-alpha4] - 2026-07-30
13+
14+
### Changed
15+
16+
- Usage analytics and crash reports now record which Quilt deployment an action concerned, so activity can be read per stack, and opening a folder is reported as three distinct actions (a package's directory, the sync home, the app data directory) instead of one event that could not tell them apart; actions that concern no deployment record none rather than an inherited one
17+
1218
## [v0.20.0-alpha3] - 2026-07-29
1319

1420
### Changed

quilt-sync/src-tauri/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "quilt-sync"
3-
version = "0.20.0-alpha3"
3+
version = "0.20.0-alpha4"
44
authors = ["Quilt Data, Inc."]
55
description = "Cross-platform desktop application for editing Quilt data packages"
66
documentation = "https://docs.quiltdata.com"

quilt-sync/src-tauri/src/commands.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
11
//! Tauri IPC commands, grouped by domain. Everything is re-exported at
22
//! `commands::*` so `main.rs`'s `generate_handler!` list and other callers
33
//! keep the flat `commands::<name>` paths.
4+
//!
5+
//! # The `uri` argument some commands take but never use
6+
//!
7+
//! A package operation is addressed by its `namespace`; several also accept the
8+
//! package `uri` the calling surface rendered from, and do nothing with it but
9+
//! read its catalog into the event's payload for
10+
//! [telemetry attribution](crate::telemetry::Telemetry::track).
11+
//! It is passed rather than resolved from local lineage on purpose: the catalog
12+
//! the user acted on is what the analytics question asks about, and deriving it
13+
//! here would add I/O and a failure path to every tracked action — including one
14+
//! that would have to run *before* an uninstall destroys the lineage it reads.
15+
//! See [`crate::telemetry::event::PackageEvent::for_uri`] and its siblings.
416
517
mod auth;
618
mod commit_data;

0 commit comments

Comments
 (0)