Commit Graph

164 Commits

Author SHA1 Message Date
237899745
e809de892d fix: preserve workspace cascade in production build
Some checks failed
Build and tests / test (push) Has been cancelled
2026-08-03 22:47:15 +08:00
237899745
8095b2391e fix: unify compact navigation breakpoint
Some checks failed
Build and tests / test (push) Has been cancelled
2026-08-03 22:25:55 +08:00
237899745
c529e6c51b feat: streamline mobile file workspace 2026-08-03 22:21:09 +08:00
237899745
a736d70d57 build: publish desktop installer via Gitea releases
Some checks failed
Build and tests / test (push) Has been cancelled
2026-07-27 15:20:09 +08:00
237899745
f5377e51bb chore: harden build and deployment workflow 2026-07-27 13:07:14 +08:00
237899745
6692736e88 build: add Vite web production pipeline 2026-07-27 13:07:10 +08:00
237899745
d07c08c609 feat: refine web workspace UI 2026-07-21 17:11:18 +08:00
237899745
465be72579 feat: unify cloud workspace and release desktop v0.1.38 2026-07-21 16:16:17 +08:00
237899745
e6f3556ab7 fix: harden cloud storage security 2026-06-13 18:45:12 +08:00
yuyx
0151cacc25 fix(settings): 移除设置中心的客户端下载入口
右上角导航已有客户端下载按钮,设置中心重复展示无必要
2026-04-03 22:54:49 +08:00
ce784ff77f fix: correct mobile web layout for client download button 2026-02-20 16:15:54 +08:00
8abb08a744 feat: add web entry to download desktop client 2026-02-19 21:49:32 +08:00
2845eeea24 feat: tighten file card borders on web and desktop with 0.1.10 release 2026-02-19 20:57:24 +08:00
f253d542d9 feat: add online device management and desktop settings integration 2026-02-19 17:34:41 +08:00
0870bae3f2 fix(frontend): replace share delete confirm with in-app modal 2026-02-18 22:48:31 +08:00
134025b7a5 feat(share): reuse existing share and direct links per file 2026-02-18 22:13:14 +08:00
18d92f37aa fix(frontend): use native confirm for share/direct-link deletion 2026-02-18 22:11:55 +08:00
9b3abdbe6a fix: correct local datetime display and remove false devtools detection 2026-02-18 11:23:34 +08:00
5688057607 fix: bump app.js cache busting version 2026-02-18 10:08:11 +08:00
863c23f946 feat: add configurable stealth download security policies 2026-02-18 09:48:14 +08:00
51b84d4966 fix: improve reservation cleanup and share popup handling 2026-02-17 23:55:31 +08:00
01b15e1c28 feat: add share security, resumable upload, global search and reservation ops panel 2026-02-17 23:36:30 +08:00
78f5f02f83 fix: bump app.js cache-busting version 2026-02-17 22:56:49 +08:00
8d6ffa3448 ui: show file names instead of full paths in shares 2026-02-17 22:54:12 +08:00
71733a5efc style: align share and direct-link table layout 2026-02-17 22:42:11 +08:00
88a64b44cd fix: unify share/direct link click and copy actions 2026-02-17 22:39:19 +08:00
d003ab711e fix: normalize traffic range buttons layout in settings 2026-02-17 22:14:40 +08:00
4d226f3b86 feat: add independent direct-link sharing flow 2026-02-17 21:57:38 +08:00
fede6c3b70 feat: add server-side admin user pagination and align traffic report accounting 2026-02-17 20:30:02 +08:00
0791082fde feat: improve admin user management with filters and pagination 2026-02-17 20:13:32 +08:00
807d5e5fcb feat: improve media preview UX with caching and loading states 2026-02-17 20:03:02 +08:00
60e7e5bb78 fix: use preview-mode signed URLs and graceful media preview fallback 2026-02-17 19:36:49 +08:00
d6ceac5dbe fix: precheck local downloads to avoid JSON file download on quota errors 2026-02-17 19:32:48 +08:00
3ace94d767 fix: fallback to file icon when thumbnail load fails 2026-02-17 19:29:42 +08:00
0c660f65d6 feat: make zero download quota block downloads and use -1 for unlimited 2026-02-17 19:25:39 +08:00
ef67cd2a44 fix: move share quota block to download and add 3s download alert 2026-02-17 19:05:12 +08:00
7983ab504a feat: switch OSS download quota to reservation plus log reconcile 2026-02-17 18:12:33 +08:00
5cdd8e9c84 fix: force OSS direct download even when traffic quota is enabled 2026-02-17 17:40:55 +08:00
536e807b38 feat: add user download traffic reports and restore OSS direct downloads 2026-02-17 17:36:26 +08:00
753434ff49 feat: enhance download traffic quota lifecycle controls 2026-02-17 17:19:25 +08:00
83937db680 feat(quota): add downloadable traffic quota with local/OSS/share metering 2026-02-17 16:52:26 +08:00
7cab8516de fix(ui): apply true large-screen scaling and mobile overflow safeguards 2026-02-12 20:33:36 +08:00
63392ea1b2 fix(frontend): improve 2k/4k scaling and mobile overflow responsiveness 2026-02-12 20:28:08 +08:00
08b3c41d79 feat: apply UI/storage/share optimizations and quota improvements 2026-02-12 18:02:57 +08:00
05fc04258d feat(frontend): unify landing style and add product/scenes/start pages 2026-02-12 18:02:28 +08:00
Dev Team
2e3f4b2d9b 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
3795158a11 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
Dev Team
a6fc6c4e58 feat: 删除SFTP上传工具,修复OSS配置bug
主要变更:
- 删除管理员工具栏及上传工具相关功能(后端API + 前端UI)
- 删除upload-tool目录及相关文件
- 修复OSS配置测试连接bug(testUser缺少has_oss_config标志)
- 新增backend/utils加密和缓存工具模块
- 更新.gitignore排除测试报告文件

