Skip to content

[browser] fix loading assets - #89687

Merged
pavelsavara merged 14 commits into
dotnet:mainfrom
pavelsavara:browser_fix_loading_assets
Aug 2, 2023
Merged

[browser] fix loading assets#89687
pavelsavara merged 14 commits into
dotnet:mainfrom
pavelsavara:browser_fix_loading_assets

Conversation

@pavelsavara

@pavelsavarapavelsavara commented Jul 29, 2023

Copy link
Copy Markdown
Member
  • make sure that we resolve URLs from loadBootResource to absolute URL with document.baseURI
    • added makeURLAbsoluteWithApplicationBase
    • add new last parameter to loadBootResource call with runime behavior type,
    • removed double call to loadBootResource
  • add manifest, js-module-dotnet to AssetBehaviors
  • add WebAssemblyBootResourceType back to dotnet.d.ts
  • rename jsSymbols to wasmSymbols, this was a mistake
  • added browser-minimal-config sample
  • fix merging config
  • fix loading from legacy config.assets

Fixes#89510
Fixes#89570
Fixes#89766

@pavelsavarapavelsavara added arch-wasm WebAssembly architecture area-System.Runtime.InteropServices.JavaScript os-browser Browser variant of arch-wasm labels Jul 29, 2023
@pavelsavarapavelsavara added this to the 8.0.0 milestone Jul 29, 2023
@pavelsavara
pavelsavara requested a review from marafJuly 29, 2023 23:40
@pavelsavarapavelsavara self-assigned this Jul 29, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #89510
Fixes #89570

Author:pavelsavara
Assignees:pavelsavara
Labels:

arch-wasm, area-System.Runtime.InteropServices.JavaScript, os-browser

Milestone:8.0.0

…L with document.baseURI, added makeURLAbsoluteWithApplicationBase
- add new last parameter to loadBootResource call with runime behavior type, remove double call to loadBootResource
- add manifest, js-module-loader to AssetBehaviors
- add WebAssemblyBootResourceType back
- rename jsSymbols to wasmSymbols, this was a mistake
@pavelsavara
pavelsavara marked this pull request as ready for review August 1, 2023 17:23
Comment threadsrc/mono/sample/wasm/browser-advanced/main.js Outdated
Comment threadsrc/mono/wasm/runtime/loader/assets.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/assets.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/config.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/config.ts
Comment threadsrc/mono/wasm/runtime/loader/polyfills.ts
kg
kg approved these changes Aug 1, 2023
@radical

Copy link
Copy Markdown
Member

Is the sample testing the issue being fixed here? Can we please move to a WBT test? Having it in a sample makes it breakable in future, because we won't really know what it was testing necessarily. And somebody trying to clean up, or improve the code might break remove the things that we wanted to test.

@pavelsavara

Copy link
Copy Markdown
MemberAuthor

Is the sample testing the issue being fixed here? Can we please move to a WBT test?

About browser-minimal-config: yes I want to do that in the future.

The Wasm.Build.Tests.TestAppScenarios.AppTestBase is currently Blazor based and I want non-blazor template for it. And I want to use the src\mono\wasm\testassets\ style. We can refactor AppTestBase and do that in another PR.

@pavelsavara
pavelsavara merged commit 0d6d6c3 into dotnet:mainAug 2, 2023
@ghostghost locked as resolved and limited conversation to collaborators Sep 1, 2023
@pavelsavara
pavelsavara deleted the browser_fix_loading_assets branch September 2, 2024 15:33
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-wasmWebAssembly architecturearea-System.Runtime.InteropServices.JavaScriptos-browserBrowser variant of arch-wasm

Projects

None yet

3 participants

@pavelsavara@radical@kg
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
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;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
[browser] fix loading assets by pavelsavara · Pull Request #89687 · dotnet/runtime · GitHub
Skip to content

[browser] fix loading assets - #89687

Merged
pavelsavara merged 14 commits into
dotnet:mainfrom
pavelsavara:browser_fix_loading_assets
Aug 2, 2023
Merged

[browser] fix loading assets#89687
pavelsavara merged 14 commits into
dotnet:mainfrom
pavelsavara:browser_fix_loading_assets

Conversation

@pavelsavara

