wonder
|
6dfd01445d
|
refactor: 用 marked.js 替换手写 Markdown 渲染器
Deploy PR-Helper / deploy (push) Successful in 30s
- 引入 marked.js(~40KB)作为专业 Markdown 解析引擎
- markdown.js 精简为 20 行薄封装,保留 renderMarkdown 兼容别名
- CSS 从 .md-* 选择器改为标准 HTML 标签选择器
- 支持 GFM(表格、任务列表、删除线)、代码块语法高亮
- 天然处理流式不完整 Markdown(未闭合代码块等)
|
2026-06-21 16:23:14 +08:00 |
|
wonder
|
496e3ba71e
|
refactor: LLM 直接输出 Markdown,移除 JSON 解析层
Deploy PR-Helper / deploy (push) Successful in 30s
服务端:
- prompt 改为要求直接输出 Markdown,不再输出 JSON
- GeneratePR 返回 string 而非 PRDescription 结构体
- 移除 JSON 解析、extractJSON、fixInlineCode 等逻辑
- ChatStream 的 content 事件直接携带 Markdown 片段流式传输
前端:
- generate() 仅处理 content + done + error 三个事件
- content 事件累积 Markdown 文本,实时渲染到两栏
- 移除 parsePartialJSON、buildMarkdown 等中间层
- 代码量从 ~100 行减至 ~50 行
|
2026-06-21 16:02:05 +08:00 |
|
wonder
|
779bd9e332
|
fix: 真正的流式输出 + 修复 Markdown 标题渲染
Deploy PR-Helper / deploy (push) Successful in 27s
流式输出:
- 恢复 content 事件处理,实时累积 LLM 原始输出
- parsePartialJSON 从不完整 JSON 中渐进提取已闭合的字段
- 每次提取到新字段即更新两栏,实现左栏渐进渲染
- 结构化事件(title/detail等)覆盖解析结果,确保最终一致
Markdown 渲染:
- 重写为逐行处理(_renderLines),不再按双换行分块
- ### 及更深层级标题在单换行后也能正确识别为独立块
- 列表项、水平线等同样受益于逐行解析
|
2026-06-21 15:57:54 +08:00 |
|
wonder
|
cd1141d099
|
refactor: 流式输出直接写入两栏布局,移除独立流式区域
Deploy PR-Helper / deploy (push) Successful in 28s
- 左栏实时渲染 Markdown,右栏实时显示源码
- 每个 SSE 事件触发 updateColumns() 同时更新两栏
- 加载状态精简为标题旁的小 spinner + 状态文字
- 移除独立的 #streaming 区域和原始 LLM 文本展示
|
2026-06-21 15:53:28 +08:00 |
|
wonder
|
3455839213
|
fix: 左右两栏实时渲染、修复 HTTP 环境复制按钮
Deploy PR-Helper / deploy (push) Successful in 29s
- 生成过程中两栏布局始终可见,结构化字段实时更新
- 流式阶段显示在两栏上方,完成后仅隐藏流式指示器
- 复制功能增加 navigator.clipboard 存在性检查
- HTTP 环境降级为 textarea + execCommand fallback
|
2026-06-21 15:49:23 +08:00 |
|
wonder
|
41cf19ff61
|
feat: PR 生成页流式输出、左右两栏布局及按钮交互优化
Deploy PR-Helper / deploy (push) Successful in 29s
- 新增 content 事件处理器,实时显示 LLM 流式原始输出
- 按钮增加 opacity-70 和 cursor-not-allowed 视觉反馈
- 详细说明区域改为左右两栏:左侧渲染效果、右侧 Markdown 源码
- 流式阶段显示带自动滚动的内容区域,完成后切换为结构化展示
- 精简布局:移除独立 Markdown 预览区域,合并到两栏中
|
2026-06-21 15:43:02 +08:00 |
|
wonder
|
4a8e43e698
|
fix: 修复 PR 生成页 INLINECODE 显示及复制 Markdown 失败问题
Deploy PR-Helper / deploy (push) Successful in 26s
- 改进 LLM 提示词,明确要求用反引号包裹代码引用,避免输出 INLINECODE 占位符
- 后端新增 fixInlineCode 后处理,将残留 INLINECODE 占位符转为反引号代码
- 前端在 done 回调中从结构化字段组装完整 markdown 文本,修复复制按钮复制空内容
- 复制按钮增加空内容检查和错误提示
- Markdown 预览区域初始隐藏,生成完成后自动显示
|
2026-06-21 15:37:10 +08:00 |
|
wonder
|
55bfdf08ce
|
i18n: 中文化所有错误消息和用户交互文本
Deploy PR-Helper / deploy (push) Successful in 31s
- Go 后端 handler 错误消息统一中文化(middleware/repos/generate/review/settings)
- 前端 JS 加载和错误消息中文化(diff-viewer.js, graph.js)
- 模板页面错误 fallback 和静态文本中文化(index/generate/review/base)
- 消除中英文混杂,提升中文用户体验
|
2026-06-21 15:11:20 +08:00 |
|
wonder
|
9c843b79ba
|
feat: 添加用户注册登录功能,实现数据和配置的用户隔离
- 新增 users 和 user_settings 表,repositories/analyses/review_notes 添加 user_id 列
- 实现基于邮箱+密码的注册登录,密码使用 bcrypt 哈希
- 使用 gin-contrib/sessions cookie-based session 管理
- 所有仓库、分析记录、review notes 按用户隔离
- 用户设置(LLM 配置、review 参数、缓存配置)独立存储
- 新增登录/注册页面,导航栏显示用户邮箱和退出按钮
- 前端 fetch 请求统一添加 credentials: 'same-origin'
- 支持 SESSION_SECRET 环境变量配置会话密钥
|
2026-06-20 21:57:46 +08:00 |
|
wonder
|
4eaf89219d
|
feat: 添加 Toast 通知系统,替换所有 alert() 调用
|
2026-06-20 00:05:56 +08:00 |
|
wonder
|
e4df6487ea
|
feat: 共享 markdown 渲染器,完整语法支持
|
2026-06-19 23:29:05 +08:00 |
|
wonder
|
8f346999fb
|
fix: 从 graph API 响应对象中提取 commits 数组
|
2026-06-19 22:59:02 +08:00 |
|
wonder
|
d320c3a847
|
feat: 生成/审查页面的 ref 选择器添加标签和最近提交
|
2026-06-19 22:23:54 +08:00 |
|
wonder
|
aee8f90148
|
fix: 统一所有页面中 repoId 的字符串类型
|
2026-06-19 22:22:20 +08:00 |
|
wonder
|
6c7195fe66
|
feat: 生成页面根据 URL 查询参数预选 Base/Head
|
2026-06-19 22:21:51 +08:00 |
|
wonder
|
ddaf849c86
|
fix: 生成页面分支列表加载失败时显示错误提示
|
2026-06-19 22:21:27 +08:00 |
|
wonder
|
e9f1a66aeb
|
fix: 修正 generate API 的 JSON 字段名(base/head 而非 base_ref/head_ref)
|
2026-06-19 22:19:38 +08:00 |
|
wonder
|
1cfab2d2d1
|
fix: 改进 diff 查看器样式和 markdown 渲染
|
2026-06-19 21:41:47 +08:00 |
|
wonder
|
7ac3a3726b
|
feat: Phase 3 — 前端交互功能完成
|
2026-06-18 23:37:19 +08:00 |
|
wonder
|
34ef868e10
|
feat: Phase 2 — Git 核心功能,go-git 克隆、SSE 进度、D3.js 图形、diff2html 查看器
|
2026-06-18 22:59:51 +08:00 |
|
wonder
|
1e9b1a2129
|
feat: Phase 1 — 项目骨架搭建,集成 Gin、SQLite 和设置页面
|
2026-06-18 22:48:16 +08:00 |
|