Selected changesmerged Sep 15, 2026 – Sep 21, 2026
sessions: Prepare cloud sandbox repositories before session creationTypeScript · 284 + / 8 −
Introduces 9 new declarations in src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxLegacySessionPreparation.ts.
Adds new systems design rather than adjusting what was there. Tests changed with it, with code of their own.
src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxLegacySessionPreparation.ts ↗ · 11 files
@@ -0,0 +1,161 @@+/*---------------------------------------------------------------------------------------------+ * Copyright (c) Microsoft Corporation. All rights reserved.+ * Licensed under the MIT License. See License.txt in the project root for license information.+ *--------------------------------------------------------------------------------------------*/++// TODO: Remove this compatibility file after adopting a protocol release containing https://github.com/microsoft/agent-host-protocol/pull/451.++import { disposableTimeout, raceCancellationError } from '../../../../../base/common/async.js';+import { CancellationToken, CancellationTokenPool, cancelOnDispose } from '../../../../../base/common/cancellation.js';+import { CancellationError } from '../../../../../base/common/errors.js';+import { DisposableStore } from '../../../../../base/common/lifecycle.js';+import { Schemas } from '../../../../../base/common/network.js';+import { equals } from '../../../../../base/common/objects.js';+import { equalsIgnoreCase } from '../../../../../base/common/strings.js';+import { URI } from '../../../../../base/common/uri.js';+import { localize } from '../../../../../nls.js';+import { ICloudSandboxProject, readCloudSandboxCloneResult, readCloudSandboxProjects } from '../../../../../platform/agentHost/common/meta/cloudSandboxProjectMeta.js';+import { IAgentSubscription } from '../../../../../platform/agentHost/common/state/agentSubscription.js';+import { RootState } from '../../../../../platform/agentHost/common/state/protocol/state.js';+import { getGitHubRepositoryFromRemoteUrl, IGitHubRemoteInfo } from '../../../../../workbench/contrib/git/common/utils.js';+import { RemoteAgentHostSessionPreparation } from './remoteAgentHostConnectionCustomization.js';++export function createCloudSandboxSessionPreparation(+ root: IAgentSubscription<RootState>,+ request: (method: 'extensions/cloneProject', params: { url: string; depth: 1 }) => Promise<unknown>,+ owner: DisposableStore,+): RemoteAgentHostSessionPreparation {+ const lifetime = cancelOnDispose(owner);+ const preparations = new Map<string, { readonly promise: Promise<URI>; readonly cancellation: CancellationTokenPool }>();++ return async (selection, token) => {+ if (token.isCancellationRequested || lifetime.isCancellationRequested) {+ throw new CancellationError();
IngressClassSpec.Controller DV MigrationGo · 76 + / 6 −
Introduces 4 new declarations in pkg/apis/networking/v1/zz_generated.validations.go.
Adds new systems design rather than adjusting what was there. Tests changed with it, with code of their own.
pkg/apis/networking/v1/zz_generated.validations.go ↗ · 10 files
@@ -423,7 +423,38 @@ func Validate_IngressClassSpec( ctx context.Context, op operation.Operation, fldPath *field.Path, obj, oldObj *networkingv1.IngressClassSpec) (errs field.ErrorList) { - // field networkingv1.IngressClassSpec.Controller has no validation+ { // field networkingv1.IngressClassSpec.Controller+ fn := func(+ fldPath *field.Path,+ obj, oldObj *string,+ oldValueCorrelated bool) (errs field.ErrorList) {+ // don't revalidate unchanged data+ if oldValueCorrelated && op.Type == operation.Update {+ if obj == oldObj || (obj != nil && oldObj != nil && *obj == *oldObj) {+ return nil+ }+ }+ // call field-attached validations+ earlyReturn := false+ if e := validate.RequiredValue(ctx, op, fldPath, obj, oldObj).MarkAlpha().MarkShortCircuit(); len(e) != 0 {+ errs = append(errs, e...)+ earlyReturn = true+ }+ if e := validate.Immutable(ctx, op, fldPath, obj, oldObj).MarkAlpha().MarkShortCircuit(); len(e) != 0 {+ errs = append(errs, e...)+ earlyReturn = true+ }+ if earlyReturn {+ return // do not proceed+ }+ return+ }+ oldVal := safe.Field(oldObj,+ func(oldObj *networkingv1.IngressClassSpec) *string {+ return &oldObj.Controller
feat: add CRC32 hash algorithm implementationPython · 124 + / 0 −
Introduces 2 new declarations in hashes/crc32.py.
Adds new core implementation rather than adjusting what was there. Read the linked PR for the surrounding test context.
hashes/crc32.py ↗ · 2 files
@@ -0,0 +1,124 @@+"""+CRC32 (Cyclic Redundancy Check 32-bit) Hash Algorithm++This module implements the CRC32 hash algorithm, a non-cryptographic hash function+widely used for error detection and data integrity verification.++CRC32 is commonly used in:+- ZIP file format for data integrity+- Ethernet frame check sequences+- PNG image format for chunk verification+- Gzip compression++The algorithm uses the IEEE 802.3 polynomial (0xEDB88320 in reversed bit order)+and produces a 32-bit hash value.++Note: CRC32 is NOT suitable for cryptographic purposes. It's designed for+error detection, not security. For cryptographic hashing, use SHA-256 or similar.++Reference:+- https://en.wikipedia.org/wiki/Cyclic_redundancy_check+- https://www.rfc-editor.org/rfc/rfc1952.html (GZIP specification)+"""+++def _generate_crc32_table() -> list[int]:+ """+ Generate the CRC32 lookup table for optimized calculation.++ Uses the IEEE 802.3 polynomial: 0xEDB88320 (reversed bit order)++ >>> table = _generate_crc32_table()+ >>> len(table)+ 256
fix(cli): preserve double dash before the entrypointRust · 188 + / 0 −
Introduces 8 new declarations in libs/cli_parser/src/tests.rs.
Adds new language design rather than adjusting what was there. Read the linked PR for the surrounding test context.
libs/cli_parser/src/tests.rs ↗ · 3 files
@@ -1195,6 +1214,48 @@ fn eval_print() { assert_eq!(r.get_one("code_arg"), Some("1+1")); } +#[test]+fn eval_double_dash_before_code() {+ let r = parse(+ &TEST_ROOT,+ &svec!["deno", "eval", "--", "-1; console.log(0)", "arg1"],+ )+ .unwrap();+ assert_eq!(r.get_one("code_arg"), Some("-1; console.log(0)"));+ assert_eq!(r.trailing, vec!["arg1"]);+}++#[test]+fn eval_double_dash_before_code_keeps_second_separator() {+ // Only the first `--` is special (mirrors clap): it was consumed to make+ // the positional literal, so a later `--` is forwarded as-is even though+ // eval strips the separator in `deno eval code -- a`.+ let r =+ parse(&TEST_ROOT, &svec!["deno", "eval", "--", "code", "--", "a"]).unwrap();+ assert_eq!(r.get_one("code_arg"), Some("code"));+ assert_eq!(r.trailing, vec!["--", "a"]);+}++#[test]+fn upgrade_double_dash_stays_trailing() {+ // Commands without trailing var args don't enter positional-only mode:+ // `--` still starts (unused) trailing args, as before.+ let r =+ parse(&TEST_ROOT, &svec!["deno", "upgrade", "--", "v1", "v2"]).unwrap();+ assert_eq!(r.get_one("version-or-hash-or-channel"), None);+ assert_eq!(r.trailing, vec!["v1", "v2"]);