Version Packages (next) - #338

Merged
ryansolid merged 1 commit into
nextfrom
changeset-release/next
Sep 1, 2026
Merged

Version Packages (next)#338
ryansolid merged 1 commit into
nextfrom
changeset-release/next

Conversation

@github-actions

@github-actionsgithub-actionsBot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to next, this PR will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

next is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on next.

⚠️⚠️⚠️⚠️⚠️⚠️

Releases

@solidjs/vite-plugin@3.0.0-next.37

Patch Changes

  • 73751ca: Only attach a request body in the dev middlewares' Node-to-web bridging when the incoming request actually carries one (Content-Length/Transfer-Encoding, or the h2 END_STREAM flag). An unconditionally attached empty stream made bodyless POSTs — zero-argument scripted server function calls, synthetic dispatches — parse as a present-but-unusable body, which @solidjs/web 2.0.0-rc.5 rejects as malformed (400) instead of ignoring.
  • 16245b6: Dev middleware recognizes the scripted transport's data address. Scripted server-function calls now go to <endpoint>/data/<id> (A cacheable raw Response is shaped by a request header nothing keys on solid#3094), and the middleware's module-preload step assumed exactly one path segment after the mount — a cold function only client code references would never be evaluated in the SSR environment for a data-addressed call, answering 404 under vite dev. Dispatch itself was unaffected (mount matching is prefix-based). The id now parses from behind the literal data segment too; a function id spelled data still parses at the bare address, since an id occupies exactly one segment.
  • 3a7ff44: Document shell edits now trigger a full page reload instead of being silently absorbed (2.0.0-rc.3 | Updates in Document.jsx won't HRM update solid#3151). Two sides: the resolved start.document / src/Document.* module declines HMR in its client compile (it hydrates the whole document, so no component swap can ever apply — self-accept + invalidate makes Vite reload instead), and server-environment updates for files with no client-graph counterpart (client-mode documents, authored entry-server, middleware) send a browser full-reload rather than staying suppressed — the suppression exists to protect client HMR from full-reload races, but a server-only file has no client update to race with.
  • fb9f447: Drop the retired X-Server-Function-Id header and ?id= addressing fallback from the dev middleware's module-preload path. Addressing is path-only (<endpoint>/<id> and <endpoint>/data/<id>), matching the runtime's removal of its own transitional shims during the RC.
  • e9b2a39: Read the file hash from the second id segment. Server-function ids are now identity-keyed <name>-<hash>[-<ordinal>] (A server function's id encodes its position in the file, so appending one re-points existing addresses solid#3109) instead of positional <hash>-<ordinal>, so the dev middleware's id-to-module lookup takes the hash from split('-')[1] rather than the first segment.

@github-actions
github-actionsBotforce-pushed the changeset-release/next branch from 67db98e to 1131a9dCompareSeptember 1, 2026 18:38
@ryansolid
ryansolid merged commit 022d5c2 into nextSep 1, 2026
2 checks passed
Sign up for freeto 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

@ryansolid
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Version Packages (next) - #338

Merged
ryansolid merged 1 commit into
nextfrom
changeset-release/next
Sep 1, 2026
Merged

Version Packages (next)#338
ryansolid merged 1 commit into
nextfrom
changeset-release/next

Conversation

@github-actions

@github-actionsgithub-actionsBot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to next, this PR will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

next is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on next.

⚠️⚠️⚠️⚠️⚠️⚠️

Releases

@solidjs/vite-plugin@3.0.0-next.37

Patch Changes

  • 73751ca: Only attach a request body in the dev middlewares' Node-to-web bridging when the incoming request actually carries one (Content-Length/Transfer-Encoding, or the h2 END_STREAM flag). An unconditionally attached empty stream made bodyless POSTs — zero-argument scripted server function calls, synthetic dispatches — parse as a present-but-unusable body, which @solidjs/web 2.0.0-rc.5 rejects as malformed (400) instead of ignoring.
  • 16245b6: Dev middleware recognizes the scripted transport's data address. Scripted server-function calls now go to <endpoint>/data/<id> (A cacheable raw Response is shaped by a request header nothing keys on solid#3094), and the middleware's module-preload step assumed exactly one path segment after the mount — a cold function only client code references would never be evaluated in the SSR environment for a data-addressed call, answering 404 under vite dev. Dispatch itself was unaffected (mount matching is prefix-based). The id now parses from behind the literal data segment too; a function id spelled data still parses at the bare address, since an id occupies exactly one segment.
  • 3a7ff44: Document shell edits now trigger a full page reload instead of being silently absorbed (2.0.0-rc.3 | Updates in Document.jsx won't HRM update solid#3151). Two sides: the resolved start.document / src/Document.* module declines HMR in its client compile (it hydrates the whole document, so no component swap can ever apply — self-accept + invalidate makes Vite reload instead), and server-environment updates for files with no client-graph counterpart (client-mode documents, authored entry-server, middleware) send a browser full-reload rather than staying suppressed — the suppression exists to protect client HMR from full-reload races, but a server-only file has no client update to race with.
  • fb9f447: Drop the retired X-Server-Function-Id header and ?id= addressing fallback from the dev middleware's module-preload path. Addressing is path-only (<endpoint>/<id> and <endpoint>/data/<id>), matching the runtime's removal of its own transitional shims during the RC.
  • e9b2a39: Read the file hash from the second id segment. Server-function ids are now identity-keyed <name>-<hash>[-<ordinal>] (A server function's id encodes its position in the file, so appending one re-points existing addresses solid#3109) instead of positional <hash>-<ordinal>, so the dev middleware's id-to-module lookup takes the hash from split('-')[1] rather than the first segment.

@github-actions
github-actionsBotforce-pushed the changeset-release/next branch from 67db98e to 1131a9dCompareSeptember 1, 2026 18:38
@ryansolid
ryansolid merged commit 022d5c2 into nextSep 1, 2026
2 checks passed
Sign up for freeto 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

@ryansolid
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Version Packages (next) - #338

Merged
ryansolid merged 1 commit into
nextfrom
changeset-release/next
Sep 1, 2026
Merged

Version Packages (next)#338
ryansolid merged 1 commit into
nextfrom
changeset-release/next

Conversation

@github-actions

@github-actionsgithub-actionsBot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to next, this PR will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

next is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on next.

⚠️⚠️⚠️⚠️⚠️⚠️

Releases

@solidjs/vite-plugin@3.0.0-next.37

Patch Changes

  • 73751ca: Only attach a request body in the dev middlewares' Node-to-web bridging when the incoming request actually carries one (Content-Length/Transfer-Encoding, or the h2 END_STREAM flag). An unconditionally attached empty stream made bodyless POSTs — zero-argument scripted server function calls, synthetic dispatches — parse as a present-but-unusable body, which @solidjs/web 2.0.0-rc.5 rejects as malformed (400) instead of ignoring.
  • 16245b6: Dev middleware recognizes the scripted transport's data address. Scripted server-function calls now go to <endpoint>/data/<id> (A cacheable raw Response is shaped by a request header nothing keys on solid#3094), and the middleware's module-preload step assumed exactly one path segment after the mount — a cold function only client code references would never be evaluated in the SSR environment for a data-addressed call, answering 404 under vite dev. Dispatch itself was unaffected (mount matching is prefix-based). The id now parses from behind the literal data segment too; a function id spelled data still parses at the bare address, since an id occupies exactly one segment.
  • 3a7ff44: Document shell edits now trigger a full page reload instead of being silently absorbed (2.0.0-rc.3 | Updates in Document.jsx won't HRM update solid#3151). Two sides: the resolved start.document / src/Document.* module declines HMR in its client compile (it hydrates the whole document, so no component swap can ever apply — self-accept + invalidate makes Vite reload instead), and server-environment updates for files with no client-graph counterpart (client-mode documents, authored entry-server, middleware) send a browser full-reload rather than staying suppressed — the suppression exists to protect client HMR from full-reload races, but a server-only file has no client update to race with.
  • fb9f447: Drop the retired X-Server-Function-Id header and ?id= addressing fallback from the dev middleware's module-preload path. Addressing is path-only (<endpoint>/<id> and <endpoint>/data/<id>), matching the runtime's removal of its own transitional shims during the RC.
  • e9b2a39: Read the file hash from the second id segment. Server-function ids are now identity-keyed <name>-<hash>[-<ordinal>] (A server function's id encodes its position in the file, so appending one re-points existing addresses solid#3109) instead of positional <hash>-<ordinal>, so the dev middleware's id-to-module lookup takes the hash from split('-')[1] rather than the first segment.

@github-actions
github-actionsBotforce-pushed the changeset-release/next branch from 67db98e to 1131a9dCompareSeptember 1, 2026 18:38
@ryansolid
ryansolid merged commit 022d5c2 into nextSep 1, 2026
2 checks passed
Sign up for freeto 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

@ryansolid
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Version Packages (next) - #338

Merged
ryansolid merged 1 commit into
nextfrom
changeset-release/next
Sep 1, 2026
Merged

Version Packages (next)#338
ryansolid merged 1 commit into
nextfrom
changeset-release/next

Conversation

@github-actions

@github-actionsgithub-actionsBot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to next, this PR will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

next is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on next.

⚠️⚠️⚠️⚠️⚠️⚠️

Releases

@solidjs/vite-plugin@3.0.0-next.37

Patch Changes

  • 73751ca: Only attach a request body in the dev middlewares' Node-to-web bridging when the incoming request actually carries one (Content-Length/Transfer-Encoding, or the h2 END_STREAM flag). An unconditionally attached empty stream made bodyless POSTs — zero-argument scripted server function calls, synthetic dispatches — parse as a present-but-unusable body, which @solidjs/web 2.0.0-rc.5 rejects as malformed (400) instead of ignoring.
  • 16245b6: Dev middleware recognizes the scripted transport's data address. Scripted server-function calls now go to <endpoint>/data/<id> (A cacheable raw Response is shaped by a request header nothing keys on solid#3094), and the middleware's module-preload step assumed exactly one path segment after the mount — a cold function only client code references would never be evaluated in the SSR environment for a data-addressed call, answering 404 under vite dev. Dispatch itself was unaffected (mount matching is prefix-based). The id now parses from behind the literal data segment too; a function id spelled data still parses at the bare address, since an id occupies exactly one segment.
  • 3a7ff44: Document shell edits now trigger a full page reload instead of being silently absorbed (2.0.0-rc.3 | Updates in Document.jsx won't HRM update solid#3151). Two sides: the resolved start.document / src/Document.* module declines HMR in its client compile (it hydrates the whole document, so no component swap can ever apply — self-accept + invalidate makes Vite reload instead), and server-environment updates for files with no client-graph counterpart (client-mode documents, authored entry-server, middleware) send a browser full-reload rather than staying suppressed — the suppression exists to protect client HMR from full-reload races, but a server-only file has no client update to race with.
  • fb9f447: Drop the retired X-Server-Function-Id header and ?id= addressing fallback from the dev middleware's module-preload path. Addressing is path-only (<endpoint>/<id> and <endpoint>/data/<id>), matching the runtime's removal of its own transitional shims during the RC.
  • e9b2a39: Read the file hash from the second id segment. Server-function ids are now identity-keyed <name>-<hash>[-<ordinal>] (A server function's id encodes its position in the file, so appending one re-points existing addresses solid#3109) instead of positional <hash>-<ordinal>, so the dev middleware's id-to-module lookup takes the hash from split('-')[1] rather than the first segment.

@github-actions
github-actionsBotforce-pushed the changeset-release/next branch from 67db98e to 1131a9dCompareSeptember 1, 2026 18:38
@ryansolid
ryansolid merged commit 022d5c2 into nextSep 1, 2026
2 checks passed
Sign up for freeto 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

@ryansolid
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Version Packages (next) - #338

Merged
ryansolid merged 1 commit into
nextfrom
changeset-release/next
Sep 1, 2026
Merged

Version Packages (next)#338
ryansolid merged 1 commit into
nextfrom
changeset-release/next

Conversation

@github-actions

@github-actionsgithub-actionsBot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to next, this PR will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

next is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on next.

⚠️⚠️⚠️⚠️⚠️⚠️

Releases

@solidjs/vite-plugin@3.0.0-next.37

Patch Changes

  • 73751ca: Only attach a request body in the dev middlewares' Node-to-web bridging when the incoming request actually carries one (Content-Length/Transfer-Encoding, or the h2 END_STREAM flag). An unconditionally attached empty stream made bodyless POSTs — zero-argument scripted server function calls, synthetic dispatches — parse as a present-but-unusable body, which @solidjs/web 2.0.0-rc.5 rejects as malformed (400) instead of ignoring.
  • 16245b6: Dev middleware recognizes the scripted transport's data address. Scripted server-function calls now go to <endpoint>/data/<id> (A cacheable raw Response is shaped by a request header nothing keys on solid#3094), and the middleware's module-preload step assumed exactly one path segment after the mount — a cold function only client code references would never be evaluated in the SSR environment for a data-addressed call, answering 404 under vite dev. Dispatch itself was unaffected (mount matching is prefix-based). The id now parses from behind the literal data segment too; a function id spelled data still parses at the bare address, since an id occupies exactly one segment.
  • 3a7ff44: Document shell edits now trigger a full page reload instead of being silently absorbed (2.0.0-rc.3 | Updates in Document.jsx won't HRM update solid#3151). Two sides: the resolved start.document / src/Document.* module declines HMR in its client compile (it hydrates the whole document, so no component swap can ever apply — self-accept + invalidate makes Vite reload instead), and server-environment updates for files with no client-graph counterpart (client-mode documents, authored entry-server, middleware) send a browser full-reload rather than staying suppressed — the suppression exists to protect client HMR from full-reload races, but a server-only file has no client update to race with.
  • fb9f447: Drop the retired X-Server-Function-Id header and ?id= addressing fallback from the dev middleware's module-preload path. Addressing is path-only (<endpoint>/<id> and <endpoint>/data/<id>), matching the runtime's removal of its own transitional shims during the RC.
  • e9b2a39: Read the file hash from the second id segment. Server-function ids are now identity-keyed <name>-<hash>[-<ordinal>] (A server function's id encodes its position in the file, so appending one re-points existing addresses solid#3109) instead of positional <hash>-<ordinal>, so the dev middleware's id-to-module lookup takes the hash from split('-')[1] rather than the first segment.

@github-actions
github-actionsBotforce-pushed the changeset-release/next branch from 67db98e to 1131a9dCompareSeptember 1, 2026 18:38
@ryansolid
ryansolid merged commit 022d5c2 into nextSep 1, 2026
2 checks passed
Sign up for freeto 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

@ryansolid
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Version Packages (next) - #338

Merged
ryansolid merged 1 commit into
nextfrom
changeset-release/next
Sep 1, 2026
Merged

Version Packages (next)#338
ryansolid merged 1 commit into
nextfrom
changeset-release/next

Conversation

@github-actions

@github-actionsgithub-actionsBot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to next, this PR will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

next is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on next.

⚠️⚠️⚠️⚠️⚠️⚠️

Releases

@solidjs/vite-plugin@3.0.0-next.37

Patch Changes

  • 73751ca: Only attach a request body in the dev middlewares' Node-to-web bridging when the incoming request actually carries one (Content-Length/Transfer-Encoding, or the h2 END_STREAM flag). An unconditionally attached empty stream made bodyless POSTs — zero-argument scripted server function calls, synthetic dispatches — parse as a present-but-unusable body, which @solidjs/web 2.0.0-rc.5 rejects as malformed (400) instead of ignoring.
  • 16245b6: Dev middleware recognizes the scripted transport's data address. Scripted server-function calls now go to <endpoint>/data/<id> (A cacheable raw Response is shaped by a request header nothing keys on solid#3094), and the middleware's module-preload step assumed exactly one path segment after the mount — a cold function only client code references would never be evaluated in the SSR environment for a data-addressed call, answering 404 under vite dev. Dispatch itself was unaffected (mount matching is prefix-based). The id now parses from behind the literal data segment too; a function id spelled data still parses at the bare address, since an id occupies exactly one segment.
  • 3a7ff44: Document shell edits now trigger a full page reload instead of being silently absorbed (2.0.0-rc.3 | Updates in Document.jsx won't HRM update solid#3151). Two sides: the resolved start.document / src/Document.* module declines HMR in its client compile (it hydrates the whole document, so no component swap can ever apply — self-accept + invalidate makes Vite reload instead), and server-environment updates for files with no client-graph counterpart (client-mode documents, authored entry-server, middleware) send a browser full-reload rather than staying suppressed — the suppression exists to protect client HMR from full-reload races, but a server-only file has no client update to race with.
  • fb9f447: Drop the retired X-Server-Function-Id header and ?id= addressing fallback from the dev middleware's module-preload path. Addressing is path-only (<endpoint>/<id> and <endpoint>/data/<id>), matching the runtime's removal of its own transitional shims during the RC.
  • e9b2a39: Read the file hash from the second id segment. Server-function ids are now identity-keyed <name>-<hash>[-<ordinal>] (A server function's id encodes its position in the file, so appending one re-points existing addresses solid#3109) instead of positional <hash>-<ordinal>, so the dev middleware's id-to-module lookup takes the hash from split('-')[1] rather than the first segment.

@github-actions
github-actionsBotforce-pushed the changeset-release/next branch from 67db98e to 1131a9dCompareSeptember 1, 2026 18:38
@ryansolid
ryansolid merged commit 022d5c2 into nextSep 1, 2026
2 checks passed
Sign up for freeto 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

@ryansolid
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Version Packages (next) - #338

Merged
ryansolid merged 1 commit into
nextfrom
changeset-release/next
Sep 1, 2026
Merged

Version Packages (next)#338
ryansolid merged 1 commit into
nextfrom
changeset-release/next

Conversation

@github-actions

@github-actionsgithub-actionsBot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to next, this PR will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

next is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on next.

⚠️⚠️⚠️⚠️⚠️⚠️

Releases

@solidjs/vite-plugin@3.0.0-next.37

Patch Changes

  • 73751ca: Only attach a request body in the dev middlewares' Node-to-web bridging when the incoming request actually carries one (Content-Length/Transfer-Encoding, or the h2 END_STREAM flag). An unconditionally attached empty stream made bodyless POSTs — zero-argument scripted server function calls, synthetic dispatches — parse as a present-but-unusable body, which @solidjs/web 2.0.0-rc.5 rejects as malformed (400) instead of ignoring.
  • 16245b6: Dev middleware recognizes the scripted transport's data address. Scripted server-function calls now go to <endpoint>/data/<id> (A cacheable raw Response is shaped by a request header nothing keys on solid#3094), and the middleware's module-preload step assumed exactly one path segment after the mount — a cold function only client code references would never be evaluated in the SSR environment for a data-addressed call, answering 404 under vite dev. Dispatch itself was unaffected (mount matching is prefix-based). The id now parses from behind the literal data segment too; a function id spelled data still parses at the bare address, since an id occupies exactly one segment.
  • 3a7ff44: Document shell edits now trigger a full page reload instead of being silently absorbed (2.0.0-rc.3 | Updates in Document.jsx won't HRM update solid#3151). Two sides: the resolved start.document / src/Document.* module declines HMR in its client compile (it hydrates the whole document, so no component swap can ever apply — self-accept + invalidate makes Vite reload instead), and server-environment updates for files with no client-graph counterpart (client-mode documents, authored entry-server, middleware) send a browser full-reload rather than staying suppressed — the suppression exists to protect client HMR from full-reload races, but a server-only file has no client update to race with.
  • fb9f447: Drop the retired X-Server-Function-Id header and ?id= addressing fallback from the dev middleware's module-preload path. Addressing is path-only (<endpoint>/<id> and <endpoint>/data/<id>), matching the runtime's removal of its own transitional shims during the RC.
  • e9b2a39: Read the file hash from the second id segment. Server-function ids are now identity-keyed <name>-<hash>[-<ordinal>] (A server function's id encodes its position in the file, so appending one re-points existing addresses solid#3109) instead of positional <hash>-<ordinal>, so the dev middleware's id-to-module lookup takes the hash from split('-')[1] rather than the first segment.

@github-actions
github-actionsBotforce-pushed the changeset-release/next branch from 67db98e to 1131a9dCompareSeptember 1, 2026 18:38
@ryansolid
ryansolid merged commit 022d5c2 into nextSep 1, 2026
2 checks passed
Sign up for freeto 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

@ryansolid
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Version Packages (next) - #338

Merged
ryansolid merged 1 commit into
nextfrom
changeset-release/next
Sep 1, 2026
Merged

Version Packages (next)#338
ryansolid merged 1 commit into
nextfrom
changeset-release/next

Conversation

@github-actions

@github-actionsgithub-actionsBot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to next, this PR will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

next is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on next.

⚠️⚠️⚠️⚠️⚠️⚠️

Releases

@solidjs/vite-plugin@3.0.0-next.37

Patch Changes

  • 73751ca: Only attach a request body in the dev middlewares' Node-to-web bridging when the incoming request actually carries one (Content-Length/Transfer-Encoding, or the h2 END_STREAM flag). An unconditionally attached empty stream made bodyless POSTs — zero-argument scripted server function calls, synthetic dispatches — parse as a present-but-unusable body, which @solidjs/web 2.0.0-rc.5 rejects as malformed (400) instead of ignoring.
  • 16245b6: Dev middleware recognizes the scripted transport's data address. Scripted server-function calls now go to <endpoint>/data/<id> (A cacheable raw Response is shaped by a request header nothing keys on solid#3094), and the middleware's module-preload step assumed exactly one path segment after the mount — a cold function only client code references would never be evaluated in the SSR environment for a data-addressed call, answering 404 under vite dev. Dispatch itself was unaffected (mount matching is prefix-based). The id now parses from behind the literal data segment too; a function id spelled data still parses at the bare address, since an id occupies exactly one segment.
  • 3a7ff44: Document shell edits now trigger a full page reload instead of being silently absorbed (2.0.0-rc.3 | Updates in Document.jsx won't HRM update solid#3151). Two sides: the resolved start.document / src/Document.* module declines HMR in its client compile (it hydrates the whole document, so no component swap can ever apply — self-accept + invalidate makes Vite reload instead), and server-environment updates for files with no client-graph counterpart (client-mode documents, authored entry-server, middleware) send a browser full-reload rather than staying suppressed — the suppression exists to protect client HMR from full-reload races, but a server-only file has no client update to race with.
  • fb9f447: Drop the retired X-Server-Function-Id header and ?id= addressing fallback from the dev middleware's module-preload path. Addressing is path-only (<endpoint>/<id> and <endpoint>/data/<id>), matching the runtime's removal of its own transitional shims during the RC.
  • e9b2a39: Read the file hash from the second id segment. Server-function ids are now identity-keyed <name>-<hash>[-<ordinal>] (A server function's id encodes its position in the file, so appending one re-points existing addresses solid#3109) instead of positional <hash>-<ordinal>, so the dev middleware's id-to-module lookup takes the hash from split('-')[1] rather than the first segment.

@github-actions
github-actionsBotforce-pushed the changeset-release/next branch from 67db98e to 1131a9dCompareSeptember 1, 2026 18:38
@ryansolid
ryansolid merged commit 022d5c2 into nextSep 1, 2026
2 checks passed
Sign up for freeto 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

@ryansolid