Skip to content

Commit 1ca6b44

Browse files
geroplAlexTugarev
authored andcommitted
[analytics] Fix segment assertion error
1 parent 57f1670 commit 1ca6b44

File tree

3 files changed

+13
-7
lines changed

3 files changed

+13
-7
lines changed

components/gitpod-protocol/src/util/analytics.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,15 @@ class SegmentAnalyticsWriter implements IAnalyticsWriter {
5858
}
5959

6060
identify(msg: IdentifyMessage) {
61-
this.analytics.identify(msg);
61+
this.analytics.identify(msg, (err: Error) => {
62+
log.warn("analytics.identify failed", err, msg);
63+
});
6264
}
6365

6466
track(msg: TrackMessage) {
65-
this.analytics.track(msg);
67+
this.analytics.track(msg, (err: Error) => {
68+
log.warn("analytics.track failed", err, msg);
69+
});
6670
}
6771

6872
}

components/server/src/workspace/gitpod-server-impl.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1314,6 +1314,7 @@ export class GitpodServerImpl<Client extends GitpodClient, Server extends Gitpod
13141314
async setEnvVar(variable: UserEnvVarValue): Promise<void> {
13151315
// Note: this operation is per-user only, hence needs no resource guard
13161316
const user = this.checkUser("setEnvVar");
1317+
const userId = user.id;
13171318

13181319
variable.repositoryPattern = UserEnvVar.normalizeRepoPattern(variable.repositoryPattern);
13191320
const existingVars = (await this.userDB.getEnvVars(user.id)).filter(v => !v.deleted);
@@ -1335,17 +1336,18 @@ export class GitpodServerImpl<Client extends GitpodClient, Server extends Gitpod
13351336
const envvar: UserEnvVar = {
13361337
...variable,
13371338
id: variable.id || uuidv4(),
1338-
userId: user.id,
1339+
userId,
13391340
};
13401341
await this.guardAccess({ kind: 'envVar', subject: envvar }, typeof variable.id === 'string' ? 'update' : 'create');
1341-
this.analytics.track({ event: "envvar-set", userId: this.user?.id || "" });
1342+
this.analytics.track({ event: "envvar-set", userId });
13421343

13431344
await this.userDB.setEnvVar(envvar);
13441345
}
13451346

13461347
async deleteEnvVar(variable: UserEnvVarValue): Promise<void> {
13471348
// Note: this operation is per-user only, hence needs no resource guard
13481349
const user = this.checkUser("deleteEnvVar");
1350+
const userId = user.id;
13491351

13501352
if (!variable.id && variable.name && variable.repositoryPattern) {
13511353
variable.repositoryPattern = UserEnvVar.normalizeRepoPattern(variable.repositoryPattern);
@@ -1361,10 +1363,10 @@ export class GitpodServerImpl<Client extends GitpodClient, Server extends Gitpod
13611363
const envvar: UserEnvVar = {
13621364
...variable,
13631365
id: variable.id!,
1364-
userId: user.id,
1366+
userId,
13651367
};
13661368
await this.guardAccess({ kind: 'envVar', subject: envvar }, 'delete');
1367-
this.analytics.track({ event: "envvar-deleted", userId: this.user?.id || "" });
1369+
this.analytics.track({ event: "envvar-deleted", userId });
13681370

13691371
await this.userDB.deleteEnvVar(envvar);
13701372
}

components/ws-manager-bridge/src/bridge.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ export class WorkspaceManagerBridge implements Disposable {
208208
event: "workspace-running",
209209
messageId: `bridge-wsrun-${instance.id}`,
210210
properties: { instanceId: instance.id, workspaceId: workspaceId },
211-
anonymousId: ""
211+
userId,
212212
});
213213
}
214214

0 commit comments

Comments
 (0)