| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[BugFix] Restrict DebugRouter OpenCard sources in node-lynx - What changed: DebugRouter OpenCard now only loads public http(s) URLs by default. Local files, local paths, and loopback, private, link-local, and other non-public hosts are rejected. Literal IP hosts are checked before the request, hostnames are checked after DNS resolution, and every redirect hop is re-validated. This applies to the CLI and to "OpenCardManager.install()". The new "--allow-any-open-card-source" CLI flag and the "allowAnySource" manager option restore the previous behavior for trusted local development. "open(url)", "fetchBuffer" and "loadTemplateFromUrl" are unchanged. - Why: DebugRouter accepts OpenCard requests from any peer that can reach its port, and the URL was fetched without restriction. A peer could make node-lynx request loopback or internal HTTP services, including cloud metadata endpoints, or read local files. - Impact: Opening a localhost or LAN dev server through OpenCard now needs "--allow-any-open-card-source" (or "allowAnySource: true"). The startup log no longer claims DebugRouter only listens on 127.0.0.1. - Tests: Allow protocol smoke callers to opt into extra CLI arguments and include child output when waiting for a DebugRouter session times out. - Release: Bump the node-lynx package and the Darwin ARM64 and Linux x64 native packages to 0.1.5 and add release notes. TEST: node test/open_card_source_policy.js TEST: node test/cli_debug_router_no_initial_template.js TEST: node test/publish_manifest_versions.js AutoSubmit: true | 9 天前 | |
[BugFix] Restrict DebugRouter OpenCard sources in node-lynx - What changed: DebugRouter OpenCard now only loads public http(s) URLs by default. Local files, local paths, and loopback, private, link-local, and other non-public hosts are rejected. Literal IP hosts are checked before the request, hostnames are checked after DNS resolution, and every redirect hop is re-validated. This applies to the CLI and to "OpenCardManager.install()". The new "--allow-any-open-card-source" CLI flag and the "allowAnySource" manager option restore the previous behavior for trusted local development. "open(url)", "fetchBuffer" and "loadTemplateFromUrl" are unchanged. - Why: DebugRouter accepts OpenCard requests from any peer that can reach its port, and the URL was fetched without restriction. A peer could make node-lynx request loopback or internal HTTP services, including cloud metadata endpoints, or read local files. - Impact: Opening a localhost or LAN dev server through OpenCard now needs "--allow-any-open-card-source" (or "allowAnySource: true"). The startup log no longer claims DebugRouter only listens on 127.0.0.1. - Tests: Allow protocol smoke callers to opt into extra CLI arguments and include child output when waiting for a DebugRouter session times out. - Release: Bump the node-lynx package and the Darwin ARM64 and Linux x64 native packages to 0.1.5 and add release notes. TEST: node test/open_card_source_policy.js TEST: node test/cli_debug_router_no_initial_template.js TEST: node test/publish_manifest_versions.js AutoSubmit: true | 9 天前 | |
[Feature] Add node-lynx package and local test coverage - Add the public @lynx-js/node-lynx package, native build targets, CLI entry points, headless and windowed APIs, OpenCard helpers, and CDP support. - Move the shared Node Lynx implementation into the public package while keeping wrapper-specific package resolution separate from the shared runtime. - Add local fixture-based smoke, DOM tree, protocol, OpenCard, gallery, and screenshot coverage so default tests do not depend on remote template downloads. TEST: git diff --cached --check; git lfs ls-files | rg "lynx/js_libraries/node-lynx/test/fixtures" | 4 个月前 | |
[Feature] Add node-lynx package and local test coverage - Add the public @lynx-js/node-lynx package, native build targets, CLI entry points, headless and windowed APIs, OpenCard helpers, and CDP support. - Move the shared Node Lynx implementation into the public package while keeping wrapper-specific package resolution separate from the shared runtime. - Add local fixture-based smoke, DOM tree, protocol, OpenCard, gallery, and screenshot coverage so default tests do not depend on remote template downloads. TEST: git diff --cached --check; git lfs ls-files | rg "lynx/js_libraries/node-lynx/test/fixtures" | 4 个月前 | |
[BugFix] Restrict DebugRouter OpenCard sources in node-lynx - What changed: DebugRouter OpenCard now only loads public http(s) URLs by default. Local files, local paths, and loopback, private, link-local, and other non-public hosts are rejected. Literal IP hosts are checked before the request, hostnames are checked after DNS resolution, and every redirect hop is re-validated. This applies to the CLI and to "OpenCardManager.install()". The new "--allow-any-open-card-source" CLI flag and the "allowAnySource" manager option restore the previous behavior for trusted local development. "open(url)", "fetchBuffer" and "loadTemplateFromUrl" are unchanged. - Why: DebugRouter accepts OpenCard requests from any peer that can reach its port, and the URL was fetched without restriction. A peer could make node-lynx request loopback or internal HTTP services, including cloud metadata endpoints, or read local files. - Impact: Opening a localhost or LAN dev server through OpenCard now needs "--allow-any-open-card-source" (or "allowAnySource: true"). The startup log no longer claims DebugRouter only listens on 127.0.0.1. - Tests: Allow protocol smoke callers to opt into extra CLI arguments and include child output when waiting for a DebugRouter session times out. - Release: Bump the node-lynx package and the Darwin ARM64 and Linux x64 native packages to 0.1.5 and add release notes. TEST: node test/open_card_source_policy.js TEST: node test/cli_debug_router_no_initial_template.js TEST: node test/publish_manifest_versions.js AutoSubmit: true | 9 天前 | |
[Feature] Add node-lynx package and local test coverage - Add the public @lynx-js/node-lynx package, native build targets, CLI entry points, headless and windowed APIs, OpenCard helpers, and CDP support. - Move the shared Node Lynx implementation into the public package while keeping wrapper-specific package resolution separate from the shared runtime. - Add local fixture-based smoke, DOM tree, protocol, OpenCard, gallery, and screenshot coverage so default tests do not depend on remote template downloads. TEST: git diff --cached --check; git lfs ls-files | rg "lynx/js_libraries/node-lynx/test/fixtures" | 4 个月前 | |
[Infra][Testing] Support script evaluation in shared runtimes - Add evaluateScript as a fire-and-forget BTS runtime operation, with failures reported through onErrorOccurred. - Allow views with the same groupName to share a BTS runtime and clean up expired shared groups. - Restrict synchronous local script loading to canonical descendants of resourceRootPaths, rejecting traversal and symlink escapes. - Align 0.1.3 package versions and validate platform manifest consistency. - Add documentation, smoke coverage, and resource-root boundary tests. TEST: pnpm --filter @lynx-js/node-lynx run build; node test/shared_runtime_smoke.js; node test/resource_root_boundaries.js | 2 个月前 | |
[Feature] Add node-lynx package and local test coverage - Add the public @lynx-js/node-lynx package, native build targets, CLI entry points, headless and windowed APIs, OpenCard helpers, and CDP support. - Move the shared Node Lynx implementation into the public package while keeping wrapper-specific package resolution separate from the shared runtime. - Add local fixture-based smoke, DOM tree, protocol, OpenCard, gallery, and screenshot coverage so default tests do not depend on remote template downloads. TEST: git diff --cached --check; git lfs ls-files | rg "lynx/js_libraries/node-lynx/test/fixtures" | 4 个月前 | |
[Feature] Add node-lynx package and local test coverage - Add the public @lynx-js/node-lynx package, native build targets, CLI entry points, headless and windowed APIs, OpenCard helpers, and CDP support. - Move the shared Node Lynx implementation into the public package while keeping wrapper-specific package resolution separate from the shared runtime. - Add local fixture-based smoke, DOM tree, protocol, OpenCard, gallery, and screenshot coverage so default tests do not depend on remote template downloads. TEST: git diff --cached --check; git lfs ls-files | rg "lynx/js_libraries/node-lynx/test/fixtures" | 4 个月前 | |
[Infra][Testing] Support script evaluation in shared runtimes - Add evaluateScript as a fire-and-forget BTS runtime operation, with failures reported through onErrorOccurred. - Allow views with the same groupName to share a BTS runtime and clean up expired shared groups. - Restrict synchronous local script loading to canonical descendants of resourceRootPaths, rejecting traversal and symlink escapes. - Align 0.1.3 package versions and validate platform manifest consistency. - Add documentation, smoke coverage, and resource-root boundary tests. TEST: pnpm --filter @lynx-js/node-lynx run build; node test/shared_runtime_smoke.js; node test/resource_root_boundaries.js | 2 个月前 | |
[Infra][Testing] Support script evaluation in shared runtimes - Add evaluateScript as a fire-and-forget BTS runtime operation, with failures reported through onErrorOccurred. - Allow views with the same groupName to share a BTS runtime and clean up expired shared groups. - Restrict synchronous local script loading to canonical descendants of resourceRootPaths, rejecting traversal and symlink escapes. - Align 0.1.3 package versions and validate platform manifest consistency. - Add documentation, smoke coverage, and resource-root boundary tests. TEST: pnpm --filter @lynx-js/node-lynx run build; node test/shared_runtime_smoke.js; node test/resource_root_boundaries.js | 2 个月前 | |
[BugFix] Fix node-lynx Clay adaptor integration and window teardown Keep the window host alive until the view and render engine have stopped, so pending presentation callbacks cannot access a freed host during close. Detach AppKit host references on close, disable automatic window release under ARC, and retain shared state for queued text-input updates. Add subprocess regressions for rendering during close, direct and repeated destruction, pending waiters, finalizers, and natural process exit. Always destroy views in windowed screenshot tests. Keep synthetic desktop input opt-in through NODE_LYNX_WINDOWED_INPUT_TESTS=1 because restricted desktop services can block input dispatch. SDK input behavior is unchanged. TEST: macOS and Linux Release builds; DOM, screenshot, and protocol tests; GN formatting, diff, and pre-push checks. Earlier lifecycle validation: 36 windows per mode with synthetic input disabled and enabled; 120-window input stress; 180-window teardown stress with MallocScribble. | 22 天前 | |
[BugFix] Fix node-lynx Clay adaptor integration and window teardown Keep the window host alive until the view and render engine have stopped, so pending presentation callbacks cannot access a freed host during close. Detach AppKit host references on close, disable automatic window release under ARC, and retain shared state for queued text-input updates. Add subprocess regressions for rendering during close, direct and repeated destruction, pending waiters, finalizers, and natural process exit. Always destroy views in windowed screenshot tests. Keep synthetic desktop input opt-in through NODE_LYNX_WINDOWED_INPUT_TESTS=1 because restricted desktop services can block input dispatch. SDK input behavior is unchanged. TEST: macOS and Linux Release builds; DOM, screenshot, and protocol tests; GN formatting, diff, and pre-push checks. Earlier lifecycle validation: 36 windows per mode with synthetic input disabled and enabled; 120-window input stress; 180-window teardown stress with MallocScribble. | 22 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 9 天前 | ||
| 9 天前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 9 天前 | ||
| 4 个月前 | ||
| 2 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 22 天前 | ||
| 22 天前 |