@pavelsavarapavelsavara commented Jul 29, 2023

Copy link
Copy Markdown
Member
  • make sure that we resolve URLs from loadBootResource to absolute URL with document.baseURI
    • added makeURLAbsoluteWithApplicationBase
    • add new last parameter to loadBootResource call with runime behavior type,
    • removed double call to loadBootResource
  • add manifest, js-module-dotnet to AssetBehaviors
  • add WebAssemblyBootResourceType back to dotnet.d.ts
  • rename jsSymbols to wasmSymbols, this was a mistake
  • added browser-minimal-config sample
  • fix merging config
  • fix loading from legacy config.assets

Fixes#89510
Fixes#89570
Fixes#89766

@pavelsavarapavelsavara added arch-wasm WebAssembly architecture area-System.Runtime.InteropServices.JavaScript os-browser Browser variant of arch-wasm labels Jul 29, 2023
@pavelsavarapavelsavara added this to the 8.0.0 milestone Jul 29, 2023
@pavelsavara
pavelsavara requested a review from marafJuly 29, 2023 23:40
@pavelsavarapavelsavara self-assigned this Jul 29, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #89510
Fixes #89570

Author:pavelsavara
Assignees:pavelsavara
Labels:

arch-wasm, area-System.Runtime.InteropServices.JavaScript, os-browser

Milestone:8.0.0

…L with document.baseURI, added makeURLAbsoluteWithApplicationBase
- add new last parameter to loadBootResource call with runime behavior type, remove double call to loadBootResource
- add manifest, js-module-loader to AssetBehaviors
- add WebAssemblyBootResourceType back
- rename jsSymbols to wasmSymbols, this was a mistake
@pavelsavara
pavelsavara marked this pull request as ready for review August 1, 2023 17:23
Comment threadsrc/mono/sample/wasm/browser-advanced/main.js Outdated
Comment threadsrc/mono/wasm/runtime/loader/assets.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/assets.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/config.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/config.ts
Comment threadsrc/mono/wasm/runtime/loader/polyfills.ts
kg
kg approved these changes Aug 1, 2023
@radical

Copy link
Copy Markdown
Member

Is the sample testing the issue being fixed here? Can we please move to a WBT test? Having it in a sample makes it breakable in future, because we won't really know what it was testing necessarily. And somebody trying to clean up, or improve the code might break remove the things that we wanted to test.

@pavelsavara

Copy link
Copy Markdown
MemberAuthor

Is the sample testing the issue being fixed here? Can we please move to a WBT test?

About browser-minimal-config: yes I want to do that in the future.

The Wasm.Build.Tests.TestAppScenarios.AppTestBase is currently Blazor based and I want non-blazor template for it. And I want to use the src\mono\wasm\testassets\ style. We can refactor AppTestBase and do that in another PR.

@pavelsavara
pavelsavara merged commit 0d6d6c3 into dotnet:mainAug 2, 2023
@ghostghost locked as resolved and limited conversation to collaborators Sep 1, 2023
@pavelsavara
pavelsavara deleted the browser_fix_loading_assets branch September 2, 2024 15:33
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-wasmWebAssembly architecturearea-System.Runtime.InteropServices.JavaScriptos-browserBrowser variant of arch-wasm

Projects

None yet

3 participants

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

[browser] fix loading assets - #89687

Merged
pavelsavara merged 14 commits into
dotnet:mainfrom
pavelsavara:browser_fix_loading_assets
Aug 2, 2023
Merged

[browser] fix loading assets#89687
pavelsavara merged 14 commits into
dotnet:mainfrom
pavelsavara:browser_fix_loading_assets

Conversation

@pavelsavara

@pavelsavarapavelsavara commented Jul 29, 2023

Copy link
Copy Markdown
Member
  • make sure that we resolve URLs from loadBootResource to absolute URL with document.baseURI
    • added makeURLAbsoluteWithApplicationBase
    • add new last parameter to loadBootResource call with runime behavior type,
    • removed double call to loadBootResource
  • add manifest, js-module-dotnet to AssetBehaviors
  • add WebAssemblyBootResourceType back to dotnet.d.ts
  • rename jsSymbols to wasmSymbols, this was a mistake
  • added browser-minimal-config sample
  • fix merging config
  • fix loading from legacy config.assets

