Skip to content

Fix/docs generation#32

Merged
godronus merged 3 commits intomainfrom
fix/docs-generation
Apr 2, 2026
Merged

Fix/docs generation#32
godronus merged 3 commits intomainfrom
fix/docs-generation

Conversation

@godronus
Copy link
Copy Markdown
Collaborator

@godronus godronus commented Apr 2, 2026

No description provided.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR aligns the runner, server, UI, schemas, and docs around two main goals: (1) production-parity header behavior (multi-value + nginx remove semantics) and (2) clearer config/API contracts for HTTP-WASM vs Proxy-WASM, including consistent relative dotenv.path resolution across loading flows.

Changes:

  • Add tuple-based internal header storage to correctly support multi-valued headers and nginx-compatible remove/get semantics, plus integration/unit coverage.
  • Split test config into HTTP-WASM (request.path) vs Proxy-WASM (request.url) variants, and update /api/execute, frontend config handling, schemas, and docs accordingly.
  • Normalize relative dotenv.path handling across server, test framework, and UI, and document the behavior.

Reviewed changes

Copilot reviewed 52 out of 53 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
test-applications/cdn-apps/rust/cdn-headers/src/lib.rs Adds Rust Proxy-WASM headers validation app used to verify multi-value/remove semantics.
test-applications/cdn-apps/rust/cdn-headers/Cargo.toml Declares the new Rust cdn-headers crate.
test-applications/cdn-apps/rust/Cargo.toml Adds cdn-headers to the Rust workspace members.
test-applications/cdn-apps/rust/Cargo.lock Locks the new cdn-headers workspace package.
server/utils/dotenv-loader.ts Adds resolveDotenvPath() helper for consistent relative path resolution.
server/test-framework/suite-runner.ts Resolves relative dotenv.path against the config file directory in loadConfigFile().
server/server.ts Applies dotenv path resolution; updates /api/execute to accept path for HTTP-WASM (and url legacy).
server/schemas/config.ts Splits config schema into CDN vs HTTP variants (url vs path) and keeps CDN alias for backward compat.
server/runner/types.ts Adds HeaderTuples type for internal multi-value header storage.
server/runner/ProxyWasmRunner.ts Improves built-in URL detection; strips GET/HEAD bodies for fetch; surfaces http_call failures in logs.
server/runner/PropertyAccessControl.ts Adds request.x_real_ip as a built-in read-only property.
server/runner/HostFunctions.ts Switches internal header maps to tuple arrays; updates header hostcalls accordingly.
server/runner/HeaderManager.ts Adds tuple-based serialize/deserialize/normalize + record/tuple conversion helpers.
server/tests/unit/utils/dotenv-loader.test.ts Adds unit tests for resolveDotenvPath().
server/tests/unit/test-framework/suite-runner.test.ts Adds unit tests ensuring relative dotenv paths resolve against the config directory.
server/tests/unit/schemas/config.test.ts Adds tests for HTTP-WASM config variant and backward compatibility behavior.
server/tests/unit/runner/HeaderManager.test.ts Adds unit coverage for tuple-based header helpers and duplicate key handling.
server/tests/integration/cdn-apps/headers/multi-value-headers.test.ts Adds integration coverage for multi-value header behavior across variants.
schemas/fastedge-config.test.schema.json Updates JSON Schema to reflect appType-based union (CDN vs HTTP) and request shape differences.
schemas/api-config.schema.json Updates API schema to accept the new config union shape.
frontend/src/views/ProxyWasmView/ProxyWasmView.tsx Stores calculated properties separately (read-only) to avoid feedback loops.
frontend/src/stores/types.ts Adds calculatedProperties to config state; updates TestConfig request type union.
frontend/src/stores/slices/requestSlice.ts Adjusts default request values (GET, empty bodies/headers).
frontend/src/stores/slices/requestSlice.test.ts Updates tests to match new default request values.
frontend/src/stores/slices/configSlice.ts Handles HTTP request export/import with path; adds calculated properties action/state.
frontend/src/stores/slices/configSlice.test.ts Updates expectations for changed defaults and request union typing.
frontend/src/stores/index.test.ts Updates request union access in store composition tests.
frontend/src/components/proxy-wasm/ServerPropertiesPanel/ServerPropertiesPanel.tsx Plumbs calculatedProperties through to the editor.
frontend/src/components/proxy-wasm/PropertiesEditor/PropertiesEditor.tsx Overlays calculated properties into read-only defaults; forces DictionaryInput refresh.
frontend/src/components/common/DictionaryInput/DictionaryInput.tsx Tweaks enabled-state derivation and sync behavior for externally supplied values.
frontend/src/components/common/ConfigButtons/ConfigButtons.tsx Resolves relative dotenv path in VSCode flow; warns about relative paths in browser flows.
frontend/src/App.tsx Stores calculated properties separately on WS events; warns on relative dotenv in drag/drop flow.
frontend/src/api/index.ts Reuses store TestConfig type; sends path for HTTP-WASM execute calls.
docs/WEBSOCKET.md Formatting fixes in event docs table.
docs/TEST_FRAMEWORK.md Updates cross-links (DEBUGGER doc reference).
docs/TEST_CONFIG.md Documents the appType-based config union and url-vs-path request differences.
docs/RUNNER.md Formatting fixes in tables; keeps runner contract documentation aligned.
docs/quickstart.md Updates example config to include appType: "proxy-wasm".
docs/INDEX.md Formatting fixes in exports table.
docs/DEBUGGER.md Formatting fixes in env var table.
docs/API.md Documents /api/execute HTTP-WASM path vs legacy url behavior and updated TestConfig typing.
context/FUTURE_ENHANCEMENTS.md Adds notes on potential dotenv hot reload / secret rollover slot support.
context/features/NPM_PACKAGE_PLAN.md Updates schema file list to match new config schemas.
context/features/MULTI_VALUE_HEADERS.md Adds detailed design/implementation notes for tuple-based headers + nginx behavior parity.
context/features/HTTP_WASM_UI.md Updates docs to reflect { path } in HTTP-WASM client calls.
context/features/HTTP_WASM_PREVIEW.md Updates preview flow description to reference { path }.
context/features/HTTP_WASM_IMPLEMENTATION.md Updates endpoint examples to use path for HTTP-WASM.
context/features/HTTP_CALL_IMPLEMENTATION.md Updates last-updated date; documents GET/HEAD body stripping and log surfacing.
context/features/DOTENV.md Documents relative dotenv resolution behavior across flows; updates file list.
context/features/CONFIG_SHARING.md Updates examples/field notes for appType union and url-vs-path usage.
context/features/CONFIG_EDITOR.md Updates validation notes for url (CDN) vs path (HTTP).
context/CONTEXT_INDEX.md Adds index entry for MULTI_VALUE_HEADERS doc.
context/CHANGELOG.md Adds changelog entries for config schema split, calculated properties, headers parity, and dotenv resolution.

* Updated dotenvPath to be relative to config files * split test-config files based on appType
@godronus godronus requested review from qrdl April 2, 2026 09:44
@godronus godronus merged commit 5b7f9b5 into main Apr 2, 2026
2 checks passed
@godronus godronus deleted the fix/docs-generation branch April 2, 2026 09:52
@godronus
Copy link
Copy Markdown
Collaborator Author

godronus commented Apr 2, 2026

🎉 This PR is included in version 0.1.4 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants