Commit Graph

315 Commits

Author SHA1 Message Date
c668c88f7f feat(desktop): align requested 4/5/6/8 with resume queue batch and one-click update 2026-02-18 20:26:16 +08:00
32a66e6c77 feat(desktop): add sort/filter, update center, and local sync workspace 2026-02-18 20:07:21 +08:00
d4818a78d3 perf(desktop): stream drag-upload and improve transfer status UX 2026-02-18 19:50:34 +08:00
09043e8059 feat(desktop): add drag-and-drop upload for file view 2026-02-18 19:46:11 +08:00
2b36275c4a style(desktop): improve alignment and spacing across file/share views 2026-02-18 19:33:39 +08:00
8736a127a5 fix(desktop): enforce square file cards and icon tiles 2026-02-18 19:29:25 +08:00
24ac734503 feat(desktop): native download and working context menu actions 2026-02-18 19:25:52 +08:00
9da90f38cc feat(desktop): square file cards and context-menu file actions 2026-02-18 18:30:53 +08:00
3c483d2093 feat(desktop): implement share management and hide endpoint settings 2026-02-18 17:17:49 +08:00
e343f6ac2a feat(desktop): add tauri desktop client for cs.workyai.cn 2026-02-18 16:53:22 +08:00
3ea17db971 fix: correct local datetime display and remove false devtools detection 2026-02-18 11:23:34 +08:00
751428a29a fix: keep expired reservations reconcilable for delayed OSS logs 2026-02-18 10:49:58 +08:00
5eab1de03e fix: ingest oss traffic logs without file extensions 2026-02-18 10:24:00 +08:00
7ee727bd3a fix: bump app.js cache busting version 2026-02-18 10:08:11 +08:00
96ff46aa4a feat: add configurable stealth download security policies 2026-02-18 09:48:14 +08:00
8956270a60 fix: improve reservation cleanup and share popup handling 2026-02-17 23:55:31 +08:00
1a1c64c0e7 feat: add share security, resumable upload, global search and reservation ops panel 2026-02-17 23:36:30 +08:00
3c75986566 fix: bump app.js cache-busting version 2026-02-17 22:56:49 +08:00
aad1202d5e ui: show file names instead of full paths in shares 2026-02-17 22:54:12 +08:00
5f7599bd0d style: align share and direct-link table layout 2026-02-17 22:42:11 +08:00
b261d2750c fix: unify share/direct link click and copy actions 2026-02-17 22:39:19 +08:00
e909d9917a fix: normalize traffic range buttons layout in settings 2026-02-17 22:14:40 +08:00
6242622f1a feat: add independent direct-link sharing flow 2026-02-17 21:57:38 +08:00
d236a790a1 test: update admin/share edge scripts for cookie+csrf auth 2026-02-17 21:32:07 +08:00
aed5dfdcb2 feat: add server-side admin user pagination and align traffic report accounting 2026-02-17 20:30:02 +08:00
1eae645bfd feat: improve admin user management with filters and pagination 2026-02-17 20:13:32 +08:00
c506cf83be feat: improve media preview UX with caching and loading states 2026-02-17 20:03:02 +08:00
0885195cb5 fix: remove preview content-type override for aliyun oss compatibility 2026-02-17 19:51:01 +08:00
f0e7381c1d fix: use preview-mode signed URLs and graceful media preview fallback 2026-02-17 19:36:49 +08:00
2b700978ad fix: precheck local downloads to avoid JSON file download on quota errors 2026-02-17 19:32:48 +08:00
dd6c439eb3 fix: fallback to file icon when thumbnail load fails 2026-02-17 19:29:42 +08:00
978ae545e1 feat: make zero download quota block downloads and use -1 for unlimited 2026-02-17 19:25:39 +08:00
53e77ebf4e fix: precheck local share download quota at download-url stage 2026-02-17 19:08:47 +08:00
3ab92d672d chore: properly ignore runtime storage and data directories 2026-02-17 19:07:11 +08:00
19d3f29f6b fix: move share quota block to download and add 3s download alert 2026-02-17 19:05:12 +08:00
10a3f09952 feat: switch OSS download quota to reservation plus log reconcile 2026-02-17 18:12:33 +08:00
b171b41599 fix: force OSS direct download even when traffic quota is enabled 2026-02-17 17:40:55 +08:00
3a22b88f23 feat: add user download traffic reports and restore OSS direct downloads 2026-02-17 17:36:26 +08:00
7687397954 feat: enhance download traffic quota lifecycle controls 2026-02-17 17:19:25 +08:00
2629237f9e feat(quota): add downloadable traffic quota with local/OSS/share metering 2026-02-17 16:52:26 +08:00
b0e89df5c4 fix(security): harden CORS/cookie policy and share path validation 2026-02-12 21:39:01 +08:00
a3932747e3 fix(ui): apply true large-screen scaling and mobile overflow safeguards 2026-02-12 20:33:36 +08:00
8193101566 fix(frontend): improve 2k/4k scaling and mobile overflow responsiveness 2026-02-12 20:28:08 +08:00
12859cbb20 feat: apply UI/storage/share optimizations and quota improvements 2026-02-12 18:02:57 +08:00
1fcc60b9aa feat(frontend): unify landing style and add product/scenes/start pages 2026-02-12 18:02:28 +08:00
d46d20f670 chore: 移除系统设置的密码二次验证
移除 /api/admin/settings 路由的 requirePasswordConfirmation 中间件,
简化管理员操作流程。系统设置更新现在仅依赖管理员登录认证。

