From 1c6ebfef1bd81b31409123e8fb8d84ca50c0adcd Mon Sep 17 00:00:00 2001
From: "JDS-WORKSTATION\\jspah" <44337821+jspahn80134@users.noreply.github.com>
Date: Fri, 28 Aug 2026 12:42:32 -0600
Subject: [PATCH 1/4] Enable HTTPS capture uploads
Compile the Rust capture HTTP client with minreq HTTPS support so token validation and event uploads can reach the AWS CaptureWebService endpoint.
Add the student-facing capture token setup guide and link it from the main README and VS Code extension README.
Document the SecretStorage token flow, local spool behavior, AWS ingestion path, and verified capture event coverage in the implementation notes and changelog.
---
CHANGELOG.md | 6 +-
README.md | 7 +
docs/capture-token-setup-guide.html | 521 ++++++++++++++++++++++++++++
docs/implementation.md | 17 +-
extensions/VSCode/Cargo.lock | 120 +++++++
extensions/VSCode/README.md | 7 +
server/Cargo.lock | 15 +
server/Cargo.toml | 2 +-
8 files changed, 692 insertions(+), 3 deletions(-)
create mode 100644 docs/capture-token-setup-guide.html
diff --git a/CHANGELOG.md b/CHANGELOG.md
index fea2287d..18e59c4b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -22,7 +22,11 @@ Changelog
[Github master](https://github.com/bjones1/CodeChat_Editor)
-----------------------------------------------------------
-* No changes.
+* Fix capture token validation and event upload against HTTPS capture service
+ endpoints by enabling HTTPS support in the Rust HTTP client.
+* Add a student-facing CodeChat Capture token setup guide.
+* Document the capture token storage, upload spool, AWS service path, and
+ CaptureWebService-only database boundary.
Version 0.2.1 -- 2026-Jul-26
----------------------------
diff --git a/README.md b/README.md
index 92e7af1b..98d8cfeb 100644
--- a/README.md
+++ b/README.md
@@ -33,6 +33,9 @@ Capture** or **CodeChat Editor: Enter Capture Token** from the command palette,
paste the token, then turn on consent and recording from the same capture
manager.
+For detailed student/tester setup steps, see the
+[CodeChat Capture Token Setup Guide](docs/capture-token-setup-guide.html).
+
The token is imported through the VS Code UI and persisted only in VS Code
SecretStorage. It is never written to workspace settings, repository files, or a
JSON configuration file. The extension asks CaptureWebService for token status;
@@ -60,6 +63,10 @@ again. The capture service endpoint can be changed in the user-level
for this token-bearing endpoint. Token-bearing requests require HTTPS except for
localhost development endpoints.
+Developer builds must keep the Rust `minreq` dependency compiled with HTTPS
+support. Without that feature, token validation and event upload to the AWS
+capture service report as unavailable even when the service itself is healthy.
+
Structure
---------
diff --git a/docs/capture-token-setup-guide.html b/docs/capture-token-setup-guide.html
new file mode 100644
index 00000000..0b5da6d2
--- /dev/null
+++ b/docs/capture-token-setup-guide.html
@@ -0,0 +1,521 @@
+
+
+
+
+
+ CodeChat Capture Token Setup Guide
+
+
+
+
+ Mississippi State University | Department of Electrical & Computer Engineering
+ CodeChat Capture Token Setup Guide
+
+ Use this guide to obtain a CodeChat Capture access token, store it in the
+ CodeChat VS Code extension, and turn on dissertation study capture.
+
+
+ Current environment: AWS dev/test deployment. This system is not production yet.
+ Last updated: August 28, 2026.
+
+
+
+
+
+ Before You Start
+
+ You need a Mississippi State email address, the class code supplied by
+ the instructor, and the CodeChat Editor extension installed in Visual
+ Studio Code.
+
+
+
+
+
+
+ 1
+ Request A Token
+
+ Open the registration portal in a browser.
+ Enter your Mississippi State email address.
+ Enter the class code exactly as provided: ECE9990.
+ Select Email Access Token .
+ Check your email for the CodeChat Capture token message.
+
+
+ The token begins with cccap_v1_. Copy the whole token,
+ including that prefix.
+
+
+
+
+ 2
+ Enter The Token In CodeChat
+
+ Open Visual Studio Code.
+ Open the Command Palette with Ctrl+Shift+P.
+ Run Manage CodeChat Editor Capture .
+ Select Enter Capture Token .
+ Paste the token from the email and press Enter.
+
+
+ You can also run CodeChat Editor: Enter Capture Token
+ directly from the Command Palette.
+
+
+
+
+ 3
+ Validate The Token
+
+ After the token is entered, CodeChat attempts to validate it.
+ Look for a message saying CodeChat capture token accepted.
+ If you are unsure, open Manage CodeChat Editor Capture again.
+ Select Validate Capture Token .
+
+
+ A valid token should produce a participant ID and an instance ID in
+ the capture status details.
+
+
+
+
+ 4
+ Turn Capture On
+
+ Open the Command Palette with Ctrl+Shift+P.
+ Run Manage CodeChat Editor Capture .
+ Select Give Consent and Record Study Events .
+ Enable the CodeChat Editor if it is not already running.
+ Open, edit, and save a study file normally.
+
+
+ Consent persists. Record Study Events is session-local,
+ so turn it on again after reopening VS Code.
+
+
+
+
+
+ What A Successful Setup Looks Like
+
+ When capture is ready, the CodeChat capture status bar item should show
+ one of the active states below. You can click the status bar item or run
+ Manage CodeChat Editor Capture to see more detail.
+
+
+
+
+
+ Status
+ Meaning
+ What To Do
+
+
+
+
+ Capture: Remote
+ Capture is on and events are reaching the remote capture system.
+ Continue working normally.
+
+
+ Capture: Uploading
+ CodeChat is actively uploading queued capture events.
+ Continue working normally.
+
+
+ Capture: Queued
+ Events are stored locally and waiting to upload.
+ Check your network connection if this does not clear.
+
+
+ Capture: Starting
+ The local CodeChat server is starting or reconnecting.
+ Wait a few seconds, then recheck the status.
+
+
+
+
+
+
+ Verify In VS Code
+
+ Open View > Output .
+ Select CodeChat Capture from the Output dropdown.
+ Look for a line similar to this after token validation:
+
+ capture token status: accepted participant_id=... instance_id=...
+
+ After turning capture on and editing a file, the same output channel
+ should show queued capture events such as session_start,
+ save, write_doc, or write_code,
+ depending on the activity performed.
+
+
+
+
+ Token Privacy
+
+ The email contains the clear access token. Treat it like a password.
+ Do not paste the token into source code, assignments, screenshots, chat messages, or bug reports.
+ CodeChat stores the token in VS Code SecretStorage, not in workspace settings or repository files.
+ The database stores only an HMAC token hash in capture_admin.instances.token_hash.
+ The capture system stores and checks only a protected hash of the token.
+
+
+
+
+ Troubleshooting
+
+
+
+ Symptom
+ Likely Cause
+ Fix
+
+
+
+
+ No token email arrives.
+ The email address was mistyped, the message went to junk mail, or the current AWS dev email service is limited to verified recipients.
+ Confirm the email address, check junk mail, then request another token.
+
+
+ The portal rejects the request.
+ The email is not an msstate.edu address, or the class code is wrong.
+ Use your Mississippi State email address and enter ECE9990 exactly.
+
+
+ Capture: Waiting for token
+ No accepted token is stored in VS Code.
+ Run Manage CodeChat Editor Capture , then Enter Capture Token .
+
+
+ Capture: Waiting for consent
+ Recording was turned on before consent.
+ Run Give Consent and Record Study Events , or turn consent on separately.
+
+
+ Capture: Paused
+ Consent is on, but Record Study Events is off for this VS Code session.
+ Run Manage CodeChat Editor Capture , then Turn Record Study Events On .
+
+
+ Capture: Token rejected
+ The pasted token is wrong, incomplete, or revoked.
+ Clear the token, paste it again from the email, then validate it.
+
+
+ Capture: Disabled by portal
+ The participant or instance is disabled in the capture database.
+ Contact the instructor or research team.
+
+
+ Capture: Service unavailable
+ The network or remote capture system is temporarily unavailable.
+ Keep working. If the same token was previously accepted, CodeChat will keep matching events queued locally and upload them when the service returns. If this status does not clear, update to the current CodeChat build.
+
+
+
+
+
+
+ End-To-End Checklist
+
+ Portal accepted the Mississippi State email address and class code.
+ Token email arrived.
+ Token was pasted into CodeChat through the VS Code UI.
+ CodeChat reported that the token was accepted.
+ Status details show a participant ID and instance ID.
+ Give Consent and Record Study Events was selected.
+ The capture status bar shows an active, queued, or uploading state.
+ The CodeChat Capture output channel shows capture activity.
+
+
+
+
+ CodeChat Capture dev/test setup guide. Do not include real capture tokens in shared copies of this document.
+
+
+
+
diff --git a/docs/implementation.md b/docs/implementation.md
index fbe9c541..ec74f723 100644
--- a/docs/implementation.md
+++ b/docs/implementation.md
@@ -90,7 +90,10 @@ The service endpoint is read only from the user/application-level
`CodeChatEditor.Capture.ServiceBaseUrl` setting; workspace values are ignored so
a repository cannot redirect a stored token. Bearer-token requests require
HTTPS, with `http://localhost` and `http://127.0.0.1` allowed only for local
-development.
+development. The bundled Rust HTTP client uses `minreq` with the `https`
+feature enabled; without that feature, AWS HTTPS status checks and event uploads
+fail before reaching CaptureWebService and the extension reports the service as
+unavailable.
The upload worker deletes spooled events only after the service returns `202`.
After a token has been accepted at least once, transient service or network
@@ -102,6 +105,18 @@ configured again. Authentication failures pause upload until a valid token is
entered, malformed or oversized events are moved to the spool quarantine
directory, and blocking service calls use bounded request timeouts.
+The AWS end-to-end path exercised during integration testing is:
+
+```
+VS Code extension -> local CodeChat server -> CaptureWebService HTTPS API
+ -> API Gateway/Lambda -> SQS -> writer Lambda -> capture.events
+```
+
+The verified extension-generated event stream includes `session_start`,
+`write_doc`, `reflection_prompt_inserted`, and `save`. Additional service
+contract tests submit representative well-formed event batches for optional
+study/debug/build event types through the same public HTTPS API.
+
Architecture
------------------------------------------
diff --git a/extensions/VSCode/Cargo.lock b/extensions/VSCode/Cargo.lock
index f0f60f46..f3def03a 100644
--- a/extensions/VSCode/Cargo.lock
+++ b/extensions/VSCode/Cargo.lock
@@ -372,6 +372,29 @@ version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
+[[package]]
+name = "aws-lc-rs"
+version = "1.17.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "00bdb5da18dac48ca2cc7cd4a98e533e8635a58e2361d13a1a4ee3888e0d72f1"
+dependencies = [
+ "aws-lc-sys",
+ "zeroize",
+]
+
+[[package]]
+name = "aws-lc-sys"
+version = "0.43.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43103168cc76fe62678a375e722fc9cb3a0146159ac5828bc4f0dfd755c2224c"
+dependencies = [
+ "cc",
+ "cmake",
+ "dunce",
+ "fs_extra",
+ "pkg-config",
+]
+
[[package]]
name = "base64"
version = "0.22.1"
@@ -556,6 +579,15 @@ dependencies = [
"windows-link",
]
+[[package]]
+name = "cmake"
+version = "0.1.58"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678"
+dependencies = [
+ "cc",
+]
+
[[package]]
name = "cobs"
version = "0.3.0"
@@ -1062,6 +1094,12 @@ dependencies = [
"percent-encoding",
]
+[[package]]
+name = "fs_extra"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
+
[[package]]
name = "funty"
version = "2.0.0"
@@ -1895,6 +1933,11 @@ name = "minreq"
version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "659579df697b372ef9e36f02fcbb41f6d6f157dcec7db9c9618fa0f23cf0fc20"
+dependencies = [
+ "rustls",
+ "rustls-webpki",
+ "webpki-roots",
+]
[[package]]
name = "mio"
@@ -3017,6 +3060,20 @@ dependencies = [
"bytecheck",
]
+[[package]]
+name = "ring"
+version = "0.17.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
+dependencies = [
+ "cc",
+ "cfg-if",
+ "getrandom 0.2.17",
+ "libc",
+ "untrusted",
+ "windows-sys 0.52.0",
+]
+
[[package]]
name = "rkyv"
version = "0.7.46"
@@ -3074,6 +3131,42 @@ dependencies = [
"windows-sys 0.61.2",
]
+[[package]]
+name = "rustls"
+version = "0.23.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c54fcab019b409d04215d3a17cb438fd7fbf192ee61461f20f4fe18704bc138"
+dependencies = [
+ "aws-lc-rs",
+ "log",
+ "once_cell",
+ "rustls-pki-types",
+ "rustls-webpki",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
+name = "rustls-pki-types"
+version = "1.15.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2f4925028c7eb5d1fcdaf196971378ed9d2c1c4efc7dc5d011256f76c99c0a96"
+dependencies = [
+ "zeroize",
+]
+
+[[package]]
+name = "rustls-webpki"
+version = "0.103.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e"
+dependencies = [
+ "aws-lc-rs",
+ "ring",
+ "rustls-pki-types",
+ "untrusted",
+]
+
[[package]]
name = "rustversion"
version = "1.0.23"
@@ -3371,6 +3464,12 @@ dependencies = [
"quote",
]
+[[package]]
+name = "subtle"
+version = "2.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
+
[[package]]
name = "syn"
version = "1.0.109"
@@ -3776,6 +3875,12 @@ version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861"
+[[package]]
+name = "untrusted"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
+
[[package]]
name = "url"
version = "2.5.8"
@@ -3948,6 +4053,15 @@ dependencies = [
"web-sys",
]
+[[package]]
+name = "webpki-roots"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52f5ee44c96cf55f1b349600768e3ece3a8f26010c05265ab73f945bb1a2eb9d"
+dependencies = [
+ "rustls-pki-types",
+]
+
[[package]]
name = "winapi"
version = "0.3.9"
@@ -4215,6 +4329,12 @@ dependencies = [
"synstructure",
]
+[[package]]
+name = "zeroize"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e13c156562582aa81c60cb29407084cdb54c4164760106ab78e6c5b0858cf64e"
+
[[package]]
name = "zerotrie"
version = "0.2.4"
diff --git a/extensions/VSCode/README.md b/extensions/VSCode/README.md
index 3e7cc0b0..b04b11d2 100644
--- a/extensions/VSCode/README.md
+++ b/extensions/VSCode/README.md
@@ -44,6 +44,9 @@ Editor: Enter Capture Token** from the command palette, paste the token, then
turn on consent and recording. The capture status item shows whether the token
is accepted, rejected, unavailable, or disabled by the portal.
+For the student-facing walkthrough, see the
+[CodeChat Capture Token Setup Guide](../../docs/capture-token-setup-guide.html).
+
The token is imported through the VS Code UI and persisted only in VS Code
SecretStorage. It is never written to settings, workspace files, or a JSON
configuration file. The participant identity used in capture events comes from
@@ -61,6 +64,10 @@ user-level
for this token-bearing endpoint. Token-bearing service requests must use HTTPS,
except for localhost development endpoints.
+Developer builds must compile the bundled Rust server with `minreq` HTTPS
+support. The AWS capture endpoint uses HTTPS, so a build without that feature
+will show token validation and capture upload as unavailable.
+
Additional documentation
------------------------
diff --git a/server/Cargo.lock b/server/Cargo.lock
index 9e36563d..ec3f8c11 100644
--- a/server/Cargo.lock
+++ b/server/Cargo.lock
@@ -2136,6 +2136,11 @@ name = "minreq"
version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "659579df697b372ef9e36f02fcbb41f6d6f157dcec7db9c9618fa0f23cf0fc20"
+dependencies = [
+ "rustls",
+ "rustls-webpki",
+ "webpki-roots",
+]
[[package]]
name = "mio"
@@ -3420,6 +3425,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c54fcab019b409d04215d3a17cb438fd7fbf192ee61461f20f4fe18704bc138"
dependencies = [
"aws-lc-rs",
+ "log",
"once_cell",
"rustls-pki-types",
"rustls-webpki",
@@ -4650,6 +4656,15 @@ dependencies = [
"rustls-pki-types",
]
+[[package]]
+name = "webpki-roots"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52f5ee44c96cf55f1b349600768e3ece3a8f26010c05265ab73f945bb1a2eb9d"
+dependencies = [
+ "rustls-pki-types",
+]
+
[[package]]
name = "winapi"
version = "0.3.9"
diff --git a/server/Cargo.toml b/server/Cargo.toml
index d05e6228..909812fa 100644
--- a/server/Cargo.toml
+++ b/server/Cargo.toml
@@ -65,7 +65,7 @@ markup5ever_rcdom = "0.39"
mime = "0.3.17"
mime_guess = "2.0.5"
minify-html = { git = "https://github.com/bjones1/minify-html.git", branch = "dev", version = "0.18.1" }
-minreq = "3"
+minreq = { version = "3", features = ["https"] }
normalize-line-endings = "0.3.0"
path-slash = "0.2.1"
pest = "2.7.14"
From f494070021ec0084a278c5b43a86f59001d33b03 Mon Sep 17 00:00:00 2001
From: "JDS-WORKSTATION\\jspah" <44337821+jspahn80134@users.noreply.github.com>
Date: Fri, 28 Aug 2026 13:15:07 -0600
Subject: [PATCH 2/4] Address cargo audit failure
Update Rust dependency locks to remove vulnerable webbrowser and rkyv paths reported by cargo-audit.
Document and apply a scoped temporary ignore for RUSTSEC-2026-0258 because h2 0.3.x is still pulled through the latest compatible actix-http release.
---
CHANGELOG.md | 3 +
builder/src/main.rs | 13 +-
extensions/VSCode/Cargo.lock | 349 +++---------------------
extensions/standalone/Cargo.lock | 455 +++++++++++--------------------
server/Cargo.lock | 330 ++++------------------
5 files changed, 262 insertions(+), 888 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 18e59c4b..cecf75be 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -24,6 +24,9 @@ Changelog
* Fix capture token validation and event upload against HTTPS capture service
endpoints by enabling HTTPS support in the Rust HTTP client.
+* Resolve cargo-audit failures from vulnerable `webbrowser` and `rkyv`
+ dependency paths, and document the temporary `h2` advisory ignore required
+ until `actix-http` exposes an `h2` 0.4.16+ dependency path.
* Add a student-facing CodeChat Capture token setup guide.
* Document the capture token storage, upload spool, AWS service path, and
CaptureWebService-only database boundary.
diff --git a/builder/src/main.rs b/builder/src/main.rs
index b1fa1c63..156ac8e2 100644
--- a/builder/src/main.rs
+++ b/builder/src/main.rs
@@ -484,6 +484,9 @@ fn run_format_and_lint(check_only: bool) -> io::Result<()> {
} else {
("", "", "--fix")
};
+ // RUSTSEC-2026-0258 is h2 0.3.x via actix-http; remove this ignore once
+ // actix-http publishes a compatible release on h2 0.4.16 or newer.
+ let h2_advisory_ignore = "RUSTSEC-2026-0258";
run_cmd!(
info "cargo clippy and fmt";
cargo clippy --all-targets --all-features -- $clippy_check_only;
@@ -502,15 +505,15 @@ fn run_format_and_lint(check_only: bool) -> io::Result<()> {
cargo fmt --all $check --manifest-path=$TEST_UTILS_PATH/Cargo.toml;
info "cargo audit";
- cargo audit;
+ cargo audit --ignore $h2_advisory_ignore;
info "Builder: cargo audit";
- cargo audit --file=$BUILDER_PATH/Cargo.lock --no-fetch;
+ cargo audit --file=$BUILDER_PATH/Cargo.lock --no-fetch --ignore $h2_advisory_ignore;
info "VSCode extension: cargo audit";
- cargo audit --file=$VSCODE_PATH/Cargo.lock --no-fetch;
+ cargo audit --file=$VSCODE_PATH/Cargo.lock --no-fetch --ignore $h2_advisory_ignore;
info "Standalone: cargo audit";
- cargo audit --file=$STANDALONE_PATH/Cargo.lock --no-fetch;
+ cargo audit --file=$STANDALONE_PATH/Cargo.lock --no-fetch --ignore $h2_advisory_ignore;
info "test_utils: cargo audit";
- cargo audit --file=$TEST_UTILS_PATH/Cargo.lock --no-fetch;
+ cargo audit --file=$TEST_UTILS_PATH/Cargo.lock --no-fetch --ignore $h2_advisory_ignore;
info "cargo sort";
cargo sort $check;
diff --git a/extensions/VSCode/Cargo.lock b/extensions/VSCode/Cargo.lock
index f3def03a..98545bec 100644
--- a/extensions/VSCode/Cargo.lock
+++ b/extensions/VSCode/Cargo.lock
@@ -44,9 +44,9 @@ dependencies = [
[[package]]
name = "actix-http"
-version = "3.13.1"
+version = "3.13.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48e2faa3e7418ed780cca54829d32782a4008a077230f67457caa063415e99c2"
+checksum = "11004b0e9b44b4eb3d15e0c3132b96fb178c7e50a74758b2f17bb9cc9a7fb4f6"
dependencies = [
"actix-codec",
"actix-rt",
@@ -246,17 +246,6 @@ version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
-[[package]]
-name = "ahash"
-version = "0.7.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9"
-dependencies = [
- "getrandom 0.2.17",
- "once_cell",
- "version_check",
-]
-
[[package]]
name = "ahash"
version = "0.8.12"
@@ -401,22 +390,13 @@ version = "0.22.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
-[[package]]
-name = "base64-simd"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "781dd20c3aff0bd194fe7d2a977dd92f21c173891f3a03b677359e5fa457e5d5"
-dependencies = [
- "simd-abstraction",
-]
-
[[package]]
name = "base64-simd"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195"
dependencies = [
- "outref 0.5.2",
+ "outref",
"vsimd",
]
@@ -426,18 +406,6 @@ version = "2.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da"
-[[package]]
-name = "bitvec"
-version = "1.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddcec3d12c579d40898fe0a9a358a803c23e9c52ca3c425707f81c9436211837"
-dependencies = [
- "funty",
- "radium",
- "tap",
- "wyz",
-]
-
[[package]]
name = "block-buffer"
version = "0.12.1"
@@ -487,28 +455,6 @@ dependencies = [
"allocator-api2",
]
-[[package]]
-name = "bytecheck"
-version = "0.6.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2"
-dependencies = [
- "bytecheck_derive",
- "ptr_meta",
- "simdutf8",
-]
-
-[[package]]
-name = "bytecheck_derive"
-version = "0.6.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
[[package]]
name = "bytes"
version = "1.12.1"
@@ -734,16 +680,6 @@ dependencies = [
"version_check",
]
-[[package]]
-name = "core-foundation"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6"
-dependencies = [
- "core-foundation-sys",
- "libc",
-]
-
[[package]]
name = "core-foundation-sys"
version = "0.8.7"
@@ -846,34 +782,12 @@ version = "1.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2e30e509674ef0ec91e21a7735766db37d163d46151b6a361d8b83dd79116bd"
-[[package]]
-name = "dashmap"
-version = "5.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
-dependencies = [
- "cfg-if",
- "hashbrown 0.14.5",
- "lock_api",
- "once_cell",
- "parking_lot_core",
-]
-
[[package]]
name = "data-encoding"
version = "2.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4ae5f15dda3c708c0ade84bfee31ccab44a3da4f88015ed22f63732abe300c8"
-[[package]]
-name = "data-url"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a30bfce702bcfa94e906ef82421f2c0e61c076ad76030c16ee5d2e9a32fe193"
-dependencies = [
- "matches",
-]
-
[[package]]
name = "deranged"
version = "0.5.8"
@@ -926,6 +840,16 @@ dependencies = [
"crypto-common",
]
+[[package]]
+name = "dispatch2"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38"
+dependencies = [
+ "bitflags",
+ "objc2",
+]
+
[[package]]
name = "displaydoc"
version = "0.2.6"
@@ -1100,12 +1024,6 @@ version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
-[[package]]
-name = "funty"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
-
[[package]]
name = "futures"
version = "0.3.33"
@@ -1272,21 +1190,6 @@ dependencies = [
"tracing",
]
-[[package]]
-name = "hashbrown"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-dependencies = [
- "ahash 0.7.8",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.14.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
-
[[package]]
name = "hashbrown"
version = "0.15.5"
@@ -1695,12 +1598,11 @@ version = "1.0.0-alpha.72"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d31b760f96e8fdfe1d0c295e4bf76c503d6f15d2d470d53bd8cd1f7aa8c7d934"
dependencies = [
- "ahash 0.8.12",
+ "ahash",
"bitflags",
"const-str",
"cssparser",
"cssparser-color",
- "dashmap",
"data-encoding",
"getrandom 0.3.4",
"indexmap",
@@ -1708,12 +1610,8 @@ dependencies = [
"lazy_static",
"lightningcss-derive",
"parcel_selectors",
- "parcel_sourcemap",
"pastey",
"pathdiff",
- "rayon",
- "serde",
- "serde-content",
"smallvec",
]
@@ -1849,12 +1747,6 @@ dependencies = [
"regex-automata",
]
-[[package]]
-name = "matches"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
-
[[package]]
name = "memchr"
version = "2.8.3"
@@ -1880,9 +1772,9 @@ dependencies = [
[[package]]
name = "minify-html"
version = "0.18.1"
-source = "git+https://github.com/bjones1/minify-html.git?branch=dev#b5cce1953106d00b5e622214a99457d3312c5fa9"
+source = "git+https://github.com/bjones1/minify-html.git?branch=dev#1519cf314118e66dc401f687a7e7d23c931a16fb"
dependencies = [
- "ahash 0.8.12",
+ "ahash",
"aho-corasick",
"lightningcss",
"memchr",
@@ -1898,9 +1790,9 @@ dependencies = [
[[package]]
name = "minify-html-common"
version = "0.0.3"
-source = "git+https://github.com/bjones1/minify-html.git?branch=dev#b5cce1953106d00b5e622214a99457d3312c5fa9"
+source = "git+https://github.com/bjones1/minify-html.git?branch=dev#1519cf314118e66dc401f687a7e7d23c931a16fb"
dependencies = [
- "ahash 0.8.12",
+ "ahash",
"aho-corasick",
"itertools 0.14.0",
"memchr",
@@ -2097,6 +1989,28 @@ dependencies = [
"objc2-encode",
]
+[[package]]
+name = "objc2-app-kit"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c"
+dependencies = [
+ "bitflags",
+ "objc2",
+ "objc2-foundation",
+]
+
+[[package]]
+name = "objc2-core-foundation"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536"
+dependencies = [
+ "bitflags",
+ "dispatch2",
+ "objc2",
+]
+
[[package]]
name = "objc2-encode"
version = "4.1.0"
@@ -2111,6 +2025,7 @@ checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272"
dependencies = [
"bitflags",
"objc2",
+ "objc2-core-foundation",
]
[[package]]
@@ -2128,12 +2043,6 @@ dependencies = [
"num-traits",
]
-[[package]]
-name = "outref"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f222829ae9293e33a9f5e9f440c6760a3d450a64affe1846486b140db81c1f4"
-
[[package]]
name = "outref"
version = "0.5.2"
@@ -2435,7 +2344,7 @@ version = "6.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d378eb8bad20e89d66276aebab51f6a5408571092cac94abdd3eabb773713d6"
dependencies = [
- "base64-simd 0.8.0",
+ "base64-simd",
"json-escape-simd",
"rustc-hash",
"serde",
@@ -2523,20 +2432,6 @@ dependencies = [
"smallvec",
]
-[[package]]
-name = "parcel_sourcemap"
-version = "2.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "485b74d7218068b2b7c0e3ff12fbc61ae11d57cb5d8224f525bd304c6be05bbb"
-dependencies = [
- "base64-simd 0.7.0",
- "data-url",
- "rkyv",
- "serde",
- "serde_json",
- "vlq",
-]
-
[[package]]
name = "parking_lot"
version = "0.12.5"
@@ -2850,26 +2745,6 @@ dependencies = [
"unicode-ident",
]
-[[package]]
-name = "ptr_meta"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1"
-dependencies = [
- "ptr_meta_derive",
-]
-
-[[package]]
-name = "ptr_meta_derive"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
[[package]]
name = "pulldown-cmark"
version = "0.11.3"
@@ -2920,12 +2795,6 @@ version = "6.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
-[[package]]
-name = "radium"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
-
[[package]]
name = "rand"
version = "0.8.7"
@@ -2987,26 +2856,6 @@ version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69"
-[[package]]
-name = "rayon"
-version = "1.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d"
-dependencies = [
- "either",
- "rayon-core",
-]
-
-[[package]]
-name = "rayon-core"
-version = "1.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
-dependencies = [
- "crossbeam-deque",
- "crossbeam-utils",
-]
-
[[package]]
name = "redox_syscall"
version = "0.5.18"
@@ -3051,15 +2900,6 @@ version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4"
-[[package]]
-name = "rend"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c"
-dependencies = [
- "bytecheck",
-]
-
[[package]]
name = "ring"
version = "0.17.14"
@@ -3074,35 +2914,6 @@ dependencies = [
"windows-sys 0.52.0",
]
-[[package]]
-name = "rkyv"
-version = "0.7.46"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2297bf9c81a3f0dc96bc9521370b88f054168c29826a75e89c55ff196e7ed6a1"
-dependencies = [
- "bitvec",
- "bytecheck",
- "bytes",
- "hashbrown 0.12.3",
- "ptr_meta",
- "rend",
- "rkyv_derive",
- "seahash",
- "tinyvec",
- "uuid",
-]
-
-[[package]]
-name = "rkyv_derive"
-version = "0.7.46"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84d7b42d4b8d06048d3ac8db0eb31bcb942cbeb709f0b5f2b2ebde398d3038f5"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
[[package]]
name = "rustc-hash"
version = "2.1.3"
@@ -3194,12 +3005,6 @@ version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
-[[package]]
-name = "seahash"
-version = "4.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
-
[[package]]
name = "self_cell"
version = "1.3.0"
@@ -3228,15 +3033,6 @@ dependencies = [
"serde_derive",
]
-[[package]]
-name = "serde-content"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3753ca04f350fa92d00b6146a3555e63c55388c9ef2e11e09bce2ff1c0b509c6"
-dependencies = [
- "serde",
-]
-
[[package]]
name = "serde-value"
version = "0.7.0"
@@ -3352,15 +3148,6 @@ dependencies = [
"libc",
]
-[[package]]
-name = "simd-abstraction"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cadb29c57caadc51ff8346233b5cec1d240b68ce55cf1afc764818791876987"
-dependencies = [
- "outref 0.1.0",
-]
-
[[package]]
name = "simd-adler32"
version = "0.3.10"
@@ -3514,12 +3301,6 @@ dependencies = [
"syn 2.0.119",
]
-[[package]]
-name = "tap"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
-
[[package]]
name = "tempfile"
version = "3.27.0"
@@ -3655,21 +3436,6 @@ dependencies = [
"zerovec",
]
-[[package]]
-name = "tinyvec"
-version = "1.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb4ebadaa0af04fab11ae01eb5f9fdb5f9c5b875506e210e71c07873528baa7f"
-dependencies = [
- "tinyvec_macros",
-]
-
-[[package]]
-name = "tinyvec_macros"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
-
[[package]]
name = "tokio"
version = "1.53.1"
@@ -3905,16 +3671,6 @@ version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
-[[package]]
-name = "uuid"
-version = "1.24.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf3923a6f5c4c6382e0b653c4117f48d631ea17f38ed86e2a828e6f7412f5239"
-dependencies = [
- "js-sys",
- "wasm-bindgen",
-]
-
[[package]]
name = "v_htmlescape"
version = "0.15.8"
@@ -3933,12 +3689,6 @@ version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
-[[package]]
-name = "vlq"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65dd7eed29412da847b0f78bcec0ac98588165988a8cfe41d4ea1d429f8ccfff"
-
[[package]]
name = "vsimd"
version = "0.8.0"
@@ -4039,15 +3789,15 @@ dependencies = [
[[package]]
name = "webbrowser"
-version = "1.2.1"
+version = "1.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fc95580916af1e68ff6a7be07446fc5db73ebf71cf092de939bbf5f7e189f72"
+checksum = "62c35be770821a214dbc362fc26908c853e776c0004294d0b10b8a6bad582f94"
dependencies = [
- "core-foundation",
"jni",
"log",
"ndk-context",
"objc2",
+ "objc2-app-kit",
"objc2-foundation",
"url",
"web-sys",
@@ -4246,15 +3996,6 @@ version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4"
-[[package]]
-name = "wyz"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
-dependencies = [
- "tap",
-]
-
[[package]]
name = "xml5ever"
version = "0.39.0"
diff --git a/extensions/standalone/Cargo.lock b/extensions/standalone/Cargo.lock
index 9e5e1ab3..d7036b70 100644
--- a/extensions/standalone/Cargo.lock
+++ b/extensions/standalone/Cargo.lock
@@ -44,9 +44,9 @@ dependencies = [
[[package]]
name = "actix-http"
-version = "3.13.1"
+version = "3.13.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48e2faa3e7418ed780cca54829d32782a4008a077230f67457caa063415e99c2"
+checksum = "11004b0e9b44b4eb3d15e0c3132b96fb178c7e50a74758b2f17bb9cc9a7fb4f6"
dependencies = [
"actix-codec",
"actix-rt",
@@ -246,17 +246,6 @@ version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
-[[package]]
-name = "ahash"
-version = "0.7.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9"
-dependencies = [
- "getrandom 0.2.17",
- "once_cell",
- "version_check",
-]
-
[[package]]
name = "ahash"
version = "0.8.12"
@@ -432,27 +421,41 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
[[package]]
-name = "base64"
-version = "0.22.1"
+name = "aws-lc-rs"
+version = "1.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
+checksum = "ce2b2dcc879c3bae0d371e77c99f2238400ef24ec001394befa67b6e543add9e"
+dependencies = [
+ "aws-lc-sys",
+ "zeroize",
+]
[[package]]
-name = "base64-simd"
-version = "0.7.0"
+name = "aws-lc-sys"
+version = "0.44.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "781dd20c3aff0bd194fe7d2a977dd92f21c173891f3a03b677359e5fa457e5d5"
+checksum = "f09fae7be8bb3174e05c6afdb34199e6dc0c7c04ba9fa237b1967adfbde27483"
dependencies = [
- "simd-abstraction",
+ "cc",
+ "cmake",
+ "dunce",
+ "fs_extra",
+ "pkg-config",
]
+[[package]]
+name = "base64"
+version = "0.22.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
+
[[package]]
name = "base64-simd"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195"
dependencies = [
- "outref 0.5.2",
+ "outref",
"vsimd",
]
@@ -462,18 +465,6 @@ version = "2.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da"
-[[package]]
-name = "bitvec"
-version = "1.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddcec3d12c579d40898fe0a9a358a803c23e9c52ca3c425707f81c9436211837"
-dependencies = [
- "funty",
- "radium",
- "tap",
- "wyz",
-]
-
[[package]]
name = "block-buffer"
version = "0.12.1"
@@ -524,28 +515,6 @@ dependencies = [
"allocator-api2",
]
-[[package]]
-name = "bytecheck"
-version = "0.6.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2"
-dependencies = [
- "bytecheck_derive",
- "ptr_meta",
- "simdutf8",
-]
-
-[[package]]
-name = "bytecheck_derive"
-version = "0.6.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
[[package]]
name = "bytes"
version = "1.12.1"
@@ -656,6 +625,15 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9"
+[[package]]
+name = "cmake"
+version = "0.1.58"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678"
+dependencies = [
+ "cc",
+]
+
[[package]]
name = "cobs"
version = "0.3.0"
@@ -815,16 +793,6 @@ dependencies = [
"version_check",
]
-[[package]]
-name = "core-foundation"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6"
-dependencies = [
- "core-foundation-sys",
- "libc",
-]
-
[[package]]
name = "core-foundation-sys"
version = "0.8.7"
@@ -921,34 +889,12 @@ dependencies = [
"syn 2.0.119",
]
-[[package]]
-name = "dashmap"
-version = "5.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
-dependencies = [
- "cfg-if",
- "hashbrown 0.14.5",
- "lock_api",
- "once_cell",
- "parking_lot_core",
-]
-
[[package]]
name = "data-encoding"
version = "2.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4ae5f15dda3c708c0ade84bfee31ccab44a3da4f88015ed22f63732abe300c8"
-[[package]]
-name = "data-url"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a30bfce702bcfa94e906ef82421f2c0e61c076ad76030c16ee5d2e9a32fe193"
-dependencies = [
- "matches",
-]
-
[[package]]
name = "deranged"
version = "0.5.8"
@@ -1007,6 +953,16 @@ dependencies = [
"crypto-common",
]
+[[package]]
+name = "dispatch2"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38"
+dependencies = [
+ "bitflags",
+ "objc2",
+]
+
[[package]]
name = "displaydoc"
version = "0.2.6"
@@ -1193,6 +1149,12 @@ dependencies = [
"percent-encoding",
]
+[[package]]
+name = "fs_extra"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
+
[[package]]
name = "fsevent-sys"
version = "4.1.0"
@@ -1202,12 +1164,6 @@ dependencies = [
"libc",
]
-[[package]]
-name = "funty"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
-
[[package]]
name = "futures-core"
version = "0.3.33"
@@ -1328,21 +1284,6 @@ dependencies = [
"tracing",
]
-[[package]]
-name = "hashbrown"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-dependencies = [
- "ahash 0.7.8",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.14.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
-
[[package]]
name = "hashbrown"
version = "0.15.5"
@@ -1793,12 +1734,11 @@ version = "1.0.0-alpha.72"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d31b760f96e8fdfe1d0c295e4bf76c503d6f15d2d470d53bd8cd1f7aa8c7d934"
dependencies = [
- "ahash 0.8.12",
+ "ahash",
"bitflags",
"const-str",
"cssparser",
"cssparser-color",
- "dashmap",
"data-encoding",
"getrandom 0.3.4",
"indexmap",
@@ -1806,12 +1746,8 @@ dependencies = [
"lazy_static",
"lightningcss-derive",
"parcel_selectors",
- "parcel_sourcemap",
"pastey",
"pathdiff",
- "rayon",
- "serde",
- "serde-content",
"smallvec",
]
@@ -1947,12 +1883,6 @@ dependencies = [
"regex-automata",
]
-[[package]]
-name = "matches"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
-
[[package]]
name = "memchr"
version = "2.8.3"
@@ -1978,9 +1908,9 @@ dependencies = [
[[package]]
name = "minify-html"
version = "0.18.1"
-source = "git+https://github.com/bjones1/minify-html.git?branch=dev#b5cce1953106d00b5e622214a99457d3312c5fa9"
+source = "git+https://github.com/bjones1/minify-html.git?branch=dev#1519cf314118e66dc401f687a7e7d23c931a16fb"
dependencies = [
- "ahash 0.8.12",
+ "ahash",
"aho-corasick",
"lightningcss",
"memchr",
@@ -1996,9 +1926,9 @@ dependencies = [
[[package]]
name = "minify-html-common"
version = "0.0.3"
-source = "git+https://github.com/bjones1/minify-html.git?branch=dev#b5cce1953106d00b5e622214a99457d3312c5fa9"
+source = "git+https://github.com/bjones1/minify-html.git?branch=dev#1519cf314118e66dc401f687a7e7d23c931a16fb"
dependencies = [
- "ahash 0.8.12",
+ "ahash",
"aho-corasick",
"itertools 0.14.0",
"memchr",
@@ -2031,6 +1961,11 @@ name = "minreq"
version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "659579df697b372ef9e36f02fcbb41f6d6f157dcec7db9c9618fa0f23cf0fc20"
+dependencies = [
+ "rustls",
+ "rustls-webpki",
+ "webpki-roots",
+]
[[package]]
name = "mio"
@@ -2166,6 +2101,28 @@ dependencies = [
"objc2-encode",
]
+[[package]]
+name = "objc2-app-kit"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c"
+dependencies = [
+ "bitflags",
+ "objc2",
+ "objc2-foundation",
+]
+
+[[package]]
+name = "objc2-core-foundation"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536"
+dependencies = [
+ "bitflags",
+ "dispatch2",
+ "objc2",
+]
+
[[package]]
name = "objc2-encode"
version = "4.1.0"
@@ -2180,6 +2137,7 @@ checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272"
dependencies = [
"bitflags",
"objc2",
+ "objc2-core-foundation",
]
[[package]]
@@ -2203,12 +2161,6 @@ dependencies = [
"num-traits",
]
-[[package]]
-name = "outref"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f222829ae9293e33a9f5e9f440c6760a3d450a64affe1846486b140db81c1f4"
-
[[package]]
name = "outref"
version = "0.5.2"
@@ -2510,7 +2462,7 @@ version = "6.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d378eb8bad20e89d66276aebab51f6a5408571092cac94abdd3eabb773713d6"
dependencies = [
- "base64-simd 0.8.0",
+ "base64-simd",
"json-escape-simd",
"rustc-hash",
"serde",
@@ -2598,20 +2550,6 @@ dependencies = [
"smallvec",
]
-[[package]]
-name = "parcel_sourcemap"
-version = "2.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "485b74d7218068b2b7c0e3ff12fbc61ae11d57cb5d8224f525bd304c6be05bbb"
-dependencies = [
- "base64-simd 0.7.0",
- "data-url",
- "rkyv",
- "serde",
- "serde_json",
- "vlq",
-]
-
[[package]]
name = "parking_lot"
version = "0.12.5"
@@ -2938,26 +2876,6 @@ dependencies = [
"unicode-ident",
]
-[[package]]
-name = "ptr_meta"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1"
-dependencies = [
- "ptr_meta_derive",
-]
-
-[[package]]
-name = "ptr_meta_derive"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
[[package]]
name = "pulldown-cmark"
version = "0.11.3"
@@ -3008,12 +2926,6 @@ version = "6.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
-[[package]]
-name = "radium"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
-
[[package]]
name = "rand"
version = "0.8.7"
@@ -3075,26 +2987,6 @@ version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69"
-[[package]]
-name = "rayon"
-version = "1.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d"
-dependencies = [
- "either",
- "rayon-core",
-]
-
-[[package]]
-name = "rayon-core"
-version = "1.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
-dependencies = [
- "crossbeam-deque",
- "crossbeam-utils",
-]
-
[[package]]
name = "redox_syscall"
version = "0.5.18"
@@ -3140,41 +3032,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4"
[[package]]
-name = "rend"
-version = "0.4.2"
+name = "ring"
+version = "0.17.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c"
+checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
dependencies = [
- "bytecheck",
-]
-
-[[package]]
-name = "rkyv"
-version = "0.7.46"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2297bf9c81a3f0dc96bc9521370b88f054168c29826a75e89c55ff196e7ed6a1"
-dependencies = [
- "bitvec",
- "bytecheck",
- "bytes",
- "hashbrown 0.12.3",
- "ptr_meta",
- "rend",
- "rkyv_derive",
- "seahash",
- "tinyvec",
- "uuid",
-]
-
-[[package]]
-name = "rkyv_derive"
-version = "0.7.46"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84d7b42d4b8d06048d3ac8db0eb31bcb942cbeb709f0b5f2b2ebde398d3038f5"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
+ "cc",
+ "cfg-if",
+ "getrandom 0.2.17",
+ "libc",
+ "untrusted",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -3205,6 +3073,42 @@ dependencies = [
"windows-sys 0.61.2",
]
+[[package]]
+name = "rustls"
+version = "0.23.43"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0283386ce02abc0151e1761d08802dfe86c173b0b494af5cbc086574e453da06"
+dependencies = [
+ "aws-lc-rs",
+ "log",
+ "once_cell",
+ "rustls-pki-types",
+ "rustls-webpki",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
+name = "rustls-pki-types"
+version = "1.15.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2f4925028c7eb5d1fcdaf196971378ed9d2c1c4efc7dc5d011256f76c99c0a96"
+dependencies = [
+ "zeroize",
+]
+
+[[package]]
+name = "rustls-webpki"
+version = "0.103.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3c3cf1d8b1e7d4927e2d154c3fcb02979afb9939629c62cd9048d4f07b60ac2"
+dependencies = [
+ "aws-lc-rs",
+ "ring",
+ "rustls-pki-types",
+ "untrusted",
+]
+
[[package]]
name = "rustversion"
version = "1.0.23"
@@ -3232,12 +3136,6 @@ version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
-[[package]]
-name = "seahash"
-version = "4.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
-
[[package]]
name = "self_cell"
version = "1.3.0"
@@ -3266,15 +3164,6 @@ dependencies = [
"serde_derive",
]
-[[package]]
-name = "serde-content"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3753ca04f350fa92d00b6146a3555e63c55388c9ef2e11e09bce2ff1c0b509c6"
-dependencies = [
- "serde",
-]
-
[[package]]
name = "serde-value"
version = "0.7.0"
@@ -3390,15 +3279,6 @@ dependencies = [
"libc",
]
-[[package]]
-name = "simd-abstraction"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cadb29c57caadc51ff8346233b5cec1d240b68ce55cf1afc764818791876987"
-dependencies = [
- "outref 0.1.0",
-]
-
[[package]]
name = "simd-adler32"
version = "0.3.10"
@@ -3508,6 +3388,12 @@ version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
+[[package]]
+name = "subtle"
+version = "2.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
+
[[package]]
name = "syn"
version = "1.0.109"
@@ -3552,12 +3438,6 @@ dependencies = [
"syn 2.0.119",
]
-[[package]]
-name = "tap"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
-
[[package]]
name = "tempfile"
version = "3.27.0"
@@ -3693,21 +3573,6 @@ dependencies = [
"zerovec",
]
-[[package]]
-name = "tinyvec"
-version = "1.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb4ebadaa0af04fab11ae01eb5f9fdb5f9c5b875506e210e71c07873528baa7f"
-dependencies = [
- "tinyvec_macros",
-]
-
-[[package]]
-name = "tinyvec_macros"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
-
[[package]]
name = "tokio"
version = "1.53.1"
@@ -3913,6 +3778,12 @@ version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861"
+[[package]]
+name = "untrusted"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
+
[[package]]
name = "url"
version = "2.5.8"
@@ -3943,16 +3814,6 @@ version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
-[[package]]
-name = "uuid"
-version = "1.24.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf3923a6f5c4c6382e0b653c4117f48d631ea17f38ed86e2a828e6f7412f5239"
-dependencies = [
- "js-sys",
- "wasm-bindgen",
-]
-
[[package]]
name = "v_htmlescape"
version = "0.15.8"
@@ -3971,12 +3832,6 @@ version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
-[[package]]
-name = "vlq"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65dd7eed29412da847b0f78bcec0ac98588165988a8cfe41d4ea1d429f8ccfff"
-
[[package]]
name = "vsimd"
version = "0.8.0"
@@ -4086,20 +3941,29 @@ dependencies = [
[[package]]
name = "webbrowser"
-version = "1.2.1"
+version = "1.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fc95580916af1e68ff6a7be07446fc5db73ebf71cf092de939bbf5f7e189f72"
+checksum = "62c35be770821a214dbc362fc26908c853e776c0004294d0b10b8a6bad582f94"
dependencies = [
- "core-foundation",
"jni",
"log",
"ndk-context",
"objc2",
+ "objc2-app-kit",
"objc2-foundation",
"url",
"web-sys",
]
+[[package]]
+name = "webpki-roots"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7dcd9d09a39985f5344844e66b0c530a33843579125f23e21e9f0f220850f22a"
+dependencies = [
+ "rustls-pki-types",
+]
+
[[package]]
name = "winapi"
version = "0.3.9"
@@ -4409,15 +4273,6 @@ version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4"
-[[package]]
-name = "wyz"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
-dependencies = [
- "tap",
-]
-
[[package]]
name = "xml5ever"
version = "0.39.0"
@@ -4498,6 +4353,12 @@ dependencies = [
"synstructure",
]
+[[package]]
+name = "zeroize"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e13c156562582aa81c60cb29407084cdb54c4164760106ab78e6c5b0858cf64e"
+
[[package]]
name = "zerotrie"
version = "0.2.4"
diff --git a/server/Cargo.lock b/server/Cargo.lock
index ec3f8c11..cb8f6b49 100644
--- a/server/Cargo.lock
+++ b/server/Cargo.lock
@@ -44,9 +44,9 @@ dependencies = [
[[package]]
name = "actix-http"
-version = "3.13.1"
+version = "3.13.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48e2faa3e7418ed780cca54829d32782a4008a077230f67457caa063415e99c2"
+checksum = "11004b0e9b44b4eb3d15e0c3132b96fb178c7e50a74758b2f17bb9cc9a7fb4f6"
dependencies = [
"actix-codec",
"actix-rt",
@@ -246,17 +246,6 @@ version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
-[[package]]
-name = "ahash"
-version = "0.7.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9"
-dependencies = [
- "getrandom 0.2.17",
- "once_cell",
- "version_check",
-]
-
[[package]]
name = "ahash"
version = "0.8.12"
@@ -418,22 +407,13 @@ version = "0.22.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
-[[package]]
-name = "base64-simd"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "781dd20c3aff0bd194fe7d2a977dd92f21c173891f3a03b677359e5fa457e5d5"
-dependencies = [
- "simd-abstraction",
-]
-
[[package]]
name = "base64-simd"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195"
dependencies = [
- "outref 0.5.2",
+ "outref",
"vsimd",
]
@@ -443,18 +423,6 @@ version = "2.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da"
-[[package]]
-name = "bitvec"
-version = "1.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddcec3d12c579d40898fe0a9a358a803c23e9c52ca3c425707f81c9436211837"
-dependencies = [
- "funty",
- "radium",
- "tap",
- "wyz",
-]
-
[[package]]
name = "block-buffer"
version = "0.12.1"
@@ -504,28 +472,6 @@ dependencies = [
"allocator-api2",
]
-[[package]]
-name = "bytecheck"
-version = "0.6.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2"
-dependencies = [
- "bytecheck_derive",
- "ptr_meta",
- "simdutf8",
-]
-
-[[package]]
-name = "bytecheck_derive"
-version = "0.6.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
[[package]]
name = "bytes"
version = "1.12.1"
@@ -870,34 +816,12 @@ dependencies = [
"syn 2.0.119",
]
-[[package]]
-name = "dashmap"
-version = "5.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
-dependencies = [
- "cfg-if",
- "hashbrown 0.14.5",
- "lock_api",
- "once_cell",
- "parking_lot_core",
-]
-
[[package]]
name = "data-encoding"
version = "2.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4ae5f15dda3c708c0ade84bfee31ccab44a3da4f88015ed22f63732abe300c8"
-[[package]]
-name = "data-url"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a30bfce702bcfa94e906ef82421f2c0e61c076ad76030c16ee5d2e9a32fe193"
-dependencies = [
- "matches",
-]
-
[[package]]
name = "deranged"
version = "0.5.8"
@@ -977,6 +901,16 @@ dependencies = [
"windows-sys 0.61.2",
]
+[[package]]
+name = "dispatch2"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38"
+dependencies = [
+ "bitflags",
+ "objc2",
+]
+
[[package]]
name = "displaydoc"
version = "0.2.6"
@@ -1182,12 +1116,6 @@ version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
-[[package]]
-name = "funty"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
-
[[package]]
name = "futures"
version = "0.3.33"
@@ -1358,21 +1286,6 @@ dependencies = [
"tracing",
]
-[[package]]
-name = "hashbrown"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-dependencies = [
- "ahash 0.7.8",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.14.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
-
[[package]]
name = "hashbrown"
version = "0.15.5"
@@ -1552,7 +1465,7 @@ dependencies = [
"libc",
"percent-encoding",
"pin-project-lite",
- "socket2 0.6.5",
+ "socket2 0.5.10",
"tokio",
"tower-service",
"tracing",
@@ -1892,12 +1805,11 @@ version = "1.0.0-alpha.72"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d31b760f96e8fdfe1d0c295e4bf76c503d6f15d2d470d53bd8cd1f7aa8c7d934"
dependencies = [
- "ahash 0.8.12",
+ "ahash",
"bitflags",
"const-str",
"cssparser",
"cssparser-color",
- "dashmap",
"data-encoding",
"getrandom 0.3.4",
"indexmap",
@@ -1905,12 +1817,8 @@ dependencies = [
"lazy_static",
"lightningcss-derive",
"parcel_selectors",
- "parcel_sourcemap",
"pastey 0.1.1",
"pathdiff",
- "rayon",
- "serde",
- "serde-content",
"smallvec",
]
@@ -2052,12 +1960,6 @@ dependencies = [
"regex-automata",
]
-[[package]]
-name = "matches"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
-
[[package]]
name = "memchr"
version = "2.8.3"
@@ -2083,9 +1985,9 @@ dependencies = [
[[package]]
name = "minify-html"
version = "0.18.1"
-source = "git+https://github.com/bjones1/minify-html.git?branch=dev#b5cce1953106d00b5e622214a99457d3312c5fa9"
+source = "git+https://github.com/bjones1/minify-html.git?branch=dev#1519cf314118e66dc401f687a7e7d23c931a16fb"
dependencies = [
- "ahash 0.8.12",
+ "ahash",
"aho-corasick",
"lightningcss",
"memchr",
@@ -2101,9 +2003,9 @@ dependencies = [
[[package]]
name = "minify-html-common"
version = "0.0.3"
-source = "git+https://github.com/bjones1/minify-html.git?branch=dev#b5cce1953106d00b5e622214a99457d3312c5fa9"
+source = "git+https://github.com/bjones1/minify-html.git?branch=dev#1519cf314118e66dc401f687a7e7d23c931a16fb"
dependencies = [
- "ahash 0.8.12",
+ "ahash",
"aho-corasick",
"itertools 0.14.0",
"memchr",
@@ -2236,6 +2138,28 @@ dependencies = [
"objc2-encode",
]
+[[package]]
+name = "objc2-app-kit"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c"
+dependencies = [
+ "bitflags",
+ "objc2",
+ "objc2-foundation",
+]
+
+[[package]]
+name = "objc2-core-foundation"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536"
+dependencies = [
+ "bitflags",
+ "dispatch2",
+ "objc2",
+]
+
[[package]]
name = "objc2-encode"
version = "4.1.0"
@@ -2250,6 +2174,7 @@ checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272"
dependencies = [
"bitflags",
"objc2",
+ "objc2-core-foundation",
]
[[package]]
@@ -2279,12 +2204,6 @@ dependencies = [
"num-traits",
]
-[[package]]
-name = "outref"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f222829ae9293e33a9f5e9f440c6760a3d450a64affe1846486b140db81c1f4"
-
[[package]]
name = "outref"
version = "0.5.2"
@@ -2586,7 +2505,7 @@ version = "6.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d378eb8bad20e89d66276aebab51f6a5408571092cac94abdd3eabb773713d6"
dependencies = [
- "base64-simd 0.8.0",
+ "base64-simd",
"json-escape-simd",
"rustc-hash",
"serde",
@@ -2674,20 +2593,6 @@ dependencies = [
"smallvec",
]
-[[package]]
-name = "parcel_sourcemap"
-version = "2.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "485b74d7218068b2b7c0e3ff12fbc61ae11d57cb5d8224f525bd304c6be05bbb"
-dependencies = [
- "base64-simd 0.7.0",
- "data-url",
- "rkyv",
- "serde",
- "serde_json",
- "vlq",
-]
-
[[package]]
name = "parking_lot"
version = "0.12.5"
@@ -3020,26 +2925,6 @@ dependencies = [
"unicode-ident",
]
-[[package]]
-name = "ptr_meta"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1"
-dependencies = [
- "ptr_meta_derive",
-]
-
-[[package]]
-name = "ptr_meta_derive"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
[[package]]
name = "pulldown-cmark"
version = "0.11.3"
@@ -3082,7 +2967,7 @@ dependencies = [
"quinn-udp",
"rustc-hash",
"rustls",
- "socket2 0.6.5",
+ "socket2 0.5.10",
"thiserror",
"tokio",
"tracing",
@@ -3121,7 +3006,7 @@ dependencies = [
"cfg_aliases",
"libc",
"once_cell",
- "socket2 0.6.5",
+ "socket2 0.5.10",
"tracing",
"windows-sys 0.61.2",
]
@@ -3147,12 +3032,6 @@ version = "6.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
-[[package]]
-name = "radium"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
-
[[package]]
name = "rand"
version = "0.8.7"
@@ -3223,26 +3102,6 @@ dependencies = [
"rand_core 0.10.1",
]
-[[package]]
-name = "rayon"
-version = "1.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d"
-dependencies = [
- "either",
- "rayon-core",
-]
-
-[[package]]
-name = "rayon-core"
-version = "1.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
-dependencies = [
- "crossbeam-deque",
- "crossbeam-utils",
-]
-
[[package]]
name = "redox_syscall"
version = "0.5.18"
@@ -3298,15 +3157,6 @@ version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4"
-[[package]]
-name = "rend"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c"
-dependencies = [
- "bytecheck",
-]
-
[[package]]
name = "reqwest"
version = "0.13.4"
@@ -3361,35 +3211,6 @@ dependencies = [
"windows-sys 0.52.0",
]
-[[package]]
-name = "rkyv"
-version = "0.7.46"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2297bf9c81a3f0dc96bc9521370b88f054168c29826a75e89c55ff196e7ed6a1"
-dependencies = [
- "bitvec",
- "bytecheck",
- "bytes",
- "hashbrown 0.12.3",
- "ptr_meta",
- "rend",
- "rkyv_derive",
- "seahash",
- "tinyvec",
- "uuid",
-]
-
-[[package]]
-name = "rkyv_derive"
-version = "0.7.46"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84d7b42d4b8d06048d3ac8db0eb31bcb942cbeb709f0b5f2b2ebde398d3038f5"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
[[package]]
name = "rustc-hash"
version = "2.1.3"
@@ -3530,12 +3351,6 @@ version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
-[[package]]
-name = "seahash"
-version = "4.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
-
[[package]]
name = "security-framework"
version = "3.7.0"
@@ -3587,15 +3402,6 @@ dependencies = [
"serde_derive",
]
-[[package]]
-name = "serde-content"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3753ca04f350fa92d00b6146a3555e63c55388c9ef2e11e09bce2ff1c0b509c6"
-dependencies = [
- "serde",
-]
-
[[package]]
name = "serde-value"
version = "0.7.0"
@@ -3723,15 +3529,6 @@ dependencies = [
"libc",
]
-[[package]]
-name = "simd-abstraction"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cadb29c57caadc51ff8346233b5cec1d240b68ce55cf1afc764818791876987"
-dependencies = [
- "outref 0.1.0",
-]
-
[[package]]
name = "simd-adler32"
version = "0.3.10"
@@ -3903,12 +3700,6 @@ dependencies = [
"syn 2.0.119",
]
-[[package]]
-name = "tap"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
-
[[package]]
name = "tar"
version = "0.4.46"
@@ -4457,16 +4248,6 @@ version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
-[[package]]
-name = "uuid"
-version = "1.24.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf3923a6f5c4c6382e0b653c4117f48d631ea17f38ed86e2a828e6f7412f5239"
-dependencies = [
- "js-sys",
- "wasm-bindgen",
-]
-
[[package]]
name = "v_htmlescape"
version = "0.15.8"
@@ -4485,12 +4266,6 @@ version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
-[[package]]
-name = "vlq"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65dd7eed29412da847b0f78bcec0ac98588165988a8cfe41d4ea1d429f8ccfff"
-
[[package]]
name = "vsimd"
version = "0.8.0"
@@ -4633,15 +4408,15 @@ dependencies = [
[[package]]
name = "webbrowser"
-version = "1.2.1"
+version = "1.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fc95580916af1e68ff6a7be07446fc5db73ebf71cf092de939bbf5f7e189f72"
+checksum = "62c35be770821a214dbc362fc26908c853e776c0004294d0b10b8a6bad582f94"
dependencies = [
- "core-foundation",
"jni",
"log",
"ndk-context",
"objc2",
+ "objc2-app-kit",
"objc2-foundation",
"url",
"web-sys",
@@ -4849,15 +4624,6 @@ version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4"
-[[package]]
-name = "wyz"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
-dependencies = [
- "tap",
-]
-
[[package]]
name = "xattr"
version = "1.6.1"
From ce98afb084618a10b7d883ce2666b1663e114756 Mon Sep 17 00:00:00 2001
From: "JDS-WORKSTATION\\jspah" <44337821+jspahn80134@users.noreply.github.com>
Date: Fri, 28 Aug 2026 13:46:38 -0600
Subject: [PATCH 3/4] Stabilize long doc block browser test
Wait for the visible TinyMCE editor to become interactable before typing in the long-doc-block scroll preservation regression test.
This addresses the macOS ChromeDriver element-not-interactable failure reported by the PR check.
---
CHANGELOG.md | 2 ++
server/tests/overall/overall_5.rs | 15 +++++++++++++--
2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index cecf75be..438130a7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -27,6 +27,8 @@ Changelog
* Resolve cargo-audit failures from vulnerable `webbrowser` and `rkyv`
dependency paths, and document the temporary `h2` advisory ignore required
until `actix-http` exposes an `h2` 0.4.16+ dependency path.
+* Harden the long-doc-block browser regression test by waiting for the visible
+ TinyMCE editor to become interactable before typing.
* Add a student-facing CodeChat Capture token setup guide.
* Document the capture token storage, upload spool, AWS service path, and
CaptureWebService-only database boundary.
diff --git a/server/tests/overall/overall_5.rs b/server/tests/overall/overall_5.rs
index feb624f7..45e33243 100644
--- a/server/tests/overall/overall_5.rs
+++ b/server/tests/overall/overall_5.rs
@@ -31,7 +31,11 @@ use std::{fmt::Write, path::PathBuf};
// ### Third-party
use dunce::canonicalize;
use pretty_assertions::assert_eq;
-use thirtyfour::{By, Key, WebDriver, error::WebDriverError, prelude::ElementQueryable};
+use thirtyfour::{
+ By, Key, WebDriver,
+ error::WebDriverError,
+ prelude::{ElementQueryable, ElementWaitable},
+};
// ### Local
use crate::common::{
@@ -138,7 +142,14 @@ async fn test_edit_preserves_cursor_scroll_in_large_doc_block_core(
// Make an edit in the middle of the big doc block: refind the paragraph,
// since it's now switched to a TinyMCE editor, then type a character.
- let tinymce_contents = driver.query(By::Id("TinyMCE-inst")).first().await.unwrap();
+ let tinymce_contents = driver
+ .query(By::Css(
+ ".CodeChat-CodeMirror #TinyMCE-inst:not(.CodeChat-doc-hidden)",
+ ))
+ .first()
+ .await
+ .unwrap();
+ tinymce_contents.wait_until().clickable().await.unwrap();
tinymce_contents.send_keys("x").await.unwrap();
// A cursor-only update (carrying no `contents`) may precede the text update
From 1f586d490ac49e42093ec01c249a650ad9457c22 Mon Sep 17 00:00:00 2001
From: "JDS-WORKSTATION\\jspah" <44337821+jspahn80134@users.noreply.github.com>
Date: Fri, 28 Aug 2026 14:53:30 -0600
Subject: [PATCH 4/4] Address capture review feedback
Switch the capture HTTP client from minreq's bundled-root HTTPS feature to https-rustls-probe plus proxy support so AWS capture requests use platform certificate verification and standard proxy environment variables.
Add a unit regression guard that fails if minreq is built without HTTPS support, keeping token validation and upload failures from silently returning as service-unavailable at runtime.
Tighten the student capture setup guide by removing the insecure temporary portal URL, public class code, token-format hint, and internal schema detail, then document the reachable Waiting, Off, and Error status states and fix the token-status log casing.
Update README, VS Code README, implementation notes, changelog, and all tracked Cargo lockfiles to reflect the reviewed transport behavior.
---
CHANGELOG.md | 8 +-
README.md | 6 +-
docs/capture-token-setup-guide.html | 37 ++--
docs/implementation.md | 8 +-
extensions/VSCode/Cargo.lock | 252 +++++++++++++++++++++++++---
extensions/VSCode/README.md | 6 +-
extensions/standalone/Cargo.lock | 234 ++++++++++++++++++++++++--
server/Cargo.lock | 203 ++++++++++++++++++----
server/Cargo.toml | 2 +-
server/src/capture.rs | 13 ++
10 files changed, 672 insertions(+), 97 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 438130a7..0f705543 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -23,7 +23,13 @@ Changelog
-----------------------------------------------------------
* Fix capture token validation and event upload against HTTPS capture service
- endpoints by enabling HTTPS support in the Rust HTTP client.
+ endpoints by enabling platform certificate verification and proxy support in
+ the Rust HTTP client.
+* Add a capture transport regression test that fails if the Rust HTTP client is
+ built without HTTPS support.
+* Remove the insecure dev portal URL, public class code, token-shape hint, and
+ internal database schema detail from the student capture setup guide, and
+ align the documented capture statuses and log casing with the extension.
* Resolve cargo-audit failures from vulnerable `webbrowser` and `rkyv`
dependency paths, and document the temporary `h2` advisory ignore required
until `actix-http` exposes an `h2` 0.4.16+ dependency path.
diff --git a/README.md b/README.md
index 98d8cfeb..eb58c430 100644
--- a/README.md
+++ b/README.md
@@ -63,8 +63,10 @@ again. The capture service endpoint can be changed in the user-level
for this token-bearing endpoint. Token-bearing requests require HTTPS except for
localhost development endpoints.
-Developer builds must keep the Rust `minreq` dependency compiled with HTTPS
-support. Without that feature, token validation and event upload to the AWS
+Developer builds must keep the Rust `minreq` dependency compiled with
+`https-rustls-probe` and `proxy` support. Capture HTTPS requests validate with
+the host platform certificate store and honor standard proxy environment
+variables. Without HTTPS support, token validation and event upload to the AWS
capture service report as unavailable even when the service itself is healthy.
Structure
diff --git a/docs/capture-token-setup-guide.html b/docs/capture-token-setup-guide.html
index 0b5da6d2..9ff28008 100644
--- a/docs/capture-token-setup-guide.html
+++ b/docs/capture-token-setup-guide.html
@@ -306,8 +306,8 @@ Before You Start
Email address must end in msstate.edu.
- Current class code is ECE9990. It is case-sensitive.
- Current registration portal: http://3.146.138.182/capture-registration/
+ The class code is supplied by your instructor or research team and is case-sensitive.
+ Use only the HTTPS registration portal link provided for your class or study.
@@ -316,15 +316,14 @@ Before You Start
1
Request A Token
- Open the registration portal in a browser.
+ Open the HTTPS registration portal link provided by your instructor or research team in a browser.
Enter your Mississippi State email address.
- Enter the class code exactly as provided: ECE9990.
+ Enter the class code exactly as provided.
Select Email Access Token .
Check your email for the CodeChat Capture token message.
- The token begins with cccap_v1_. Copy the whole token,
- including that prefix.
+ Copy the entire token from the email exactly as shown.
@@ -377,10 +376,10 @@ Turn Capture On
- What A Successful Setup Looks Like
+ Capture Status Reference
- When capture is ready, the CodeChat capture status bar item should show
- one of the active states below. You can click the status bar item or run
+ The CodeChat capture status bar item shows the current capture state.
+ You can click the status bar item or run
Manage CodeChat Editor Capture to see more detail.
@@ -413,6 +412,21 @@ What A Successful Setup Looks Like
The local CodeChat server is starting or reconnecting.
Wait a few seconds, then recheck the status.
+
+ Capture: Waiting
+ CodeChat is checking capture readiness or waiting for a server response.
+ Wait a few seconds, then validate the token if this status does not clear.
+
+
+ Capture: Off
+ Capture recording is off for the current VS Code session.
+ Run Manage CodeChat Editor Capture , then turn recording on.
+
+
+ Capture: Error
+ CodeChat encountered a local or remote capture error.
+ Open the CodeChat Capture output channel and contact the instructor or research team if it persists.
+
@@ -424,7 +438,7 @@ Verify In VS Code
Select CodeChat Capture from the Output dropdown.
Look for a line similar to this after token validation:
- capture token status: accepted participant_id=... instance_id=...
+ capture token status: Accepted participant_id=... instance_id=...
After turning capture on and editing a file, the same output channel
should show queued capture events such as session_start,
@@ -439,7 +453,6 @@
Token Privacy
The email contains the clear access token. Treat it like a password.
Do not paste the token into source code, assignments, screenshots, chat messages, or bug reports.
CodeChat stores the token in VS Code SecretStorage, not in workspace settings or repository files.
- The database stores only an HMAC token hash in capture_admin.instances.token_hash.
The capture system stores and checks only a protected hash of the token.
@@ -463,7 +476,7 @@ Troubleshooting
The portal rejects the request.
The email is not an msstate.edu address, or the class code is wrong.
- Use your Mississippi State email address and enter ECE9990 exactly.
+ Use your Mississippi State email address and enter the class code exactly as provided.
Capture: Waiting for token
diff --git a/docs/implementation.md b/docs/implementation.md
index ec74f723..e1510040 100644
--- a/docs/implementation.md
+++ b/docs/implementation.md
@@ -90,9 +90,11 @@ The service endpoint is read only from the user/application-level
`CodeChatEditor.Capture.ServiceBaseUrl` setting; workspace values are ignored so
a repository cannot redirect a stored token. Bearer-token requests require
HTTPS, with `http://localhost` and `http://127.0.0.1` allowed only for local
-development. The bundled Rust HTTP client uses `minreq` with the `https`
-feature enabled; without that feature, AWS HTTPS status checks and event uploads
-fail before reaching CaptureWebService and the extension reports the service as
+development. The bundled Rust HTTP client uses `minreq` with the
+`https-rustls-probe` and `proxy` features enabled, so HTTPS requests validate
+with the host platform certificate store and honor standard proxy environment
+variables. Without HTTPS support, AWS HTTPS status checks and event uploads fail
+before reaching CaptureWebService and the extension reports the service as
unavailable.
The upload worker deletes spooled events only after the service returns `202`.
diff --git a/extensions/VSCode/Cargo.lock b/extensions/VSCode/Cargo.lock
index 98545bec..8c2c53b0 100644
--- a/extensions/VSCode/Cargo.lock
+++ b/extensions/VSCode/Cargo.lock
@@ -494,6 +494,12 @@ dependencies = [
"shlex",
]
+[[package]]
+name = "cesu8"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
+
[[package]]
name = "cfg-if"
version = "1.0.4"
@@ -540,7 +546,7 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1"
dependencies = [
- "thiserror",
+ "thiserror 2.0.19",
]
[[package]]
@@ -583,7 +589,7 @@ dependencies = [
"serde_json",
"sha2",
"test_utils",
- "thiserror",
+ "thiserror 2.0.19",
"tokio",
"tracing",
"tracing-log",
@@ -680,6 +686,16 @@ dependencies = [
"version_check",
]
+[[package]]
+name = "core-foundation"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
[[package]]
name = "core-foundation-sys"
version = "0.8.7"
@@ -895,7 +911,7 @@ dependencies = [
"pulldown-cmark 0.11.3",
"regex",
"serde",
- "thiserror",
+ "thiserror 2.0.19",
"unicode-width",
]
@@ -1488,6 +1504,22 @@ version = "1.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
+[[package]]
+name = "jni"
+version = "0.21.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97"
+dependencies = [
+ "cesu8",
+ "cfg-if",
+ "combine",
+ "jni-sys 0.3.1",
+ "log",
+ "thiserror 1.0.69",
+ "walkdir",
+ "windows-sys 0.45.0",
+]
+
[[package]]
name = "jni"
version = "0.22.4"
@@ -1497,10 +1529,10 @@ dependencies = [
"cfg-if",
"combine",
"jni-macros",
- "jni-sys",
+ "jni-sys 0.4.1",
"log",
"simd_cesu8",
- "thiserror",
+ "thiserror 2.0.19",
"walkdir",
"windows-link",
]
@@ -1518,6 +1550,15 @@ dependencies = [
"syn 2.0.119",
]
+[[package]]
+name = "jni-sys"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258"
+dependencies = [
+ "jni-sys 0.4.1",
+]
+
[[package]]
name = "jni-sys"
version = "0.4.1"
@@ -1702,7 +1743,7 @@ dependencies = [
"serde-value",
"serde_json",
"serde_yaml",
- "thiserror",
+ "thiserror 2.0.19",
"thread-id",
"typemap-ors",
"unicode-segmentation",
@@ -1826,9 +1867,9 @@ version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "659579df697b372ef9e36f02fcbb41f6d6f157dcec7db9c9618fa0f23cf0fc20"
dependencies = [
+ "base64",
"rustls",
- "rustls-webpki",
- "webpki-roots",
+ "rustls-platform-verifier",
]
[[package]]
@@ -2034,6 +2075,12 @@ version = "1.21.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
+[[package]]
+name = "openssl-probe"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe"
+
[[package]]
name = "ordered-float"
version = "2.10.1"
@@ -2065,7 +2112,7 @@ dependencies = [
"postcard",
"rustc-hash",
"serde",
- "thiserror",
+ "thiserror 2.0.19",
]
[[package]]
@@ -2078,7 +2125,7 @@ dependencies = [
"owo-colors",
"oxc-miette-derive",
"textwrap",
- "thiserror",
+ "thiserror 2.0.19",
"unicode-segmentation",
"unicode-width",
]
@@ -2957,6 +3004,18 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "rustls-native-certs"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dab5152771c58876a2146916e53e35057e1a4dfa2b9df0f0305b07f611fdea4d"
+dependencies = [
+ "openssl-probe",
+ "rustls-pki-types",
+ "schannel",
+ "security-framework",
+]
+
[[package]]
name = "rustls-pki-types"
version = "1.15.1"
@@ -2966,6 +3025,33 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "rustls-platform-verifier"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d99feebc72bae7ab76ba994bb5e121b8d83d910ca40b36e0921f53becc41784"
+dependencies = [
+ "core-foundation",
+ "core-foundation-sys",
+ "jni 0.21.1",
+ "log",
+ "once_cell",
+ "rustls",
+ "rustls-native-certs",
+ "rustls-platform-verifier-android",
+ "rustls-webpki",
+ "security-framework",
+ "security-framework-sys",
+ "webpki-root-certs",
+ "windows-sys 0.61.2",
+]
+
+[[package]]
+name = "rustls-platform-verifier-android"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f"
+
[[package]]
name = "rustls-webpki"
version = "0.103.13"
@@ -2999,12 +3085,44 @@ dependencies = [
"winapi-util",
]
+[[package]]
+name = "schannel"
+version = "0.1.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91c1b7e4904c873ef0710c1f407dde2e6287de2bebc1bbbf7d430bb7cbffd939"
+dependencies = [
+ "windows-sys 0.61.2",
+]
+
[[package]]
name = "scopeguard"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+[[package]]
+name = "security-framework"
+version = "3.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d"
+dependencies = [
+ "bitflags",
+ "core-foundation",
+ "core-foundation-sys",
+ "libc",
+ "security-framework-sys",
+]
+
+[[package]]
+name = "security-framework-sys"
+version = "2.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
[[package]]
name = "self_cell"
version = "1.3.0"
@@ -3357,13 +3475,33 @@ dependencies = [
"unicode-width",
]
+[[package]]
+name = "thiserror"
+version = "1.0.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
+dependencies = [
+ "thiserror-impl 1.0.69",
+]
+
[[package]]
name = "thiserror"
version = "2.0.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09a43598840e33d5b0331f38c5e30d13bb11c11210a4b58f0d9b18a5a5eefcd9"
dependencies = [
- "thiserror-impl",
+ "thiserror-impl 2.0.19",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.119",
]
[[package]]
@@ -3547,7 +3685,7 @@ version = "12.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "756050066659291d47a554a9f558125db17428b073c5ffce1daf5dcb0f7231d8"
dependencies = [
- "thiserror",
+ "thiserror 2.0.19",
"ts-rs-macros",
]
@@ -3793,7 +3931,7 @@ version = "1.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62c35be770821a214dbc362fc26908c853e776c0004294d0b10b8a6bad582f94"
dependencies = [
- "jni",
+ "jni 0.22.4",
"log",
"ndk-context",
"objc2",
@@ -3804,10 +3942,10 @@ dependencies = [
]
[[package]]
-name = "webpki-roots"
-version = "1.0.7"
+name = "webpki-root-certs"
+version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52f5ee44c96cf55f1b349600768e3ece3a8f26010c05265ab73f945bb1a2eb9d"
+checksum = "b96554aa2acc8ccdb7e1c9a58a7a68dd5d13bccc69cd124cb09406db612a1c9b"
dependencies = [
"rustls-pki-types",
]
@@ -3902,13 +4040,22 @@ dependencies = [
"windows-link",
]
+[[package]]
+name = "windows-sys"
+version = "0.45.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets 0.42.2",
+]
+
[[package]]
name = "windows-sys"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
dependencies = [
- "windows-targets",
+ "windows-targets 0.52.6",
]
[[package]]
@@ -3920,34 +4067,67 @@ dependencies = [
"windows-link",
]
+[[package]]
+name = "windows-targets"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
[[package]]
name = "windows-targets"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
+ "windows_aarch64_gnullvm 0.52.6",
+ "windows_aarch64_msvc 0.52.6",
+ "windows_i686_gnu 0.52.6",
"windows_i686_gnullvm",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
+ "windows_i686_msvc 0.52.6",
+ "windows_x86_64_gnu 0.52.6",
+ "windows_x86_64_gnullvm 0.52.6",
+ "windows_x86_64_msvc 0.52.6",
]
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
+
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+
[[package]]
name = "windows_aarch64_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+
[[package]]
name = "windows_i686_gnu"
version = "0.52.6"
@@ -3960,24 +4140,48 @@ version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+
[[package]]
name = "windows_i686_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+
[[package]]
name = "windows_x86_64_gnu"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+
[[package]]
name = "windows_x86_64_msvc"
version = "0.52.6"
diff --git a/extensions/VSCode/README.md b/extensions/VSCode/README.md
index b04b11d2..743bb7a6 100644
--- a/extensions/VSCode/README.md
+++ b/extensions/VSCode/README.md
@@ -64,8 +64,10 @@ user-level
for this token-bearing endpoint. Token-bearing service requests must use HTTPS,
except for localhost development endpoints.
-Developer builds must compile the bundled Rust server with `minreq` HTTPS
-support. The AWS capture endpoint uses HTTPS, so a build without that feature
+Developer builds must compile the bundled Rust server with `minreq`
+`https-rustls-probe` and `proxy` support. Capture HTTPS requests validate with
+the host platform certificate store and honor standard proxy environment
+variables. The AWS capture endpoint uses HTTPS, so a build without HTTPS support
will show token validation and capture upload as unavailable.
Additional documentation
diff --git a/extensions/standalone/Cargo.lock b/extensions/standalone/Cargo.lock
index d7036b70..21fb4a51 100644
--- a/extensions/standalone/Cargo.lock
+++ b/extensions/standalone/Cargo.lock
@@ -554,6 +554,12 @@ dependencies = [
"shlex",
]
+[[package]]
+name = "cesu8"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
+
[[package]]
name = "cfg-if"
version = "1.0.4"
@@ -640,7 +646,7 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1"
dependencies = [
- "thiserror",
+ "thiserror 2.0.19",
]
[[package]]
@@ -683,7 +689,7 @@ dependencies = [
"serde_json",
"sha2",
"test_utils",
- "thiserror",
+ "thiserror 2.0.19",
"tokio",
"tracing",
"tracing-log",
@@ -793,6 +799,16 @@ dependencies = [
"version_check",
]
+[[package]]
+name = "core-foundation"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
[[package]]
name = "core-foundation-sys"
version = "0.8.7"
@@ -1008,7 +1024,7 @@ dependencies = [
"pulldown-cmark 0.11.3",
"regex",
"serde",
- "thiserror",
+ "thiserror 2.0.19",
"unicode-width",
]
@@ -1614,6 +1630,22 @@ version = "1.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
+[[package]]
+name = "jni"
+version = "0.21.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97"
+dependencies = [
+ "cesu8",
+ "cfg-if",
+ "combine",
+ "jni-sys 0.3.1",
+ "log",
+ "thiserror 1.0.69",
+ "walkdir",
+ "windows-sys 0.45.0",
+]
+
[[package]]
name = "jni"
version = "0.22.4"
@@ -1623,10 +1655,10 @@ dependencies = [
"cfg-if",
"combine",
"jni-macros",
- "jni-sys",
+ "jni-sys 0.4.1",
"log",
"simd_cesu8",
- "thiserror",
+ "thiserror 2.0.19",
"walkdir",
"windows-link",
]
@@ -1644,6 +1676,15 @@ dependencies = [
"syn 2.0.119",
]
+[[package]]
+name = "jni-sys"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258"
+dependencies = [
+ "jni-sys 0.4.1",
+]
+
[[package]]
name = "jni-sys"
version = "0.4.1"
@@ -1838,7 +1879,7 @@ dependencies = [
"serde-value",
"serde_json",
"serde_yaml",
- "thiserror",
+ "thiserror 2.0.19",
"thread-id",
"typemap-ors",
"unicode-segmentation",
@@ -1962,9 +2003,9 @@ version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "659579df697b372ef9e36f02fcbb41f6d6f157dcec7db9c9618fa0f23cf0fc20"
dependencies = [
+ "base64",
"rustls",
- "rustls-webpki",
- "webpki-roots",
+ "rustls-platform-verifier",
]
[[package]]
@@ -2152,6 +2193,12 @@ version = "1.70.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
+[[package]]
+name = "openssl-probe"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe"
+
[[package]]
name = "ordered-float"
version = "2.10.1"
@@ -2183,7 +2230,7 @@ dependencies = [
"postcard",
"rustc-hash",
"serde",
- "thiserror",
+ "thiserror 2.0.19",
]
[[package]]
@@ -2196,7 +2243,7 @@ dependencies = [
"owo-colors",
"oxc-miette-derive",
"textwrap",
- "thiserror",
+ "thiserror 2.0.19",
"unicode-segmentation",
"unicode-width",
]
@@ -3088,6 +3135,18 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "rustls-native-certs"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dab5152771c58876a2146916e53e35057e1a4dfa2b9df0f0305b07f611fdea4d"
+dependencies = [
+ "openssl-probe",
+ "rustls-pki-types",
+ "schannel",
+ "security-framework",
+]
+
[[package]]
name = "rustls-pki-types"
version = "1.15.1"
@@ -3097,6 +3156,33 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "rustls-platform-verifier"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d99feebc72bae7ab76ba994bb5e121b8d83d910ca40b36e0921f53becc41784"
+dependencies = [
+ "core-foundation",
+ "core-foundation-sys",
+ "jni 0.21.1",
+ "log",
+ "once_cell",
+ "rustls",
+ "rustls-native-certs",
+ "rustls-platform-verifier-android",
+ "rustls-webpki",
+ "security-framework",
+ "security-framework-sys",
+ "webpki-root-certs",
+ "windows-sys 0.60.2",
+]
+
+[[package]]
+name = "rustls-platform-verifier-android"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f"
+
[[package]]
name = "rustls-webpki"
version = "0.103.15"
@@ -3130,12 +3216,44 @@ dependencies = [
"winapi-util",
]
+[[package]]
+name = "schannel"
+version = "0.1.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91c1b7e4904c873ef0710c1f407dde2e6287de2bebc1bbbf7d430bb7cbffd939"
+dependencies = [
+ "windows-sys 0.61.2",
+]
+
[[package]]
name = "scopeguard"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+[[package]]
+name = "security-framework"
+version = "3.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d"
+dependencies = [
+ "bitflags",
+ "core-foundation",
+ "core-foundation-sys",
+ "libc",
+ "security-framework-sys",
+]
+
+[[package]]
+name = "security-framework-sys"
+version = "2.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
[[package]]
name = "self_cell"
version = "1.3.0"
@@ -3494,13 +3612,33 @@ dependencies = [
"unicode-width",
]
+[[package]]
+name = "thiserror"
+version = "1.0.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
+dependencies = [
+ "thiserror-impl 1.0.69",
+]
+
[[package]]
name = "thiserror"
version = "2.0.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09a43598840e33d5b0331f38c5e30d13bb11c11210a4b58f0d9b18a5a5eefcd9"
dependencies = [
- "thiserror-impl",
+ "thiserror-impl 2.0.19",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.119",
]
[[package]]
@@ -3684,7 +3822,7 @@ version = "12.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "756050066659291d47a554a9f558125db17428b073c5ffce1daf5dcb0f7231d8"
dependencies = [
- "thiserror",
+ "thiserror 2.0.19",
"ts-rs-macros",
]
@@ -3945,7 +4083,7 @@ version = "1.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62c35be770821a214dbc362fc26908c853e776c0004294d0b10b8a6bad582f94"
dependencies = [
- "jni",
+ "jni 0.22.4",
"log",
"ndk-context",
"objc2",
@@ -3956,10 +4094,10 @@ dependencies = [
]
[[package]]
-name = "webpki-roots"
+name = "webpki-root-certs"
version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7dcd9d09a39985f5344844e66b0c530a33843579125f23e21e9f0f220850f22a"
+checksum = "b96554aa2acc8ccdb7e1c9a58a7a68dd5d13bccc69cd124cb09406db612a1c9b"
dependencies = [
"rustls-pki-types",
]
@@ -4096,6 +4234,15 @@ dependencies = [
"windows-link",
]
+[[package]]
+name = "windows-sys"
+version = "0.45.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets 0.42.2",
+]
+
[[package]]
name = "windows-sys"
version = "0.52.0"
@@ -4123,6 +4270,21 @@ dependencies = [
"windows-link",
]
+[[package]]
+name = "windows-targets"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
[[package]]
name = "windows-targets"
version = "0.52.6"
@@ -4165,6 +4327,12 @@ dependencies = [
"windows-link",
]
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
+
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.52.6"
@@ -4177,6 +4345,12 @@ version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53"
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+
[[package]]
name = "windows_aarch64_msvc"
version = "0.52.6"
@@ -4189,6 +4363,12 @@ version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006"
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+
[[package]]
name = "windows_i686_gnu"
version = "0.52.6"
@@ -4213,6 +4393,12 @@ version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c"
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+
[[package]]
name = "windows_i686_msvc"
version = "0.52.6"
@@ -4225,6 +4411,12 @@ version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2"
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+
[[package]]
name = "windows_x86_64_gnu"
version = "0.52.6"
@@ -4237,6 +4429,12 @@ version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499"
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.52.6"
@@ -4249,6 +4447,12 @@ version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1"
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+
[[package]]
name = "windows_x86_64_msvc"
version = "0.52.6"
diff --git a/server/Cargo.lock b/server/Cargo.lock
index cb8f6b49..705dbf88 100644
--- a/server/Cargo.lock
+++ b/server/Cargo.lock
@@ -511,6 +511,12 @@ dependencies = [
"shlex",
]
+[[package]]
+name = "cesu8"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
+
[[package]]
name = "cfg-if"
version = "1.0.4"
@@ -563,7 +569,7 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1"
dependencies = [
- "thiserror",
+ "thiserror 2.0.19",
]
[[package]]
@@ -612,7 +618,7 @@ dependencies = [
"sha2",
"test_utils",
"thirtyfour",
- "thiserror",
+ "thiserror 2.0.19",
"tokio",
"tokio-tungstenite",
"tracing",
@@ -956,7 +962,7 @@ dependencies = [
"pulldown-cmark 0.11.3",
"regex",
"serde",
- "thiserror",
+ "thiserror 2.0.19",
"unicode-width",
]
@@ -1681,6 +1687,22 @@ version = "1.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
+[[package]]
+name = "jni"
+version = "0.21.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97"
+dependencies = [
+ "cesu8",
+ "cfg-if",
+ "combine",
+ "jni-sys 0.3.1",
+ "log",
+ "thiserror 1.0.69",
+ "walkdir",
+ "windows-sys 0.45.0",
+]
+
[[package]]
name = "jni"
version = "0.22.4"
@@ -1690,10 +1712,10 @@ dependencies = [
"cfg-if",
"combine",
"jni-macros",
- "jni-sys",
+ "jni-sys 0.4.1",
"log",
"simd_cesu8",
- "thiserror",
+ "thiserror 2.0.19",
"walkdir",
"windows-link",
]
@@ -1711,6 +1733,15 @@ dependencies = [
"syn 2.0.119",
]
+[[package]]
+name = "jni-sys"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258"
+dependencies = [
+ "jni-sys 0.4.1",
+]
+
[[package]]
name = "jni-sys"
version = "0.4.1"
@@ -1909,7 +1940,7 @@ dependencies = [
"serde-value",
"serde_json",
"serde_yaml",
- "thiserror",
+ "thiserror 2.0.19",
"thread-id",
"typemap-ors",
"unicode-segmentation",
@@ -2039,9 +2070,9 @@ version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "659579df697b372ef9e36f02fcbb41f6d6f157dcec7db9c9618fa0f23cf0fc20"
dependencies = [
+ "base64",
"rustls",
- "rustls-webpki",
- "webpki-roots",
+ "rustls-platform-verifier 0.6.2",
]
[[package]]
@@ -2226,7 +2257,7 @@ dependencies = [
"postcard",
"rustc-hash",
"serde",
- "thiserror",
+ "thiserror 2.0.19",
]
[[package]]
@@ -2239,7 +2270,7 @@ dependencies = [
"owo-colors",
"oxc-miette-derive",
"textwrap",
- "thiserror",
+ "thiserror 2.0.19",
"unicode-segmentation",
"unicode-width",
]
@@ -2968,7 +2999,7 @@ dependencies = [
"rustc-hash",
"rustls",
"socket2 0.5.10",
- "thiserror",
+ "thiserror 2.0.19",
"tokio",
"tracing",
"web-time",
@@ -2991,7 +3022,7 @@ dependencies = [
"rustls",
"rustls-pki-types",
"slab",
- "thiserror",
+ "thiserror 2.0.19",
"tinyvec",
"tracing",
"web-time",
@@ -3119,7 +3150,7 @@ checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac"
dependencies = [
"getrandom 0.2.17",
"libredox",
- "thiserror",
+ "thiserror 2.0.19",
]
[[package]]
@@ -3180,7 +3211,7 @@ dependencies = [
"quinn",
"rustls",
"rustls-pki-types",
- "rustls-platform-verifier",
+ "rustls-platform-verifier 0.7.0",
"serde",
"serde_json",
"sync_wrapper",
@@ -3276,6 +3307,27 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "rustls-platform-verifier"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d99feebc72bae7ab76ba994bb5e121b8d83d910ca40b36e0921f53becc41784"
+dependencies = [
+ "core-foundation",
+ "core-foundation-sys",
+ "jni 0.21.1",
+ "log",
+ "once_cell",
+ "rustls",
+ "rustls-native-certs",
+ "rustls-platform-verifier-android",
+ "rustls-webpki",
+ "security-framework",
+ "security-framework-sys",
+ "webpki-root-certs",
+ "windows-sys 0.61.2",
+]
+
[[package]]
name = "rustls-platform-verifier"
version = "0.7.0"
@@ -3284,7 +3336,7 @@ checksum = "26d1e2536ce4f35f4846aa13bff16bd0ff40157cdb14cc056c7b14ba41233ba0"
dependencies = [
"core-foundation",
"core-foundation-sys",
- "jni",
+ "jni 0.22.4",
"log",
"once_cell",
"rustls",
@@ -3793,7 +3845,7 @@ dependencies = [
"stringmatch",
"tar",
"thirtyfour-macros",
- "thiserror",
+ "thiserror 2.0.19",
"tokio",
"tokio-stream",
"tracing",
@@ -3812,13 +3864,33 @@ dependencies = [
"syn 2.0.119",
]
+[[package]]
+name = "thiserror"
+version = "1.0.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
+dependencies = [
+ "thiserror-impl 1.0.69",
+]
+
[[package]]
name = "thiserror"
version = "2.0.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09a43598840e33d5b0331f38c5e30d13bb11c11210a4b58f0d9b18a5a5eefcd9"
dependencies = [
- "thiserror-impl",
+ "thiserror-impl 2.0.19",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.119",
]
[[package]]
@@ -4102,7 +4174,7 @@ version = "12.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "756050066659291d47a554a9f558125db17428b073c5ffce1daf5dcb0f7231d8"
dependencies = [
- "thiserror",
+ "thiserror 2.0.19",
"ts-rs-macros",
]
@@ -4131,7 +4203,7 @@ dependencies = [
"log",
"rand 0.10.2",
"sha1",
- "thiserror",
+ "thiserror 2.0.19",
]
[[package]]
@@ -4412,7 +4484,7 @@ version = "1.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62c35be770821a214dbc362fc26908c853e776c0004294d0b10b8a6bad582f94"
dependencies = [
- "jni",
+ "jni 0.22.4",
"log",
"ndk-context",
"objc2",
@@ -4431,15 +4503,6 @@ dependencies = [
"rustls-pki-types",
]
-[[package]]
-name = "webpki-roots"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52f5ee44c96cf55f1b349600768e3ece3a8f26010c05265ab73f945bb1a2eb9d"
-dependencies = [
- "rustls-pki-types",
-]
-
[[package]]
name = "winapi"
version = "0.3.9"
@@ -4530,13 +4593,22 @@ dependencies = [
"windows-link",
]
+[[package]]
+name = "windows-sys"
+version = "0.45.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets 0.42.2",
+]
+
[[package]]
name = "windows-sys"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
dependencies = [
- "windows-targets",
+ "windows-targets 0.52.6",
]
[[package]]
@@ -4548,34 +4620,67 @@ dependencies = [
"windows-link",
]
+[[package]]
+name = "windows-targets"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
[[package]]
name = "windows-targets"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
+ "windows_aarch64_gnullvm 0.52.6",
+ "windows_aarch64_msvc 0.52.6",
+ "windows_i686_gnu 0.52.6",
"windows_i686_gnullvm",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
+ "windows_i686_msvc 0.52.6",
+ "windows_x86_64_gnu 0.52.6",
+ "windows_x86_64_gnullvm 0.52.6",
+ "windows_x86_64_msvc 0.52.6",
]
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
+
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+
[[package]]
name = "windows_aarch64_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+
[[package]]
name = "windows_i686_gnu"
version = "0.52.6"
@@ -4588,24 +4693,48 @@ version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+
[[package]]
name = "windows_i686_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+
[[package]]
name = "windows_x86_64_gnu"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+
[[package]]
name = "windows_x86_64_msvc"
version = "0.52.6"
diff --git a/server/Cargo.toml b/server/Cargo.toml
index 909812fa..a48cc2ae 100644
--- a/server/Cargo.toml
+++ b/server/Cargo.toml
@@ -65,7 +65,7 @@ markup5ever_rcdom = "0.39"
mime = "0.3.17"
mime_guess = "2.0.5"
minify-html = { git = "https://github.com/bjones1/minify-html.git", branch = "dev", version = "0.18.1" }
-minreq = { version = "3", features = ["https"] }
+minreq = { version = "3", features = ["https-rustls-probe", "proxy"] }
normalize-line-endings = "0.3.0"
path-slash = "0.2.1"
pest = "2.7.14"
diff --git a/server/src/capture.rs b/server/src/capture.rs
index c80b38e0..a2505024 100644
--- a/server/src/capture.rs
+++ b/server/src/capture.rs
@@ -2309,6 +2309,19 @@ mod tests {
assert!(started.elapsed() < Duration::from_secs(3));
}
+ #[test]
+ fn minreq_https_feature_is_enabled() {
+ let err = minreq::get("https://127.0.0.1:1/")
+ .with_timeout(1)
+ .send()
+ .expect_err("local HTTPS request should fail before a response");
+
+ assert!(
+ !matches!(err, minreq::Error::HttpsFeatureNotEnabled),
+ "{err}"
+ );
+ }
+
#[test]
fn service_url_normalization_accepts_dev_base_and_routes() {
assert_eq!(