Skip to content

Commit a9654e2

Browse files
Merge remote-tracking branch 'origin/main' into ga-releases
2 parents 4f8df21 + 76f72d8 commit a9654e2

File tree

14 files changed

+136
-22
lines changed

14 files changed

+136
-22
lines changed

.evergreen/start-docker-envs.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ else
1414
LOGS_DIR="$SCRIPT_DIR/logs"
1515
mkdir -p "$LOGS_DIR"
1616

17-
git clone -b v1.2.4 --single-branch https://github.com/mongodb-js/devtools-docker-test-envs.git test-envs
17+
git clone -b v1.2.5 --single-branch https://github.com/mongodb-js/devtools-docker-test-envs.git test-envs
1818
$DOCKER_COMPOSE -f test-envs/docker/enterprise/docker-compose.yaml up -d
1919
$DOCKER_COMPOSE -f test-envs/docker/ldap/docker-compose.yaml up -d
2020
$DOCKER_COMPOSE -f test-envs/docker/scram/docker-compose.yaml up -d

THIRD-PARTY-NOTICES.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
The following third-party software is used by and included in **Mongodb Compass**.
2-
This document was automatically generated on Tue Sep 26 2023.
2+
This document was automatically generated on Wed Sep 27 2023.
33

44
## List of dependencies
55

package-lock.json

Lines changed: 77 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/compass-preferences-model/src/storage.spec.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,23 @@ describe('storage', function () {
136136
).to.deep.equal(getDefaultPreferences());
137137
});
138138

139+
it('when invalid json is stored, it sets the defaults', async function () {
140+
const storage = new StoragePreferences(tmpDir);
141+
142+
const preferencesFile = getPreferencesFile(tmpDir);
143+
await fs.mkdir(getPreferencesFolder(tmpDir));
144+
await fs.writeFile(preferencesFile, '{}}', 'utf-8');
145+
146+
// Ensure it exists
147+
expect(async () => await fs.access(preferencesFile)).to.not.throw;
148+
149+
await storage.setup();
150+
151+
expect(
152+
JSON.parse((await fs.readFile(preferencesFile)).toString())
153+
).to.deep.equal(getDefaultPreferences());
154+
});
155+
139156
it('updates preferences', async function () {
140157
const storage = new StoragePreferences(tmpDir);
141158
await storage.setup();

packages/compass-preferences-model/src/storage.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,15 @@ export class StoragePreferences extends BasePreferencesStorage {
7474
try {
7575
this.preferences = await this.readPreferences();
7676
} catch (e) {
77-
if ((e as any).code !== 'ENOENT') {
78-
throw e;
77+
if (
78+
(e as any).code === 'ENOENT' || // First time user
79+
e instanceof SyntaxError // Invalid json
80+
) {
81+
// Create the file for the first time
82+
await this.userData.write(this.file, this.defaultPreferences);
83+
return;
7984
}
80-
// Create the file for the first time
81-
await this.userData.write(this.file, this.defaultPreferences);
85+
throw e;
8286
}
8387
}
8488

packages/compass-serverstats/package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,12 @@
2929
"license": "SSPL",
3030
"peerDependencies": {
3131
"@mongodb-js/compass-components": "^1.14.0",
32+
"@mongodb-js/compass-logging": "^1.2.0",
3233
"react": "^17.0.2"
3334
},
3435
"dependencies": {
35-
"@mongodb-js/compass-components": "^1.14.0"
36+
"@mongodb-js/compass-components": "^1.14.0",
37+
"@mongodb-js/compass-logging": "^1.2.0"
3638
},
3739
"devDependencies": {
3840
"@mongodb-js/mocha-config-compass": "^1.3.1",

packages/compass-serverstats/src/components/current-op-component.jsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
const timer = require('d3-timer');
22
const React = require('react');
33
const PropTypes = require('prop-types');
4+
const { createLoggerAndTelemetry } = require('@mongodb-js/compass-logging');
45
const Actions = require('../actions');
56
const DBErrorStore = require('../stores/dberror-store');
7+
const { track } = createLoggerAndTelemetry('COMPASS-PERFORMANCE-UI');
68

79
// const debug = require('debug')('mongodb-compass:server-stats:current-op-component');
810

@@ -92,6 +94,7 @@ class CurrentOpComponent extends React.Component {
9294
* @param {Object} data - The row data.
9395
*/
9496
showOperationDetails(data) {
97+
track('CurrentOp showOperationDetails');
9598
Actions.showOperationDetails(data);
9699
}
97100

packages/compass-serverstats/src/components/detailview-component.jsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
const React = require('react');
22
const Actions = require('../actions');
33
const { Button, Icon } = require('@mongodb-js/compass-components');
4+
const { createLoggerAndTelemetry } = require('@mongodb-js/compass-logging');
5+
const { track } = createLoggerAndTelemetry('COMPASS-PERFORMANCE-UI');
46

57
// const debug = require('debug')('mongodb-compass:server-stats:detailview-component');
68

@@ -37,6 +39,7 @@ class DetailViewComponent extends React.Component {
3739
}
3840

3941
killOp() {
42+
track('DetailView killOp');
4043
Actions.killOp(this.state.data.opid);
4144
this.hideOperationDetails();
4245
}
@@ -45,6 +48,7 @@ class DetailViewComponent extends React.Component {
4548
* Fire the show operation detail action with the row data.
4649
*/
4750
hideOperationDetails() {
51+
track('DetailView hideOperationDetails');
4852
Actions.hideOperationDetails();
4953
}
5054

packages/compass-serverstats/src/components/server-stats-toolbar.tsx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
import React, { useCallback, useEffect, useState } from 'react';
22
import d3 from 'd3';
33
import { Button, Icon, css, cx, spacing, palette, useDarkMode } from '@mongodb-js/compass-components';
4+
import { createLoggerAndTelemetry } from '@mongodb-js/compass-logging';
45

56
import Actions from '../actions';
67
import ServerStatsStore from '../stores/server-stats-graphs-store';
78

9+
const { track } = createLoggerAndTelemetry('COMPASS-PERFORMANCE-UI');
10+
811
const serverStatsToolbarStyles = css({
912
display: 'flex',
1013
flexDirection: 'row',
@@ -63,6 +66,12 @@ function ServerStatsToolbar({
6366
}, []);
6467

6568
const onPlayPauseClicked = useCallback(() => {
69+
if (isPaused) {
70+
track('Performance Resumed');
71+
}
72+
else {
73+
track('Performance Paused');
74+
}
6675
setPaused(!isPaused)
6776
Actions.pause();
6877
}, [ isPaused ]);

packages/compass-user-data/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
"@types/chai": "^4.2.21",
5959
"@types/mocha": "^9.0.0",
6060
"@types/sinon-chai": "^3.2.5",
61+
"@types/write-file-atomic": "^4.0.1",
6162
"chai": "^4.3.6",
6263
"depcheck": "^1.4.1",
6364
"eslint": "^7.25.0",
@@ -67,6 +68,7 @@
6768
"prettier": "^2.7.1",
6869
"sinon": "^9.2.3",
6970
"typescript": "^5.0.4",
71+
"write-file-atomic": "^5.0.1",
7072
"zod": "^3.22.2"
7173
}
7274
}

0 commit comments

Comments
 (0)