Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,16 @@ and the versioning follows [Semantic Versioning](https://semver.org/).

### ✨ Added

- The bundled review engine is now pr-agent 0.45.0 (from 0.39.0). Two long-standing local fixes are no longer needed — a single-line file change is rendered correctly upstream now, and a binary file no longer has to be worked around — and its YAML handling is more tolerant of imperfect model output.
- Mentions now render as a pill instead of blending into the surrounding text, so it is obvious at a glance when someone is named — on the activity page, in the inline diff comments, in drafts, and in the PR description alike.
- Proxy settings now take a list of **direct connections**: hosts that bypass the proxy and connect straight out, so an internal code platform, its git remote, or a self-hosted model stays reachable while everything else still goes through the proxy. Uses the familiar `NO_PROXY` syntax (a domain covers its subdomains), and applies to every outbound path at once — REST, git and the LLM call.
- A review that fails because the model is unavailable now says so and tells you what to do — with a local CLI provider (claude / codex) the model comes from that CLI's own configuration, so it has to be changed there.

### 🔧 Fixed

- The file list in a generated PR description now shows the real number of added and removed lines per file, instead of `+-1/--1`.
- Links in that file list now open the file instead of pointing at a non-existent line, so clicking through works.
- A PR description ending in a git merge tail (`# Conflicts:` and the file lines under it) no longer breaks up the generated description — those lines are part of the quoted description, not headings of their own.
- A part of the interface that loads on demand — the diff editor, a comment's inline code context — no longer takes the whole app down with it when it fails to load; the failure now stays inside that pane. If it failed because the app was updated or rebuilt while the window was open, it says so and offers to reload, which is the only thing that actually helps in that case.
- A failed review now shows the provider's actual error instead of only "all fallback models failed" — the real cause (an unavailable model, an expired login, an exhausted quota) was previously swallowed and never reached the run card.
- A local CLI provider that exits successfully but returns an empty reply is now reported as a failure naming that cause, rather than as an unexplained LLM failure.
Expand Down
4 changes: 4 additions & 0 deletions CHANGELOG.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,16 @@

### ✨ 新增

- 内置评审引擎升级至 pr-agent 0.45.0(原 0.39.0)。两处长期存在的本地修补不再需要——单行文件变更在上游已渲染正确,二进制文件也无需再绕开——其 YAML 解析对不规范的模型输出也更宽容。
- @提及 改为胶囊标签展示,不再淹没在正文里,一眼即可看出点到了谁——活动页、内联 diff 评论、草稿与 PR 描述一致生效。
- 代理设置新增**直连地址**列表:列出的地址跳过代理直接连接,内网代码平台、它的 git 远端或自建模型服务因此保持可达,其余流量照常走代理。沿用通行的 `NO_PROXY` 写法(填域名同时覆盖子域),并对所有出站路径一并生效——REST、git 与 LLM 调用。
- 因模型不可用而失败的评审现在会明确说明,并给出处理方式——使用本地 CLI 供应商(claude / codex)时,模型来自该 CLI 自身的配置,需要在那里更换。

### 🔧 修复

- 生成的 PR 描述中,文件清单现在显示每个文件真实的增删行数,不再是 `+-1/--1`。
- 该清单中的链接现在指向文件本身,而非一个不存在的行号,点击可正常跳转。
- PR 描述末尾带有 git 合并残留(`# Conflicts:` 及其下的文件行)时,生成的描述不再被切碎——那些行属于被引用的描述正文,而不是标题。
- 按需加载的界面部分——diff 编辑器、评论中的内联代码上下文——加载失败时不再拖垮整个应用,失败被限制在该区域内。若失败原因是窗口开着时应用被更新或重新构建,会明确说明并提供重新加载,那也是这种情况下唯一有效的操作。
- 评审失败时现在会展示供应商返回的真实错误,而不再只有一句「所有备选模型均调用失败」——真正的原因(模型不可用、登录过期、额度耗尽)此前被吞掉,从未出现在运行卡片上。
- 本地 CLI 供应商正常退出却返回空回复时,现在会作为失败上报并指明该原因,而不再表现为一次无从解释的 LLM 调用失败。
Expand Down
2 changes: 1 addition & 1 deletion apps/desktop/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@meebox/desktop",
"version": "0.11.3-dev",
"version": "0.12.0-dev",
"private": true,
"description": "meebox Electron desktop app",
"author": {
Expand Down
2 changes: 1 addition & 1 deletion apps/desktop/scripts/pragent-runtime.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@
},
"prAgent": {
"_comment": "嵌入式运行时安装的 pr-agent 版本(pinned);须与 sitecustomize.py 的 _EXPECTED_PRAGENT_VERSION 对齐,升级时两处同步",
"version": "0.39.0"
"version": "0.45.0"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,15 @@
applied it silently degrades, never letting a shim exception block the flow.
"""
from .patches.describe_assessment import patch as _patch_describe_assessment
from .patches.git_patch_processing import patch as _patch_git_patch_processing
from .patches.litellm_handler import patch as _patch_litellm_handler
from .patches.load_yaml import patch as _patch_load_yaml
from .patches.local_git_provider import patch as _patch_local_git_provider
from .runtime import _debug, _register_post_import


def apply() -> None:
# local_git_provider two patches merged into one patch_fn (registering multiple finders for the
# same module shadows each other; only the meta_path[0] one takes effect): binary-safe
# get_diff_files + get_line_link anchor.
# local_git_provider: inject get_line_link (the structured /review anchor) + get_repo_file_content. Registered as a
# single patch_fn because multiple finders on one module shadow each other (only meta_path[0] takes effect).
_register_post_import(
"pr_agent.git_providers.local_git_provider",
_patch_local_git_provider,
Expand All @@ -40,11 +38,4 @@ def apply() -> None:
"pr_agent.tools.pr_description",
_patch_describe_assessment,
)
# git patch processing: fix the phantom "unchanged" line on single-line hunks (omitted hunk size defaulted to 0
# instead of 1), which made single-line file changes look like they contained both the old and new value. Self-
# disabling once upstream fixes it — see patches/git_patch_processing.py.
_register_post_import(
"pr_agent.algo.git_patch_processing",
_patch_git_patch_processing,
)
_debug("meebox shim loaded")

This file was deleted.

Loading
Loading