Skip to content

chore(frontend): simplification Round A — dead code, dependency hygiene, knip in CI - #867

Merged
jackwener merged 2 commits into
mainfrom
chore/frontend-simplify-round-a
Jul 13, 2026
Merged

chore(frontend): simplification Round A — dead code, dependency hygiene, knip in CI#867
jackwener merged 2 commits into
mainfrom
chore/frontend-simplify-round-a

Conversation

@jackwener

Copy link
Copy Markdown
Member

Round A of notes/frontend-simplification-map-2026-07-13.md (the architecture-simplification campaign).

Dead code

6 symbols deleted (verified zero refs incl. contract tests), 1 demoted to file-local, orphaned dev-hmr.mjs removed. Two knip finds deliberately RETAINED with tagged ignores: cleanErrorMessage (10 fail-soft contracts doesNotMatch on it) and buildExploreAgentCopyPayloads (dynamic-import consumer in a contract).

Dependency hygiene — with two justified deviations from the brief

  • @base-ui/react → dependencies (prod renderer import resolving via hoisting before)
  • streamdown → devDependencies (test-only in desktop; @maka/ui owns prod usage)
  • overlayscrollbars NOT declared — overlay-scrollbars-contract explicitly forbids desktop declaring it (CSS @import only); encoded as a documented knip ignoreDependencies entry
  • scroll-area.tsx kept for now: a contract reads the file's content; flagged follow-up to remove file + that assertion together

Governance (the point of the round)

knip.json encoding the REAL entry points (main/preload/renderer/tests/e2e/storybook both story roots/scripts), ignoreExportsUsedInFile, a -knipignore tag channel, every ignore reason documented in the map. CI now runs knip for both workspaces at zero findings — dead code can no longer re-accumulate.

Gates (before → after identical)

