Commit Graph

951 Commits

Author SHA1 Message Date
shenlan
3777ba22ca Ensure html2canvas loads only in browser (#652) 2025-11-09 16:34:54 +08:00
shenlan
9aec855a22 fix: lazily load html2canvas in poster export (#651) 2025-11-09 16:15:11 +08:00
shenlan
2d11e439b6 Align dynamic slug names for tenant and product routes (#650) 2025-11-09 15:59:20 +08:00
shenlan
b06cf2de3e feat(dashboard): add marketing product pages (#649) 2025-11-09 15:44:38 +08:00
shenlan
0da7de8cb7 Rename CloudNative Suite to Cloud-Neutral in dashboards (#648) 2025-11-09 10:06:34 +08:00
Haitao Pan
2263707d13 fix(dashboard): resolve @types/react version conflict
- Downgrade @types/react from 19.1.8 → 18.3.26
- Align with @types/react-dom and @testing-library/react
- No build errors, all dependencies compatible

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2025-11-06 11:49:09 +08:00
Haitao Pan
4976ca1efd fix(dashboard): eliminate middleware deprecation warning
- Rename middleware.ts → proxy.ts
- Update to use default proxy export (Next.js 16)

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2025-11-06 11:40:15 +08:00
Haitao Pan
f3d0a7f931 fix(dashboard): resolve npm run build errors
- Fix module path in prebuild script (../../scripts → ../scripts)
- Update API routes to use Promise-based params for Next.js 16
- Install @types/sanitize-html and @types/js-yaml
- Fix component prop naming (loading → isLoading, saving → isSaving, etc.)
- Update VLESS config type definition with missing 'id' property
- Fix TypeScript type conflicts and export declarations

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2025-11-06 11:07:30 +08:00
Haitao Pan
5f82e984b4 fix: update cookies() API for Next.js 16 compatibility
- Updated 6 API route handlers to use await cookies()
- Fixed: auth/session, auth/login, auth/mfa/* endpoints
- Resolves "cookies().get is not a function" errors

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-06 10:35:56 +08:00
Haitao Pan
288a049141 feat(dashboard): add REGION env variable support
- Enable REGION environment variable to control regional config overrides
- Prioritize RUNTIME_ENV and REGION over file-based configuration
- Supports: RUNTIME_ENV=prod|sit and REGION=cn|global|default
- Loads from dashboard/config/runtime-service-config.{env}.yaml
- Fixes configuration loading with Turbopack compatibility

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-06 10:28:35 +08:00
Haitao Pan
b4696470f6 feat(dashboard): upgrade Next.js 14 → 16 with Turbopack support
- Fix @theme module resolution for Turbopack
- Add external image domain config (dl.svc.plus)
- Resolve YAML file module type errors
- Support RUNTIME_ENV env var for config selection
- Optimize next.config.mjs for Next.js 16 compatibility

Closes #upgrade-next16
2025-11-06 10:21:19 +08:00
Haitao Pan
0b3fab7d28 cleanup(auth): remove test/docs files from internal/auth
- Deleted non-essential files from rag-server/account internal/auth:
  - Removed: test files, docs (README, IMPLEMENTATION), cache/client modules
  - Kept: core JWT auth middleware and token_service only
- Simplified to JWT service-to-service authentication
- Claims retain UserID/Email/Roles business info
2025-11-05 22:58:39 +08:00
Haitao Pan
a1e4cc9146 remove: remove internal/auth/mfa_service.go
• Deleted unused mfa_service.go file
• Fixed import in api/api.go for auth package
• Build verified and working

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-05 22:25:15 +08:00
Haitao Pan
3a4f7105c7 update TOKEN_AUTH_SUMMARY.md 2025-11-05 22:16:18 +08:00
Haitao Pan
96e4c8d719 feat(auth): implement rag-server remote auth middleware
Implement complete authentication middleware for rag-server:
- Remote token verification via accounts-service
- 60s TTL cache with background GC
- Gin middleware integration
- Role-based access control
- Zero-trust architecture (no private keys)
- Health check endpoint

Files:
- internal/auth/client.go (350 lines)
- internal/auth/middleware_verify.go (280 lines)
- internal/auth/cache.go (180 lines)
- internal/auth/example_test.go (150 lines)
- internal/auth/README.md (550 lines)
- cmd/xcontrol-server/main.go (updated)
- config/config.go (added AuthCfg)
- config/server.yaml (removed secrets)

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2025-11-05 21:01:20 +08:00
Haitao Pan
8edeb75391 feat(auth): implement dual-layer token authentication with config support
- Add auth.enable configuration field (default: true)
- Add TokenService initialization in account service
- Implement token exchange endpoint (/api/auth/token/exchange)
- Implement token refresh endpoint (/api/auth/token/refresh)
- Protect routes with JWT authentication middleware
- Update configuration structures for all services
- Support accessSecret with configurable expiry times
- Update token management script to handle all token types
- Validate auth configuration consistency across services
2025-11-05 20:11:23 +08:00
Haitao Pan
c1a26852ae feat(test): add test suite for services (build, dry-run, local-test) 2025-11-05 19:42:45 +08:00
Haitao Pan
7ef1f960fb feat(auth): implement token authentication system across services
- Add token service and MFA service to account service
- Implement auth middleware for request validation
- Add token-based auth to dashboard and RAG server
- Update configuration files for auth settings
2025-11-05 19:28:23 +08:00
Haitao Pan
097b88c0a8 fix(auth): resolve panel redirect loops and clean up authentication flow
- Fix middleware redirect path from /auth/login to /login
- Remove duplicate authentication checks from panel routes (index, account, mail)
- Configure public routes: only /, /download, /docs are public
- All other pages including /panel require authentication
- Streamline auth flow: middleware handles auth, pages render directly

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-05 17:22:24 +08:00
Haitao Pan
36dcb53256 update: account/config/sync.yaml 2025-11-05 16:36:08 +08:00
Haitao Pan
9e1112758a feat(dashboard-fresh): migrate and integrate dashboard source
- Add fresh app structure (auth, tenant, mail, insight, docs, panel)
- Include CMS content, API routes, scripts, and config
- Migrate UI components, themes, and extensions to fresh runtime
2025-11-04 18:06:21 +08:00
shenlan
3368bfb4c1 docs: align dashboard plan with fresh deno migration (#644) 2025-11-04 12:57:02 +08:00
Haitao Pan
34edab39de fix(account): add timeout and email validation for verification sending 2025-11-04 09:38:15 +08:00
shenlan
3da17828bb feat: enable mail demo preview and fix extension import (#643) 2025-11-03 07:56:18 +08:00
shenlan
c3e0268a24 Add email verification auth page (#642) 2025-11-02 23:09:51 +08:00
shenlan
e48a20a01d Simplify verification step notice (#641) 2025-11-02 22:43:00 +08:00
shenlan
fda6865f70 Improve registration feedback and verification flow (#640) 2025-11-02 19:34:26 +08:00
shenlan
b8e79a3c38 Keep registration code inputs enabled (#639) 2025-11-02 18:44:34 +08:00
shenlan
392925460e Fix runtime loader search path for sit env (#638) 2025-11-02 18:11:33 +08:00
shenlan
120878ee96 Merge pull request #637 from Cloud-Neutral/codex/refactor-runtime-loader-for-server-only 2025-11-02 15:42:57 +08:00
shenlan
993fead726 refactor runtime loader to server module 2025-11-02 15:41:55 +08:00
root
5bd01fae54 update prod runtime config and cleanup: adjust .gitignore, remove account-export.yaml 2025-11-02 12:07:13 +08:00
shenlan
55a2f052c6 Limit SMTP send duration with request-scoped timeouts (#636) 2025-11-02 11:54:59 +08:00
shenlan
9c1a4c2652 Simplify runtime config loading (#635) 2025-11-02 11:51:46 +08:00
Haitao Pan
bb437c0c63 add docs/account-test-cases.md 2025-11-02 11:50:12 +08:00
shenlan
7565fe2632 Fix runtime env detection for SIT domains (#634) 2025-11-02 11:00:56 +08:00
shenlan
ebcac64939 Detect implicit TLS when auto mode uses port 465 (#633) 2025-11-02 10:47:20 +08:00
Haitao Pan
3500c3ad78 merged: refactor-project-for-environment-auto-detection 2025-11-02 10:42:26 +08:00
shenlan
2fb788bd22 feat: add runtime config loader 2025-11-02 10:38:06 +08:00
Haitao Pan
69ad6d18e4 Adjust SIT environment configuration: runtime-service-config + dev Nginx 2025-11-02 10:35:37 +08:00
shenlan
eaf893cef9 Disable caching in SIT Nginx config (#631) 2025-11-02 09:06:57 +08:00
shenlan
3f77622388 feat: align svc.plus gateway layering (#630) 2025-11-02 07:11:11 +08:00
shenlan
62db081501 fix(next): rewrite API trailing slashes (#629) 2025-11-01 23:52:34 +08:00
shenlan
68f54ae2e3 fix(next): rewrite trailing api slashes in config (#628) 2025-11-01 23:44:51 +08:00
shenlan
197ad603da fix(next): rewrite API trailing slashes (#627) 2025-11-01 23:25:55 +08:00
Haitao Pan
baa1ca14af fix(next): disable trailingSlash to restore API route matching for /api/auth/* 2025-11-01 23:14:12 +08:00
shenlan
59b005adb8 Fix register send proxy handler (#626) 2025-11-01 22:41:26 +08:00
shenlan
e3a5d4f75c feat: show real-time register validation hints (#625) 2025-11-01 22:14:59 +08:00
shenlan
4fd281f2b6 Fix account service API URL joining (#624) 2025-11-01 21:53:15 +08:00
shenlan
f915c46915 Refine registration flow with verification gate (#623) 2025-11-01 21:34:35 +08:00