Skip to content

fix(build): use cross-platform file copy in mathml2omml#20

Merged
cosarah merged 2 commits intomainfrom
fix/windows-cp-command
Mar 16, 2026
Merged

fix(build): use cross-platform file copy in mathml2omml#20
cosarah merged 2 commits intomainfrom
fix/windows-cp-command

Conversation

@cosarah
Copy link
Copy Markdown
Collaborator

@cosarah cosarah commented Mar 16, 2026

Summary

  • Replace Unix cp command with node -e "require('fs').copyFileSync(...)" in mathml2omml build script
  • Fixes pnpm install failure on Windows where cp is not available, which caused garbled output

Test plan

  • Verified pnpm install completes successfully and dist/index.d.ts is correctly generated

🤖 Generated with Claude Code

cosarah and others added 2 commits March 16, 2026 21:02
Replace Unix `cp` with Node.js `fs.copyFileSync` so that `pnpm install`
works correctly on Windows where `cp` is not available.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@cosarah cosarah merged commit a58618a into main Mar 16, 2026
1 check passed
YizukiAme pushed a commit to YizukiAme/OpenMAIC that referenced this pull request Mar 18, 2026
* fix(build): use cross-platform file copy in mathml2omml build script

Replace Unix `cp` with Node.js `fs.copyFileSync` so that `pnpm install`
works correctly on Windows where `cp` is not available.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore: add .worktrees to .gitignore

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
cosarah added a commit that referenced this pull request Mar 19, 2026
* feat: add pan, zoom, and auto-fit to whiteboard canvas

When AI generates whiteboard elements that exceed the fixed 1000x562.5
canvas, content was clipped by overflow-hidden with no way to view it.

This commit adds interactive navigation to the whiteboard:

- Auto-fit: when elements overflow, content is scaled and centered to
  ensure nothing is clipped (with 24px padding)
- Drag-to-pan: hold and drag to pan around the whiteboard
- Scroll-to-zoom: mouse wheel zooms in/out (0.2x to 5x range)
- Double-click or Reset View button to return to default view
- View auto-resets when new whiteboard content loads

When content fits within the canvas, behavior is unchanged - no extra
cursor, no transforms, no visual regression.

Fixes #19

* fix: correct pan tracking math and reset button event propagation

* fix: guard against zero containerScale and fix zoom docstring

* fix: cleanup reviewer feedback and disable pan/zoom on empty whiteboard

- Remove dead code: ?? 'Reset View' fallback (i18n key exists)
- Add useMemo for elementsKey (perf optimization)
- Fix el.height type narrowing (remove implicit any)
- Disable pan/zoom/cursor when whiteboard is empty (UX improvement)

* docs: revamp OpenClaw TIP section with playful copy and clearer install flow

