1
0
mirror of https://github.com/haiwen/seafile-server.git synced 2025-06-24 14:11:34 +00:00
Commit Graph

42 Commits

Author SHA1 Message Date
feiniks
7d26e0a8f4
Skip merge when post files with replace existed (#671)
* Skip merge when post files with replace existed

* Use handle_concurrent_update to check if merge commits

* Go handle concurrent update

---------

Co-authored-by: 杨赫然 <heran.yang@seafile.com>
2024-07-27 10:39:09 +08:00
feiniks
6c056c1f6b
Add last_modify field in form (#666)
* Add last_modify field in form

* Go add last_modify field in form

* Use rfc3339 time format

* Add mtime for upload_blks_api

---------

Co-authored-by: 杨赫然 <heran.yang@seafile.com>
2024-07-23 18:52:15 +08:00
feiniks
49168a140c
Add ETag for access file (#664)
Co-authored-by: 杨赫然 <heran.yang@seafile.com>
2024-07-09 16:58:35 +08:00
feiniks
058b7405f1
Fix download file traffic statistics error (#651)
Co-authored-by: 杨赫然 <heran.yang@seafile.com>
2024-03-13 19:49:03 +08:00
feiniks
2d667a5c99
Check files with same name before post (#638)
Co-authored-by: 杨赫然 <heran.yang@seafile.com>
2023-11-22 16:57:13 +08:00
feiniks
b5993456e3
Add retry count to 10 (#609)
* Add retry count to 10

* Add sleep interval and print max retry count

---------

Co-authored-by: 杨赫然 <heran.yang@seafile.com>
2023-04-21 17:53:29 +08:00
feiniks
db09baec1b
Handle crypt for zip files (#606)
Co-authored-by: 杨赫然 <heran.yang@seafile.com>
2023-04-04 14:07:28 +08:00
feiniks
6ca4f18d31
Fix define type error (#604)
Co-authored-by: 杨赫然 <heran.yang@seafile.com>
2023-03-16 11:37:47 +08:00
feiniks
9173f217a4
Send repo update event to notification server (#602)
* Send repo update event to notification server

* Add option to manage configuration

* Init default options at start

---------

Co-authored-by: 杨赫然 <heran.yang@seafile.com>
2023-03-11 12:14:39 +08:00
feiniks
dcda34478f
go fileserver write header before write body (#591)
* go fileserver write header before write body

* Set json header when ret-json is true

---------

Co-authored-by: 杨赫然 <heran.yang@seafile.com>
2023-01-29 15:59:24 +08:00
杨赫然
852bc4bd38 Merge branch '9.0' 2022-12-29 13:47:54 +08:00
feiniks
5289841dd8
Fix error in calculating the number of blocks (#588)
Co-authored-by: 杨赫然 <heran.yang@seafile.com>
2022-12-29 12:32:22 +08:00
杨赫然
5c741c15ca Merge branch '9.0' 2022-12-06 14:47:15 +08:00
feiniks
f02d2e5304
Fix root_id is empty in commit (#586)
Co-authored-by: 杨赫然 <heran.yang@seafile.com>
2022-12-06 14:38:45 +08:00
feiniks
df78d10ec1 Reuse zlib ReadCloser and add timeout for get fs id list (#508)
* Reuse zlib ReadCloser and add timeout for get fs id list

* Reuse zlib reader

* Get seafile and seafdir with zlib reader

Co-authored-by: 杨赫然 <heran.yang@seafile.com>

Use json-iterator/go to parse fs objects (#510)

Co-authored-by: 杨赫然 <heran.yang@seafile.com>

Add cache for seafdir (#511)

* Add cache for seafile and seafdir

* Add ttl for fs cache

* Use MB unit and add a comment

Co-authored-by: 杨赫然 <heran.yang@seafile.com>

Close object after reading finished (#512)

Co-authored-by: 杨赫然 <heran.yang@seafile.com>
2022-12-06 10:45:39 +08:00
feiniks
620438fbb5
Clean go unused log (#579)
Co-authored-by: 杨赫然 <heran.yang@seafile.com>
2022-10-14 12:10:53 +08:00
feiniks
04350f2b99
Merge same repo once and check fs object is valid (#578)
Co-authored-by: 杨赫然 <heran.yang@seafile.com>
2022-09-28 16:43:07 +08:00
feiniks
be260e4c6a
Clear error when retry upload (#568)
* Clear error when retry upload

* Add go_log_level option

* Fix type mismatch

Co-authored-by: 杨赫然 <heran.yang@seafile.com>
2022-07-21 16:29:47 +08:00
feiniks
318e850ccb
Go Retry upload when detecting concurrent uploads (#567)
Co-authored-by: 杨赫然 <heran.yang@seafile.com>
2022-07-20 11:25:58 +08:00
feiniks
3a47cf7ab2
Fix normalize utf8 path for go (#565)
* Fix normalize utf8 path for go

* Fix normalize utf8 path for go
2022-07-13 18:18:32 +08:00
feiniks
e7f96976e9
Fix downloading non-ASCII filename (#555)
* Fix downloading non-ASCII filename

* Add comment

* Modify comment
2022-05-25 09:37:58 +08:00
feiniks
5e33fc3476
Go fileserver support enc v3 repo (#552)
* Go fileserver support enc v3 repo

* add comment
2022-04-11 18:48:18 +08:00
feiniks
96b33251ce
Modify log format and don't print network error (#546)
* Modify log format and don't print network error

* Don't print network error and content canceled error

* Modify function name
2022-03-02 16:03:16 +08:00
feiniks
35f6678c1c
Set zip suffix to zip file (#545) 2022-02-23 15:05:49 +08:00
feiniks
c3f50c53b6
Modify returned json message (#543) 2022-02-15 11:23:45 +08:00
feiniks
524f227b02
Check block if exists before write block (#537) 2022-01-14 17:39:11 +08:00
feiniks
2931328df6
Set Access Control headers (#531) 2021-12-18 09:48:52 +08:00
feiniks
a6287cca4c
Improve upload and download log info (#524)
* Improve upload and download log info

* Modify return message

* Modify operation not match
2021-12-08 12:11:10 +08:00
feiniks
da084f7bbc
Return StatusPartialContent for request of range (#512) 2021-11-16 10:43:37 +08:00
Xiangyue Cai
32a6777536
handle OPTIONS method (#511) 2021-11-08 12:32:09 +08:00
Xiangyue Cai
31c017d2c8
fix retry to update branch (#495)
* fix retry to update branch

* improve code
2021-09-27 17:50:03 +08:00
Xiangyue Cai
4901aefa58
fix set second parent id (#496) 2021-09-27 16:38:20 +08:00
Xiangyue Cai
c31dcc79ce
Don't omit commit id when marshal commit to json (#491) 2021-09-23 14:12:53 +08:00
Xiangyue Cai
88e917c58e
send event (#490)
* send event

* send event
2021-09-17 11:07:38 +08:00
Xiangyue Cai
bd6b693ab5
add recover (#483)
* add recover

* improve code

* improve code

* use go routine
2021-08-10 10:43:08 +08:00
Xiangyue Cai
537226aca7
create merge virtual repo task pool (#473)
* create merge virtual repo task pool

* use for range
2021-06-30 11:21:57 +08:00
Xiangyue Cai
20f36cb311
fix the problem of getting Content-Length (#471) 2021-06-22 15:49:48 +08:00
Xiangyue Cai
5cb36566ce
fixed response header (#467) 2021-06-16 17:34:48 +08:00
Xiangyue Cai
d1e57781b5
add block map cache (#452) 2021-02-26 18:09:04 +08:00
Xiangyue Cai
5090725ff8
stop task when request canceled (#449) 2021-02-07 17:21:18 +08:00
feiniks
6621313064
Update repo size need to be after merge virtual repo (#439) 2021-01-05 14:52:21 +08:00
Jiaqiang Xu
7420b8d738
Go fileserver (#437)
* Initial commit for fileserver written in golang.

[gofileserver] Fix some syntaxt errors.

Add fs backend and objstore test (#352)

* Add fs backend and objstore test

* modify test case and optimize fs backend

* Modify function name and first write temporary files

* Don't need to reopen the temp files

Add comment for objstore (#354)

* Add comment for objstore

* Modify comment

Add commitmgr and test case (#356)

* Add commitmgr and test case

* Redefine the interface

* Modify comment and interface

* Modify parameter and del unused method

* Add comment for FromData and ToData

Add blockmgr and test case (#357)

* Add blockmgr and test case

* Modify comment and interface

Add fsmgr and test case (#358)

* Add fsmgr and test case

* Add save interface and error details

* Modify errors and comments

Add searpc package and test case (#360)

* Add searpc package

* Add searpc test case

* Add return error and add Request struct

* Modify returned error

* Modify comments

add checkPerm (#369)

Add file and block download (#363)

* Add file and block download

* Modify init and use aes algorithm

* Get block by offset and add stat method

* Modify objID's type

* Fix reset pos after add start

* Add http error handing and record log when failed to read block or write block to response

* Modify http return code and value names

* Modify http return code and add log info

* Block read add comment and only repeat once

load ccnetdb and support sqlite (#371)

Add zip download (#372)

* Add zip download

* Modify pack dir and log info

* Modify http return code and use Deflate zip compression methods

add /repo/<repo-id>/permission-check (#375)

add /<repo-id>/commit/HEAD (#377)

add  /repo/<repo-id>/commit/<id> (#379)

add /repo/<repo-id>/block/<id> (#380)

add /repo/<repo-id>/fs-id-list (#383)

add /repo/head-commits-multi (#388)

Add file upload api (#378)

* Add file upload api

* Upload api implements post multi files and create relative path

* Modify handle error and save files directly

* Fix rebase conflict

* index block use channel and optimize mkdir with parents

* Handle jobs and results in a loop

* Mkdir with parents use postMultiFiles and use pointer of SeafDirent

* Del diff_simple size_sched virtual_repo

* Need to check the path with and without slash

* Modify merge trees and add merge test case

* Del postFile and don't close results channel

* Close the file and remove multipart temp file

* Modify merge test case and compare the first name of path

* Use pointer of Entries for SeafDir

* Add test cases for different situations

add /repo/<repo-id>/pack-fs (#389)

add POST /<repo-id>/check-fs and /<repo-id>/check-blocks (#396)

Merge compute repo (#397)

* Add update repo size and merge virtual repo

* Eliminate lint warnings

* Uncomment merge virtual repo and compute repo size

* Need init the dents

* Use interface{} param and modify removeElems

* Move update dir to file.go and modify logs

* Del sync pkg

add PUT /<repo-id>/commit/<commit-id> (#400)

add PUT /<repo-id>/block/<id> (#401)

add POST /<repo-id>/recv-fs (#398)

add PUT /<repo-id>/commit/HEAD (#402)

Add http return code (#403)

Add file update API (#399)

* Add file update API

* Add GetObjIDByPath and fix change size error

* Add traffic statistics for update api

add diffTrees unit test (#391)

add GET /accessible-repos (#406)

add GET /<repo-id>/block-map/<file-id> (#405)

Add test update repo size and merge virtual repo (#409)

* Update dir need update repo size

* Add test update repo size and merge virtual repo

* Add delay for test ajax

* Add delay before get repo size and modify comment

Use go fileserver for unit test (#410)

* Use go fileserver for unit test

* Blocking scheduling update repo size

* Add delay because of sqlite doesn't support concurrency

* Post use multipart form encode

* Del mysql database when test finished

* Fix merge virtual repo failed when use sqlite3

Add upload block API (#412)

fixed error

Add quota-check API (#426)

use diff package

* Use central conf for go fileserver (#428)

* Use central conf for go fileserver

* Fix log error

* use store id and remove share get repo owner (#430)

* Fix permission error (#432)

Co-authored-by: feiniks <36756310+feiniks@users.noreply.github.com>
Co-authored-by: Xiangyue Cai <caixiangyue007@gmail.com>
2021-01-04 11:41:53 +08:00