Repository navigation
Feature/clusters author ownership - #4639
christian-huehn-mw wants to merge 31 commits into
Conversation
Proof of concept: right-click a file to show its source in CodeCharta or open it in VS Code. The local project folder is chosen once per map via the browser's folder picker (Chromium only) and kept in this browser; nothing is uploaded. The map selector shows each map's folder and offers to set or forget it on a right-click. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WsB3wDcNmK3R8WbgHm
Right-clicking a folder in the dependency view, in the graph or in the explorer, offers "Screenshot Folder". It crops the graph as shown to the folder's box, drawn sharper and without the edges that leave the folder; the image goes to the clipboard or a file as the screenshot setting says. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WsB3wDcNmK3R8WbgHm
…itched off "Highlight on hover" in the dependency view's edge settings, on by default: switched off, the box under the pointer is drawn like any other, and its edges neither appear, rise nor dim the rest. Saved sessions get the default through migration v35. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WsB3wDcNmK3R8WbgHm
"Open local source files" in the Settings dialog, off by default, turns the local source entries on. They stay hidden where folders cannot be opened: browsers without the folder picker and pages in a frame of another origin; a picker blocked by a policy hides them for the rest of the session and says so once. Saved folders are read back once per session. Unit tests cover each browser case, e2e tests the flows in Chromium with a stand-in folder. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WsB3wDcNmK3R8WbgHm
…d to end Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WsB3wDcNmK3R8WbgHm
…ependency view Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WsB3wDcNmK3R8WbgHm
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WsB3wDcNmK3R8WbgHm
The e2e test of the hover highlight also reloads the page and checks that the highlight stays switched off. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WsB3wDcNmK3R8WbgHm
… open Firefox, Safari, pages without https and frames of another origin cannot open local folders, so the Settings dialog does not offer the switch there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WsB3wDcNmK3R8WbgHm
"Show Source" colours the file with Prism.js 1.30.0, the release that fixes CVE-2024-53382. Prism runs in manual mode and is loaded only with the first shown file, with the grammars of the languages the analysis knows; a file shows as plain text at once and is coloured once Prism is done. Added packages: prismjs@1.30.0, @types/prismjs@1.26.6 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WsB3wDcNmK3R8WbgHm
"Show Source" refuses files above 5 MB without reading them, names their size and offers to open them in VS Code instead. Files up to 1 MB are coloured unless a line is longer than 20,000 characters, as minified code has; otherwise one line says why the file is shown without colours. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WsB3wDcNmK3R8WbgHm
"Show Source" opens a full-screen viewer: back to the map, the file's folder and name, its language, copy path, copy content, a wrap toggle remembered in this browser and Open in VS Code; a status bar with the language, lines, size and the clicked line. Each line is a full-width row with a line number that is not selected, so a selection dragged past a line's end stays on that line. Rows are drawn in blocks the browser skips while out of view, which keeps a 5 MB file fast. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WsB3wDcNmK3R8WbgHm
… viewer Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WsB3wDcNmK3R8WbgHm
The map row's menu offers "Set Local Folder…" and "Set VS Code Folder…", saved independently and both shown in the map selector, so Open in VS Code needs no picker. Removing a map forgets its folders and resetting the map forgets all of them. Show Source without a usable folder first explains why one is needed, and Open in VS Code no longer leaves a blank tab. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WwrT86qGmeuLKQP44p
Going back while the source viewer is open closes it and stays on the view, as the viewer now holds a history entry of its own. Leaving a view closes the dialogs open inside it: a kept-alive view re-attached with an open dialog drew it as an ordinary element under the side panels. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WwrT86qGmeuLKQP44p
Trim the slashes of a VS Code folder without a backtracking regex, walk to a file's folder without awaiting in a loop and drop the async of mocks that await nothing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WwrT86qGmeuLKQP44p
… comments The context menu's actions on a node go through one helper, its spec imports the local source through the facade, and comments that only restate the code are gone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WwrT86qGmeuLKQP44p
Long files keep their real size and arrow keys scroll the viewer instead of the map. Files are decoded by their encoding, and one that is not text is explained rather than shown. A folder has to hold half of the sampled files, a problem with it stays in its dialog, and a lookup that was overtaken or whose view was left is dropped. VS Code paths keep network roots and lose copied quotes, and one that is not absolute is refused. Saving merges into what another tab stored, and every failing path shows a message. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WwrT86qGmeuLKQP44p
A failure toast names a generic reason instead of "undefined" when the thrown value is not an error. The source viewer binds its tabindex, which keeps the code reachable with Tab and should clear Sonar's Web:S6845. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WwrT86qGmeuLKQP44p
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WwrT86qGmeuLKQP44p
Merge, re-keying and dropping of unresolved members, carried through every filter; check rejects a member with an unknown node and warns on weights above 1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WwrT86qGmeuLKQP44p
Opt-in with --author-ownership on gitlogparser repo-scan and ccsh analyse; log-scan rejects the flag with a hint. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WwrT86qGmeuLKQP44p
Resolve members only when merging, as a restructuring re-keys them after the builder ran, and hold the flag and its hints in the ownership scan. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WwrT86qGmeuLKQP44p
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WwrT86qGmeuLKQP44p
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WwrT86qGmeuLKQP44p
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WwrT86qGmeuLKQP44p
…ve cluster A pinned row gets a primary border with rounded edges. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WwrT86qGmeuLKQP44p
…the cluster focus The cluster explorer no longer reaches into the code map feature, which keeps the gate at its warnings from before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WsT4M6krSeGqHT48RC
…ommit Blame now counts lines per commit, the log names each commit's people and check-mailmap maps the co-authors, whose names git leaves unmapped in trailers. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WsT4M6krSeGqHT48RC
…ight The Clusters tab also warns while a loaded map holds real author names. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WsT4M6krSeGqHT48RC
--with-author-names needs --author-ownership, keeps a clustering of its own and warns last, even with --silent. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YRW3WsT4M6krSeGqHT48RC
|
Important Review skippedToo many files! This PR contains 243 files, which is 93 over the limit of 150. To get a review, reduce the PR to 150 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.
|
|
|







{Meaningful title}
Please read the CONTRIBUTING.md before opening a PR.
Closes: #
Description
Descriptive pull request text, answering:
Definition of Done
A PR is only ready for merge once all the following acceptance criteria are fulfilled:
Screenshots or gifs