Fixes#89510
Fixes#89570
Fixes#89766

@pavelsavarapavelsavara added arch-wasm WebAssembly architecture area-System.Runtime.InteropServices.JavaScript os-browser Browser variant of arch-wasm labels Jul 29, 2023
@pavelsavarapavelsavara added this to the 8.0.0 milestone Jul 29, 2023
@pavelsavara
pavelsavara requested a review from marafJuly 29, 2023 23:40
@pavelsavarapavelsavara self-assigned this Jul 29, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #89510
Fixes #89570

Author:pavelsavara
Assignees:pavelsavara
Labels:

arch-wasm, area-System.Runtime.InteropServices.JavaScript, os-browser

Milestone:8.0.0

…L with document.baseURI, added makeURLAbsoluteWithApplicationBase
- add new last parameter to loadBootResource call with runime behavior type, remove double call to loadBootResource
- add manifest, js-module-loader to AssetBehaviors
- add WebAssemblyBootResourceType back
- rename jsSymbols to wasmSymbols, this was a mistake
@pavelsavara
pavelsavara marked this pull request as ready for review August 1, 2023 17:23
Comment threadsrc/mono/sample/wasm/browser-advanced/main.js Outdated
Comment threadsrc/mono/wasm/runtime/loader/assets.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/assets.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/config.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/config.ts
Comment threadsrc/mono/wasm/runtime/loader/polyfills.ts
kg
kg approved these changes Aug 1, 2023
@radical

Copy link
Copy Markdown
Member

Is the sample testing the issue being fixed here? Can we please move to a WBT test? Having it in a sample makes it breakable in future, because we won't really know what it was testing necessarily. And somebody trying to clean up, or improve the code might break remove the things that we wanted to test.

@pavelsavara

Copy link
Copy Markdown
MemberAuthor

Is the sample testing the issue being fixed here? Can we please move to a WBT test?

About browser-minimal-config: yes I want to do that in the future.

The Wasm.Build.Tests.TestAppScenarios.AppTestBase is currently Blazor based and I want non-blazor template for it. And I want to use the src\mono\wasm\testassets\ style. We can refactor AppTestBase and do that in another PR.

@pavelsavara
pavelsavara merged commit 0d6d6c3 into dotnet:mainAug 2, 2023
@ghostghost locked as resolved and limited conversation to collaborators Sep 1, 2023
@pavelsavara
pavelsavara deleted the browser_fix_loading_assets branch September 2, 2024 15:33
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-wasmWebAssembly architecturearea-System.Runtime.InteropServices.JavaScriptos-browserBrowser variant of arch-wasm

Projects

None yet

3 participants

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

[browser] fix loading assets - #89687

Merged
pavelsavara merged 14 commits into
dotnet:mainfrom
pavelsavara:browser_fix_loading_assets
Aug 2, 2023
Merged

[browser] fix loading assets#89687
pavelsavara merged 14 commits into
dotnet:mainfrom
pavelsavara:browser_fix_loading_assets

Conversation

@pavelsavara

@pavelsavarapavelsavara commented Jul 29, 2023

Copy link
Copy Markdown
Member
  • make sure that we resolve URLs from loadBootResource to absolute URL with document.baseURI
    • added makeURLAbsoluteWithApplicationBase
    • add new last parameter to loadBootResource call with runime behavior type,
    • removed double call to loadBootResource
  • add manifest, js-module-dotnet to AssetBehaviors
  • add WebAssemblyBootResourceType back to dotnet.d.ts
  • rename jsSymbols to wasmSymbols, this was a mistake
  • added browser-minimal-config sample
  • fix merging config
  • fix loading from legacy config.assets

Fixes#89510
Fixes#89570
Fixes#89766

@pavelsavarapavelsavara added arch-wasm WebAssembly architecture area-System.Runtime.InteropServices.JavaScript os-browser Browser variant of arch-wasm labels Jul 29, 2023
@pavelsavarapavelsavara added this to the 8.0.0 milestone Jul 29, 2023
@pavelsavara
pavelsavara requested a review from marafJuly 29, 2023 23:40
@pavelsavarapavelsavara self-assigned this Jul 29, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #89510
Fixes #89570

