mirror of
https://github.com/coder/code-server.git
synced 2026-04-13 21:32:52 -05:00
Compare commits
5 Commits
v4.90.0-rc
...
v4.90.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a73549539b | ||
|
|
e7ca9cd6ac | ||
|
|
9da9f2029c | ||
|
|
0c802ba165 | ||
|
|
1bd2b9cf08 |
6
.github/workflows/build.yaml
vendored
6
.github/workflows/build.yaml
vendored
@@ -206,6 +206,7 @@ jobs:
|
||||
timeout-minutes: 60
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
DISABLE_V8_COMPILE_CACHE: 1
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v4
|
||||
@@ -229,11 +230,6 @@ jobs:
|
||||
with:
|
||||
node-version-file: .node-version
|
||||
|
||||
# node-gyp is missing in (at least) npm 9.8.1.
|
||||
# TODO: Remove once we update to npm>=10?
|
||||
- name: Install node-gyp
|
||||
run: npm install -g node-gyp
|
||||
|
||||
- name: Fetch dependencies from cache
|
||||
id: cache-node-modules
|
||||
uses: actions/cache@v4
|
||||
|
||||
39
CHANGELOG.md
39
CHANGELOG.md
@@ -24,12 +24,21 @@ Code v99.99.999
|
||||
|
||||
Code v1.90.0
|
||||
|
||||
## Changed
|
||||
### Fixed
|
||||
|
||||
- Cache a call to get CPU information used in telemetry that could result in a
|
||||
lack responsiveness if it was particularly slow.
|
||||
|
||||
## [4.90.0](https://github.com/coder/code-server/releases/tag/v4.90.0) - 2024-06-11
|
||||
|
||||
Code v1.90.0
|
||||
|
||||
### Changed
|
||||
|
||||
- Updated to Code 1.90.0.
|
||||
- Updated Node to 20.11.1.
|
||||
|
||||
## Added
|
||||
### Added
|
||||
|
||||
- Send contents to the clipboard in the integrated terminal by piping to
|
||||
`code-server --stdin-to-clipboard` or `code-server -c`.
|
||||
@@ -45,7 +54,7 @@ Code v1.90.0
|
||||
|
||||
Code v1.89.1
|
||||
|
||||
## Changed
|
||||
### Changed
|
||||
|
||||
- Updated to Code 1.89.1.
|
||||
|
||||
@@ -53,7 +62,7 @@ Code v1.89.1
|
||||
|
||||
Code v1.89.0
|
||||
|
||||
## Changed
|
||||
### Changed
|
||||
|
||||
- Updated to Code 1.89.0.
|
||||
|
||||
@@ -61,7 +70,7 @@ Code v1.89.0
|
||||
|
||||
Code v1.88.1
|
||||
|
||||
## Changed
|
||||
### Changed
|
||||
|
||||
- Updated to Code 1.88.1.
|
||||
|
||||
@@ -69,12 +78,12 @@ Code v1.88.1
|
||||
|
||||
Code v1.88.0
|
||||
|
||||
## Changed
|
||||
### Changed
|
||||
|
||||
- Updated to Code 1.88.0.
|
||||
- Updated Node to 18.18.2.
|
||||
|
||||
## Fixed
|
||||
### Fixed
|
||||
|
||||
- Fix masking the exit code when failing to install extensions on the command
|
||||
line outside the integrated terminal. Installing extensions inside the
|
||||
@@ -84,7 +93,7 @@ Code v1.88.0
|
||||
|
||||
Code v1.87.2
|
||||
|
||||
## Changed
|
||||
### Changed
|
||||
|
||||
- Updated to Code 1.87.2.
|
||||
- Enable keep-alive for proxy agent.
|
||||
@@ -93,7 +102,7 @@ Code v1.87.2
|
||||
|
||||
Code v1.87.0
|
||||
|
||||
## Changed
|
||||
### Changed
|
||||
|
||||
- Updated to Code 1.87.0.
|
||||
|
||||
@@ -101,7 +110,7 @@ Code v1.87.0
|
||||
|
||||
Code v1.86.2
|
||||
|
||||
## Changed
|
||||
### Changed
|
||||
|
||||
- Updated to Code 1.86.2.
|
||||
|
||||
@@ -109,12 +118,12 @@ Code v1.86.2
|
||||
|
||||
Code v1.86.1
|
||||
|
||||
## Changed
|
||||
### Changed
|
||||
|
||||
- Updated to Code 1.86.1.
|
||||
- Updated to Node 18.17.1.
|
||||
|
||||
## Added
|
||||
### Added
|
||||
|
||||
- Docker images for Fedora and openSUSE.
|
||||
|
||||
@@ -122,7 +131,7 @@ Code v1.86.1
|
||||
|
||||
Code v1.86.0
|
||||
|
||||
## Changed
|
||||
### Changed
|
||||
|
||||
- Updated to Code 1.86.0.
|
||||
|
||||
@@ -130,11 +139,11 @@ Code v1.86.0
|
||||
|
||||
Code v1.85.2
|
||||
|
||||
## Changed
|
||||
### Changed
|
||||
|
||||
- Updated to Code 1.85.2.
|
||||
|
||||
## Fixed
|
||||
### Fixed
|
||||
|
||||
- Query variables are no longer double-encoded when going over the path proxy.
|
||||
|
||||
|
||||
@@ -50,50 +50,66 @@ Index: code-server/lib/vscode/src/vs/server/node/telemetryClient.ts
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ code-server/lib/vscode/src/vs/server/node/telemetryClient.ts
|
||||
@@ -0,0 +1,55 @@
|
||||
@@ -0,0 +1,71 @@
|
||||
+import { AppInsightsCore, IExtendedTelemetryItem, ITelemetryItem } from '@microsoft/1ds-core-js';
|
||||
+import * as https from 'https';
|
||||
+import * as http from 'http';
|
||||
+import * as os from 'os';
|
||||
+
|
||||
+interface SystemInfo {
|
||||
+ measurements: Record<string, number | undefined>;
|
||||
+ properties: Record<string, string | boolean | null | undefined>;
|
||||
+}
|
||||
+
|
||||
+export class TelemetryClient extends AppInsightsCore {
|
||||
+ private readonly systemInfo: SystemInfo = {
|
||||
+ measurements: {},
|
||||
+ properties: {},
|
||||
+ };
|
||||
+
|
||||
+ public constructor(
|
||||
+ private readonly endpoint: string,
|
||||
+ private readonly machineId: string,
|
||||
+ private readonly isContainer: Boolean | undefined) {
|
||||
+ machineId: string,
|
||||
+ isContainer: boolean | undefined) {
|
||||
+ super();
|
||||
+
|
||||
+ // os.cpus() can take a very long time sometimes (personally I see 1-2
|
||||
+ // seconds in a Coder workspace). This adds up significantly, especially
|
||||
+ // when many telemetry requests are sent during startup, which can cause
|
||||
+ // connection timeouts. Try to cache as much as we can.
|
||||
+ try {
|
||||
+ const cpus = os.cpus();
|
||||
+ this.systemInfo.measurements.cores = cpus.length;
|
||||
+ this.systemInfo.properties['common.cpuModel'] = cpus[0].model;
|
||||
+ } catch (error) {}
|
||||
+
|
||||
+ try {
|
||||
+ this.systemInfo.properties['common.shell'] = os.userInfo().shell;
|
||||
+ this.systemInfo.properties['common.release'] = os.release();
|
||||
+ this.systemInfo.properties['common.arch'] = os.arch();
|
||||
+ } catch (error) {}
|
||||
+
|
||||
+ this.systemInfo.properties['common.remoteMachineId'] = machineId;
|
||||
+ this.systemInfo.properties['common.isContainer'] = isContainer;
|
||||
+ }
|
||||
+
|
||||
+ public override track(item: IExtendedTelemetryItem | ITelemetryItem): void {
|
||||
+ const options = item.baseData || {}
|
||||
+ if (!options.properties) {
|
||||
+ options.properties = {};
|
||||
+ options.measurements = {
|
||||
+ ...(options.measurements || {}),
|
||||
+ ...this.systemInfo.measurements,
|
||||
+ }
|
||||
+ if (!options.measurements) {
|
||||
+ options.measurements = {};
|
||||
+ options.properties = {
|
||||
+ ...(options.properties || {}),
|
||||
+ ...this.systemInfo.properties,
|
||||
+ }
|
||||
+
|
||||
+ try {
|
||||
+ const cpus = os.cpus();
|
||||
+ options.measurements.cores = cpus.length;
|
||||
+ options.properties['common.cpuModel'] = cpus[0].model;
|
||||
+ } catch (error) {}
|
||||
+
|
||||
+ try {
|
||||
+ options.measurements.memoryFree = os.freemem();
|
||||
+ options.measurements.memoryTotal = os.totalmem();
|
||||
+ } catch (error) {}
|
||||
+
|
||||
+ try {
|
||||
+ options.properties['common.shell'] = os.userInfo().shell;
|
||||
+ options.properties['common.release'] = os.release();
|
||||
+ options.properties['common.arch'] = os.arch();
|
||||
+ } catch (error) {}
|
||||
+
|
||||
+ options.properties['common.remoteMachineId'] = this.machineId;
|
||||
+ options.properties['common.isContainer'] = this.isContainer;
|
||||
+
|
||||
+ try {
|
||||
+ const request = (/^http:/.test(this.endpoint) ? http : https).request(this.endpoint, {
|
||||
+ method: 'POST',
|
||||
+ headers: {
|
||||
|
||||
Reference in New Issue
Block a user