Commit Graph

  • b5702147b8 feat(achievement): 成就图标从 emoji 换成 iconify 图标名 yuetsh yuetsh 2026-08-04 19:20:02 -06:00
  • cf5c3c5d2f fix(achievement): 管理接口序列化 create_time 为字符串 yuetsh 2026-08-04 09:56:16 -06:00
  • 1504164ae8 fix(achievement): distinct() 前必须 order_by() 清掉默认排序 yuetsh 2026-08-04 09:50:19 -06:00
  • f95c3a8bae docs: 成就系统上线与运维文档 yuetsh 2026-08-04 07:30:51 -06:00
  • 8ada9f72ed feat(achievement): 添加部署后自检命令 yuetsh 2026-08-04 07:27:29 -06:00
  • 8ecfeb5e36 fix(problemset): 奖章判定修复 N+1 与并发冲突并接入通知 yuetsh 2026-08-04 04:40:17 -06:00
  • 1ef681d5e9 fix(achievement): 重算时重建增量辅助键,避免指标回退 yuetsh 2026-08-04 01:39:29 -06:00
  • 72fec2ca61 fix(plan): 重算必须重建增量辅助键 yuetsh 2026-08-04 01:36:41 -06:00
  • 13e2f6df08 feat(achievement): 添加全量重算管理命令 yuetsh 2026-08-04 01:33:20 -06:00
  • d14251b53d fix(achievement): 补发标记 backfilled、放宽补发触发条件、校验稀有度 yuetsh 2026-08-04 01:28:31 -06:00
  • 054d4d5c32 fix(plan): 修正补发触发条件与 backfilled 标记 yuetsh 2026-08-04 01:27:09 -06:00
  • 46e5d774f1 feat(achievement): 添加管理侧成就 API 与阈值补发 yuetsh 2026-08-04 01:20:58 -06:00
  • b9caf55c4c fix(achievement): 隐藏成就的条件字段一并遮码 yuetsh 2026-08-04 01:14:52 -06:00
  • 562cf4f0b4 fix(plan): 隐藏成就的条件字段也必须遮码 yuetsh 2026-08-04 01:14:07 -06:00
  • 1d66e2be1f feat(achievement): 添加用户侧成就 API yuetsh 2026-08-04 01:12:16 -06:00
  • 8ce3660c87 fix(achievement): 元指标回写改为重新取锁重读,避免丢失更新 yuetsh 2026-08-04 01:08:06 -06:00
  • 73789bda0c fix(plan): 修正元指标回写的丢失更新缺陷 yuetsh 2026-08-04 01:07:21 -06:00
  • 95bf02efbd feat(achievement): 添加判定核心、通知模块并接入判题链路 yuetsh 2026-08-04 01:02:29 -06:00
  • 9e0bc1fa8c fix(plan): 修正 unlock() 的并发重复计数缺陷 yuetsh 2026-08-04 00:59:49 -06:00
  • c1081e6193 fix(achievement): 指标的 AC 口径改用 is_accepted,与全项目一致 yuetsh 2026-08-04 00:56:32 -06:00
  • d9840910e6 feat(achievement): 添加指标注册表与 16 个内置指标 yuetsh 2026-08-04 00:49:49 -06:00
  • 456c435289 feat(achievement): 添加成就系统数据模型 yuetsh 2026-08-04 00:44:35 -06:00
  • d4d700782b docs: 成就系统实施计划 yuetsh 2026-08-04 00:03:02 -06:00
  • 8d9dc7b521 docs: 修订成就系统设计,修复对现有代码的错误假设 yuetsh 2026-08-03 23:51:08 -06:00
  • c51e9332d1 docs: 成就系统设计方案 yuetsh 2026-08-03 23:46:55 -06:00
  • 75ff10d9fe fix yuetsh 2026-07-26 07:21:56 -06:00
  • 224960ac0f fix yuetsh 2026-07-26 07:20:16 -06:00
  • 66fac1f66d update yuetsh 2026-07-05 03:12:34 -06:00
  • 70fed2d15d fix yuetsh 2026-07-05 01:33:33 -06:00
  • 10af0256b8 移除 OI 残留:UserProfile 的 oi_problems_status / total_score / add_score yuetsh 2026-07-04 11:40:45 -06:00
  • 9535b64a4b 精简 Problem 模型:移除 rule_type / total_score / io_mode yuetsh 2026-07-04 11:40:38 -06:00
  • 4743b0398a update yuetsh 2026-07-04 11:07:24 -06:00
  • deae73cd88 feat: SQL 题测试点脚本回显接口 yuetsh 2026-07-03 19:29:51 -06:00
  • 803d6ca58d feat: SQL 题测试点预览接口 yuetsh 2026-07-03 19:25:47 -06:00
  • f77b98d4d7 fix yuetsh 2026-07-03 18:34:12 -06:00
  • fc09d291a7 fix yuetsh 2026-07-03 18:28:25 -06:00
  • 979c709333 fix yuetsh 2026-07-03 18:19:16 -06:00
  • 16ec78beae feat: SQL 提交前自动格式化(sqlparse) yuetsh 2026-07-03 10:05:38 -06:00
  • 2ec036ac37 feat: 新增 rebuild_sql_display 管理命令,为存量 SQL 题回填展示数据 yuetsh 2026-07-03 09:42:11 -06:00
  • 5af9d67fe2 fix: 终审修复——test_case_id 格式校验、modify 空变更报错、异常兜底与文档补充 yuetsh 2026-07-03 06:26:00 -06:00
  • 67079b5304 fix: _build_sql_display 兜底 info 结构损坏,避免 KeyError 导致 500 yuetsh 2026-07-03 01:22:27 -06:00
  • 06642b8131 feat: 保存 SQL 题时自动生成 sql_display 展示数据 yuetsh 2026-07-03 01:15:58 -06:00
  • 90531720bb fix: build_display modify 模式补齐被 DROP 的表条目 yuetsh 2026-07-03 01:10:04 -06:00
  • 09501469e2 feat: SQL 题展示数据生成 build_display yuetsh 2026-07-03 01:01:32 -06:00
  • caec69c809 docs: SQL 题数据化展示实施计划 yuetsh 2026-07-03 00:56:10 -06:00
  • e244030e7a docs: SQL 题数据化展示设计文档 yuetsh 2026-07-03 00:49:03 -06:00
  • 1e6041d13d fix yuetsh 2026-07-02 19:16:09 -06:00
  • 9f7f818d51 新增 SQL 题型:SQLite 内联判题(不依赖外部沙箱) yuetsh 2026-07-02 17:23:13 -06:00
  • d1a1c05b9f add new type of self-learning yuetsh 2026-06-29 19:37:59 -06:00
  • 180d75cb97 fix yuetsh 2026-06-29 06:41:18 -06:00
  • c1ec9eab8f update yuetsh 2026-06-14 09:43:27 -06:00
  • 124a1d84d3 update yuetsh 2026-06-14 09:42:25 -06:00
  • 9949ebf1c5 fix yuetsh 2026-06-14 09:27:21 -06:00
  • 90d1a2aa30 fix yuetsh 2026-06-14 09:19:01 -06:00
  • dab6734d03 switch docker image yuetsh 2026-06-14 09:13:05 -06:00
  • fa6736b855 docs: design Debian slim backend image yuetsh 2026-06-14 09:08:36 -06:00
  • 322acc543f build: install clang-extra-tools for clang-format in backend image yuetsh 2026-06-14 08:07:50 -06:00
  • 7974d12475 build: move ruff from dev to main dependencies (needed at runtime for code formatting) yuetsh 2026-06-14 08:05:12 -06:00
  • f7fbfdba7d fix(submission): revert unnecessary CSRF exemption on FormatCodeAPI yuetsh 2026-06-14 08:02:06 -06:00
  • 5cc5c64625 feat(submission): register /api/format_code route and fix CSRF exemption yuetsh 2026-06-14 07:57:24 -06:00
  • be1610faa6 feat(submission): add FormatCodeAPI view yuetsh 2026-06-14 07:51:41 -06:00
  • bfeb69434e feat(submission): add FormatCodeSerializer yuetsh 2026-06-14 07:48:58 -06:00
  • 4cd37cef78 feat(submission): add ruff/clang-format code formatting helper yuetsh 2026-06-14 07:46:41 -06:00
  • 69eb15ac27 Add implementation plan for pre-submit code auto-formatting yuetsh 2026-06-14 07:43:51 -06:00
  • 1bbc149e55 Add design spec for pre-submit code auto-formatting yuetsh 2026-06-14 07:41:03 -06:00
  • 95949e565c update yuetsh 2026-06-09 05:04:43 -06:00
  • 69bd6af6ec update yuetsh 2026-06-05 09:58:52 -06:00
  • d7e04adf07 fix yuetsh 2026-06-05 09:46:49 -06:00
  • 2b65acf91a update yuetsh 2026-06-05 08:51:57 -06:00
  • 84e972b174 update yuetsh 2026-06-05 00:58:51 -06:00
  • 6a7be0e97a fix yuetsh 2026-06-04 23:59:20 -06:00
  • 513743c767 update yuetsh 2026-06-04 08:44:58 -06:00
  • 6a870875ee add ai report yuetsh 2026-06-04 08:06:31 -06:00
  • 3d5ace65f2 feat: register ai admin URL routes yuetsh 2026-06-04 07:31:14 -06:00
  • baed3b80f1 feat: add AIAnalysisAdminAPI for listing and reading reports yuetsh 2026-06-04 07:27:24 -06:00
  • 39f1e8b35e fix: use utils.api serializers import instead of rest_framework directly yuetsh 2026-06-04 07:26:08 -06:00
  • f8cbcf28c1 feat: add AIAnalysis serializers for admin list/detail yuetsh 2026-06-04 07:25:45 -06:00
  • b28301bbb1 fix yuetsh 2026-06-04 05:31:23 -06:00
  • f6e41dc349 fix yuetsh 2026-06-04 04:48:25 -06:00
  • 745ddb56f9 fix yuetsh 2026-06-03 07:38:07 -06:00
  • 734f596e1a update yuetsh 2026-06-03 07:29:03 -06:00
  • 0764946c17 add wc yuetsh 2026-06-03 07:19:57 -06:00
  • 809673e64f fix yuetsh 2026-06-03 04:50:46 -06:00
  • 59dbb6868f update yuetsh 2026-06-03 00:01:29 -06:00
  • d1fdbcf52b fix yuetsh 2026-06-02 23:13:06 -06:00
  • 385d04505b feat: open teaching analytics to Teacher Admin yuetsh 2026-06-02 18:17:26 -06:00
  • f94d29cf93 feat: add Teacher Admin role to four-tier permission system yuetsh 2026-06-02 18:13:33 -06:00
  • 125d57b123 update yuetsh 2026-06-02 10:48:24 -06:00
  • fd7384980a update yuetsh 2026-05-28 19:13:14 -06:00
  • 6ab2886f77 remove contest type yuetsh 2026-05-26 23:10:27 -06:00
  • 6b81856bfd refactor: replace sync_to_async aggregate with aaggregate in problemset views yuetsh 2026-05-26 21:48:30 -06:00
  • 48a16d91b5 refactor: replace sync_to_async aggregate with aaggregate in problem views yuetsh 2026-05-26 21:46:56 -06:00
  • b041de8c4a refactor: replace sync_to_async aggregate with aaggregate in CommentStatisticsAPI yuetsh 2026-05-26 21:44:56 -06:00
  • e47923758e refactor: replace sync_to_async queryset slice with async for comprehension yuetsh 2026-05-26 21:42:43 -06:00
  • c49a6af066 refactor: replace sync_to_async cache wrappers with native cache.aget/aset/adelete yuetsh 2026-05-26 21:25:48 -06:00
  • 57c0572fd9 async yuetsh 2026-05-26 21:25:26 -06:00
  • 8731012f47 use asgi yuetsh 2026-05-26 07:37:05 -06:00
  • 759593a224 fix yuetsh 2026-05-26 07:08:23 -06:00
  • 1217ee3eaf update yuetsh 2026-05-26 02:19:26 -06:00
  • bf2a95ef01 update yuetsh 2026-05-25 23:55:19 -06:00