Repository navigation
Update OpenFilm MiniApp to OpenFilm 0.3.0 - #112
Merged
MyPrototypeWhat merged 1 commit intoNov 9, 2026
Merged
MyPrototypeWhat merged 1 commit into
MyPrototypeWhat merged 1 commit into
Conversation
- Pin the npm fallback to openfilm@0.3.0 and start Studio by calling upstream's startStudio from the local clone instead of `openfilm open` (that path reuses a machine-wide Studio and can launch an incomplete Electron app). - Let the OS pick the Studio port (port: 0) and read the real origin and film origin back from the run.json it writes; a fixed port collided. - Spawn the worker with ELECTRON_RUN_AS_NODE: the panel runs inside Electron, so process.execPath is the helper binary, not node. - Merge the panel's own project list with the user's instead of overwriting it. - Register the 0.3.0 IPC additions (chat:undo with turnId, agents:refresh) and pass upstream's trash into the chat handler. - Restrict local agent starts to project folders. - Fail visibly when the spawned Studio dies; kill only the process we started. - Resolve the npm fallback asynchronously; update README/NOTICE/SKILL for 0.3.0. - Acceptance script: 49 checks.
cristinamadureira353-svg
force-pushed
the
add-openfilm-miniapp
branch
from
November 8, 2026 01:16
91e80a7 to
1b0cc45
Compare
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.
Follow-up to #73 (merged): brings the OpenFilm Mini App to the current upstream release, 0.3.0, and fixes what only showed up once it was actually driven from inside MiniMax Code.
What and why
npx openfilm open. With 0.3.0 that path reuses whichever Studio the machine already has, checks for updates, and can try to launch an Electron app whose helper is not there. It now calls upstream'sstartStudiofrom the clone named byopenfilmRepo(advertise: true, no browser opener), and only falls back to the pinnedopenfilm@0.3.0from npm when there is no clone.EADDRINUSE). Studio now starts withport: 0; the real origin and film origin are read back from therun.jsonit writes, which is what reuse and the preview proxy already used.process.execPathis the helper binary; spawning it printedUnable to find helper app. The worker now getsELECTRON_RUN_AS_NODE=1(ignored when the parent really is node).studio.json; the panel now merges its own entries with the ones it reads in the user's OpenFilm home, so projects created in the panel survive a restart. The user's file is only read — disclosed in## Data & access.desktop:chat:undonow validatesturnId,desktop:agents:refreshis registered, and upstream'strash.mjsis passed to the chat handler because "undo a turn" moves the files that turn added to the trash. Installer, sign-in andautomaticare still not registered.disposekills only the process this instance started (arun.jsonmay have been rewritten by a newer Studio that is not ours); the npm fallback is resolved asynchronously so a slownpxcannot freeze the panel./api/get(generates media, may cost) and/api/providers(your service keys) are still not proxied, as before.Attribution is unchanged: OpenFilm is by the authors of openfilm/openfilm; this package only drives it at runtime and contains none of its source.
Testing
node test/accept-miniapp.mjs— 49 checks, all pass: boot on the real 0.3.0 (version asserted), desktop IPC, project tree, chat history, agent roster (11 agents), SSE, web fallback, missing-shell error, two panels → one Studio, dispose with open SSE streams, the review-hardening assertions (no key in the page, route/IPC allowlists, payload validation, reveal restriction, agent cwd restriction), the project-list merge, and the preview path (film page proxied, editor origin rewritten, bridge same-origin allowed, media served).npm run checkin this repository:plugins/cristinamadureira353-svg/openfilm: OK,# pass 87,# fail 0.Not verified: a full agent turn end to end — two chat-side fetches (
/api/turns/<id>/progress,/api/uploads/blob/…) have no matching Studio route, so those specific requests cannot succeed through the proxy; Windows/Linux; the npm fallback when there is no local clone; and the preview with a non-empty project (the preview pane and the film proxy are covered by the acceptance checks, but the project open during the manual run was empty).