Commit Graph

512 Commits

Author SHA1 Message Date
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
ZhenYi
b560d9ea0f fix(db): use seconds for connection pool timeouts instead of milliseconds
ConfigMap values are in seconds (e.g. connection_timeout=30 means 30s),
but Duration::from_millis() interpreted them as ms (30ms), causing pool
timeout on startup. Changed to from_secs(). Also removed Namespace from
Helm chart to prevent cascade deletion of PVC/ConfigMap on uninstall.
2026-05-10 23:58:16 +08:00
ZhenYi
065c9e6aa5 fix(deploy): replace underscores with hyphens in container names and fix namespace Helm ownership
Kubernetes container names must follow RFC 1123 (no underscores).
Also update deploy.sh to label/annotate namespace with Helm ownership metadata.
2026-05-10 23:23:45 +08:00
ZhenYi
f082429a58 feat(core): initialize project with access control and AI integration 2026-05-10 22:52:16 +08:00
ZhenYi
1c81036938 feat(ops): add deploy.sh for Helm-based deployment
Automates namespace creation, prerequisite checks, chart lint,
helm upgrade --install with wait, and post-deploy verification.
2026-05-10 22:50:40 +08:00
ZhenYi
1f025ee957 fix(deploy): unify gingress namespace to app 2026-05-10 22:49:03 +08:00