fix: 修复安装断裂(dsh-type-meta 未发布) + feat: Git push/pull/fetch + 资源管理器/Git 自动刷新 - #10
Open
Electricitysheep wants to merge 4 commits into
Open
fix: 修复安装断裂(dsh-type-meta 未发布) + feat: Git push/pull/fetch + 资源管理器/Git 自动刷新#10Electricitysheep wants to merge 4 commits into
Electricitysheep wants to merge 4 commits into
Conversation
dsh-type-meta@0.0.1-rc.1 was never published to npm (404), so pnpm install fails for every user following the README. The rc.6 line replaced dsh-type-meta with dsh-typert-protocol; pinning the whole @deepseek-ai/* set to ^0.1.0-rc.6 resolves the graph. Verified: pnpm install + build + full test suite (7 pre-existing Windows-only failures unchanged).
Adds fetch / pull / push to the source-control panel: - git.ts: upstreamInfo (remote/branch/ahead/behind, network-free), fetchRemote (fetch --all --prune), pull, push (--force-with-lease only, never bare --force) - index.ts: git.upstream / git.fetch / git.pull / git.push routes - GitView: upstream badge (↓behind ↑ahead) + three sync buttons, push gated by the existing confirm modal - tests: local-bare-remote integration suite covering tracking, push, pull fast-forward, fetch (HEAD untouched), and the force-with-lease refusal when the remote moved unseen Closes the 'Git 无 push/pull/fetch' limitation from the README.
Closes the '无文件 watcher(手动刷新)' limitation from the README: - ExplorerView polls the visible levels every 2s and re-renders only when a level's name/type/hidden signature changed (server-sorted rows make the signature stable), so external edits appear without the manual refresh button and no-op polls do not churn React state - GitView polls status + upstream (cheap local reads) so the badge and staged/unstaged lists track external changes; log/branches still refresh explicitly - tests: levelSignature unit cases + jsdom fake-timer component tests (new file appears after poll; unchanged level does not rerender) Full suite: 408 tests, 7 pre-existing Windows-only failures unchanged.
main already carried the rc.6 dependency line and added @deepseek-ai/cordis + dsh-client-locale; take main's package.json as the superset and regenerate pnpm-lock.yaml.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概述
解决 README「已知限制」中的三项 + 一个安装断裂 bug:
@deepseek-ai/dsh-type-meta@0.0.1-rc.1从未发布到 npm(404),按 README 执行pnpm install100% 失败。全量升级@deepseek-ai/*至^0.1.0-rc.6(该系列已改用dsh-typert-protocol)后安装通过。upstreamInfo(ahead/behind,无网络读)、fetchRemote(--all --prune)、pull、push——push 只允许--force-with-lease(绝不裸--force)。GitView 显示↓behind ↑ahead徽标与 fetch/pull/push 三个操作按钮(push 走确认弹窗)。测试
pnpm typecheck✅pnpm build✅pnpm test:408 tests,398 通过 + 7 个 Windows 平台既有失败(defaultShell/CRLF/路径断言,macOS/CI 全绿,与本 PR 无关)tests/git-sync.spec.ts6/6(本地 bare-repo 集成:跟踪/推送/拉取快进/fetch 不动 HEAD/force-with-lease 拒绝覆盖他人提交)tests/explorer-auto-refresh.spec.tsx3/3(外部新文件轮询后出现、无变化不重渲染、签名函数)git.fetch路由返回 200 并自动刷新面板破坏性变更
无(仅新增 API 与依赖版本升级;rc.1→rc.6 对齐官方当前发布线)。