Conversation
Added NODE_OPTIONS to set the maximum old space size to 4096 MB in the GitHub Actions release workflow, improving memory management during the build process.
Contributor
|
Netlify preview: https://pr-33--opengeos.netlify.app |
giswqs
added a commit
that referenced
this pull request
Jul 6, 2026
…statement fix geolibre-wasm 0.5.3 (via geolibre-rust #33 / whitebox-wasm #5) now infers Extract By Attribute's 'statement' and Field Calculator's 'expression' params as free-text strings at the source, so the dialog renders their expression fields without relying on the manifest reconciliation. The reconciliation in mergeWasmToolManifests is kept as defense-in-depth for any other mislabeled tool. Refs #1073.
giswqs
added a commit
that referenced
this pull request
Jul 6, 2026
…r WASM tools (#1077) * fix(whitebox): honor output extension and render expression fields for WASM tools The in-browser WASM runner hardcoded a .dat extension for every file_out parameter, so tools like Vector Summary Statistics received --output=...dat and failed their own '.csv path' validation no matter what path the user picked. Derive the extension from the user-chosen output path (falling back to CSV for tabular outputs, else .dat), sniff the intended text format from the parameter's description for the default filename, and name the download by the parameter's declared extension instead of a byte sniff (CSV/JSON/HTML have no magic bytes). Fixes #1074. The WASM manifest also mislabels some scalar parameters: Extract By Attribute's 'statement' expression is typed bool (a checkbox) and Field Calculator's 'expression' is typed as a vector input (a second layer picker), so neither exposed a text field to type the expression. When the sidecar catalog types a same-named param as a plain scalar but the WASM manifest makes it a dataset I/O or bool, prefer the catalog kind so the dialog renders (and the runner serializes) a text input. Fixes #1073. * chore(deps): bump geolibre-wasm to 0.5.3 for the upstream expression/statement fix geolibre-wasm 0.5.3 (via geolibre-rust #33 / whitebox-wasm #5) now infers Extract By Attribute's 'statement' and Field Calculator's 'expression' params as free-text strings at the source, so the dialog renders their expression fields without relying on the manifest reconciliation. The reconciliation in mergeWasmToolManifests is kept as defense-in-depth for any other mislabeled tool. Refs #1073. * Address Copilot, Claude, and CodeRabbit review feedback - Fix file_out download regression: prefer the magic-byte sniff (fileOutputExtension) so binary outputs (GeoParquet/FlatGeobuf/PNG/PMTiles) keep their real extension instead of being renamed .txt; fall back to the param-declared extension only when the sniff yields "bin" (signature-less CSV/JSON/HTML). Flagged by Copilot and Claude. - Name text-format downloads via the shared fileOutputTargetExtension, passing the output path the user actually typed (captured in lastRunParametersRef), so a custom extension (e.g. stats.json) matches the bytes the tool wrote instead of the static param hint. Removes the metadata/user-path mismatch and the duplicated extension logic Claude noted. - Enrich fileOutputTargetExtension to sniff csv/html/json from the param name/description before the table/dat fallback, so a JSON-described output left blank no longer writes .dat (the #1074 failure mode for another tool). Claude. - Narrow shouldPreferCatalogKind to inputs and bools only; never override a WASM output param even when the catalog types it scalar, so a genuine dataset output is not diverted into the plain-arg path. Claude design concern. - Add unit tests for the description-hint fallback and the output-param exclusion. * Address Claude review feedback (round 2) - Fix output-path lookup race: replace the single lastRunParametersRef slot with a Map keyed by job id (runParametersByJobRef), set only for succeeded WASM runs and deleted once its outputs are imported, so a rapid re-run can no longer repoint the path a still-draining previous job reads. - Remove the .dat/.txt hint-logic duplication: extract the shared outputTextFormatHint (csv/html/json + table→csv) into @geolibre/processing; fileOutputTargetExtension and the dialog's outputExtensionForParameter both call it, keeping only their intended fallback difference (.dat vs .txt). - Tighten shouldPreferCatalogKind: a dataset *input* is only downgraded to a scalar when its name is expression/statement (mirroring the upstream wbcore looks_like_expression fix), so a genuine raster/vector/lidar/file input the catalog merely mistyped is never diverted into the plain-arg path. Bools (any name) stay covered; outputs stay excluded. - Add unit tests for the non-expression input exclusion.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Added NODE_OPTIONS to set the maximum old space size to 4096 MB in the GitHub Actions release workflow, improving memory management during the build process.