Author:pavelsavara
Assignees:pavelsavara
Labels:

arch-wasm, area-System.Runtime.InteropServices.JavaScript, os-browser

Milestone:8.0.0

…L with document.baseURI, added makeURLAbsoluteWithApplicationBase
- add new last parameter to loadBootResource call with runime behavior type, remove double call to loadBootResource
- add manifest, js-module-loader to AssetBehaviors
- add WebAssemblyBootResourceType back
- rename jsSymbols to wasmSymbols, this was a mistake
@pavelsavara
pavelsavara marked this pull request as ready for review August 1, 2023 17:23
Comment threadsrc/mono/sample/wasm/browser-advanced/main.js Outdated
Comment threadsrc/mono/wasm/runtime/loader/assets.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/assets.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/config.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/config.ts
Comment threadsrc/mono/wasm/runtime/loader/polyfills.ts
kg
kg approved these changes Aug 1, 2023
@radical

Copy link
Copy Markdown
Member

Is the sample testing the issue being fixed here? Can we please move to a WBT test? Having it in a sample makes it breakable in future, because we won't really know what it was testing necessarily. And somebody trying to clean up, or improve the code might break remove the things that we wanted to test.

@pavelsavara

Copy link
Copy Markdown
MemberAuthor

Is the sample testing the issue being fixed here? Can we please move to a WBT test?

About browser-minimal-config: yes I want to do that in the future.

The Wasm.Build.Tests.TestAppScenarios.AppTestBase is currently Blazor based and I want non-blazor template for it. And I want to use the src\mono\wasm\testassets\ style. We can refactor AppTestBase and do that in another PR.

@pavelsavara
pavelsavara merged commit 0d6d6c3 into dotnet:mainAug 2, 2023
@ghostghost locked as resolved and limited conversation to collaborators Sep 1, 2023
@pavelsavara
pavelsavara deleted the browser_fix_loading_assets branch September 2, 2024 15:33
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-wasmWebAssembly architecturearea-System.Runtime.InteropServices.JavaScriptos-browserBrowser variant of arch-wasm

Projects

None yet

3 participants

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

[browser] fix loading assets - #89687

Merged
pavelsavara merged 14 commits into
dotnet:mainfrom
pavelsavara:browser_fix_loading_assets
Aug 2, 2023
Merged

[browser] fix loading assets#89687
pavelsavara merged 14 commits into
dotnet:mainfrom
pavelsavara:browser_fix_loading_assets

Conversation

@pavelsavara

@pavelsavarapavelsavara commented Jul 29, 2023

Copy link
Copy Markdown
Member
  • make sure that we resolve URLs from loadBootResource to absolute URL with document.baseURI
    • added makeURLAbsoluteWithApplicationBase
    • add new last parameter to loadBootResource call with runime behavior type,
    • removed double call to loadBootResource
  • add manifest, js-module-dotnet to AssetBehaviors
  • add WebAssemblyBootResourceType back to dotnet.d.ts
  • rename jsSymbols to wasmSymbols, this was a mistake
  • added browser-minimal-config sample
  • fix merging config
  • fix loading from legacy config.assets

Fixes#89510
Fixes#89570
Fixes#89766

@pavelsavarapavelsavara added arch-wasm WebAssembly architecture area-System.Runtime.InteropServices.JavaScript os-browser Browser variant of arch-wasm labels Jul 29, 2023
@pavelsavarapavelsavara added this to the 8.0.0 milestone Jul 29, 2023
@pavelsavara
pavelsavara requested a review from marafJuly 29, 2023 23:40
@pavelsavarapavelsavara self-assigned this Jul 29, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #89510
Fixes #89570

Author:pavelsavara
Assignees:pavelsavara
Labels:

arch-wasm, area-System.Runtime.InteropServices.JavaScript, os-browser

Milestone:8.0.0

…L with document.baseURI, added makeURLAbsoluteWithApplicationBase
- add new last parameter to loadBootResource call with runime behavior type, remove double call to loadBootResource
- add manifest, js-module-loader to AssetBehaviors
- add WebAssemblyBootResourceType back
- rename jsSymbols to wasmSymbols, this was a mistake
@pavelsavara
pavelsavara marked this pull request as ready for review August 1, 2023 17:23
Comment threadsrc/mono/sample/wasm/browser-advanced/main.js Outdated
Comment threadsrc/mono/wasm/runtime/loader/assets.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/assets.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/config.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/config.ts
Comment threadsrc/mono/wasm/runtime/loader/polyfills.ts
kg
kg approved these changes Aug 1, 2023
@radical

