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.
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.
- 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
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.
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.
- 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
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.
- 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)
- 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
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.
- Set primary domain gitdata.ai and static.gitdata.ai with cert-manager TLS
- Add LoadBalancer service for gitserver SSH (port 2222)
- Exclude .server.yaml from Helm packaging
Remove unused imports and add #[allow(dead_code)] annotations to
intentionally retained fields/methods. Also add deploy/.server.yaml
to .gitignore to prevent accidental credential exposure.