') + ')', '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('^' + ".*" + ', '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" + ', '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('^' + ".*" + ', '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); } })(); })(); fix(vscode): lower vscode engine to ^1.105.0 and drop unused velocity bundle by codersasha · Pull Request #58 · eclipseguru/bazel-eclipse · GitHub
Skip to content

fix(vscode): lower vscode engine to ^1.105.0 and drop unused velocity bundle - #58

Open
codersasha wants to merge 1 commit into
eclipseguru:mainfrom
codersasha:fix/vscode-engine-1.105-drop-velocity
Open

fix(vscode): lower vscode engine to ^1.105.0 and drop unused velocity bundle#58
codersasha wants to merge 1 commit into
eclipseguru:mainfrom
codersasha:fix/vscode-engine-1.105-drop-velocity

Conversation

@codersasha

@codersashacodersasha commented Jun 5, 2026

Copy link
Copy Markdown

Two small fixes to vscode/package.json.

1. Lower the VS Code engine floor to ^1.105.0.
^1.106.0 stops the extension installing on editors still on 1.105 — notably Cursor, which runs VS Code 1.105.1. The floor doesn't need to be that high: the extension is typed against @types/vscode ^1.80.0, so it never touches a 1.106 API.

2. Drop org.apache.velocity.engine-core.jar from javaExtensions.
It's a dead reference. The p2 repo has no such bundle, so scripts/server.mjs never packages it (the VSIX ships 9 of the 10 listed jars), and nothing in the Salesforce bundles imports Velocity. But BundleUtils.loadBundles aborts the whole set if a single jar is missing — so on a clean JDT workspace this one bad entry stops the entire Bazel plugin from loading, and nothing resolves. Removing the line fixes it.

… bundle
- engines.vscode ^1.106.0 -> ^1.105.0 so the extension installs on editors
built on VS Code 1.105.x (e.g. Cursor 3.6.21 / VS Code 1.105.1). The code is
typed against @types/vscode ^1.80.0, so no 1.106-only API is used.
- remove ./server/org.apache.velocity.engine-core.jar from javaExtensions: the
p2 repo ships no such bundle (so it is never packaged in the VSIX) and no
Salesforce bundle requires Velocity. The dangling entry makes
BundleUtils.loadBundles abort the whole plugin set on a clean JDT workspace.
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

@codersasha