Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
3dbc71e
fix(mcp): preserve distinct tool identities during projection
Astro-Han Sep 22, 2026
b15cf47
fix(mcp): bind OAuth credentials and callbacks to their issuer
Astro-Han Sep 22, 2026
fec0d9f
fix(mcp): separate hashed and unmodified tool namespaces
Astro-Han Sep 22, 2026
5f611bb
fix(mcp): retain OAuth registration binding across restarts
Astro-Han Sep 22, 2026
d7ec300
refactor(mcp): make configured connections the single authority
Astro-Han Sep 22, 2026
c73314a
refactor(desktop): simplify MCP editor choices
Astro-Han Sep 23, 2026
eb624f2
fix(desktop): use Astryx two-choice control for MCP transport
Astro-Han Sep 23, 2026
c9e6638
refactor(desktop): show essential MCP fields first
Astro-Han Sep 23, 2026
5c65a3b
fix(desktop): clarify MCP connection copy and import example
Astro-Han Sep 23, 2026
3e83389
test: refresh Windows skip inventory after MCP cleanup
Astro-Han Sep 23, 2026
09f78bb
refactor(mcp): remove unverified discovery catalog
Astro-Han Sep 23, 2026
9d7196c
refactor(mcp): place page under module hub ownership
Astro-Han Sep 23, 2026
02de855
docs(legal): distinguish icon library licenses from brand rights
Astro-Han Sep 23, 2026
7411023
feat(mcp): offer verified remote connection starters
Astro-Han Sep 23, 2026
b0c11ac
feat(mcp): show recommended servers on connection page
Astro-Han Sep 23, 2026
ad450d8
refactor(mcp): simplify recommendations with Astryx components
Astro-Han Sep 23, 2026
98ea6af
feat(mcp): show licensed marks in recommendations
Astro-Han Sep 23, 2026
b5dd539
fix(legal): track expanded Allogo asset notice
Astro-Han Sep 23, 2026
512acab
feat(mcp): redesign the MCP page around status and one-click recommen…
Astro-Han Sep 23, 2026
2c3ba7b
fix(mcp): follow the incident-console inspector and quiet the status …
Astro-Han Sep 23, 2026
cb447e3
refactor(ui): show module page details in a dialog
Astro-Han Sep 23, 2026
6205612
fix(ui): return focus to the row when a module page detail closes
Astro-Han Sep 23, 2026
ee5dfe6
fix(mcp): hold an action until its refreshed config lands
Astro-Han Sep 23, 2026
e62d7dd
fix(mcp): keep both drafts when switching how an MCP is added
Astro-Han Sep 23, 2026
8b6b73d
fix(mcp): keep environment and header values intact through the editor
Astro-Han Sep 23, 2026
021b412
fix(mcp): keep Desktop, the TUI and the provider in step on mcp.json
Astro-Han Sep 23, 2026
bda89a1
fix(mcp): catch a change made before following starts, off the login …
Astro-Han Sep 23, 2026
50c80e1
fix(mcp): apply followed changes in order and recover after a failed …
Astro-Han Sep 23, 2026
c133c68
fix(mcp): keep a successor's login when following a credential change…
Astro-Han Sep 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 0 additions & 8 deletions apps/desktop/electron-builder.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -193,10 +193,6 @@ const baseDesktopBuilderConfig = {
from: resolvePackageFile('@fontsource-variable/geist-mono', 'LICENSE'),
to: 'licenses/renderer/GEIST_MONO_LICENSE.txt',
},
{
from: 'resources/licenses/renderer/ANT_DESIGN_ICONS_LICENSE.txt',
to: 'licenses/renderer/ANT_DESIGN_ICONS_LICENSE.txt',
},
{
from: 'resources/licenses/renderer/TDESIGN_ICONS_LICENSE.txt',
to: 'licenses/renderer/TDESIGN_ICONS_LICENSE.txt',
Expand All @@ -205,10 +201,6 @@ const baseDesktopBuilderConfig = {
from: 'resources/licenses/renderer/ALLOGO_LICENSE.txt',
to: 'licenses/renderer/ALLOGO_LICENSE.txt',
},
{
from: 'resources/licenses/renderer/SEMI_ICONS_LICENSE.txt',
to: 'licenses/renderer/SEMI_ICONS_LICENSE.txt',
},
{
from: '../../LICENSE',
to: 'licenses/renderer/MINGCUTE_APACHE_LICENSE.txt',
Expand Down
2 changes: 0 additions & 2 deletions apps/desktop/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@
"zod": "^4.6.5"
},
"devDependencies": {
"@ant-design/icons-svg": "4.6.0",
"@astryxdesign/core": "0.6.2",
"@astryxdesign/theme-neutral": "0.6.2",
"@babel/parser": "7.29.7",
Expand Down Expand Up @@ -100,7 +99,6 @@
},
"maka": {
"rendererBundledDependencies": [
"@ant-design/icons-svg",
"@astryxdesign/core",
"@astryxdesign/theme-neutral",
"@fontsource-variable/geist",
Expand Down
120 changes: 0 additions & 120 deletions apps/desktop/renderer-architecture.json
Original file line number Diff line number Diff line change
Expand Up @@ -85,13 +85,6 @@
"src/renderer/locales/task-readiness-copy.ts",
"src/renderer/locales/work-board-error-copy.ts",
"src/renderer/main.tsx",
"src/renderer/mcp-brand-contrast.ts",
"src/renderer/mcp-brand-marks.tsx",
"src/renderer/mcp-catalog.ts",
"src/renderer/mcp-command-line.ts",
"src/renderer/mcp-editor-validation.ts",
"src/renderer/mcp-page-model.ts",
"src/renderer/mcp-page.tsx",
"src/renderer/model-catalog-choices.ts",
"src/renderer/model-connection-errors.ts",
"src/renderer/nav-selection.ts",
Expand Down Expand Up @@ -225,7 +218,6 @@
],
"legacyFeatureImports": [
"src/renderer/features/module-hub/controller/use-daily-review-controller.ts -> src/renderer/daily-review-actions",
"src/renderer/features/module-hub/ui/module-hub-host.tsx -> src/renderer/mcp-page",
"src/renderer/features/session-navigation/model/session-list-layout.ts -> src/renderer/browser-storage",
"src/renderer/features/session-navigation/model/session-rail-layout-store.ts -> src/renderer/browser-storage",
"src/renderer/features/task-entry/ui/task-entry-host.tsx -> src/renderer/remote-project-directory-dialog",
Expand Down Expand Up @@ -1624,118 +1616,6 @@
"@maka/core/ui-locale": 1
}
},
"src/renderer/mcp-brand-contrast.ts": {
"bridgePaths": {},
"environmentCapabilities": {},
"hookCalls": {},
"lifecycleMethods": {},
"unresolvedDependencies": 0,
"actionFactories": [],
"dependencyPaths": {}
},
"src/renderer/mcp-brand-marks.tsx": {
"bridgePaths": {},
"environmentCapabilities": {},
"hookCalls": {},
"lifecycleMethods": {},
"unresolvedDependencies": 0,
"actionFactories": [],
"dependencyPaths": {
"./mcp-brand-contrast.js": 1,
"@ant-design/icons-svg/es/asn/DingtalkOutlined.js": 1,
"simple-icons": 1
}
},
"src/renderer/mcp-catalog.ts": {
"bridgePaths": {},
"environmentCapabilities": {},
"hookCalls": {},
"lifecycleMethods": {},
"unresolvedDependencies": 0,
"actionFactories": [],
"dependencyPaths": {}
},
"src/renderer/mcp-command-line.ts": {
"bridgePaths": {},
"environmentCapabilities": {},
"hookCalls": {},
"lifecycleMethods": {},
"unresolvedDependencies": 0,
"actionFactories": [],
"dependencyPaths": {}
},
"src/renderer/mcp-editor-validation.ts": {
"bridgePaths": {},
"environmentCapabilities": {},
"hookCalls": {},
"lifecycleMethods": {},
"unresolvedDependencies": 0,
"actionFactories": [],
"dependencyPaths": {
"./mcp-command-line.js": 1
}
},
"src/renderer/mcp-page-model.ts": {
"bridgePaths": {},
"environmentCapabilities": {},
"hookCalls": {},
"lifecycleMethods": {},
"unresolvedDependencies": 0,
"actionFactories": [],
"dependencyPaths": {
"./mcp-command-line.js": 1,
"@maka/core/mcp": 1
}
},
"src/renderer/mcp-page.tsx": {
"bridgePaths": {
"window.maka.mcp.cancelInstall": 1,
"window.maka.mcp.getConfig": 1,
"window.maka.mcp.importConfig": 1,
"window.maka.mcp.install": 1,
"window.maka.mcp.listStatuses": 1,
"window.maka.mcp.remove": 1,
"window.maka.mcp.subscribeChanges": 1,
"window.maka.mcp.test": 1,
"window.maka.mcp.upsert": 2
},
"environmentCapabilities": {
"cancelAnimationFrame": 1,
"requestAnimationFrame": 1,
"window.requestAnimationFrame": 2,
"window.setTimeout": 1
},
"hookCalls": {
"useEffect": 3,
"useMountedRef": 1,
"useRef": 4,
"useRovingRowFocus": 1,
"useState": 11,
"useToast": 1,
"useUiLocale": 1
},
"lifecycleMethods": {},
"unresolvedDependencies": 0,
"actionFactories": [],
"dependencyPaths": {
"./default-runtime-host-operation.js": 1,
"./locales/mcp-copy": 1,
"./mcp-brand-marks": 1,
"./mcp-catalog": 1,
"./mcp-command-line": 1,
"./mcp-editor-validation": 1,
"./mcp-page-model": 1,
"./settings/settings-error-copy": 1,
"@astryxdesign/core": 1,
"@astryxdesign/core/Dialog": 1,
"@astryxdesign/core/Layout": 1,
"@astryxdesign/core/MetadataList": 1,
"@maka/core/mcp": 1,
"@maka/ui": 1,
"@maka/ui/icons": 1,
"react": 1
}
},
"src/renderer/model-catalog-choices.ts": {
"bridgePaths": {},
"environmentCapabilities": {},
Expand Down
30 changes: 0 additions & 30 deletions apps/desktop/resources/licenses/npm/THIRD_PARTY_NOTICES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -617,36 +617,6 @@ Apache License

================================================================================

Package: @ant-design/icons-svg@4.6.0
Declared license: MIT
Selected license: MIT
Repository: git+https://github.com/ant-design/ant-design-icons.git

--- VERSION-PINNED LICENSE TEXT OVERRIDE ---
MIT License

Copyright (c) 2018-present Ant UED, https://xtech.antfin.com/

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

================================================================================

Package: @antfu/install-pkg@1.1.0
Declared license: MIT
Selected license: MIT
Expand Down

This file was deleted.

21 changes: 0 additions & 21 deletions apps/desktop/resources/licenses/renderer/SEMI_ICONS_LICENSE.txt

This file was deleted.

2 changes: 1 addition & 1 deletion apps/desktop/src/main/__tests__/mcp-command-line.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import { describe, it } from 'node:test';
import {
formatCommandLine,
parseCommandLine,
} from '../../renderer/mcp-command-line.js';
} from '../../renderer/features/module-hub/testing.js';

describe('MCP command line parsing', () => {
it('splits on whitespace without shell interpretation', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,14 @@

import assert from 'node:assert/strict';
import { describe, it } from 'node:test';
import { validateMcpEditorDraft } from '../../renderer/mcp-editor-validation.js';
import { validateMcpEditorDraft } from '../../renderer/features/module-hub/testing.js';

describe('MCP editor validation', () => {
it('requires an issuer for a pre-registered OAuth client', () => {
const draft = { id: 'remote', kind: 'remote' as const, commandLine: '', url: 'https://mcp.example', oauth: { clientId: 'client' } };
assert.deepEqual(validateMcpEditorDraft(draft), { oauthIssuer: 'required' });
assert.deepEqual(validateMcpEditorDraft({ ...draft, oauth: { ...draft.oauth, issuer: 'https://issuer.example' } }), {});
});
it('requires a server id and the selected transport endpoint', () => {
assert.deepEqual(
validateMcpEditorDraft({
Expand Down
Loading
Loading