desktop 2397/2397 · ui 125/125 · full typecheck · dead-css/console/a11y/copy · alignment auditor — re-verified post-merge with main in an isolated worktree (main checkout carries another session's WIP, untouched). Implemented by an opus worktree agent; merge conflict on the map resolved by folding the Round A record into main's version.

Introduce knip.json (entry points + reasoned ignores) so both target
workspaces exit 0, add the direct deps desktop actually imports, and
remove/demote/tag dead exports per the Round A rules. No behavior changes.
Deletions (truly dead, 0 refs incl. tests):
- localMemoryDirForWorkspace, bundledOfficeCliToolsDir,
droppedTextFilePreflightFailureCopy, blockedStateLabel/blockedStateHint,
renderer OpenPathResult type, deprecated formatBuiltinJsonResult wrapper.
- apps/desktop/scripts/dev-hmr.mjs (superseded by dev.mjs; zero refs).
Demote/keep:
- planReminderDisplayRows demoted to file-local (avoids cascade delete of
its sibling display helpers).
- cleanErrorMessage and buildExploreAgentCopyPayloads kept + @knipignore:
referenced only by fail-soft contract asserts / dynamic test import.
Dependencies:
- add @base-ui/react (dependencies) — production renderer imports it.
- add streamdown (devDependencies) — test-only; @maka/ui owns prod usage.
- overlayscrollbars intentionally NOT added: overlay-scrollbars-contract
asserts desktop must not own it; handled via knip ignoreDependencies.
- add knip to root devDependencies (pins the CI governance tool).
SKIP: packages/ui/src/primitives/scroll-area.tsx NOT deleted — the
overlay-scrollbars contract test reads the file and asserts its content;
deleting it would drop test coverage. Scoped knip ignore instead.
knip runs in the CI typecheck job for both workspaces. See
notes/frontend-simplification-map-2026-07-13.md for the full rationale.
# Conflicts:
#	notes/frontend-simplification-map-2026-07-13.md
@jackwener
jackwener merged commit 0544a16 into mainJul 13, 2026
3 checks passed
@Astro-Han
Astro-Han deleted the chore/frontend-simplify-round-a branch July 14, 2026 05:05
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

@jackwener
, '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" + '
chore(frontend): simplification Round A — dead code, dependency hygiene, knip in CI by jackwener · Pull Request #867 · apache/maka · GitHub
Skip to content

chore(frontend): simplification Round A — dead code, dependency hygiene, knip in CI - #867

Merged
jackwener merged 2 commits into
mainfrom
chore/frontend-simplify-round-a
Jul 13, 2026
Merged

chore(frontend): simplification Round A — dead code, dependency hygiene, knip in CI#867
jackwener merged 2 commits into
mainfrom
chore/frontend-simplify-round-a

Conversation

@jackwener

Copy link
Copy Markdown
Member

Round A of notes/frontend-simplification-map-2026-07-13.md (the architecture-simplification campaign).

Dead code

6 symbols deleted (verified zero refs incl. contract tests), 1 demoted to file-local, orphaned dev-hmr.mjs removed. Two knip finds deliberately RETAINED with tagged ignores: cleanErrorMessage (10 fail-soft contracts doesNotMatch on it) and buildExploreAgentCopyPayloads (dynamic-import consumer in a contract).

Dependency hygiene — with two justified deviations from the brief

  • @base-ui/react → dependencies (prod renderer import resolving via hoisting before)
  • streamdown → devDependencies (test-only in desktop; @maka/ui owns prod usage)
  • overlayscrollbars NOT declared — overlay-scrollbars-contract explicitly forbids desktop declaring it (CSS @import only); encoded as a documented knip ignoreDependencies entry
  • scroll-area.tsx kept for now: a contract reads the file's content; flagged follow-up to remove file + that assertion together

Governance (the point of the round)

knip.json encoding the REAL entry points (main/preload/renderer/tests/e2e/storybook both story roots/scripts), ignoreExportsUsedInFile, a -knipignore tag channel, every ignore reason documented in the map. CI now runs knip for both workspaces at zero findings — dead code can no longer re-accumulate.

Gates (before → after identical)

desktop 2397/2397 · ui 125/125 · full typecheck · dead-css/console/a11y/copy · alignment auditor — re-verified post-merge with main in an isolated worktree (main checkout carries another session's WIP, untouched). Implemented by an opus worktree agent; merge conflict on the map resolved by folding the Round A record into main's version.

Introduce knip.json (entry points + reasoned ignores) so both target
workspaces exit 0, add the direct deps desktop actually imports, and
remove/demote/tag dead exports per the Round A rules. No behavior changes.
Deletions (truly dead, 0 refs incl. tests):
- localMemoryDirForWorkspace, bundledOfficeCliToolsDir,
droppedTextFilePreflightFailureCopy, blockedStateLabel/blockedStateHint,
renderer OpenPathResult type, deprecated formatBuiltinJsonResult wrapper.
- apps/desktop/scripts/dev-hmr.mjs (superseded by dev.mjs; zero refs).
Demote/keep:
- planReminderDisplayRows demoted to file-local (avoids cascade delete of
its sibling display helpers).
- cleanErrorMessage and buildExploreAgentCopyPayloads kept + @knipignore:
referenced only by fail-soft contract asserts / dynamic test import.
Dependencies:
- add @base-ui/react (dependencies) — production renderer imports it.
- add streamdown (devDependencies) — test-only; @maka/ui owns prod usage.
- overlayscrollbars intentionally NOT added: overlay-scrollbars-contract
asserts desktop must not own it; handled via knip ignoreDependencies.
- add knip to root devDependencies (pins the CI governance tool).
SKIP: packages/ui/src/primitives/scroll-area.tsx NOT deleted — the
overlay-scrollbars contract test reads the file and asserts its content;
deleting it would drop test coverage. Scoped knip ignore instead.
knip runs in the CI typecheck job for both workspaces. See
notes/frontend-simplification-map-2026-07-13.md for the full rationale.
# Conflicts:
#	notes/frontend-simplification-map-2026-07-13.md
@jackwener
jackwener merged commit 0544a16 into mainJul 13, 2026
3 checks passed
@Astro-Han
Astro-Han deleted the chore/frontend-simplify-round-a branch July 14, 2026 05:05
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

@jackwener
, '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('^' + ".*" + ' chore(frontend): simplification Round A — dead code, dependency hygiene, knip in CI by jackwener · Pull Request #867 · apache/maka · GitHub
Skip to content

chore(frontend): simplification Round A — dead code, dependency hygiene, knip in CI - #867

Merged
jackwener merged 2 commits into
mainfrom
chore/frontend-simplify-round-a
Jul 13, 2026
Merged

chore(frontend): simplification Round A — dead code, dependency hygiene, knip in CI#867
jackwener merged 2 commits into
mainfrom
chore/frontend-simplify-round-a

Conversation

@jackwener

Copy link
Copy Markdown
Member

Round A of notes/frontend-simplification-map-2026-07-13.md (the architecture-simplification campaign).

Dead code

6 symbols deleted (verified zero refs incl. contract tests), 1 demoted to file-local, orphaned dev-hmr.mjs removed. Two knip finds deliberately RETAINED with tagged ignores: cleanErrorMessage (10 fail-soft contracts doesNotMatch on it) and buildExploreAgentCopyPayloads (dynamic-import consumer in a contract).

Dependency hygiene — with two justified deviations from the brief

  • @base-ui/react → dependencies (prod renderer import resolving via hoisting before)
  • streamdown → devDependencies (test-only in desktop; @maka/ui owns prod usage)
  • overlayscrollbars NOT declared — overlay-scrollbars-contract explicitly forbids desktop declaring it (CSS @import only); encoded as a documented knip ignoreDependencies entry
  • scroll-area.tsx kept for now: a contract reads the file's content; flagged follow-up to remove file + that assertion together

Governance (the point of the round)

knip.json encoding the REAL entry points (main/preload/renderer/tests/e2e/storybook both story roots/scripts), ignoreExportsUsedInFile, a -knipignore tag channel, every ignore reason documented in the map. CI now runs knip for both workspaces at zero findings — dead code can no longer re-accumulate.

Gates (before → after identical)

desktop 2397/2397 · ui 125/125 · full typecheck · dead-css/console/a11y/copy · alignment auditor — re-verified post-merge with main in an isolated worktree (main checkout carries another session's WIP, untouched). Implemented by an opus worktree agent; merge conflict on the map resolved by folding the Round A record into main's version.

Introduce knip.json (entry points + reasoned ignores) so both target
workspaces exit 0, add the direct deps desktop actually imports, and
remove/demote/tag dead exports per the Round A rules. No behavior changes.
Deletions (truly dead, 0 refs incl. tests):
- localMemoryDirForWorkspace, bundledOfficeCliToolsDir,
droppedTextFilePreflightFailureCopy, blockedStateLabel/blockedStateHint,
renderer OpenPathResult type, deprecated formatBuiltinJsonResult wrapper.
- apps/desktop/scripts/dev-hmr.mjs (superseded by dev.mjs; zero refs).
Demote/keep:
- planReminderDisplayRows demoted to file-local (avoids cascade delete of
its sibling display helpers).
- cleanErrorMessage and buildExploreAgentCopyPayloads kept + @knipignore:
referenced only by fail-soft contract asserts / dynamic test import.
Dependencies:
- add @base-ui/react (dependencies) — production renderer imports it.
- add streamdown (devDependencies) — test-only; @maka/ui owns prod usage.
- overlayscrollbars intentionally NOT added: overlay-scrollbars-contract
asserts desktop must not own it; handled via knip ignoreDependencies.
- add knip to root devDependencies (pins the CI governance tool).
SKIP: packages/ui/src/primitives/scroll-area.tsx NOT deleted — the
overlay-scrollbars contract test reads the file and asserts its content;
deleting it would drop test coverage. Scoped knip ignore instead.
knip runs in the CI typecheck job for both workspaces. See
notes/frontend-simplification-map-2026-07-13.md for the full rationale.
# Conflicts:
#	notes/frontend-simplification-map-2026-07-13.md
@jackwener
jackwener merged commit 0544a16 into mainJul 13, 2026
3 checks passed
@Astro-Han
Astro-Han deleted the chore/frontend-simplify-round-a branch July 14, 2026 05:05
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

@jackwener
, '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('^' + ".*" + ' chore(frontend): simplification Round A — dead code, dependency hygiene, knip in CI by jackwener · Pull Request #867 · apache/maka · GitHub
Skip to content

chore(frontend): simplification Round A — dead code, dependency hygiene, knip in CI - #867

Merged
jackwener merged 2 commits into
mainfrom
chore/frontend-simplify-round-a
Jul 13, 2026
Merged

chore(frontend): simplification Round A — dead code, dependency hygiene, knip in CI#867
jackwener merged 2 commits into
mainfrom
chore/frontend-simplify-round-a

Conversation

@jackwener

Copy link
Copy Markdown
Member

Round A of notes/frontend-simplification-map-2026-07-13.md (the architecture-simplification campaign).

Dead code

6 symbols deleted (verified zero refs incl. contract tests), 1 demoted to file-local, orphaned dev-hmr.mjs removed. Two knip finds deliberately RETAINED with tagged ignores: cleanErrorMessage (10 fail-soft contracts doesNotMatch on it) and buildExploreAgentCopyPayloads (dynamic-import consumer in a contract).

Dependency hygiene — with two justified deviations from the brief

  • @base-ui/react → dependencies (prod renderer import resolving via hoisting before)
  • streamdown → devDependencies (test-only in desktop; @maka/ui owns prod usage)
  • overlayscrollbars NOT declared — overlay-scrollbars-contract explicitly forbids desktop declaring it (CSS @import only); encoded as a documented knip ignoreDependencies entry
  • scroll-area.tsx kept for now: a contract reads the file's content; flagged follow-up to remove file + that assertion together

Governance (the point of the round)

knip.json encoding the REAL entry points (main/preload/renderer/tests/e2e/storybook both story roots/scripts), ignoreExportsUsedInFile, a -knipignore tag channel, every ignore reason documented in the map. CI now runs knip for both workspaces at zero findings — dead code can no longer re-accumulate.

Gates (before → after identical)

desktop 2397/2397 · ui 125/125 · full typecheck · dead-css/console/a11y/copy · alignment auditor — re-verified post-merge with main in an isolated worktree (main checkout carries another session's WIP, untouched). Implemented by an opus worktree agent; merge conflict on the map resolved by folding the Round A record into main's version.

Introduce knip.json (entry points + reasoned ignores) so both target
workspaces exit 0, add the direct deps desktop actually imports, and
remove/demote/tag dead exports per the Round A rules. No behavior changes.
Deletions (truly dead, 0 refs incl. tests):
- localMemoryDirForWorkspace, bundledOfficeCliToolsDir,
droppedTextFilePreflightFailureCopy, blockedStateLabel/blockedStateHint,
renderer OpenPathResult type, deprecated formatBuiltinJsonResult wrapper.
- apps/desktop/scripts/dev-hmr.mjs (superseded by dev.mjs; zero refs).
Demote/keep:
- planReminderDisplayRows demoted to file-local (avoids cascade delete of
its sibling display helpers).
- cleanErrorMessage and buildExploreAgentCopyPayloads kept + @knipignore:
referenced only by fail-soft contract asserts / dynamic test import.
Dependencies:
- add @base-ui/react (dependencies) — production renderer imports it.
- add streamdown (devDependencies) — test-only; @maka/ui owns prod usage.
- overlayscrollbars intentionally NOT added: overlay-scrollbars-contract
asserts desktop must not own it; handled via knip ignoreDependencies.
- add knip to root devDependencies (pins the CI governance tool).
SKIP: packages/ui/src/primitives/scroll-area.tsx NOT deleted — the
overlay-scrollbars contract test reads the file and asserts its content;
deleting it would drop test coverage. Scoped knip ignore instead.
knip runs in the CI typecheck job for both workspaces. See
notes/frontend-simplification-map-2026-07-13.md for the full rationale.
# Conflicts:
#	notes/frontend-simplification-map-2026-07-13.md
@jackwener
jackwener merged commit 0544a16 into mainJul 13, 2026
3 checks passed
@Astro-Han
Astro-Han deleted the chore/frontend-simplify-round-a branch July 14, 2026 05:05
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

@jackwener
, '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" + ' chore(frontend): simplification Round A — dead code, dependency hygiene, knip in CI by jackwener · Pull Request #867 · apache/maka · GitHub
Skip to content

chore(frontend): simplification Round A — dead code, dependency hygiene, knip in CI - #867

Merged
jackwener merged 2 commits into
mainfrom
chore/frontend-simplify-round-a
Jul 13, 2026
Merged

chore(frontend): simplification Round A — dead code, dependency hygiene, knip in CI#867
jackwener merged 2 commits into
mainfrom
chore/frontend-simplify-round-a

Conversation

@jackwener

Copy link
Copy Markdown
Member

Round A of notes/frontend-simplification-map-2026-07-13.md (the architecture-simplification campaign).

Dead code

6 symbols deleted (verified zero refs incl. contract tests), 1 demoted to file-local, orphaned dev-hmr.mjs removed. Two knip finds deliberately RETAINED with tagged ignores: cleanErrorMessage (10 fail-soft contracts doesNotMatch on it) and buildExploreAgentCopyPayloads (dynamic-import consumer in a contract).

Dependency hygiene — with two justified deviations from the brief

  • @base-ui/react → dependencies (prod renderer import resolving via hoisting before)
  • streamdown → devDependencies (test-only in desktop; @maka/ui owns prod usage)
  • overlayscrollbars NOT declared — overlay-scrollbars-contract explicitly forbids desktop declaring it (CSS @import only); encoded as a documented knip ignoreDependencies entry
  • scroll-area.tsx kept for now: a contract reads the file's content; flagged follow-up to remove file + that assertion together

Governance (the point of the round)

knip.json encoding the REAL entry points (main/preload/renderer/tests/e2e/storybook both story roots/scripts), ignoreExportsUsedInFile, a -knipignore tag channel, every ignore reason documented in the map. CI now runs knip for both workspaces at zero findings — dead code can no longer re-accumulate.

Gates (before → after identical)

desktop 2397/2397 · ui 125/125 · full typecheck · dead-css/console/a11y/copy · alignment auditor — re-verified post-merge with main in an isolated worktree (main checkout carries another session's WIP, untouched). Implemented by an opus worktree agent; merge conflict on the map resolved by folding the Round A record into main's version.

Introduce knip.json (entry points + reasoned ignores) so both target
workspaces exit 0, add the direct deps desktop actually imports, and
remove/demote/tag dead exports per the Round A rules. No behavior changes.
Deletions (truly dead, 0 refs incl. tests):
- localMemoryDirForWorkspace, bundledOfficeCliToolsDir,
droppedTextFilePreflightFailureCopy, blockedStateLabel/blockedStateHint,
renderer OpenPathResult type, deprecated formatBuiltinJsonResult wrapper.
- apps/desktop/scripts/dev-hmr.mjs (superseded by dev.mjs; zero refs).
Demote/keep:
- planReminderDisplayRows demoted to file-local (avoids cascade delete of
its sibling display helpers).
- cleanErrorMessage and buildExploreAgentCopyPayloads kept + @knipignore:
referenced only by fail-soft contract asserts / dynamic test import.
Dependencies:
- add @base-ui/react (dependencies) — production renderer imports it.
- add streamdown (devDependencies) — test-only; @maka/ui owns prod usage.
- overlayscrollbars intentionally NOT added: overlay-scrollbars-contract
asserts desktop must not own it; handled via knip ignoreDependencies.
- add knip to root devDependencies (pins the CI governance tool).
SKIP: packages/ui/src/primitives/scroll-area.tsx NOT deleted — the
overlay-scrollbars contract test reads the file and asserts its content;
deleting it would drop test coverage. Scoped knip ignore instead.
knip runs in the CI typecheck job for both workspaces. See
notes/frontend-simplification-map-2026-07-13.md for the full rationale.
# Conflicts:
#	notes/frontend-simplification-map-2026-07-13.md
@jackwener
jackwener merged commit 0544a16 into mainJul 13, 2026
3 checks passed
@Astro-Han
Astro-Han deleted the chore/frontend-simplify-round-a branch July 14, 2026 05:05
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

@jackwener
, '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('^' + ".*" + ' chore(frontend): simplification Round A — dead code, dependency hygiene, knip in CI by jackwener · Pull Request #867 · apache/maka · GitHub
Skip to content

chore(frontend): simplification Round A — dead code, dependency hygiene, knip in CI - #867

Merged
jackwener merged 2 commits into
mainfrom
chore/frontend-simplify-round-a
Jul 13, 2026
Merged

chore(frontend): simplification Round A — dead code, dependency hygiene, knip in CI#867
jackwener merged 2 commits into
mainfrom
chore/frontend-simplify-round-a

Conversation

@jackwener

Copy link
Copy Markdown
Member

Round A of notes/frontend-simplification-map-2026-07-13.md (the architecture-simplification campaign).

Dead code

6 symbols deleted (verified zero refs incl. contract tests), 1 demoted to file-local, orphaned dev-hmr.mjs removed. Two knip finds deliberately RETAINED with tagged ignores: cleanErrorMessage (10 fail-soft contracts doesNotMatch on it) and buildExploreAgentCopyPayloads (dynamic-import consumer in a contract).

Dependency hygiene — with two justified deviations from the brief

  • @base-ui/react → dependencies (prod renderer import resolving via hoisting before)
  • streamdown → devDependencies (test-only in desktop; @maka/ui owns prod usage)
  • overlayscrollbars NOT declared — overlay-scrollbars-contract explicitly forbids desktop declaring it (CSS @import only); encoded as a documented knip ignoreDependencies entry
  • scroll-area.tsx kept for now: a contract reads the file's content; flagged follow-up to remove file + that assertion together

Governance (the point of the round)

knip.json encoding the REAL entry points (main/preload/renderer/tests/e2e/storybook both story roots/scripts), ignoreExportsUsedInFile, a -knipignore tag channel, every ignore reason documented in the map. CI now runs knip for both workspaces at zero findings — dead code can no longer re-accumulate.

Gates (before → after identical)

desktop 2397/2397 · ui 125/125 · full typecheck · dead-css/console/a11y/copy · alignment auditor — re-verified post-merge with main in an isolated worktree (main checkout carries another session's WIP, untouched). Implemented by an opus worktree agent; merge conflict on the map resolved by folding the Round A record into main's version.

Introduce knip.json (entry points + reasoned ignores) so both target
workspaces exit 0, add the direct deps desktop actually imports, and
remove/demote/tag dead exports per the Round A rules. No behavior changes.
Deletions (truly dead, 0 refs incl. tests):
- localMemoryDirForWorkspace, bundledOfficeCliToolsDir,
droppedTextFilePreflightFailureCopy, blockedStateLabel/blockedStateHint,
renderer OpenPathResult type, deprecated formatBuiltinJsonResult wrapper.
- apps/desktop/scripts/dev-hmr.mjs (superseded by dev.mjs; zero refs).
Demote/keep:
- planReminderDisplayRows demoted to file-local (avoids cascade delete of
its sibling display helpers).
- cleanErrorMessage and buildExploreAgentCopyPayloads kept + @knipignore:
referenced only by fail-soft contract asserts / dynamic test import.
Dependencies:
- add @base-ui/react (dependencies) — production renderer imports it.
- add streamdown (devDependencies) — test-only; @maka/ui owns prod usage.
- overlayscrollbars intentionally NOT added: overlay-scrollbars-contract
asserts desktop must not own it; handled via knip ignoreDependencies.
- add knip to root devDependencies (pins the CI governance tool).
SKIP: packages/ui/src/primitives/scroll-area.tsx NOT deleted — the
overlay-scrollbars contract test reads the file and asserts its content;
deleting it would drop test coverage. Scoped knip ignore instead.
knip runs in the CI typecheck job for both workspaces. See
notes/frontend-simplification-map-2026-07-13.md for the full rationale.
# Conflicts:
#	notes/frontend-simplification-map-2026-07-13.md
@jackwener
jackwener merged commit 0544a16 into mainJul 13, 2026
3 checks passed
@Astro-Han
Astro-Han deleted the chore/frontend-simplify-round-a branch July 14, 2026 05:05
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

@jackwener
, '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('^' + ".*" + ' chore(frontend): simplification Round A — dead code, dependency hygiene, knip in CI by jackwener · Pull Request #867 · apache/maka · GitHub
Skip to content

chore(frontend): simplification Round A — dead code, dependency hygiene, knip in CI - #867

Merged
jackwener merged 2 commits into
mainfrom
chore/frontend-simplify-round-a
Jul 13, 2026
Merged

chore(frontend): simplification Round A — dead code, dependency hygiene, knip in CI#867
jackwener merged 2 commits into
mainfrom
chore/frontend-simplify-round-a

Conversation

@jackwener

Copy link
Copy Markdown
Member

Round A of notes/frontend-simplification-map-2026-07-13.md (the architecture-simplification campaign).

Dead code

6 symbols deleted (verified zero refs incl. contract tests), 1 demoted to file-local, orphaned dev-hmr.mjs removed. Two knip finds deliberately RETAINED with tagged ignores: cleanErrorMessage (10 fail-soft contracts doesNotMatch on it) and buildExploreAgentCopyPayloads (dynamic-import consumer in a contract).

Dependency hygiene — with two justified deviations from the brief

  • @base-ui/react → dependencies (prod renderer import resolving via hoisting before)
  • streamdown → devDependencies (test-only in desktop; @maka/ui owns prod usage)
  • overlayscrollbars NOT declared — overlay-scrollbars-contract explicitly forbids desktop declaring it (CSS @import only); encoded as a documented knip ignoreDependencies entry
  • scroll-area.tsx kept for now: a contract reads the file's content; flagged follow-up to remove file + that assertion together

Governance (the point of the round)

knip.json encoding the REAL entry points (main/preload/renderer/tests/e2e/storybook both story roots/scripts), ignoreExportsUsedInFile, a -knipignore tag channel, every ignore reason documented in the map. CI now runs knip for both workspaces at zero findings — dead code can no longer re-accumulate.

Gates (before → after identical)

desktop 2397/2397 · ui 125/125 · full typecheck · dead-css/console/a11y/copy · alignment auditor — re-verified post-merge with main in an isolated worktree (main checkout carries another session's WIP, untouched). Implemented by an opus worktree agent; merge conflict on the map resolved by folding the Round A record into main's version.

Introduce knip.json (entry points + reasoned ignores) so both target
workspaces exit 0, add the direct deps desktop actually imports, and
remove/demote/tag dead exports per the Round A rules. No behavior changes.
Deletions (truly dead, 0 refs incl. tests):
- localMemoryDirForWorkspace, bundledOfficeCliToolsDir,
droppedTextFilePreflightFailureCopy, blockedStateLabel/blockedStateHint,
renderer OpenPathResult type, deprecated formatBuiltinJsonResult wrapper.
- apps/desktop/scripts/dev-hmr.mjs (superseded by dev.mjs; zero refs).
Demote/keep:
- planReminderDisplayRows demoted to file-local (avoids cascade delete of
its sibling display helpers).
- cleanErrorMessage and buildExploreAgentCopyPayloads kept + @knipignore:
referenced only by fail-soft contract asserts / dynamic test import.
Dependencies:
- add @base-ui/react (dependencies) — production renderer imports it.
- add streamdown (devDependencies) — test-only; @maka/ui owns prod usage.
- overlayscrollbars intentionally NOT added: overlay-scrollbars-contract
asserts desktop must not own it; handled via knip ignoreDependencies.
- add knip to root devDependencies (pins the CI governance tool).
SKIP: packages/ui/src/primitives/scroll-area.tsx NOT deleted — the
overlay-scrollbars contract test reads the file and asserts its content;
deleting it would drop test coverage. Scoped knip ignore instead.
knip runs in the CI typecheck job for both workspaces. See
notes/frontend-simplification-map-2026-07-13.md for the full rationale.
# Conflicts:
#	notes/frontend-simplification-map-2026-07-13.md
@jackwener
jackwener merged commit 0544a16 into mainJul 13, 2026
3 checks passed
@Astro-Han
Astro-Han deleted the chore/frontend-simplify-round-a branch July 14, 2026 05:05
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

@jackwener
, '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); } })(); })(); chore(frontend): simplification Round A — dead code, dependency hygiene, knip in CI by jackwener · Pull Request #867 · apache/maka · GitHub
Skip to content

chore(frontend): simplification Round A — dead code, dependency hygiene, knip in CI - #867

Merged
jackwener merged 2 commits into
mainfrom
chore/frontend-simplify-round-a
Jul 13, 2026
Merged

chore(frontend): simplification Round A — dead code, dependency hygiene, knip in CI#867
jackwener merged 2 commits into
mainfrom
chore/frontend-simplify-round-a

Conversation

@jackwener

Copy link
Copy Markdown
Member

Round A of notes/frontend-simplification-map-2026-07-13.md (the architecture-simplification campaign).

Dead code

6 symbols deleted (verified zero refs incl. contract tests), 1 demoted to file-local, orphaned dev-hmr.mjs removed. Two knip finds deliberately RETAINED with tagged ignores: cleanErrorMessage (10 fail-soft contracts doesNotMatch on it) and buildExploreAgentCopyPayloads (dynamic-import consumer in a contract).

Dependency hygiene — with two justified deviations from the brief

  • @base-ui/react → dependencies (prod renderer import resolving via hoisting before)
  • streamdown → devDependencies (test-only in desktop; @maka/ui owns prod usage)
  • overlayscrollbars NOT declared — overlay-scrollbars-contract explicitly forbids desktop declaring it (CSS @import only); encoded as a documented knip ignoreDependencies entry
  • scroll-area.tsx kept for now: a contract reads the file's content; flagged follow-up to remove file + that assertion together

Governance (the point of the round)

knip.json encoding the REAL entry points (main/preload/renderer/tests/e2e/storybook both story roots/scripts), ignoreExportsUsedInFile, a -knipignore tag channel, every ignore reason documented in the map. CI now runs knip for both workspaces at zero findings — dead code can no longer re-accumulate.

Gates (before → after identical)

desktop 2397/2397 · ui 125/125 · full typecheck · dead-css/console/a11y/copy · alignment auditor — re-verified post-merge with main in an isolated worktree (main checkout carries another session's WIP, untouched). Implemented by an opus worktree agent; merge conflict on the map resolved by folding the Round A record into main's version.

Introduce knip.json (entry points + reasoned ignores) so both target
workspaces exit 0, add the direct deps desktop actually imports, and
remove/demote/tag dead exports per the Round A rules. No behavior changes.
Deletions (truly dead, 0 refs incl. tests):
- localMemoryDirForWorkspace, bundledOfficeCliToolsDir,
droppedTextFilePreflightFailureCopy, blockedStateLabel/blockedStateHint,
renderer OpenPathResult type, deprecated formatBuiltinJsonResult wrapper.
- apps/desktop/scripts/dev-hmr.mjs (superseded by dev.mjs; zero refs).
Demote/keep:
- planReminderDisplayRows demoted to file-local (avoids cascade delete of
its sibling display helpers).
- cleanErrorMessage and buildExploreAgentCopyPayloads kept + @knipignore:
referenced only by fail-soft contract asserts / dynamic test import.
Dependencies:
- add @base-ui/react (dependencies) — production renderer imports it.
- add streamdown (devDependencies) — test-only; @maka/ui owns prod usage.
- overlayscrollbars intentionally NOT added: overlay-scrollbars-contract
asserts desktop must not own it; handled via knip ignoreDependencies.
- add knip to root devDependencies (pins the CI governance tool).
SKIP: packages/ui/src/primitives/scroll-area.tsx NOT deleted — the
overlay-scrollbars contract test reads the file and asserts its content;
deleting it would drop test coverage. Scoped knip ignore instead.
knip runs in the CI typecheck job for both workspaces. See
notes/frontend-simplification-map-2026-07-13.md for the full rationale.
# Conflicts:
#	notes/frontend-simplification-map-2026-07-13.md
@jackwener
jackwener merged commit 0544a16 into mainJul 13, 2026
3 checks passed
@Astro-Han
Astro-Han deleted the chore/frontend-simplify-round-a branch July 14, 2026 05:05
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

@jackwener