Commit Graph

  • a2f67eebf6 perf(用户导入): 批量导入从几秒降到半秒 yuetsh 2026-09-01 00:28:16 -06:00
  • e5a6f2d1e7 fix(题单): 归属校验、进度分母、截止时间可见性等六处零碎 yuetsh 2026-09-01 00:01:58 -06:00
  • 9d9e104df6 fix(题单): 进度记账挪到判题这一路,不再靠前端回调 yuetsh 2026-09-01 00:01:38 -06:00
  • 74b97c610f fix(题单): 「选做」终于作数了,分母只算必做题 yuetsh 2026-08-31 08:55:36 -06:00
  • d9e6a2a3f0 perf(题单): 学生端题目列表少两次 join 一次查询,顺带把并列的 order 排稳 yuetsh 2026-08-31 08:47:57 -06:00
  • d7a6414735 fix(题单): complete_time 翻回「只设不清」;完成题单后那个必然报错的 tab yuetsh 2026-08-31 08:42:40 -06:00
  • 05cf8011e3 fix(题单): 奖章补发改成二进制子命令,独立脚本在生产跑不了 yuetsh 2026-08-31 08:26:27 -06:00
  • f9354b0df1 fix(题单): 进度重算漏了分数和完成状态,奖章没人补发 yuetsh 2026-08-31 08:23:38 -06:00
  • ff31f7abd1 fix(题单): 补回加入题单前旧提交的遮挡 yuetsh 2026-08-31 08:23:13 -06:00
  • 2031e6a434 update yuetsh 2026-08-31 07:41:44 -06:00
  • e62f41f6c7 refactor(web): Header 只管顶栏,全局的东西挂回 App yuetsh 2026-08-31 07:36:14 -06:00
  • cbe6955c26 update yuetsh 2026-08-30 22:22:10 -06:00
  • 0e083225f1 update yuetsh 2026-08-30 22:11:31 -06:00
  • 38b81881d5 feat(collab): 教师端弹框补上代码提示,语言跟着学生走 yuetsh 2026-08-30 10:28:36 -06:00
  • 2f9b6dbf03 FIX yuetsh 2026-08-30 09:59:27 -06:00
  • ffabcd4a0d fix(collab): 提示会丢、排队位置不刷新;显式声明 lib0 yuetsh 2026-08-30 09:38:04 -06:00
  • 4abaf9c7e4 fix(collab): 动态 import 竞态、切走页面的语义、演示模式的身份错位 yuetsh 2026-08-30 09:38:04 -06:00
  • 66a564710f fix(collab): 两处会让协作「看起来正常、其实各写各的」的缺陷 yuetsh 2026-08-30 09:37:41 -06:00
  • bb33e0f0e5 refactor(web): 删掉 SyncCodeEditor 的 problem prop yuetsh 2026-08-30 09:05:48 -06:00
  • 4b6242ba70 fix(比赛): 比赛进行中,学生打开比赛题必 500 yuetsh 2026-08-30 09:01:56 -06:00
  • c7132025f7 fix(collab): 二进制帧的宽松限流档名存实亡 yuetsh 2026-08-30 08:29:36 -06:00
  • de4e745d90 docs: 课堂求助与协作编辑标记为已实施 yuetsh 2026-08-30 08:22:12 -06:00
  • d1fc6349b7 refactor(web): 删掉 y-webrtc 协同编辑的旧实现 yuetsh 2026-08-30 08:22:06 -06:00
  • 86857dedf0 feat(web): 协作编辑走 collab 通道 yuetsh 2026-08-28 07:43:08 -06:00
  • bfe4468fdb feat(web): 教师顶栏的求助列表 yuetsh 2026-08-28 06:48:07 -06:00
  • 6f873be367 feat(web): 题目页的「开启同步」换成「求助」 yuetsh 2026-08-28 06:33:25 -06:00
  • ab8fcc2d42 fix(collab): room_closed 无条件归位、断线重连补状态、学生 socket 重连迁移 yuetsh 2026-08-28 06:01:41 -06:00
  • 17aa69f8a7 feat(web): 课堂求助 store 与全局 collab 连接 yuetsh 2026-08-28 05:36:51 -06:00
  • aef687bcfc fix(api): collab 二进制转发的背压误判与发送失败后的幽灵请求 yuetsh 2026-08-28 05:28:14 -06:00
  • 457df1ef3c fix(api): collab 房间越权与几处时序/静默丢帧缺口 yuetsh 2026-08-28 02:48:35 -06:00
  • b14639d890 feat(api): collab 房间管理与 Yjs 帧转发 yuetsh 2026-08-28 02:36:12 -06:00
  • 1db2c49b87 feat(api): 新增 /ws/collab 通道与课堂求助控制面 yuetsh 2026-08-28 02:24:44 -06:00
  • c04570b4ad feat(web): BaseWebSocket 支持二进制帧收发 yuetsh 2026-08-28 02:06:13 -06:00
  • 59191c9433 docs: 课堂求助与协作编辑实现计划 yuetsh 2026-08-28 02:00:37 -06:00
  • 275e70e23a docs: 课堂求助与协作编辑设计文档 yuetsh 2026-08-28 01:50:00 -06:00
  • f38444c97a fix(代码规则): 给 C 题配的规则一半是哑弹,C++ 题根本配不了 yuetsh 2026-08-27 11:53:37 -06:00
  • 280443c892 fix yuetsh 2026-08-27 11:26:00 -06:00
  • 77717e439d fix(主题切换): 圆环从视口正中扩散,跟点击的地方对不上 yuetsh 2026-08-27 11:18:12 -06:00
  • 6c2381ad2c perf(提交列表): 越早的页越慢,最后一页要等 1.2 秒 yuetsh 2026-08-27 11:13:38 -06:00
  • 8861393529 fix(流程图): 评分明细的顺序是乱的,40 分的那项排在最后 yuetsh 2026-08-27 10:53:29 -06:00
  • e921506f40 fix(流程图): 「重新判题」从来没成功过,而且会把原来的评分清掉 yuetsh 2026-08-27 10:51:00 -06:00
  • e00ab7b876 perf(流程图统计): 给词云的分词量封顶 yuetsh 2026-08-27 06:27:33 -06:00
  • 74d3b97f05 feat(流程图列表): 补上状态列,重判按钮按状态置灰 yuetsh 2026-08-27 06:27:33 -06:00
  • f5ad5318a0 fix(流程图编辑器): Ctrl+Y 没接、清空画布不问一声、存档里塞满 vue-flow 内部字段 yuetsh 2026-08-27 06:27:19 -06:00
  • 9e41855610 fix(流程图): 点进去空白的 tab、以及「渲染成功」这个只进不出的开关 yuetsh 2026-08-27 06:27:02 -06:00
  • d10172f017 fix(流程图): 节点名里带一个双引号,生成的 mermaid 就是坏的 yuetsh 2026-08-27 06:26:45 -06:00
  • 0392445dd2 fix(流程图): 补上几处静默失败 —— 点了没反应、弹框永久转圈 yuetsh 2026-08-27 06:15:11 -06:00
  • 5480abaaea fix(流程图编辑器): 换题草稿串题、第一步撤销不了、历史存的是改动前的状态 yuetsh 2026-08-27 06:14:59 -06:00
  • 5f0fe713dc fix(流程图渲染): 出错后再也画不出来、每失败一次往 body 漏一个 div yuetsh 2026-08-27 06:14:40 -06:00
  • c27c9fdbf9 fix(流程图评分): 队列重试从没生效过、AI 调用不设超时、等级由模型自报 yuetsh 2026-08-27 06:14:21 -06:00
  • 8f08ed03a0 fix(流程图): 学生能翻出全班评分、AI 调用没有限流 yuetsh 2026-08-27 06:14:05 -06:00
  • 64facc5701 fix(WebSocket): 断线不重连、评分结果会丢、登出后连接还活着 yuetsh 2026-08-27 05:07:26 -06:00
  • 47a43b9880 fix(提交列表): 转圈圈延迟 300ms 出现,快请求不再闪一下 yuetsh 2026-08-27 00:53:40 -06:00
  • 6ac458e6f3 refactor(WebSocket): 判题/流程图推送改用驼峰,去掉没人读的三个字段 yuetsh 2026-08-27 00:48:54 -06:00
  • bc0b782443 update yuetsh 2026-08-27 00:42:39 -06:00
  • 8ae14f055a refactor(站点配置): WS 直接推契约字段名,去掉前端那层 snake→驼峰胶水 yuetsh 2026-08-27 00:42:14 -06:00
  • 0f34d67cc8 fix(站点配置): WebSocket 广播的 key 是 snake,store 字段是驼峰,实时生效一直空转 yuetsh 2026-08-27 00:34:51 -06:00
  • 8600f8143a fix(MaxKB): 「启用 MaxKB」开关在生产构建下拦不住脚本 yuetsh 2026-08-27 00:26:54 -06:00
  • d3757954cd fix(AI 学情报告): pinnedOnly 那支返回裸数组,页面每次打开都白屏 yuetsh 2026-08-27 00:18:58 -06:00
  • a75c70c82d perf(后端): 干掉 14 处 N+1 查询 yuetsh 2026-08-26 23:43:57 -06:00
  • f00c941ede perf(构建): builder 分开拷源码,只改后端不再陪编一次前端 yuetsh 2026-08-26 10:25:15 -06:00
  • 1d9686b929 feat(后台用户): 管理员密码默认打码,点「显示」才展开 yuetsh 2026-08-26 10:08:30 -06:00
  • bb4b5825c3 feat(迁移): 0000 改成可执行,空库能自举 yuetsh 2026-08-26 09:54:31 -06:00
  • 2e871cb5b0 refactor(迁移): 换掉 drizzle 的执行器,一条迁移一个事务 yuetsh 2026-08-26 09:54:01 -06:00
  • eabb61189c fix(数据库): 索引方向被 .op() 吞掉,schema.ts 和真实库对不上 yuetsh 2026-08-26 09:53:05 -06:00
  • 1f9f33aa3b docs: 0002 迁移已在生产库执行完毕 yuetsh 2026-08-26 09:18:53 -06:00
  • 7793a2fe4c 清理旧后端下线后的残留 yuetsh 2026-08-26 09:09:26 -06:00
  • 64cb7b62ef ci(部署): 手动触发可放行破坏性迁移,push 触发永远不放行 yuetsh 2026-08-26 08:38:47 -06:00
  • 5f04f3283f fix(部署): 迁移那步的服务名写成了 api,实际是 oj-api yuetsh 2026-08-26 08:32:19 -06:00
  • 19054718d5 fix(部署): 迁移那步去掉 --no-deps,否则自带数据形态下起不来库 yuetsh 2026-08-26 08:25:17 -06:00
  • e6c8c3c155 feat(部署): deploy.sh 识别「自带数据」形态,不再写死试跑假设 yuetsh 2026-08-26 08:19:28 -06:00
  • 66d325d460 ci(部署): rsync 加 --no-owner --no-group,别把 runner 的 uid 搬到服务器 yuetsh 2026-08-26 08:08:06 -06:00
  • 586c88f629 build(数据库): 改用 drizzle migration,加提交列表索引、清掉 Django 残留 yuetsh 2026-08-26 07:56:30 -06:00
  • 2ee61756b8 perf(提交列表): count 去掉无谓 join、只取序列化用得到的列 yuetsh 2026-08-26 07:55:47 -06:00
  • a9332df6bd update yuetsh 2026-08-26 00:28:18 -06:00
  • 7b6bfeb6fb fix(标签): /problem-tags 计数漏过滤隐藏题和赛题 yuetsh 2026-08-26 00:22:05 -06:00
  • d3365ecb32 ci(部署): actions/checkout v5→v7、actions/cache v4→v6 yuetsh 2026-08-26 00:01:28 -06:00
  • 75dd9bfa42 fix(提交): 独立的 /submission/:id 页面上「复制回到题目」抛 problemID yuetsh 2026-08-25 23:59:46 -06:00
  • dd6a6a04eb refactor(密码): 删掉 PASSWORD_HASH_UPGRADE,无条件写 argon2 yuetsh 2026-08-25 23:50:55 -06:00
  • 694e147a21 fix(密码): 五个写入点统一走 hashPassword,默认切 argon2 yuetsh 2026-08-25 23:47:02 -06:00
  • 36a4663193 chore(前端): 清掉四处零引用的死代码 yuetsh 2026-08-25 23:32:50 -06:00
  • 3f6b4102c9 feat(题目): 学生题目页恢复「要求」展示,走新的 astRequirements 字段 yuetsh 2026-08-25 23:27:40 -06:00
  • f919d41199 refactor(契约): AST 代码要求收进契约,三份各写各的合成一份 yuetsh 2026-08-25 23:15:52 -06:00
  • 3f55d231c3 refactor(契约): samples / answers / testCaseScore 补回旧后端的校验 yuetsh 2026-08-25 23:04:41 -06:00
  • 5c772319e9 refactor(契约): 公告两侧形状分开,判题状态码从契约派生 yuetsh 2026-08-25 22:54:01 -06:00
  • 0b7b08f2cc refactor(前端): 去掉 { error, data } 信封,api2 改名 api yuetsh 2026-08-25 22:42:20 -06:00
  • b35118f32e update yuetsh 2026-08-25 21:21:20 -06:00
  • 66d51dfd83 chore(账号): 删掉没人调的 refreshUserProblemDisplayIds yuetsh 2026-08-25 19:02:37 -06:00
  • 9653f1541a refactor(契约): SQL 展示数据进契约,topReaction 收成枚举 yuetsh 2026-08-25 19:02:25 -06:00
  • ed9d9f65bf chore(部署): deploy.sh 结尾别再把 NPM 当待办事项 yuetsh 2026-08-25 18:36:08 -06:00
  • 6356643cc9 ci(部署): 部署走 GitHub Actions,产物挪到 runner 上编 yuetsh 2026-08-25 18:30:22 -06:00
  • d3b05b8629 refactor(契约): 补齐 80 个类型导出,前端不再手抄形状 yuetsh 2026-08-25 18:07:01 -06:00
  • 78a2fb4fce feat(排行榜): 重写全服 Top100,补上「我的排名」,后台那条挪进 admin yuetsh 2026-08-25 17:57:55 -06:00
  • 6e905085a1 chore(依赖): 后端升到 TypeScript 7,前端被 vue-tsc 挡住留在 5.9 yuetsh 2026-08-25 17:39:50 -06:00
  • 0e1e024fa4 chore(依赖): 升一批 patch/minor,锁死 mermaid-legacy 和 TypeScript 大版本 yuetsh 2026-08-25 17:39:06 -06:00
  • a03e22e60f chore(前端): 删掉三个从 ojnext 搬来就没人用的文件 yuetsh 2026-08-25 17:37:58 -06:00
  • 25c6e99c54 feat(后台): 补回「最高票评价」列,重写时漏掉了 yuetsh 2026-08-25 14:08:09 -06:00
  • 1198895b54 refactor(前端): vue-tsc 清零,type-check 可以当 CI 门禁了 yuetsh 2026-08-25 14:04:10 -06:00
  • 3d501e8b69 fix(试运行): 流程图/SQL 会往 Judge0 发出 language_id: undefined yuetsh 2026-08-25 14:03:51 -06:00
  • d3348f994d fix(前端): 一批表格列静默空白,题单进度点「移除」还会抛 yuetsh 2026-08-25 14:03:51 -06:00