技术改进:
- 统一使用OSS存储,废弃SFTP上传方式
- 修复OSS配置保存和测试连接时的错误处理
- 完善代码库文件管理,排除临时报告文件
2026-01-20 20:41:18 +08:00
8eee63436c feat: 全面优化代码质量至 8.55/10 分
## 安全增强
- 添加 CSRF 防护机制(Double Submit Cookie 模式)
- 增强密码强度验证(8字符+两种字符类型)
- 添加 Session 密钥安全检查
- 修复 .htaccess 文件上传漏洞
- 统一使用 getSafeErrorMessage() 保护敏感错误信息
- 增强数据库原型污染防护
- 添加被封禁用户分享访问检查

## 功能修复
- 修复模态框点击外部关闭功能
- 修复 share.html 未定义方法调用
- 修复 verify.html 和 reset-password.html API 路径
- 修复数据库 SFTP->OSS 迁移逻辑
- 修复 OSS 未配置时的错误提示
- 添加文件夹名称长度限制
- 添加文件列表 API 路径验证

## UI/UX 改进
- 添加 6 个按钮加载状态(登录/注册/修改密码等)
- 将 15+ 处 alert() 替换为 Toast 通知
- 添加防重复提交机制(创建文件夹/分享)
- 优化 loadUserProfile 防抖调用

## 代码质量
- 消除 formatFileSize 重复定义
- 集中模块导入到文件顶部
- 添加 JSDoc 注释
- 创建路由拆分示例 (routes/)

## 测试套件
- 添加 boundary-tests.js (60 用例)
- 添加 network-concurrent-tests.js (33 用例)
- 添加 state-consistency-tests.js (38 用例)
- 添加 test_share.js 和 test_admin.js

## 文档和配置
- 新增 INSTALL_GUIDE.md 手动部署指南
- 新增 VERSION.txt 版本历史
- 完善 .env.example 配置说明
- 新增 docker-compose.yml
- 完善 nginx.conf.example

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 10:45:51 +08:00
e4d418645c fix: 全面修复和优化 OSS 功能
## 安全修复
- 修复 /api/user/profile 接口泄露 OSS 密钥的安全漏洞
- 增强 getObjectKey 路径安全检查(空字节注入、URL 编码绕过)
- 修复 storage.end() 重复调用问题
- 增强上传签名接口的安全检查

## Bug 修复
- 修复 rename 使用错误的 PutObjectCommand,改为 CopyObjectCommand
- 修复 CopySource 编码问题,正确处理特殊字符
- 修复签名 URL 生成功能(添加 @aws-sdk/s3-request-presigner)
- 修复 S3Client 配置(阿里云 region 格式、endpoint 处理)
- 修复分页删除和列表功能(超过 1000 文件的处理)
- 修复分享下载使用错误的存储类型字段
- 修复前端媒体预览异步处理错误
- 修复 OSS 直传 objectKey 格式不一致问题
- 修复包名错误 @aws-sdk/request-presigner -> @aws-sdk/s3-request-presigner
- 修复前端下载错误处理不完善

## 新增功能
- 添加 OSS 连接测试 API (/api/user/test-oss)
- 添加重命名失败回滚机制
- 添加 OSS 配置前端验证

## 其他改进
- 更新 install.sh 仓库地址为 git.workyai.cn
- 添加 crypto 模块导入
- 修复代码格式和重复定义问题
- 添加缺失的表单对象定义

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 09:46:00 +08:00