Copy link
Copy Markdown
Member

Is the sample testing the issue being fixed here? Can we please move to a WBT test? Having it in a sample makes it breakable in future, because we won't really know what it was testing necessarily. And somebody trying to clean up, or improve the code might break remove the things that we wanted to test.

@pavelsavara

Copy link
Copy Markdown
MemberAuthor

Is the sample testing the issue being fixed here? Can we please move to a WBT test?

About browser-minimal-config: yes I want to do that in the future.

The Wasm.Build.Tests.TestAppScenarios.AppTestBase is currently Blazor based and I want non-blazor template for it. And I want to use the src\mono\wasm\testassets\ style. We can refactor AppTestBase and do that in another PR.

@pavelsavara
pavelsavara merged commit 0d6d6c3 into dotnet:mainAug 2, 2023
@ghostghost locked as resolved and limited conversation to collaborators Sep 1, 2023
@pavelsavara
pavelsavara deleted the browser_fix_loading_assets branch September 2, 2024 15:33
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-wasmWebAssembly architecturearea-System.Runtime.InteropServices.JavaScriptos-browserBrowser variant of arch-wasm

Projects

None yet

3 participants

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

[browser] fix loading assets - #89687

Merged
pavelsavara merged 14 commits into
dotnet:mainfrom
pavelsavara:browser_fix_loading_assets
Aug 2, 2023
Merged

[browser] fix loading assets#89687
pavelsavara merged 14 commits into
dotnet:mainfrom
pavelsavara:browser_fix_loading_assets

Conversation

@pavelsavara

@pavelsavarapavelsavara commented Jul 29, 2023

Copy link
Copy Markdown
Member
  • make sure that we resolve URLs from loadBootResource to absolute URL with document.baseURI
    • added makeURLAbsoluteWithApplicationBase
    • add new last parameter to loadBootResource call with runime behavior type,
    • removed double call to loadBootResource
  • add manifest, js-module-dotnet to AssetBehaviors
  • add WebAssemblyBootResourceType back to dotnet.d.ts
  • rename jsSymbols to wasmSymbols, this was a mistake
  • added browser-minimal-config sample
  • fix merging config
  • fix loading from legacy config.assets

Fixes#89510
Fixes#89570
Fixes#89766

@pavelsavarapavelsavara added arch-wasm WebAssembly architecture area-System.Runtime.InteropServices.JavaScript os-browser Browser variant of arch-wasm labels Jul 29, 2023
@pavelsavarapavelsavara added this to the 8.0.0 milestone Jul 29, 2023
@pavelsavara
pavelsavara requested a review from marafJuly 29, 2023 23:40
@pavelsavarapavelsavara self-assigned this Jul 29, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #89510
Fixes #89570

Author:pavelsavara
Assignees:pavelsavara
Labels:

arch-wasm, area-System.Runtime.InteropServices.JavaScript, os-browser

Milestone:8.0.0

…L with document.baseURI, added makeURLAbsoluteWithApplicationBase
- add new last parameter to loadBootResource call with runime behavior type, remove double call to loadBootResource
- add manifest, js-module-loader to AssetBehaviors
- add WebAssemblyBootResourceType back
- rename jsSymbols to wasmSymbols, this was a mistake
@pavelsavara
pavelsavara marked this pull request as ready for review August 1, 2023 17:23
Comment threadsrc/mono/sample/wasm/browser-advanced/main.js Outdated
Comment threadsrc/mono/wasm/runtime/loader/assets.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/assets.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/config.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/config.ts
Comment threadsrc/mono/wasm/runtime/loader/polyfills.ts
kg
kg approved these changes Aug 1, 2023
@radical

Copy link
Copy Markdown
Member

Is the sample testing the issue being fixed here? Can we please move to a WBT test? Having it in a sample makes it breakable in future, because we won't really know what it was testing necessarily. And somebody trying to clean up, or improve the code might break remove the things that we wanted to test.