注意:此修改降低了安全性,建议在生产环境中考虑其他安全措施。

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 11:58:39 +08:00
e5e2bfd9db fix: 部署脚本添加 ENCRYPTION_KEY 和 ENABLE_CSRF 配置
修复问题:
1. 新安装时自动生成 ENCRYPTION_KEY(用于加密 OSS 敏感信息)
2. 新安装时默认启用 CSRF 保护(ENABLE_CSRF=true)
3. 升级时自动检查并补充缺失的 ENCRYPTION_KEY 和 ENABLE_CSRF

解决了部署后服务因缺少 ENCRYPTION_KEY 而无法启动的问题。

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 11:50:25 +08:00
Dev Team
355c5940d4 fix: 隐藏系统级统一OSS用户的OSS配置按钮
## 问题
用户权限为 oss_only 时仍显示"配置/修改OSS"按钮,但用户使用的是系统级统一OSS配置,
不需要也无法修改个人OSS配置。

## 修复
- app.html:1894 - 添加条件判断 `v-if="user?.has_oss_config"`
- 仅在用户有个人OSS配置时显示"修改个人OSS配置"按钮
- 修改按钮文本:"配置/修改OSS" → "修改个人OSS配置"
- 修改说明文本:"已配置云服务" → "已配置系统级OSS"

## 影响
-  系统级统一OSS用户不再看到误导性的配置按钮
-  有个人OSS配置的用户仍可以修改个人配置
-  提升用户体验,避免混淆

**Bug数量:** 1个UI问题
**修改文件:** 1个
2026-01-20 22:52:09 +08:00
Dev Team
0061d837ec fix: 修复OSS删除单个文件失败的bug
## 问题
删除单个文件时使用DeleteObjectsCommand导致阿里云OSS报错:
"Missing Some Required Arguments."

## 修复
- 改用DeleteObjectCommand删除单个文件
- 修复storage.js:1224的delete方法
- 与之前修复的rename方法保持一致

## 影响
-  文件删除功能现在正常工作
-  与重命名功能使用相同的删除命令
-  完全兼容阿里云OSS

**Bug数量:** 1个
**修改文件:** 1个
2026-01-20 22:24:05 +08:00
Dev Team
78b64b50ab fix: 全面修复系统级统一OSS配置的12个关键bug
## 修复内容

### 后端API修复(server.js)
- 添加oss_config_source字段到登录响应,用于前端判断OSS直连上传
- 修复6个API未检查系统级统一OSS配置的问题:
  * upload-signature: 使用effectiveBucket支持系统配置
  * upload-complete: 添加OSS配置安全检查
  * oss-usage/oss-usage-full: 检查系统级配置
  * switch-storage: 改进OSS配置检查逻辑
  * 5个管理员API: storage-cache检查/重建/修复功能

### 存储客户端修复(storage.js)
- rename方法: 使用getBucket()支持系统级统一配置
- stat方法: 使用getBucket()替代user.oss_bucket
- 重命名操作: 改用DeleteObjectCommand替代DeleteObjectsCommand
  * 修复阿里云OSS"Missing Some Required Arguments"错误
  * 解决重命名后旧文件无法删除的问题
- put方法: 改用Buffer上传替代流式上传
  * 避免AWS SDK的aws-chunked编码问题
  * 提升阿里云OSS兼容性
- 添加阿里云OSS特定配置:
  * disableNormalizeBucketName: true
  * checksumValidation: false

### 存储缓存修复(utils/storage-cache.js)
- resetUsage方法: 改用直接SQL更新,绕过UserDB字段白名单限制
  * 修复缓存重建失败的问题
- 3个方法改用ossClient.getBucket():
  * validateAndFix
  * checkIntegrity
  * rebuildCache
- checkAllUsersIntegrity: 添加系统级配置检查

### 前端修复(app.js)
- 上传路由: 使用oss_config_source判断而非has_oss_config
- 下载/预览: 统一使用oss_config_source
- 确保系统级统一OSS用户可以直连上传/下载

### 安装脚本优化(install.sh)
- 清理并优化安装流程

## 影响范围

**关键修复:**
-  系统级统一OSS配置现在完全可用
-  文件重命名功能正常工作(旧文件会被正确删除)
-  存储使用量缓存正确显示和更新
-  所有管理员功能支持系统级统一OSS
-  上传完成API不再有安全漏洞

**修复的Bug数量:** 12个核心bug
**修改的文件:** 6个
**代码行数:** +154 -264

## 测试验证

-  用户2存储使用量: 143.79 MB(已重建缓存)
-  文件重命名: 旧文件正确删除
-  管理员功能: 缓存检查/重建/修复正常
-  上传功能: 直连OSS,缓存正确更新
-  多用户: 用户3已激活并可正常使用
2026-01-20 22:23:37 +08:00