Restructure the OpenClaw quickstart: install skill first, then pick mode.
Add meme-style nudge for OpenClaw to star the repo. Enlarge logo and
put "OpenClaw" in the TIP heading for visibility.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(build): use cross-platform file copy in mathml2omml (#20)

* fix(build): use cross-platform file copy in mathml2omml build script

Replace Unix `cp` with Node.js `fs.copyFileSync` so that `pnpm install`
works correctly on Windows where `cp` is not available.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore: add .worktrees to .gitignore

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* fix(build):Next.js 16 要求 Node.js >= 20.9.0 (#21)

* fix(build):
1、README.md / README-zh.md — Node.js 版本要求 >= 18 → >= 20
2、package.json — 新增 engines: { node: ">=20.9.0" }
3、ci.yml — node-version: 20 → 22(与 Dockerfile 一致)
4、.nvmrc — 新建,内容 22

Co-authored-by: humingfeng <humfsss@gmail.com>

* Update Vercel configuration by removing bodyParser (#45)

Removed bodyParser configuration from Vercel functions.

* Fix SSRF/credential forwarding via client-supplied baseUrl (#30)

* Fix SSRF/credential forwarding via client-supplied baseUrl

* chore: format SSRF fix

* fix: tighten whiteboard pan and auto-fit bounds

* refactor: reset whiteboard viewport via keyed remount

* fix: preserve viewport while whiteboard content streams

* feat: add scroll-to-zoom interaction hint on whiteboard

* feat: add pan, zoom, and auto-fit to whiteboard canvas

When AI generates whiteboard elements that exceed the fixed 1000x562.5
canvas, content was clipped by overflow-hidden with no way to view it.

This commit adds interactive navigation to the whiteboard:

- Auto-fit: when elements overflow, content is scaled and centered to
  ensure nothing is clipped (with 24px padding)
- Drag-to-pan: hold and drag to pan around the whiteboard
- Scroll-to-zoom: mouse wheel zooms in/out (0.2x to 5x range)
- Double-click or Reset View button to return to default view
- View auto-resets when new whiteboard content loads

When content fits within the canvas, behavior is unchanged - no extra
cursor, no transforms, no visual regression.

Fixes #19

* fix: correct pan tracking math and reset button event propagation

* fix: guard against zero containerScale and fix zoom docstring

* fix: cleanup reviewer feedback and disable pan/zoom on empty whiteboard

- Remove dead code: ?? 'Reset View' fallback (i18n key exists)
- Add useMemo for elementsKey (perf optimization)
- Fix el.height type narrowing (remove implicit any)
- Disable pan/zoom/cursor when whiteboard is empty (UX improvement)

* fix: tighten whiteboard pan and auto-fit bounds

* refactor: reset whiteboard viewport via keyed remount

* fix: preserve viewport while whiteboard content streams

* feat: add scroll-to-zoom interaction hint on whiteboard

* fix: avoid synchronous setState in useEffect for hint visibility

---------

Co-authored-by: wyuc <wang-yc24@mails.tsinghua.edu.cn>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: 杨慎 <117187635+cosarah@users.noreply.github.com>
Co-authored-by: 1/2极客 <humf@vip.qq.com>
Co-authored-by: humingfeng <humfsss@gmail.com>
Co-authored-by: Rowtion <65099725+Rowtion@users.noreply.github.com>
Co-authored-by: Wing900 <167857578+Wing900@users.noreply.github.com>
zhenzhu143321 pushed a commit to zhenzhu143321/OpenMAIC that referenced this pull request Apr 4, 2026
* feat: add pan, zoom, and auto-fit to whiteboard canvas

When AI generates whiteboard elements that exceed the fixed 1000x562.5
canvas, content was clipped by overflow-hidden with no way to view it.

This commit adds interactive navigation to the whiteboard:

- Auto-fit: when elements overflow, content is scaled and centered to
  ensure nothing is clipped (with 24px padding)
- Drag-to-pan: hold and drag to pan around the whiteboard
- Scroll-to-zoom: mouse wheel zooms in/out (0.2x to 5x range)
- Double-click or Reset View button to return to default view
- View auto-resets when new whiteboard content loads

When content fits within the canvas, behavior is unchanged - no extra
cursor, no transforms, no visual regression.

Fixes THU-MAIC#19

* fix: correct pan tracking math and reset button event propagation

* fix: guard against zero containerScale and fix zoom docstring

* fix: cleanup reviewer feedback and disable pan/zoom on empty whiteboard

- Remove dead code: ?? 'Reset View' fallback (i18n key exists)
- Add useMemo for elementsKey (perf optimization)
- Fix el.height type narrowing (remove implicit any)
- Disable pan/zoom/cursor when whiteboard is empty (UX improvement)

* docs: revamp OpenClaw TIP section with playful copy and clearer install flow

Restructure the OpenClaw quickstart: install skill first, then pick mode.
Add meme-style nudge for OpenClaw to star the repo. Enlarge logo and
put "OpenClaw" in the TIP heading for visibility.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(build): use cross-platform file copy in mathml2omml (THU-MAIC#20)

* fix(build): use cross-platform file copy in mathml2omml build script

Replace Unix `cp` with Node.js `fs.copyFileSync` so that `pnpm install`
works correctly on Windows where `cp` is not available.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore: add .worktrees to .gitignore

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* fix(build):Next.js 16 要求 Node.js >= 20.9.0 (THU-MAIC#21)

* fix(build):
1、README.md / README-zh.md — Node.js 版本要求 >= 18 → >= 20
2、package.json — 新增 engines: { node: ">=20.9.0" }
3、ci.yml — node-version: 20 → 22(与 Dockerfile 一致)
4、.nvmrc — 新建,内容 22

Co-authored-by: humingfeng <humfsss@gmail.com>

* Update Vercel configuration by removing bodyParser (THU-MAIC#45)

Removed bodyParser configuration from Vercel functions.

* Fix SSRF/credential forwarding via client-supplied baseUrl (THU-MAIC#30)

* Fix SSRF/credential forwarding via client-supplied baseUrl

* chore: format SSRF fix

* fix: tighten whiteboard pan and auto-fit bounds

* refactor: reset whiteboard viewport via keyed remount

* fix: preserve viewport while whiteboard content streams

* feat: add scroll-to-zoom interaction hint on whiteboard

* feat: add pan, zoom, and auto-fit to whiteboard canvas

When AI generates whiteboard elements that exceed the fixed 1000x562.5
canvas, content was clipped by overflow-hidden with no way to view it.

This commit adds interactive navigation to the whiteboard:

- Auto-fit: when elements overflow, content is scaled and centered to
  ensure nothing is clipped (with 24px padding)
- Drag-to-pan: hold and drag to pan around the whiteboard
- Scroll-to-zoom: mouse wheel zooms in/out (0.2x to 5x range)
- Double-click or Reset View button to return to default view
- View auto-resets when new whiteboard content loads

When content fits within the canvas, behavior is unchanged - no extra
cursor, no transforms, no visual regression.

Fixes THU-MAIC#19

* fix: correct pan tracking math and reset button event propagation

* fix: guard against zero containerScale and fix zoom docstring

* fix: cleanup reviewer feedback and disable pan/zoom on empty whiteboard

- Remove dead code: ?? 'Reset View' fallback (i18n key exists)
- Add useMemo for elementsKey (perf optimization)
- Fix el.height type narrowing (remove implicit any)
- Disable pan/zoom/cursor when whiteboard is empty (UX improvement)

* fix: tighten whiteboard pan and auto-fit bounds

* refactor: reset whiteboard viewport via keyed remount

* fix: preserve viewport while whiteboard content streams

* feat: add scroll-to-zoom interaction hint on whiteboard

* fix: avoid synchronous setState in useEffect for hint visibility

---------

Co-authored-by: wyuc <wang-yc24@mails.tsinghua.edu.cn>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: 杨慎 <117187635+cosarah@users.noreply.github.com>
Co-authored-by: 1/2极客 <humf@vip.qq.com>
Co-authored-by: humingfeng <humfsss@gmail.com>
Co-authored-by: Rowtion <65099725+Rowtion@users.noreply.github.com>
Co-authored-by: Wing900 <167857578+Wing900@users.noreply.github.com>
jaumemir pushed a commit to jaumemir/OpenMAIC that referenced this pull request Apr 8, 2026
* fix(build): use cross-platform file copy in mathml2omml build script

Replace Unix `cp` with Node.js `fs.copyFileSync` so that `pnpm install`
works correctly on Windows where `cp` is not available.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore: add .worktrees to .gitignore

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
jaumemir pushed a commit to jaumemir/OpenMAIC that referenced this pull request Apr 8, 2026
* feat: add pan, zoom, and auto-fit to whiteboard canvas

When AI generates whiteboard elements that exceed the fixed 1000x562.5
canvas, content was clipped by overflow-hidden with no way to view it.

This commit adds interactive navigation to the whiteboard:

- Auto-fit: when elements overflow, content is scaled and centered to
  ensure nothing is clipped (with 24px padding)
- Drag-to-pan: hold and drag to pan around the whiteboard
- Scroll-to-zoom: mouse wheel zooms in/out (0.2x to 5x range)
- Double-click or Reset View button to return to default view
- View auto-resets when new whiteboard content loads

When content fits within the canvas, behavior is unchanged - no extra
cursor, no transforms, no visual regression.

Fixes THU-MAIC#19

* fix: correct pan tracking math and reset button event propagation

* fix: guard against zero containerScale and fix zoom docstring

* fix: cleanup reviewer feedback and disable pan/zoom on empty whiteboard

- Remove dead code: ?? 'Reset View' fallback (i18n key exists)
- Add useMemo for elementsKey (perf optimization)
- Fix el.height type narrowing (remove implicit any)
- Disable pan/zoom/cursor when whiteboard is empty (UX improvement)

* docs: revamp OpenClaw TIP section with playful copy and clearer install flow

Restructure the OpenClaw quickstart: install skill first, then pick mode.
Add meme-style nudge for OpenClaw to star the repo. Enlarge logo and
put "OpenClaw" in the TIP heading for visibility.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(build): use cross-platform file copy in mathml2omml (THU-MAIC#20)

* fix(build): use cross-platform file copy in mathml2omml build script

Replace Unix `cp` with Node.js `fs.copyFileSync` so that `pnpm install`
works correctly on Windows where `cp` is not available.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore: add .worktrees to .gitignore

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* fix(build):Next.js 16 要求 Node.js >= 20.9.0 (THU-MAIC#21)

* fix(build):
1、README.md / README-zh.md — Node.js 版本要求 >= 18 → >= 20
2、package.json — 新增 engines: { node: ">=20.9.0" }
3、ci.yml — node-version: 20 → 22(与 Dockerfile 一致)
4、.nvmrc — 新建,内容 22

Co-authored-by: humingfeng <humfsss@gmail.com>

* Update Vercel configuration by removing bodyParser (THU-MAIC#45)

Removed bodyParser configuration from Vercel functions.

* Fix SSRF/credential forwarding via client-supplied baseUrl (THU-MAIC#30)

* Fix SSRF/credential forwarding via client-supplied baseUrl

* chore: format SSRF fix

* fix: tighten whiteboard pan and auto-fit bounds

* refactor: reset whiteboard viewport via keyed remount

* fix: preserve viewport while whiteboard content streams

* feat: add scroll-to-zoom interaction hint on whiteboard

* feat: add pan, zoom, and auto-fit to whiteboard canvas

When AI generates whiteboard elements that exceed the fixed 1000x562.5
canvas, content was clipped by overflow-hidden with no way to view it.

This commit adds interactive navigation to the whiteboard:

- Auto-fit: when elements overflow, content is scaled and centered to
  ensure nothing is clipped (with 24px padding)
- Drag-to-pan: hold and drag to pan around the whiteboard
- Scroll-to-zoom: mouse wheel zooms in/out (0.2x to 5x range)
- Double-click or Reset View button to return to default view
- View auto-resets when new whiteboard content loads

When content fits within the canvas, behavior is unchanged - no extra
cursor, no transforms, no visual regression.

Fixes THU-MAIC#19

* fix: correct pan tracking math and reset button event propagation

* fix: guard against zero containerScale and fix zoom docstring

* fix: cleanup reviewer feedback and disable pan/zoom on empty whiteboard

- Remove dead code: ?? 'Reset View' fallback (i18n key exists)
- Add useMemo for elementsKey (perf optimization)
- Fix el.height type narrowing (remove implicit any)
- Disable pan/zoom/cursor when whiteboard is empty (UX improvement)

* fix: tighten whiteboard pan and auto-fit bounds

* refactor: reset whiteboard viewport via keyed remount

* fix: preserve viewport while whiteboard content streams

* feat: add scroll-to-zoom interaction hint on whiteboard

* fix: avoid synchronous setState in useEffect for hint visibility

---------

Co-authored-by: wyuc <wang-yc24@mails.tsinghua.edu.cn>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: 杨慎 <117187635+cosarah@users.noreply.github.com>
Co-authored-by: 1/2极客 <humf@vip.qq.com>
Co-authored-by: humingfeng <humfsss@gmail.com>
Co-authored-by: Rowtion <65099725+Rowtion@users.noreply.github.com>
Co-authored-by: Wing900 <167857578+Wing900@users.noreply.github.com>
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.

1 participant