@pavelsavara

Copy link
Copy Markdown
MemberAuthor

Is the sample testing the issue being fixed here? Can we please move to a WBT test?

About browser-minimal-config: yes I want to do that in the future.

The Wasm.Build.Tests.TestAppScenarios.AppTestBase is currently Blazor based and I want non-blazor template for it. And I want to use the src\mono\wasm\testassets\ style. We can refactor AppTestBase and do that in another PR.

@pavelsavara
pavelsavara merged commit 0d6d6c3 into dotnet:mainAug 2, 2023
@ghostghost locked as resolved and limited conversation to collaborators Sep 1, 2023
@pavelsavara
pavelsavara deleted the browser_fix_loading_assets branch September 2, 2024 15:33
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-wasmWebAssembly architecturearea-System.Runtime.InteropServices.JavaScriptos-browserBrowser variant of arch-wasm

Projects

None yet

3 participants

@pavelsavara@radical@kg
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' [browser] fix loading assets by pavelsavara · Pull Request #89687 · dotnet/runtime · GitHub
Skip to content

[browser] fix loading assets - #89687

Merged
pavelsavara merged 14 commits into
dotnet:mainfrom
pavelsavara:browser_fix_loading_assets
Aug 2, 2023
Merged

[browser] fix loading assets#89687
pavelsavara merged 14 commits into
dotnet:mainfrom
pavelsavara:browser_fix_loading_assets

Conversation

@pavelsavara

@pavelsavarapavelsavara commented Jul 29, 2023

Copy link
Copy Markdown
Member
  • make sure that we resolve URLs from loadBootResource to absolute URL with document.baseURI
    • added makeURLAbsoluteWithApplicationBase
    • add new last parameter to loadBootResource call with runime behavior type,
    • removed double call to loadBootResource
  • add manifest, js-module-dotnet to AssetBehaviors
  • add WebAssemblyBootResourceType back to dotnet.d.ts
  • rename jsSymbols to wasmSymbols, this was a mistake
  • added browser-minimal-config sample
  • fix merging config
  • fix loading from legacy config.assets

Fixes#89510
Fixes#89570
Fixes#89766

@pavelsavarapavelsavara added arch-wasm WebAssembly architecture area-System.Runtime.InteropServices.JavaScript os-browser Browser variant of arch-wasm labels Jul 29, 2023
@pavelsavarapavelsavara added this to the 8.0.0 milestone Jul 29, 2023
@pavelsavara
pavelsavara requested a review from marafJuly 29, 2023 23:40
@pavelsavarapavelsavara self-assigned this Jul 29, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #89510
Fixes #89570

Author:pavelsavara
Assignees:pavelsavara
Labels:

arch-wasm, area-System.Runtime.InteropServices.JavaScript, os-browser

Milestone:8.0.0

…L with document.baseURI, added makeURLAbsoluteWithApplicationBase
- add new last parameter to loadBootResource call with runime behavior type, remove double call to loadBootResource
- add manifest, js-module-loader to AssetBehaviors
- add WebAssemblyBootResourceType back
- rename jsSymbols to wasmSymbols, this was a mistake
@pavelsavara
pavelsavara marked this pull request as ready for review August 1, 2023 17:23
Comment threadsrc/mono/sample/wasm/browser-advanced/main.js Outdated
Comment threadsrc/mono/wasm/runtime/loader/assets.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/assets.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/config.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/config.ts
Comment threadsrc/mono/wasm/runtime/loader/polyfills.ts
kg
kg approved these changes Aug 1, 2023
@radical

Copy link
Copy Markdown
Member

Is the sample testing the issue being fixed here? Can we please move to a WBT test? Having it in a sample makes it breakable in future, because we won't really know what it was testing necessarily. And somebody trying to clean up, or improve the code might break remove the things that we wanted to test.

@pavelsavara

Copy link
Copy Markdown
MemberAuthor

Is the sample testing the issue being fixed here? Can we please move to a WBT test?

About browser-minimal-config: yes I want to do that in the future.

The Wasm.Build.Tests.TestAppScenarios.AppTestBase is currently Blazor based and I want non-blazor template for it. And I want to use the src\mono\wasm\testassets\ style. We can refactor AppTestBase and do that in another PR.

