forked from lei.chen/myxce
1.5 KiB
1.5 KiB
Code Improvement Tasks
Last updated: 2026-04-09
| ID | Status | Category | Component | Task | Effort |
|---|---|---|---|---|---|
| I1 | ✅ done | 🔴 Bug | apiserver | queue_name:in:(...) filter added N times in GetJobsInfo loop |
10 min |
| I2 | ✅ done | 🟠 Quality | apiserver | Fix (error, T) → (T, error) return convention in GetRequireResourcePermission and call sites |
1h |
| I3 | ⏳ open | 🟠 Quality | apiserver | Replace ioutil.ReadFile with os.ReadFile in rbac_check.go |
5 min |
| I4 | ⏳ open | 🟠 Quality | apiserver | Replace raw domain strings ("all", "self") with models.DomainTypeAll constants |
30 min |
| I5 | ⏳ open | 🟠 Quality | xcecli | Move parseJobTime/formatJobTime to common/output/time.go for reuse |
15 min |
| I6 | ⏳ open | 🟡 Refactor | apiserver | Extract RBAC accessQueues logic — duplicated in GetJobsInfo, ControlJob, ControlJobByID, RestartJobByID |
2h |
| I7 | ⏳ open | 🟡 Refactor | apiserver | Split controllers/jobs.go (3590 lines) into query / submit / control / array / helpers |
4h |
| I8 | ⏳ open | 🟡 Refactor | xcecli | Split cmd/jobs/submit.go (734 lines) — cobra command / BuildJobRequest / interactive |
2h |
| I10 | ⏳ open | 🔵 Arch | apiserver | UserRoleSeeder for PAM/LDAP — users need re-login after restart with non-config_file providers |
2h |
| I11 | ⏳ open | 🔵 Arch | apiserver | Rate limiter limiters map grows unboundedly — add eviction or use fixed route keys |
1h |