Skip to content

Conversation

@Ironboxplus
Copy link
Owner

Description / 描述

Motivation and Context / 背景

Closes #XXXX

Relates to #XXXX

How Has This Been Tested? / 测试

Checklist / 检查清单

  • I have read the CONTRIBUTING document.
    我已阅读 CONTRIBUTING 文档。
  • I have formatted my code with go fmt or prettier.
    我已使用 go fmtprettier 格式化提交的代码。
  • I have added appropriate labels to this PR (or mentioned needed labels in the description if lacking permissions).
    我已为此 PR 添加了适当的标签(如无权限或需要的标签不存在,请在描述中说明,管理员将后续处理)。
  • I have requested review from relevant code authors using the "Request review" feature when applicable.
    我已在适当情况下使用"Request review"功能请求相关代码作者进行审查。
  • I have updated the repository accordingly (If it’s needed).
    我已相应更新了相关仓库(若适用)。

@Ironboxplus Ironboxplus force-pushed the copy branch 11 times, most recently from 95869e3 to 6d65605 Compare January 2, 2026 15:24
@Ironboxplus Ironboxplus force-pushed the main branch 2 times, most recently from 367ea09 to 6a81227 Compare January 2, 2026 15:43
@Ironboxplus Ironboxplus force-pushed the copy branch 7 times, most recently from 875a9cc to c36d3c5 Compare January 4, 2026 09:16
@Ironboxplus Ironboxplus force-pushed the copy branch 6 times, most recently from 0c8fbb5 to a1ccfd9 Compare January 7, 2026 13:59
@Ironboxplus Ironboxplus force-pushed the copy branch 2 times, most recently from 8b9dbb2 to ee97856 Compare January 8, 2026 16:00
cyk and others added 14 commits January 13, 2026 22:26
…ctions

refactor(build): restrict builds to x64 architecture and simplify Docker workflow

fix(workflow): update beta image tag to remove unnecessary suffix
fix(driver): improve etag handling for file uploads

fix(driver): optimize SHA1 calculation for file uploads using chunked reading
- Added `upload.go` to handle streaming uploads without temporary file caching.
- Introduced `calculateHashesStream` for efficient MD5 hash calculation during upload.
- Implemented `uploadChunksStream` for concurrent chunk uploads using `StreamSectionReader`.
- Refactored `uploadSliceStream` to accept `io.ReadSeeker` for better flexibility.
- Enhanced error handling for upload ID expiration with retry logic.
- Updated documentation to reflect changes in upload process and architecture.

fix(driver): optimize MD5 hash calculation and stream handling for uploads

feat(upload): add error handling for upload URL refresh on network errors

feat(link): add retry logic with timeout for HEAD requests in linkOfficial function
…tream types

feat(upload): enhance token handling and bucket creation for OSS uploads
feat(link): implement ForceRefreshLink method for refreshing download links on read failure
fix(stream): improve thread safety and handling for SeekableStream and FileStream in directSectionReader

feat(upload): 增强分片上传支持,修复超时和ETag提取逻辑
- 修复HashInfo nil pointer导致的500 panic (fsread.go)
- 修复StorageDetails为nil导致的NaN显示 (storage.go, op/storage.go)
- 添加DiskUsage.MarshalJSON()确保返回used_space字段

fix: 彻底修复500 panic - 初始化所有虚拟Object的HashInfo

- 修复 fs.go 5个虚拟Object创建点未初始化HashInfo
- 修复 storage.go 虚拟folder Object未初始化HashInfo
- 确保所有代码路径都不会触发nil pointer panic

fix(model): resolve DiskUsage structure conflicts after rebase

Remove duplicate UsedSpace() method and MarshalJSON() that conflicted
with main branch's new DiskUsage structure (commit 744dbd5).

Main's structure uses:
- UsedSpace int64 (field, not method)
- FreeSpace() int64 (computed from TotalSpace - UsedSpace)
- MarshalJSON() returns all three fields

Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants