Repository navigation
End pageController.js on a cloneable value for Firefox - #3
Open
InventivetalentDev wants to merge 1 commit into
Open
InventivetalentDev wants to merge 1 commit into
InventivetalentDev wants to merge 1 commit into
Conversation
The extension injects this file with scripting.executeScript(), which hands
the script's completion value back to the caller. That value was the socket
returned by socket.connect(). Chrome quietly turns a value it can't
structure-clone into null. Firefox rejects the whole executeScript() call
instead ("result is non-structured-clonable data"), so the popup never got
to send inject_controller, and the overlay, laser pointer and calibration
marks never loaded. The script itself had already run, so the session was
joined and key presses still worked.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P3g3vcYRESg89oZuTf7eP5
This was referenced Oct 18, 2026
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.
Part of adding Firefox support to the browser extension (RemoteSlide/RemoteSlide-Chrome#5).
Problem
The extension injects
pageController.jswithchrome.scripting.executeScript(), which hands the script's completion value back to the caller. The last statement wassocket.connect(...), so that value was the socket object.null.executeScript()call ("result is non-structured-clonable data").The script itself had already run, so the session was joined and key presses worked. But the popup's promise chain stopped there and never sent
inject_controller, so in Firefox the overlay, laser pointer and calibration marks never loaded.Change
pageController.jsnow ends on a plainundefined;statement, with a comment explaining why. The bookmarklet doesn't use the completion value, so it is unaffected.Testing
Checked end to end with the extension against a local copy of the site:
executeScript()call rejected and the overlay didn't load. After it, the call resolves, and the overlay and laser dot load.nullinstead of a dropped socket.Merging
Please merge with a merge commit (as #2 was), not squash. The extension's
inject/controllersubmodule in RemoteSlide/RemoteSlide-Chrome#5 points at this branch's commit7f11f75. A squash merge plus branch deletion would leave that commit unreachable, and fresh clones of the extension would fail. If you do squash, repoint the extension's submodule at the squashed commit before merging its PR.The website's
static/inject/controller(RemoteSlide/remote-sli.de#11) is deliberately not bumped, since the bookmarklet doesn't need the fix.🤖 Generated with Claude Code
https://claude.ai/code/session_01P3g3vcYRESg89oZuTf7eP5