Release: merge develop into main - #203
Merged
Merged
Conversation
# Conflicts: # CONTRIBUTING.md # docs/DEVELOPMENT.md
rollup: sync personal branch into develop
Sync dev/hisakazu into develop after PR #111 passed CI.
* feat: add local bridge action lifecycle events * feat: plan bundle imports before confirmation (#114) * docs: add generic adapter sample cli (#115) * feat: add local bridge event cursor metadata (#116) * docs: add architecture governance rules (#117) * refactor: move desktop command dtos into module (#118) * refactor: move desktop path dialog helpers into module (#119) * refactor: move desktop user path helpers into module (#120) * refactor: move desktop transfer target helpers into module (#121) * refactor: move desktop transfer feedback into module (#122) * refactor: move desktop transfer dto helpers into module (#123) * refactor: move desktop receive diagnostics into module (#124) * refactor: move desktop device dto helpers into module (#125) * refactor: move desktop bundle helpers into module (#126) * refactor: move desktop staged bundle helpers into module (#127) * refactor: move pending transfer dto helpers (#128) * refactor: move local bridge dto helpers (#129) * refactor: move local bridge response builders (#130) * refactor: move local bridge action result helpers (#131) * refactor: move local bridge event paging helpers (#132)
* feat: expose bundle import file conflicts (#134) * feat: report local bridge event cursor state (#135) * docs: show adapter event cursor recovery (#136) * feat: show bundle import plan summary (#137) * feat: clarify local bridge settings state (#138) * docs: expand generic adapter loop sample (#139) * fix: keep bundles off legacy plain import path (#140) * docs: sync bundle and bridge status (#141)
* feat: expose bundle import file conflicts (#134) * feat: report local bridge event cursor state (#135) * docs: show adapter event cursor recovery (#136) * feat: show bundle import plan summary (#137) * feat: clarify local bridge settings state (#138) * docs: expand generic adapter loop sample (#139) * fix: keep bundles off legacy plain import path (#140) * docs: sync bundle and bridge status (#141) * Handle bundle import conflicts through bridge (#143) * Record bundle import receipts (#144) * Preview bundle import rollback plans (#145) * feat: execute bundle import rollbacks through bridge (#146) * feat: tighten adapter bridge bundle lifecycle (#147) * feat: stabilize bridge action result contract (#148) * Harden bridge bundle detail contract (#149) * Expose bundle receipt rollback flags (#150) * Expose bridge rollback blocking reason (#151) * Add bridge action result lookup (#152) * Expose pending bridge action lookups (#153) * Polish adapter full loop and sensitive bundle policy (#154)
* feat: expose bundle import file conflicts (#134) * feat: report local bridge event cursor state (#135) * docs: show adapter event cursor recovery (#136) * feat: show bundle import plan summary (#137) * feat: clarify local bridge settings state (#138) * docs: expand generic adapter loop sample (#139) * fix: keep bundles off legacy plain import path (#140) * docs: sync bundle and bridge status (#141) * Handle bundle import conflicts through bridge (#143) * Record bundle import receipts (#144) * Preview bundle import rollback plans (#145) * feat: execute bundle import rollbacks through bridge (#146) * feat: tighten adapter bridge bundle lifecycle (#147) * feat: stabilize bridge action result contract (#148) * Harden bridge bundle detail contract (#149) * Expose bundle receipt rollback flags (#150) * Expose bridge rollback blocking reason (#151) * Add bridge action result lookup (#152) * Expose pending bridge action lookups (#153) * Polish adapter full loop and sensitive bundle policy (#154) * Harden local bridge runtime authorization (#156) * Bind bridge action events to client app kind (#157) * Require scopes for bridge read requests (#158) * Tighten bridge read contract usage tracking (#159) * Validate bridge authorization scopes (#160) * Use minimal default bridge adapter scopes (#161) * Tighten generic adapter result contract (#162) * Add generic adapter target import sample (#163) * Add generic adapter target rollback sample (#164) * Sync adapter roadmap status (#165) * Add generic adapter event watch sample (#166) * Tighten local bridge event cursor visibility (#167) * Add action-scoped local bridge event polling (#168) * Expose visible local bridge event window (#169) * Expose visible local bridge event window * Fix visible event window pagination * Add generic adapter descriptor contract (#170) * Use adapter descriptors for sample requests (#171) * Gate adapter sample requests by descriptor types (#172) * Gate adapter requests by descriptor capabilities (#173) * Gate adapter imports by descriptor conflict strategies (#174) * Return bundle ids for queued bridge import actions (#175) * Include metadata on queued bridge action events (#176) * Document queued bridge action metadata for adapters (#177) * Deduplicate pending local bridge mutations (#178) * Clarify local bridge request id contract (#179) * Make terminal bridge retries idempotent (#180) * Harden local bridge request idempotency (#181) * 新功能(本地桥接): 新增同request_id负载不匹配时的请求拒绝逻辑,更新适配器规范 补充ADAPTER_SPEC.md文档,明确相同request_id仅可用于同语义的请求 新增负载匹配校验相关的辅助函数与处理逻辑,拒绝相同客户端下相同request_id但参数不同的重试请求 添加对应的测试用例验证该校验逻辑的正确性 * fix: reuse pending bridge retry actions * feat(adapter): classify bridge retry responses (#182) * test(adapter): lock sensitive bundle descriptor policy (#183) * Polish bundle import status copy (#184) * Tighten adapter receipt state contract (#185) * Codify sensitive bundle staging policy (#186)
* feat: expose bundle import file conflicts (#134) * feat: report local bridge event cursor state (#135) * docs: show adapter event cursor recovery (#136) * feat: show bundle import plan summary (#137) * feat: clarify local bridge settings state (#138) * docs: expand generic adapter loop sample (#139) * fix: keep bundles off legacy plain import path (#140) * docs: sync bundle and bridge status (#141) * Handle bundle import conflicts through bridge (#143) * Record bundle import receipts (#144) * Preview bundle import rollback plans (#145) * feat: execute bundle import rollbacks through bridge (#146) * feat: tighten adapter bridge bundle lifecycle (#147) * feat: stabilize bridge action result contract (#148) * Harden bridge bundle detail contract (#149) * Expose bundle receipt rollback flags (#150) * Expose bridge rollback blocking reason (#151) * Add bridge action result lookup (#152) * Expose pending bridge action lookups (#153) * Polish adapter full loop and sensitive bundle policy (#154) * Harden local bridge runtime authorization (#156) * Bind bridge action events to client app kind (#157) * Require scopes for bridge read requests (#158) * Tighten bridge read contract usage tracking (#159) * Validate bridge authorization scopes (#160) * Use minimal default bridge adapter scopes (#161) * Tighten generic adapter result contract (#162) * Add generic adapter target import sample (#163) * Add generic adapter target rollback sample (#164) * Sync adapter roadmap status (#165) * Add generic adapter event watch sample (#166) * Tighten local bridge event cursor visibility (#167) * Add action-scoped local bridge event polling (#168) * Expose visible local bridge event window (#169) * Expose visible local bridge event window * Fix visible event window pagination * Add generic adapter descriptor contract (#170) * Use adapter descriptors for sample requests (#171) * Gate adapter sample requests by descriptor types (#172) * Gate adapter requests by descriptor capabilities (#173) * Gate adapter imports by descriptor conflict strategies (#174) * Return bundle ids for queued bridge import actions (#175) * Include metadata on queued bridge action events (#176) * Document queued bridge action metadata for adapters (#177) * Deduplicate pending local bridge mutations (#178) * Clarify local bridge request id contract (#179) * Make terminal bridge retries idempotent (#180) * Harden local bridge request idempotency (#181) * 新功能(本地桥接): 新增同request_id负载不匹配时的请求拒绝逻辑,更新适配器规范 补充ADAPTER_SPEC.md文档,明确相同request_id仅可用于同语义的请求 新增负载匹配校验相关的辅助函数与处理逻辑,拒绝相同客户端下相同request_id但参数不同的重试请求 添加对应的测试用例验证该校验逻辑的正确性 * fix: reuse pending bridge retry actions * feat(adapter): classify bridge retry responses (#182) * test(adapter): lock sensitive bundle descriptor policy (#183) * Polish bundle import status copy (#184) * Tighten adapter receipt state contract (#185) * Codify sensitive bundle staging policy (#186) * Sync next phase after bundle bridge rollup (#188) * Add adapter runtime profile contract (#189) * Add adapter transaction contract (#190) * Clarify adapter event stream decisions (#191) * Add generic adapter app manifest sample (#193) * Wire app manifest resources into adapter workflows (#194) * Show adapter-owned import steps in full loop (#195) * Add adapter import dry-run sample (#197) * Stabilize adapter import plan contract (#198) * Align adapter receipt result contract (#199)
补充NekoDrop桌面客户端三栏式工具化设计方案文档 新增图标、侧边栏、设备管理等全套桌面UI基础组件
- 统一明暗模式按钮图标,简化TitleBar的macOS检测逻辑 - 移除TransfersManager中的统计仪表盘组件 - 优化TransferZone的终端日志与命令处理 - 修复设备相关字段的空值兜底处理 - 调整TransferZone的页签显示逻辑
- 提取 platformDisplay 工具统一处理平台徽章的图标、文案与emoji展示 - 新增多组图标并更新全局图标库使用,替换旧的外观图标为sun/moon - 清理LeftSidebar、SettingsManager等组件的冗余代码与重复逻辑 - 优化UI文案措辞,简化设置项与页面提示文本 - 为未实现的协作、组网、状态同步页签添加即将推出的占位组件
- 新增 `awaiting_approval` 传输阶段的支持与对应测试用例 - 为桌面标题栏添加窗口拖动功能,禁止内部交互控件参与拖动 - 优化TCP JSON帧读取的错误处理,添加连接中断的友好提示文案 - 动态更新发送按钮文案以反映当前传输状态 - 重构传输进度面板,复用状态判断逻辑,新增状态提示文本并仅在活跃传输时显示取消按钮
# Conflicts: # apps/desktop/src-tauri/src/commands/mod.rs # apps/desktop/src/App.tsx # apps/desktop/src/styles.css
Merge desktop-develop into develop
新增配套CSS样式,在活动监视器中添加传输邀请接收阶段的详情展示与交互逻辑,包含文件数量、传输大小、发送设备名称,以及接受拒绝按钮并对接回调处理用户操作。
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.
Summary
Verification