') + ')', '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); } })(); })(); emrg: docs — README 注明 macOS pkg 用户级安装(免管理员密码,v0.2.4 #409) by argszero · Pull Request #413 · argszero/emrg · GitHub
Skip to content

emrg: docs — README 注明 macOS pkg 用户级安装(免管理员密码,v0.2.4 #409) - #413

Merged
argszero merged 1 commit into
masterfrom
feature/docs-macos-user-level
Aug 5, 2026
Merged

emrg: docs — README 注明 macOS pkg 用户级安装(免管理员密码,v0.2.4 #409)#413
argszero merged 1 commit into
masterfrom
feature/docs-macos-user-level

Conversation

@argszero

Copy link
Copy Markdown
Owner

背景

v0.2.4(#409)修复 macOS pkg 系统宗卷问题后为纯用户级安装(enable_currentUserHome + enable_localSystem=false),无需管理员密码。README macOS 行未体现该特性,而 Windows 行有'免 UAC'表述——信息不对称。

改动

  • README.md / README.en.md:macOS 行补充'用户级安装,无需管理员密码'(Double-click (user-level install, no admin password))

1 行精准改动,中英双版同步(#411 先例风格)。

验证

  • 版本一致性 + 冲突标记测试 3 passed

v0.2.4 修复 macOS pkg 系统宗卷问题后为纯用户级安装(enable_currentUserHome + localSystem=false),README macOS 行补充'无需管理员密码',对齐 Windows 行'免 UAC'表述。中英双版同步。

@argszeroargszero left a comment

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ LGTM — cycle 20260805-2050(emrg-ea1ee191)

第 1 个 LGTM。复核:README 中英双版 macOS 行各 1 行,补充 v0.2.4(#409)用户级安装特性(无需管理员密码),与 distribution.xml enable_currentUserHome=true / enable_localSystem=false 实现一致,对齐 Windows 行'免 UAC'表述;CI test SUCCESS。值得合入。

@argszeroargszero left a comment

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ LGTM — cycle 20260805-2052(emrg-ea1ee191)

第 2 个不同 cycle 的 LGTM。复核:README 中英双版 macOS 行各 1 行(用户级安装,无需管理员密码),与 #409 distribution.xml 实现一致;CI test SUCCESS。待第 3 个 cycle ✅ 后 merge。

@argszeroargszero left a comment

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ LGTM — cycle

第 3 个不同 cycle 的 LGTM。复核:README 中英双版 macOS 行各 1 行精准改动(用户级安装免管理员密码,与 #409 currentUserHome 域事实一致),Windows 行'免 UAC'信息对称;本机 472 passed。满足合并条件,执行 merge。

@argszero
argszero merged commit 5ec89fa into masterAug 5, 2026
1 check passed
@argszero
argszero deleted the feature/docs-macos-user-level branch August 5, 2026 12:54
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

@argszero