refactor: bundle deploy skill in desktop static skills#957
refactor: bundle deploy skill in desktop static skills#957alchemistklk wants to merge 5 commits intomainfrom
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1dff1fff45
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| } from "node:fs/promises"; | ||
| import path from "node:path"; | ||
| import { fileURLToPath } from "node:url"; | ||
| import JSZip from "jszip"; |
There was a problem hiding this comment.
Remove unresolved jszip import from bundled skill
This bundled skill imports jszip at module load time, but packaged desktop runtime only exposes bundled-node-modules to skill scripts (buildSkillNodePath in apps/desktop/main/runtime/manifests.ts), and packaging only copies sharp/@img there (apps/desktop/package.json extraResources). Because this skill has no colocated node_modules, import JSZip from "jszip" will fail in packaged builds before any command (setup, check, submit, etc.) can run.
Useful? React with 👍 / 👎.
| const DISTILL_AVATAR_ROOT = | ||
| "/Users/alche/Downloads/distill-campaign-clone/images"; |
There was a problem hiding this comment.
Replace machine-specific avatar path with bundled assets
Template deploys are hard-coded to read avatars from /Users/alche/Downloads/distill-campaign-clone/images, so submit --template-id distill-campaign will throw ENOENT on any machine that does not have that exact local path. Since selectRandomAvatar() always reads this directory before rendering, template-based deploys are effectively broken outside the author’s workstation.
Useful? React with 👍 / 👎.
| const statusPayload = parseStatusResponse(payload); | ||
| const nextJob = mergeJobWithStatus(currentJob, statusPayload, deps.nowImpl); | ||
| await savePageDeployJobs(input.nexuHome, upsertJob(jobs, nextJob)); |
There was a problem hiding this comment.
Verify status payload jobId before updating local job
queryPageDeployJob parses the remote status response and writes it into the local record without checking that payload.jobId matches the requested input.jobId. If the API ever returns a mismatched job payload (cache/proxy/server bug), this code can mark the wrong local job as succeeded/failed and produce an incorrect user-facing completion message.
Useful? React with 👍 / 👎.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Deploying nexu-docs with
|
| Latest commit: |
0069375
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://6fc42402.nexu-docs.pages.dev |
| Branch Preview URL: | https://feat-colleague-skill-remote.nexu-docs.pages.dev |
…ated styles Replace poster-bg/qr with consolidated poster image, add 7 portrait PNGs, rework campaign styles, and update deploy skill core logic and tests.
Summary
Verification