@pavelsavara
pavelsavara merged commit 0d6d6c3 into dotnet:mainAug 2, 2023
@ghostghost locked as resolved and limited conversation to collaborators Sep 1, 2023
@pavelsavara
pavelsavara deleted the browser_fix_loading_assets branch September 2, 2024 15:33
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-wasmWebAssembly architecturearea-System.Runtime.InteropServices.JavaScriptos-browserBrowser variant of arch-wasm

Projects

None yet

3 participants

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

[browser] fix loading assets - #89687

Merged
pavelsavara merged 14 commits into
dotnet:mainfrom
pavelsavara:browser_fix_loading_assets
Aug 2, 2023
Merged

[browser] fix loading assets#89687
pavelsavara merged 14 commits into
dotnet:mainfrom
pavelsavara:browser_fix_loading_assets

Conversation

@pavelsavara

@pavelsavarapavelsavara commented Jul 29, 2023

Copy link
Copy Markdown
Member
  • make sure that we resolve URLs from loadBootResource to absolute URL with document.baseURI
    • added makeURLAbsoluteWithApplicationBase
    • add new last parameter to loadBootResource call with runime behavior type,
    • removed double call to loadBootResource
  • add manifest, js-module-dotnet to AssetBehaviors
  • add WebAssemblyBootResourceType back to dotnet.d.ts
  • rename jsSymbols to wasmSymbols, this was a mistake
  • added browser-minimal-config sample
  • fix merging config
  • fix loading from legacy config.assets

Fixes#89510
Fixes#89570
Fixes#89766

@pavelsavarapavelsavara added arch-wasm WebAssembly architecture area-System.Runtime.InteropServices.JavaScript os-browser Browser variant of arch-wasm labels Jul 29, 2023
@pavelsavarapavelsavara added this to the 8.0.0 milestone Jul 29, 2023
@pavelsavara
pavelsavara requested a review from marafJuly 29, 2023 23:40
@pavelsavarapavelsavara self-assigned this Jul 29, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #89510
Fixes #89570

Author:pavelsavara
Assignees:pavelsavara
Labels:

arch-wasm, area-System.Runtime.InteropServices.JavaScript, os-browser

Milestone:8.0.0

…L with document.baseURI, added makeURLAbsoluteWithApplicationBase
- add new last parameter to loadBootResource call with runime behavior type, remove double call to loadBootResource
- add manifest, js-module-loader to AssetBehaviors
- add WebAssemblyBootResourceType back
- rename jsSymbols to wasmSymbols, this was a mistake
@pavelsavara
pavelsavara marked this pull request as ready for review August 1, 2023 17:23
Comment threadsrc/mono/sample/wasm/browser-advanced/main.js Outdated
Comment threadsrc/mono/wasm/runtime/loader/assets.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/assets.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/config.ts Outdated
Comment threadsrc/mono/wasm/runtime/loader/config.ts
Comment threadsrc/mono/wasm/runtime/loader/polyfills.ts
kg
kg approved these changes Aug 1, 2023
@radical

Copy link
Copy Markdown
Member

Is the sample testing the issue being fixed here? Can we please move to a WBT test? Having it in a sample makes it breakable in future, because we won't really know what it was testing necessarily. And somebody trying to clean up, or improve the code might break remove the things that we wanted to test.

@pavelsavara

Copy link
Copy Markdown
MemberAuthor

Is the sample testing the issue being fixed here? Can we please move to a WBT test?

About browser-minimal-config: yes I want to do that in the future.

The Wasm.Build.Tests.TestAppScenarios.AppTestBase is currently Blazor based and I want non-blazor template for it. And I want to use the src\mono\wasm\testassets\ style. We can refactor AppTestBase and do that in another PR.

@pavelsavara
pavelsavara merged commit 0d6d6c3 into dotnet:mainAug 2, 2023
@ghostghost locked as resolved and limited conversation to collaborators Sep 1, 2023
@pavelsavara
pavelsavara deleted the browser_fix_loading_assets branch September 2, 2024 15:33
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-wasmWebAssembly architecturearea-System.Runtime.InteropServices.JavaScriptos-browserBrowser variant of arch-wasm

Projects

None yet

3 participants

@pavelsavara@radical@kg