Commit Graph

617 Commits

Author SHA1 Message Date
ZhenYi
e64dc94d29 feat: add IssuesPage with tabs and kanban board
Implement issues listing page with tab navigation (All/To Do/In Progress/Done)
and kanban board view using TanStack Table. Connect to API endpoints with
pagination and filtering support.
2026-05-14 21:50:04 +08:00
ZhenYi
aaf518a66c feat: add Vite configuration with aliases and proxy
Add path aliases (@/* -> src/*) and development proxy
configuration for API routing.
2026-05-14 21:49:47 +08:00
ZhenYi
f4397256bd refactor: remove unused Redux store hooks
Delete obsolete Redux store configuration files as part of
the Zustand migration. These files are no longer referenced
after the store refactor.
2026-05-14 21:49:37 +08:00
ZhenYi
a1d245a767 Enable RSA support in russh 2026-05-14 21:45:05 +08:00
ZhenYi
a3ecf0c88b Separate SSH key probe from authentication 2026-05-14 21:44:55 +08:00
ZhenYi
b8bd0ec545 refactor(frontend): apply formatting and update chat, settings, project pages 2026-05-14 10:02:54 +08:00
ZhenYi
8731c01908 feat(api,config): add ESLint rules, update OpenAPI schema with fork API and project stats 2026-05-14 10:02:44 +08:00
ZhenYi
12eaa83b87 refactor(transport): apply rustfmt formatting 2026-05-14 10:02:36 +08:00
ZhenYi
06c08148cb refactor(service,session): apply rustfmt formatting 2026-05-14 10:02:29 +08:00
ZhenYi
18ea3cc355 refactor(room): apply rustfmt formatting 2026-05-14 10:02:21 +08:00
ZhenYi
52e1831452 refactor(observability,queue): apply rustfmt formatting 2026-05-14 10:02:15 +08:00
ZhenYi
8fd6dbb68b refactor(migrate,models): apply rustfmt formatting 2026-05-14 10:02:07 +08:00
ZhenYi
4c4c33f970 refactor(git,gingress-proxy): apply rustfmt formatting 2026-05-14 10:02:00 +08:00
ZhenYi
2dcb5b3028 refactor(fctool): apply rustfmt formatting 2026-05-14 10:01:52 +08:00
ZhenYi
02a1020f75 refactor(config,db,email): apply rustfmt formatting 2026-05-14 10:01:46 +08:00
ZhenYi
724858a721 refactor(api): apply rustfmt and update fork API + project stats endpoint 2026-05-14 10:01:39 +08:00
ZhenYi
e29ef0e76d refactor(agent): apply rustfmt formatting across agent library 2026-05-14 10:01:32 +08:00
ZhenYi
b6832923fa refactor(apps): apply rustfmt formatting across all application binaries 2026-05-14 10:01:25 +08:00
ZhenYi
18b4864050 refactor(deploy): add SSH service annotations and externalTrafficPolicy support 2026-05-14 10:01:18 +08:00
ZhenYi
96ce6fde1c feat(docker): add safe.directory git config for git-enabled containers
Prevents "dubious ownership" errors when running git commands in containers
with mounted repositories (root user + external volume).
2026-05-13 00:32:41 +08:00
ZhenYi
1c55cb8559 refactor(docker): run all containers as root, add compact log format support
- Docker: remove appuser creation and USER directive in all 7 Dockerfiles
- observability: recognize APP_LOG_FORMAT=compact as non-JSON pretty output
2026-05-12 23:59:31 +08:00
ZhenYi
066bb4e83d fix(react): add resolve.dedupe for react/react-dom to prevent CJS multi-instance
React 19.2.5 is pure CJS. Rollup's CJS→ESM interop can create separate scoped
ReactSharedInternals objects for react and react-dom, causing hooks to see a null
dispatcher on the server build. resolve.dedupe forces a single shared instance.
2026-05-12 22:41:44 +08:00
ZhenYi
e185885557 fix(react): switch namespace import to default import to fix stale Vite CJS interop
- 3 files: theme-provider, carousel, sidebar
- index.html: set title to GitData.AI, favicon to /logo.png
- add public/logo.png and robots.txt
2026-05-12 22:03:54 +08:00
ZhenYi
e6ba5433e2 bucong 提交 2026-05-12 18:06:20 +08:00
ZhenYi
d19a3ca557 fix(avatar): gracefully degrade when avatar directory is not writable
AppAvatar::init() create_dir_all failure now logs a warning instead of
failing fatally. This fixes the email worker crash — it runs AppService
but has no PVC mount, so /data/avatars is not accessible. Other services
(app) have the PVC mounted and are unaffected.
2026-05-12 18:05:55 +08:00
ZhenYi
cac342bdc5 refactor(deploy): remove gingress controller, switch to nginx ingress
- Delete gingress templates (deployment, rbac, service)
- Remove gingress config block from values.yaml
- Switch ingress class to nginx with full annotations:
  - Unlimited body size for large file uploads
  - WebSocket support with 1h timeouts
  - Cookie-based session affinity
  - Real IP passthrough via X-Forwarded-For
2026-05-12 17:20:52 +08:00
ZhenYi
8ecd16868c feat(core): initialize project with access control and AI integration 2026-05-12 17:01:42 +08:00
ZhenYi
8be15cb81e fix(deploy): hardcode PVC name as shared-data in templates, remove pvcName Helm value
PVC name is now immutable — hardcoded in all 4 deployment templates instead
of being a configurable Helm value. Removed pvcName from values.yaml and
--set pvcName from deploy.sh. This ensures the PVC can never be renamed or
deleted by Helm operations, only manually via kubectl.
2026-05-12 16:36:13 +08:00
ZhenYi
dc193a061a fix(api): replace async block in Option::and_then with match for proper await 2026-05-12 16:06:32 +08:00
ZhenYi
033cfda6c5 feat: add explore page and AI elements components 2026-05-12 13:07:58 +08:00
ZhenYi
b0b33dfd9c chore(deps): update dependencies and add shadcn components.json 2026-05-12 13:07:47 +08:00
ZhenYi
d63ca39ca4 refactor(layout): update layout components, header, navigation and API client 2026-05-12 13:06:19 +08:00
ZhenYi
e86803d235 refactor(ui): update UI components, theme system and utilities 2026-05-12 13:05:28 +08:00
ZhenYi
b384f92bbf refactor(chat): update frontend chat components 2026-05-12 13:05:20 +08:00
ZhenYi
9d091d3dfb refactor(service): update observability push, chat conversation and search service 2026-05-12 13:04:46 +08:00
ZhenYi
395fa1b498 refactor(agent): update AI chat execution, streaming and ReAct logic 2026-05-12 13:04:40 +08:00
ZhenYi
6921220cc2 refactor(migrate): consolidate all individual migrations into single init.sql 2026-05-12 13:04:28 +08:00
ZhenYi
1daab11ba4 feat(scripts): add deployment and build utility scripts
Replace old scripting approach with new build, deploy, push,
and uninstall utilities.
2026-05-11 17:08:29 +08:00
ZhenYi
ac9ffb2a7a feat(frontend): update UI components, skill pages, and hooks
Refactor ChatMessageList, ChannelSidebar, and skill detail/pages.
Add CreateSkillDialog and DeleteSkillDialog. Update MarkdownRenderer,
use-mobile hook, and useSkillsQuery.
2026-05-11 17:06:13 +08:00
ZhenYi
de85417053 refactor(service): update service layer, TOTP, and AI streaming
Refine room AI streaming logic, update TOTP auth error handling,
and adjust user 2FA migration order. Remove unused service exports.
2026-05-11 17:05:59 +08:00
ZhenYi
0f800da74d chore(api): update Cargo dependency and build script 2026-05-11 17:05:50 +08:00
ZhenYi
ec29673d14 chore: update dependencies and project config
Update Cargo dependencies and bump gingress actix-web version.
Adjust package.json scripts.
2026-05-11 17:05:39 +08:00
ZhenYi
3b17a0493f refactor(git/ssh): extract helper functions into dedicated modules
Move RefUpdate, GitService, branch_protection check, and forward
function from handle.rs into separate modules.
2026-05-11 17:05:30 +08:00
ZhenYi
deb25614ba refactor(transport): split handler inbound and types into sub-modules
Extract MessageHandler methods into inbound/{message,room,reaction,misc,msg}
and type definitions into types/{in_message,out_event}.
2026-05-11 17:05:17 +08:00
ZhenYi
d45e9e28f4 refactor(agent): split monolithic service files into specialized modules
Extract agent, compact, embed, task, and modes modules from single
service.rs files into focused sub-modules. Add orao module for
O1-like reasoning loop. Move RigAgentService to rig_tool.rs.
2026-05-11 17:04:57 +08:00
ZhenYi
129aa3dce7 fix(gingress): use ENTRYPOINT instead of CMD so Kubernetes args are passed correctly
Without ENTRYPOINT, Kubernetes replaces CMD with args, causing the container
to try executing "--ingress-class=gingress" as a binary directly.
2026-05-11 01:34:17 +08:00
ZhenYi
b1ef024724 fix(migrate): reorder create_project before add_workspace_id_to_project and remove foreign keys
- Move create_project migration before add_workspace_id_to_project so the
  project table exists when workspace_id column is added
- Remove all FOREIGN KEY constraints from migration SQL files
2026-05-11 01:31:33 +08:00
ZhenYi
4d5caffe0b fix(deploy): disable readOnlyRootFilesystem to prevent temp file write errors
Email worker and other pods fail with "Read-only file system" when
readOnlyRootFilesystem is true, since they need to write temp files.
Also adds debug print statements for database connection lifecycle.
2026-05-11 01:14:06 +08:00
ZhenYi
bf7e6cf0a0 fix(app): initialize tracing immediately and fix replica timeout units
- Change init_tracing_subscriber defer=false so logs appear before DB
  connection fails (was deferred when OTEL enabled, producing no output)
- Fix replica connection pool timeouts from from_millis to from_secs
  (write connection was fixed earlier but replica was missed)
2026-05-11 00:43:36 +08:00
ZhenYi
fc013b174f fix(ops): preserve resources on deploy failure and protect ConfigMap/PVC from deletion
- deploy.sh: keep failed release for debugging instead of auto-uninstall,
  add helm.sh/resource-policy=keep annotation on ConfigMap and PVC
- uninstall.sh: interactive confirmation with protected resource list,
  post-uninstall verification that namespace/ConfigMap/PVC still exist
2026-05-11 00:17:43 +08:00