237899745
78821e0c44
perf: async OSS upload in resumable complete endpoint
...
For OSS storage, the /api/upload/resumable/complete endpoint now returns
immediately after all chunks are assembled, then uploads to OSS in the
background. This eliminates the blocking re-upload delay for large files.
Local storage remains synchronous (already optimized with rename-first).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 00:26:02 +08:00
d8cd7fd514
fix: improve app relaunch after update and release 0.1.28
2026-02-20 23:53:02 +08:00
b161a3e3e7
feat: improve sync workspace and updater stability in 0.1.27
2026-02-20 23:44:26 +08:00
b179cae14e
fix: make silent updater produce logs reliably and release 0.1.26
2026-02-20 22:55:20 +08:00
c8f63d6fc9
feat: verify updater package and harden client reliability in 0.1.25
2026-02-20 22:15:28 +08:00
fe544efc91
fix: harden silent updater flow and release 0.1.24
2026-02-20 20:34:02 +08:00
01384a2215
feat: improve upload resilience and release 0.1.23
2026-02-20 20:21:42 +08:00
cdfe45b3a2
fix: stabilize silent updater and release 0.1.22
2026-02-19 21:41:44 +08:00
7563664733
chore: bump desktop update channel to 0.1.21
2026-02-19 21:04:12 +08:00
77799ef819
feat: tighten file card borders on web and desktop with 0.1.10 release
2026-02-19 20:57:24 +08:00
099ba3e3e0
feat: release desktop 0.1.9 with device dedupe and new branding
2026-02-19 20:33:54 +08:00
71a19e9e87
feat: adjust confirm button order and improve file name wrapping
2026-02-19 20:09:05 +08:00
9c3ced5c44
chore: release desktop client 0.1.7
2026-02-19 19:44:15 +08:00
5082a5ed04
fix: unify client confirmations and inline rename UX
2026-02-19 19:36:52 +08:00
d604b8dc7b
chore: bump desktop client version to 0.1.6
2026-02-19 19:14:35 +08:00
50d41cb7ae
fix: restore login by defining getClientIp helper
2026-02-19 19:08:12 +08:00
19f53875c9
feat: add online device management and desktop settings integration
2026-02-19 17:34:41 +08:00
365ada1a4a
feat(desktop): remember login in sqlite and streamline update flow
2026-02-19 00:12:33 +08:00
3329ff10cf
chore(release): bump desktop client to 0.1.4
2026-02-18 22:55:52 +08:00
fd236e6949
chore(release): bump desktop client to 0.1.3
2026-02-18 22:27:20 +08:00
fec2bd37a4
feat(update): auto-clean old desktop installer packages
2026-02-18 22:14:26 +08:00
af51d74a9f
feat(share): reuse existing share and direct links per file
2026-02-18 22:13:14 +08:00
74032fe497
chore(release): publish desktop 0.1.2 with manual update checks
2026-02-18 22:02:34 +08:00
f96a9ccaa9
feat(security): shorten download signed URLs to 30s and remove update polling
2026-02-18 21:59:14 +08:00
4b3a113285
chore(release): bump desktop client to 0.1.1
2026-02-18 21:23:05 +08:00
32a66e6c77
feat(desktop): add sort/filter, update center, and local sync workspace
2026-02-18 20:07:21 +08:00
5eab1de03e
fix: ingest oss traffic logs without file extensions
2026-02-18 10:24:00 +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
6242622f1a
feat: add independent direct-link sharing flow
2026-02-17 21:57:38 +08:00
aed5dfdcb2
feat: add server-side admin user pagination and align traffic report accounting
2026-02-17 20:30: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
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
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
12859cbb20
feat: apply UI/storage/share optimizations and quota improvements
2026-02-12 18:02:57 +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
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
Dev Team
53ca5e56e8
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
efaa2308eb
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
ab7e08a21b
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