Skip to content

chore: increase Node.js memory limit in release workflow - #33

Merged
giswqs merged 1 commit into
mainfrom
size
May 29, 2026
Merged

chore: increase Node.js memory limit in release workflow#33
giswqs merged 1 commit into
mainfrom
size

Conversation

@giswqs

@giswqs giswqs commented May 29, 2026

Copy link
Copy Markdown
Member

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.

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.
Copilot AI review requested due to automatic review settings May 29, 2026 19:45
@giswqs
giswqs merged commit 02e9c42 into main May 29, 2026
2 of 4 checks passed
@giswqs
giswqs deleted the size branch May 29, 2026 19:45

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@github-actions

Copy link
Copy Markdown
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants