git: d5fa03fbaf62 - main - Seafile: Update to 11.0.2

From: Richard Gallamore <ultima_at_FreeBSD.org>
Date: Mon, 04 Dec 2023 14:59:46 UTC
The branch main has been updated by ultima:

URL: https://cgit.FreeBSD.org/ports/commit/?id=d5fa03fbaf62e2aaa6b92152d75c7a32c0a37e49

commit d5fa03fbaf62e2aaa6b92152d75c7a32c0a37e49
Author:     Richard Gallamore <ultima@FreeBSD.org>
AuthorDate: 2023-12-04 14:58:43 +0000
Commit:     Richard Gallamore <ultima@FreeBSD.org>
CommitDate: 2023-12-04 14:59:19 +0000

    Seafile: Update to 11.0.2
    
    Changes: https://manual.seafile.com/changelog/server-changelog/
---
 net-mgmt/seafile-server/Makefile                   |   1 +
 net-mgmt/seafile-server/Makefile.include           |   4 +-
 net-mgmt/seafile-server/distinfo                   |   6 +-
 .../files/patch-server_http-tx-mgr.c               |  11 +
 www/py-seafdav/distinfo                            |   6 +-
 www/py-seafdav/pkg-plist                           | 225 +++----
 www/py-seafobj/distinfo                            |   6 +-
 www/seahub/Makefile                                |  47 +-
 www/seahub/distinfo                                |   6 +-
 www/seahub/files/patch-pillow                      |  50 --
 www/seahub/pkg-plist                               | 688 ++++++++++++---------
 11 files changed, 558 insertions(+), 492 deletions(-)

diff --git a/net-mgmt/seafile-server/Makefile b/net-mgmt/seafile-server/Makefile
index 6067f866ded1..399b49543a78 100644
--- a/net-mgmt/seafile-server/Makefile
+++ b/net-mgmt/seafile-server/Makefile
@@ -19,6 +19,7 @@ LIB_DEPENDS=	libsearpc.so:devel/libsearpc \
 		libevent.so:devel/libevent \
 		libuuid.so:misc/e2fsprogs-libuuid \
 		libjansson.so:devel/jansson \
+		libjwt.so:www/libjwt \
 		libonig.so:devel/oniguruma
 RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}urllib3>0:net/py-urllib3@${PY_FLAVOR} \
diff --git a/net-mgmt/seafile-server/Makefile.include b/net-mgmt/seafile-server/Makefile.include
index 7d1cedb84416..a4f610756dde 100644
--- a/net-mgmt/seafile-server/Makefile.include
+++ b/net-mgmt/seafile-server/Makefile.include
@@ -1,5 +1,5 @@
-SEAFILE_VER=	9.0.10
-SEAHUB_VER=	9.0.10
+SEAFILE_VER=	11.0.2
+SEAHUB_VER=	11.0.2
 
 
 # Various vars used in most/all the Makefiles
diff --git a/net-mgmt/seafile-server/distinfo b/net-mgmt/seafile-server/distinfo
index b20574f970db..84be69ec377d 100644
--- a/net-mgmt/seafile-server/distinfo
+++ b/net-mgmt/seafile-server/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1671050011
-SHA256 (haiwen-seafile-server-v9.0.10-server_GH0.tar.gz) = d808330143cfac34323cc8caf56d27103d53430e586fb52097aca1d782656ae1
-SIZE (haiwen-seafile-server-v9.0.10-server_GH0.tar.gz) = 721289
+TIMESTAMP = 1700676214
+SHA256 (haiwen-seafile-server-v11.0.2-server_GH0.tar.gz) = f512c26fdcb87784b867015ef9823b923ec851e6cf30d7cbfa370c6c5450e3c1
+SIZE (haiwen-seafile-server-v11.0.2-server_GH0.tar.gz) = 739890
diff --git a/net-mgmt/seafile-server/files/patch-server_http-tx-mgr.c b/net-mgmt/seafile-server/files/patch-server_http-tx-mgr.c
new file mode 100644
index 000000000000..207eb1134d9d
--- /dev/null
+++ b/net-mgmt/seafile-server/files/patch-server_http-tx-mgr.c
@@ -0,0 +1,11 @@
+--- server/http-tx-mgr.c.orig	2023-11-29 21:44:30 UTC
++++ server/http-tx-mgr.c
+@@ -28,7 +28,7 @@
+ #define USER_AGENT_OS "Apple OS X"
+ #endif
+ 
+-#ifdef __linux__
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
+ #define USER_AGENT_OS "Linux"
+ #endif
+ 
diff --git a/www/py-seafdav/distinfo b/www/py-seafdav/distinfo
index b430bb306de8..33c470b4ebcc 100644
--- a/www/py-seafdav/distinfo
+++ b/www/py-seafdav/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1671050013
-SHA256 (haiwen-seafdav-v9.0.10-server_GH0.tar.gz) = 492b74219edb3c8062a9515ef12521d5faa9790143af0a256748bfb5245e5ad9
-SIZE (haiwen-seafdav-v9.0.10-server_GH0.tar.gz) = 2693267
+TIMESTAMP = 1700676223
+SHA256 (haiwen-seafdav-v11.0.2-server_GH0.tar.gz) = b5bbbdb7a215fc4212c43dc92ded561437913789b11dd2a929fdb86b823e5d2d
+SIZE (haiwen-seafdav-v11.0.2-server_GH0.tar.gz) = 2333315
diff --git a/www/py-seafdav/pkg-plist b/www/py-seafdav/pkg-plist
index 20d2b322d3c5..fc6f8ef7ed00 100644
--- a/www/py-seafdav/pkg-plist
+++ b/www/py-seafdav/pkg-plist
@@ -1,69 +1,53 @@
 %%SITEPACKAGEDIR%%/wsgidav/__init__.py
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/_version.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/_version.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/compat.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/compat.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/dav_error.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/dav_error.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/dav_provider.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/dav_provider.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/debug_filter.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/debug_filter.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/default_conf.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/default_conf.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/error_printer.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/error_printer.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/fs_dav_provider.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/fs_dav_provider.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/http_authenticator.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/http_authenticator.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/lock_manager.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/lock_manager.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/lock_storage.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/lock_storage.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/lock_storage_redis.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/lock_storage_redis.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/middleware.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/middleware.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/request_resolver.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/request_resolver.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/request_server.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/request_server.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/rw_lock.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/rw_lock.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/seafile_dav_provider.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/seafile_dav_provider.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/stream_tools.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/stream_tools.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/util.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/util.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/wsgidav_app.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/wsgidav_app.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/xml_tools.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/__pycache__/xml_tools.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/_version.py
-%%SITEPACKAGEDIR%%/wsgidav/compat.py
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/dav_error%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/dav_error%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/dav_provider%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/dav_provider%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/default_conf%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/default_conf%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/error_printer%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/error_printer%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/fs_dav_provider%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/fs_dav_provider%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/http_authenticator%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/http_authenticator%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/request_resolver%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/request_resolver%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/request_server%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/request_server%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/rw_lock%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/rw_lock%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/%%USERS%%_dav_provider%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/%%USERS%%_dav_provider%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/stream_tools%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/stream_tools%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/util%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/util%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/wsgidav_app%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/wsgidav_app%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/xml_tools%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/__pycache__/xml_tools%%PYTHON_EXT_SUFFIX%%.pyc
 %%SITEPACKAGEDIR%%/wsgidav/dav_error.py
 %%SITEPACKAGEDIR%%/wsgidav/dav_provider.py
 %%SITEPACKAGEDIR%%/wsgidav/dc/__init__.py
-%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/base_dc.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/base_dc.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/domain_controller.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/domain_controller.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/nt_dc.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/nt_dc.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/pam_dc.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/pam_dc.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/seaf_utils.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/seaf_utils.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/seahub_db.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/seahub_db.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/simple_dc.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/simple_dc.cpython-%%PYTHON_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/base_dc%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/base_dc%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/domain_controller%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/domain_controller%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/nt_dc%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/nt_dc%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/pam_dc%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/pam_dc%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/seaf_utils%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/seaf_utils%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/seahub_db%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/seahub_db%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/simple_dc%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/dc/__pycache__/simple_dc%%PYTHON_EXT_SUFFIX%%.pyc
 %%SITEPACKAGEDIR%%/wsgidav/dc/base_dc.py
 %%SITEPACKAGEDIR%%/wsgidav/dc/domain_controller.py
 %%SITEPACKAGEDIR%%/wsgidav/dc/nt_dc.py
@@ -71,13 +55,12 @@
 %%SITEPACKAGEDIR%%/wsgidav/dc/seaf_utils.py
 %%SITEPACKAGEDIR%%/wsgidav/dc/seahub_db.py
 %%SITEPACKAGEDIR%%/wsgidav/dc/simple_dc.py
-%%SITEPACKAGEDIR%%/wsgidav/debug_filter.py
 %%SITEPACKAGEDIR%%/wsgidav/default_conf.py
 %%SITEPACKAGEDIR%%/wsgidav/dir_browser/__init__.py
-%%SITEPACKAGEDIR%%/wsgidav/dir_browser/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/dir_browser/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/dir_browser/__pycache__/_dir_browser.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/dir_browser/__pycache__/_dir_browser.cpython-%%PYTHON_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/dir_browser/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/dir_browser/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/dir_browser/__pycache__/_dir_browser%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/dir_browser/__pycache__/_dir_browser%%PYTHON_EXT_SUFFIX%%.pyc
 %%SITEPACKAGEDIR%%/wsgidav/dir_browser/_dir_browser.py
 %%SITEPACKAGEDIR%%/wsgidav/dir_browser/htdocs/favicon.ico
 %%SITEPACKAGEDIR%%/wsgidav/dir_browser/htdocs/logo.png
@@ -87,31 +70,51 @@
 %%SITEPACKAGEDIR%%/wsgidav/error_printer.py
 %%SITEPACKAGEDIR%%/wsgidav/fs_dav_provider.py
 %%SITEPACKAGEDIR%%/wsgidav/http_authenticator.py
-%%SITEPACKAGEDIR%%/wsgidav/interfaces/__pycache__/dav_provider_interface.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/interfaces/__pycache__/dav_provider_interface.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/interfaces/__pycache__/domaincontrollerinterface.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/interfaces/__pycache__/domaincontrollerinterface.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/interfaces/__pycache__/lockmanagerinterface.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/interfaces/__pycache__/lockmanagerinterface.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/interfaces/__pycache__/propertymanagerinterface.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/interfaces/__pycache__/propertymanagerinterface.cpython-%%PYTHON_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/interfaces/__pycache__/dav_provider_interface%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/interfaces/__pycache__/dav_provider_interface%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/interfaces/__pycache__/domaincontrollerinterface%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/interfaces/__pycache__/domaincontrollerinterface%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/interfaces/__pycache__/lockmanagerinterface%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/interfaces/__pycache__/lockmanagerinterface%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/interfaces/__pycache__/propertymanagerinterface%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/interfaces/__pycache__/propertymanagerinterface%%PYTHON_EXT_SUFFIX%%.pyc
 %%SITEPACKAGEDIR%%/wsgidav/interfaces/dav_provider_interface.py
 %%SITEPACKAGEDIR%%/wsgidav/interfaces/domaincontrollerinterface.py
 %%SITEPACKAGEDIR%%/wsgidav/interfaces/lockmanagerinterface.py
 %%SITEPACKAGEDIR%%/wsgidav/interfaces/propertymanagerinterface.py
-%%SITEPACKAGEDIR%%/wsgidav/lock_manager.py
-%%SITEPACKAGEDIR%%/wsgidav/lock_storage.py
-%%SITEPACKAGEDIR%%/wsgidav/lock_storage_redis.py
-%%SITEPACKAGEDIR%%/wsgidav/middleware.py
+%%SITEPACKAGEDIR%%/wsgidav/lock_man/__init__.py
+%%SITEPACKAGEDIR%%/wsgidav/lock_man/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/lock_man/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/lock_man/__pycache__/lock_manager%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/lock_man/__pycache__/lock_manager%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/lock_man/__pycache__/lock_storage%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/lock_man/__pycache__/lock_storage%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/lock_man/__pycache__/lock_storage_redis%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/lock_man/__pycache__/lock_storage_redis%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/lock_man/lock_manager.py
+%%SITEPACKAGEDIR%%/wsgidav/lock_man/lock_storage.py
+%%SITEPACKAGEDIR%%/wsgidav/lock_man/lock_storage_redis.py
+%%SITEPACKAGEDIR%%/wsgidav/mw/__init__.py
+%%SITEPACKAGEDIR%%/wsgidav/mw/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/mw/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/mw/__pycache__/base_mw%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/mw/__pycache__/base_mw%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/mw/__pycache__/cors%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/mw/__pycache__/cors%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/mw/__pycache__/debug_filter%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/mw/__pycache__/debug_filter%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/mw/base_mw.py
+%%SITEPACKAGEDIR%%/wsgidav/mw/cors.py
+%%SITEPACKAGEDIR%%/wsgidav/mw/debug_filter.py
 %%SITEPACKAGEDIR%%/wsgidav/prop_man/__init__.py
-%%SITEPACKAGEDIR%%/wsgidav/prop_man/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/prop_man/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/prop_man/__pycache__/couch_property_manager.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/prop_man/__pycache__/couch_property_manager.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/prop_man/__pycache__/mongo_property_manager.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/prop_man/__pycache__/mongo_property_manager.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/prop_man/__pycache__/property_manager.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/prop_man/__pycache__/property_manager.cpython-%%PYTHON_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/prop_man/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/prop_man/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/prop_man/__pycache__/couch_property_manager%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/prop_man/__pycache__/couch_property_manager%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/prop_man/__pycache__/mongo_property_manager%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/prop_man/__pycache__/mongo_property_manager%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/prop_man/__pycache__/property_manager%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/prop_man/__pycache__/property_manager%%PYTHON_EXT_SUFFIX%%.pyc
 %%SITEPACKAGEDIR%%/wsgidav/prop_man/couch_property_manager.py
 %%SITEPACKAGEDIR%%/wsgidav/prop_man/mongo_property_manager.py
 %%SITEPACKAGEDIR%%/wsgidav/prop_man/property_manager.py
@@ -119,35 +122,35 @@
 %%SITEPACKAGEDIR%%/wsgidav/request_server.py
 %%SITEPACKAGEDIR%%/wsgidav/rw_lock.py
 %%SITEPACKAGEDIR%%/wsgidav/samples/__init__.py
-%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/dav_provider_tools.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/dav_provider_tools.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/hg_dav_provider.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/hg_dav_provider.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/mongo_dav_provider.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/mongo_dav_provider.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/mysql_dav_provider.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/mysql_dav_provider.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/virtual_dav_provider.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/virtual_dav_provider.cpython-%%PYTHON_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/dav_provider_tools%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/dav_provider_tools%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/hg_dav_provider%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/hg_dav_provider%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/mongo_dav_provider%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/mongo_dav_provider%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/mysql_dav_provider%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/mysql_dav_provider%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/virtual_dav_provider%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/samples/__pycache__/virtual_dav_provider%%PYTHON_EXT_SUFFIX%%.pyc
 %%SITEPACKAGEDIR%%/wsgidav/samples/dav_provider_tools.py
 %%SITEPACKAGEDIR%%/wsgidav/samples/hg_dav_provider.py
 %%SITEPACKAGEDIR%%/wsgidav/samples/mongo_dav_provider.py
 %%SITEPACKAGEDIR%%/wsgidav/samples/mysql_dav_provider.py
 %%SITEPACKAGEDIR%%/wsgidav/samples/virtual_dav_provider.py
-%%SITEPACKAGEDIR%%/wsgidav/seafile_dav_provider.py
+%%SITEPACKAGEDIR%%/wsgidav/%%USERS%%_dav_provider.py
 %%SITEPACKAGEDIR%%/wsgidav/server/__init__.py
-%%SITEPACKAGEDIR%%/wsgidav/server/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/server/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/server/__pycache__/ext_wsgiutils_server.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/server/__pycache__/ext_wsgiutils_server.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/server/__pycache__/run_reloading_server.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/server/__pycache__/run_reloading_server.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/server/__pycache__/server_cli.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/server/__pycache__/server_cli.cpython-%%PYTHON_SUFFIX%%.pyc
-%%SITEPACKAGEDIR%%/wsgidav/server/__pycache__/server_sample.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%SITEPACKAGEDIR%%/wsgidav/server/__pycache__/server_sample.cpython-%%PYTHON_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/server/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/server/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/server/__pycache__/ext_wsgiutils_server%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/server/__pycache__/ext_wsgiutils_server%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/server/__pycache__/run_reloading_server%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/server/__pycache__/run_reloading_server%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/server/__pycache__/server_cli%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/server/__pycache__/server_cli%%PYTHON_EXT_SUFFIX%%.pyc
+%%SITEPACKAGEDIR%%/wsgidav/server/__pycache__/server_sample%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%SITEPACKAGEDIR%%/wsgidav/server/__pycache__/server_sample%%PYTHON_EXT_SUFFIX%%.pyc
 %%SITEPACKAGEDIR%%/wsgidav/server/ext_wsgiutils_server.py
 %%SITEPACKAGEDIR%%/wsgidav/server/run_reloading_server.py
 %%SITEPACKAGEDIR%%/wsgidav/server/sample_bogo_server.crt
@@ -159,5 +162,3 @@
 %%SITEPACKAGEDIR%%/wsgidav/util.py
 %%SITEPACKAGEDIR%%/wsgidav/wsgidav_app.py
 %%SITEPACKAGEDIR%%/wsgidav/xml_tools.py
-@dir(%%USERS%%,%%GROUPS%%,755) %%SEAHUBDIR%%
-@dir(%%USERS%%,%%GROUPS%%,755) %%HAIWENDIR%%
diff --git a/www/py-seafobj/distinfo b/www/py-seafobj/distinfo
index 3eddc14cd0c1..8f04ae748147 100644
--- a/www/py-seafobj/distinfo
+++ b/www/py-seafobj/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1671050014
-SHA256 (haiwen-seafobj-v9.0.10-server_GH0.tar.gz) = c4a2176599f77a2733048a954b27b6b4d0188dcffc910bed3ad4c541f45ac2ff
-SIZE (haiwen-seafobj-v9.0.10-server_GH0.tar.gz) = 10059069
+TIMESTAMP = 1700676231
+SHA256 (haiwen-seafobj-v11.0.2-server_GH0.tar.gz) = d7faa5cbebbf4fae0ca2b7fbbf113670a75d1e30b2a8b8764c669fefe355d137
+SIZE (haiwen-seafobj-v11.0.2-server_GH0.tar.gz) = 10059404
diff --git a/www/seahub/Makefile b/www/seahub/Makefile
index 2ad0d93ce723..d36ff2a019b1 100644
--- a/www/seahub/Makefile
+++ b/www/seahub/Makefile
@@ -2,7 +2,6 @@ PORTNAME=	seahub
 DISTVERSIONPREFIX=	v
 DISTVERSION=	${SEAHUB_VER}
 DISTVERSIONSUFFIX=	-server
-PORTREVISION=	1
 CATEGORIES=	www
 
 MAINTAINER=	ultima@FreeBSD.org
@@ -17,29 +16,33 @@ BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}django32>=0:www/py-django32@${PY_FLAVOR}
 RUN_DEPENDS=	bash:shells/bash \
 		${LOCALBASE}/www/haiwen/seafile-server/seafile/bin/seaf-server:net-mgmt/seafile-server \
 		${PYTHON_PKGNAMEPREFIX}django32>=0:www/py-django32@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}future>=0:devel/py-future@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}django-statici18n>=0:www/py-django-statici18n@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}django-webpack-loader>=0:www/py-django-webpack-loader@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}gunicorn>=0:www/py-gunicorn@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}mysqlclient>0:databases/py-mysqlclient@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}django-picklefield>=0:www/py-django-picklefield@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}openpyxl>=0:textproc/py-openpyxl@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}qrcode>0:textproc/py-qrcode@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}django-statici18n>=2.3:www/py-django-statici18n@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}django-webpack-loader>=1.7:www/py-django-webpack-loader@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}django-picklefield>=3.1:www/py-django-picklefield@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}django-formtools>=2.3:www/py-django-formtools@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}django-simple-captcha>=0:www/py-django-simple-captcha@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}djangorestframework>=0:www/py-djangorestframework@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}dateutil>=0:devel/py-dateutil@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}djangosaml2>=1.5:www/py-djangosaml2@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}djangorestframework>=3.14:www/py-djangorestframework@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dateutil>=2.8:devel/py-dateutil@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pyjwt>=2.6:www/py-pyjwt@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pycryptodome>=3.16:security/py-pycryptodome@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}python-cas>=1.6:security/py-python-cas@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pysaml2>=7.2:security/py-pysaml2@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}requests>=2.28:www/py-requests@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}requests-oauthlib>=1.3:www/py-requests-oauthlib@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}future>=0.18:devel/py-future@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}gunicorn>=20.1:www/py-gunicorn@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}mysqlclient>=2.1:databases/py-mysqlclient@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}qrcode>=7.3:textproc/py-qrcode@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pillow>=0:graphics/py-pillow@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}pyjwt>=0:www/py-pyjwt@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}pycryptodome>=3.12.0:security/py-pycryptodome@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}requests-oauthlib>=0:www/py-requests-oauthlib@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}pysaml26>=6.5.1:security/py-pysaml26@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}pymysql>0:databases/py-pymysql@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}cffi>=1.14.0:devel/py-cffi@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}chardet>0:textproc/py-chardet@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}markdown>0:textproc/py-markdown@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}bleach>0:www/py-bleach@${PY_FLAVOR}
+		${PYTHON_PKGNAMEPREFIX}chardet>=5.1:textproc/py-chardet@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}cffi>=1.15:devel/py-cffi@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}django-simple-captcha>=0.5:www/py-django-simple-captcha@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}openpyxl>=3.0:textproc/py-openpyxl@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}markdown>=3.3:textproc/py-markdown@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}bleach>=5.0:www/py-bleach@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}python-ldap>=3.4:net/py-python-ldap@${PY_FLAVOR}
+
+		#${PYTHON_PKGNAMEPREFIX}captcha>=0.4:www/py-captcha@${PY_FLAVOR} \
 
 USES=		gettext-tools:build python shebangfix
 USE_GITHUB=	yes
diff --git a/www/seahub/distinfo b/www/seahub/distinfo
index 0c84500de2f1..17b299a76cea 100644
--- a/www/seahub/distinfo
+++ b/www/seahub/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1671050020
-SHA256 (haiwen-seahub-v9.0.10-server_GH0.tar.gz) = 3a885a8a1894d003264a1d9bbdbae6593a513f7654b7d750171bab1086b8f79d
-SIZE (haiwen-seahub-v9.0.10-server_GH0.tar.gz) = 28941464
+TIMESTAMP = 1700676243
+SHA256 (haiwen-seahub-v11.0.2-server_GH0.tar.gz) = a8ad8a536f5abbf65b8dd75833a65a3117f87740cac20c1d9c54c20fcfd5a19a
+SIZE (haiwen-seahub-v11.0.2-server_GH0.tar.gz) = 27328222
diff --git a/www/seahub/files/patch-pillow b/www/seahub/files/patch-pillow
deleted file mode 100644
index b4fae5571f32..000000000000
--- a/www/seahub/files/patch-pillow
+++ /dev/null
@@ -1,50 +0,0 @@
-Obtained from:	https://github.com/haiwen/seahub/commit/cbe0817f2bee0c2b00d3ffd3e047c3141862c6c5
-
---- seahub/avatar/settings.py.orig	2022-11-30 03:34:16 UTC
-+++ seahub/avatar/settings.py
-@@ -22,7 +22,7 @@ AUTO_GENERATE_GROUP_AVATAR_SIZES = getattr(settings, '
-
- ### Common settings ###
- AVATAR_FILE_STORAGE = getattr(settings, 'AVATAR_FILE_STORAGE', '')
--AVATAR_RESIZE_METHOD = getattr(settings, 'AVATAR_RESIZE_METHOD', Image.ANTIALIAS)
-+AVATAR_RESIZE_METHOD = getattr(settings, 'AVATAR_RESIZE_METHOD', Image.Resampling.LANCZOS)
- AVATAR_GRAVATAR_BACKUP = getattr(settings, 'AVATAR_GRAVATAR_BACKUP', True)
- AVATAR_GRAVATAR_DEFAULT = getattr(settings, 'AVATAR_GRAVATAR_DEFAULT', None)
- AVATAR_MAX_AVATARS_PER_USER = getattr(settings, 'AVATAR_MAX_AVATARS_PER_USER', 42)
---- seahub/thumbnail/utils.py.orig	2022-11-30 03:34:16 UTC
-+++ seahub/thumbnail/utils.py
-@@ -54,22 +54,22 @@ def get_rotated_image(image):
-
-     if orientation == 2:
-         # Vertical image
--        image = image.transpose(Image.FLIP_LEFT_RIGHT)
-+        image = image.transpose(Image.Transpose.FLIP_LEFT_RIGHT)
-     elif orientation == 3:
-         # Rotation 180
-         image = image.rotate(180)
-     elif orientation == 4:
--        image = image.rotate(180).transpose(Image.FLIP_LEFT_RIGHT)
-+        image = image.rotate(180).transpose(Image.Transpose.FLIP_LEFT_RIGHT)
-         # Horizontal image
-     elif orientation == 5:
-         # Horizontal image + Rotation 90 CCW
--        image = image.rotate(-90, expand=True).transpose(Image.FLIP_LEFT_RIGHT)
-+        image = image.rotate(-90, expand=True).transpose(Image.Transpose.FLIP_LEFT_RIGHT)
-     elif orientation == 6:
-         # Rotation 270
-         image = image.rotate(-90, expand=True)
-     elif orientation == 7:
-         # Horizontal image + Rotation 270
--        image = image.rotate(90, expand=True).transpose(Image.FLIP_LEFT_RIGHT)
-+        image = image.rotate(90, expand=True).transpose(Image.Transpose.FLIP_LEFT_RIGHT)
-     elif orientation == 8:
-         # Rotation 90
-         image = image.rotate(90, expand=True)
-@@ -230,7 +230,7 @@ def _create_thumbnail_common(fp, thumbnail_file, size)
-         image = image.convert("RGB")
-
-     image = get_rotated_image(image)
--    image.thumbnail((size, size), Image.ANTIALIAS)
-+    image.thumbnail((size, size), Image.Resampling.LANCZOS)
-     image.save(thumbnail_file, THUMBNAIL_EXTENSION)
-     return (True, 200)
diff --git a/www/seahub/pkg-plist b/www/seahub/pkg-plist
index 478e03852501..27f1d95de6c0 100644
--- a/www/seahub/pkg-plist
+++ b/www/seahub/pkg-plist
@@ -1,10 +1,12 @@
 %%SEAFILE_SERVER%%/check-db-type.py
 %%SEAFILE_SERVER%%/check_init_admin.py
 %%SEAFILE_SERVER%%/index_op.py
+%%SEAFILE_SERVER%%/init_extended_props_table.py
 %%SEAFILE_SERVER%%/migrate-repo.py
 %%SEAFILE_SERVER%%/migrate-repo.sh
 %%SEAFILE_SERVER%%/migrate.py
 %%SEAFILE_SERVER%%/migrate.sh
+%%SEAFILE_SERVER%%/migrate_ldapusers.py
 %%SEAFILE_SERVER%%/pro.py
 %%SEAFILE_SERVER%%/remove-objs.py
 %%SEAFILE_SERVER%%/remove-objs.sh
@@ -19,6 +21,7 @@
 %%SEAFILE_SERVER%%/seaf-gc.sh
 %%SEAFILE_SERVER%%/seaf-import.sh
 %%SEAFILE_SERVER%%/%%USERS%%-background-tasks.sh
+%%SEAFILE_SERVER%%/%%USERS%%-monitor.sh
 %%SEAFILE_SERVER%%/%%USERS%%.sh
 %%SEAFILE_SERVER%%/seafobj_migrate.py
 %%SEAHUBDIR%%.sh
@@ -38,9 +41,11 @@
 %%SEAHUBDIR%%/fabfile/copyright.py
 %%SEAHUBDIR%%/fabfile/locale.py
 %%SEAHUBDIR%%/frontend/.babelrc
+%%SEAHUBDIR%%/frontend/.env
 %%SEAHUBDIR%%/frontend/.eslintrc.json
 %%SEAHUBDIR%%/frontend/config/env.js
 %%SEAHUBDIR%%/frontend/config/getHttpsConfig.js
+%%SEAHUBDIR%%/frontend/config/jest/babelTransform.js
 %%SEAHUBDIR%%/frontend/config/jest/cssTransform.js
 %%SEAHUBDIR%%/frontend/config/jest/fileTransform.js
 %%SEAHUBDIR%%/frontend/config/modules.js
@@ -50,20 +55,36 @@
 %%SEAHUBDIR%%/frontend/config/server.js
 %%SEAHUBDIR%%/frontend/config/webpack.config.js
 %%SEAHUBDIR%%/frontend/config/webpack.entry.js
+%%SEAHUBDIR%%/frontend/config/webpack/persistentCache/createEnvironmentHash.js
 %%SEAHUBDIR%%/frontend/config/webpackDevServer.config.js
 %%SEAHUBDIR%%/frontend/package-lock.json
 %%SEAHUBDIR%%/frontend/package.json
 %%SEAHUBDIR%%/frontend/scripts/build.js
 %%SEAHUBDIR%%/frontend/scripts/start.js
 %%SEAHUBDIR%%/frontend/scripts/test.js
+%%SEAHUBDIR%%/frontend/src/_i18n/i18n-sdoc-editor.js
 %%SEAHUBDIR%%/frontend/src/app.js
+%%SEAHUBDIR%%/frontend/src/assets/icons/monitor.svg
+%%SEAHUBDIR%%/frontend/src/assets/icons/tag.svg
 %%SEAHUBDIR%%/frontend/src/assets/%%USERS%%-logo.png
 %%SEAHUBDIR%%/frontend/src/components/audio-player.js
 %%SEAHUBDIR%%/frontend/src/components/btn-qr-code.js
 %%SEAHUBDIR%%/frontend/src/components/common/account.js
+%%SEAHUBDIR%%/frontend/src/components/common/common-add-tool.js
+%%SEAHUBDIR%%/frontend/src/components/common/go-back/index.css
+%%SEAHUBDIR%%/frontend/src/components/common/go-back/index.js
 %%SEAHUBDIR%%/frontend/src/components/common/logout.js
 %%SEAHUBDIR%%/frontend/src/components/common/notice-item.js
+%%SEAHUBDIR%%/frontend/src/components/common/notification-popover/index.css
+%%SEAHUBDIR%%/frontend/src/components/common/notification-popover/index.js
 %%SEAHUBDIR%%/frontend/src/components/common/notification.js
+%%SEAHUBDIR%%/frontend/src/components/common/seahub-popover.js
+%%SEAHUBDIR%%/frontend/src/components/common/search-input.js
+%%SEAHUBDIR%%/frontend/src/components/common/select/index.js
+%%SEAHUBDIR%%/frontend/src/components/common/select/no-group-message.js
+%%SEAHUBDIR%%/frontend/src/components/common/select/seahub-select-style.js
+%%SEAHUBDIR%%/frontend/src/components/common/select/seahub-select.js
+%%SEAHUBDIR%%/frontend/src/components/common/switch/index.js
 %%SEAHUBDIR%%/frontend/src/components/context-menu/actions.js
 %%SEAHUBDIR%%/frontend/src/components/context-menu/context-menu.js
 %%SEAHUBDIR%%/frontend/src/components/context-menu/globalEventListener.js
@@ -80,11 +101,13 @@
 %%SEAHUBDIR%%/frontend/src/components/dialog/clean-trash.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/commit-details.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/common-operation-confirmation-dialog.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/confirm-apply-folder-properties-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/confirm-delete-account.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/confirm-disconnect-dingtalk.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/confirm-disconnect-wechat.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/confirm-restore-repo.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/confirm-unlink-device.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/convert-markdown-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/copy-dirent-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/copy-move-dirent-progress-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/create-department-repo-dialog.js
@@ -100,12 +123,26 @@
 %%SEAHUBDIR%%/frontend/src/components/dialog/custom-permission/edit-custom-permission.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/custom-permission/list-custom-permissions.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/delete-dialog.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/delete-folder-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/delete-repo-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/dismiss-group-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/edit-filetag-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/edit-repo-commit-labels.js
-%%SEAHUBDIR%%/frontend/src/components/dialog/file-participant-dialog.js
-%%SEAHUBDIR%%/frontend/src/components/dialog/generate-share-link.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/extra-attributes-dialog/column/column-name.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/extra-attributes-dialog/column/index.css
+%%SEAHUBDIR%%/frontend/src/components/dialog/extra-attributes-dialog/column/index.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/extra-attributes-dialog/editor/ctime-formatter.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/extra-attributes-dialog/editor/date-editor.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/extra-attributes-dialog/editor/formula-formatter.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/extra-attributes-dialog/editor/index.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/extra-attributes-dialog/editor/number-editor.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/extra-attributes-dialog/editor/search-input.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/extra-attributes-dialog/editor/simple-text.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/extra-attributes-dialog/editor/single-select/index.css
+%%SEAHUBDIR%%/frontend/src/components/dialog/extra-attributes-dialog/editor/single-select/index.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/extra-attributes-dialog/editor/single-select/single-select-editor.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/extra-attributes-dialog/index.css
+%%SEAHUBDIR%%/frontend/src/components/dialog/extra-attributes-dialog/index.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/generate-upload-link.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/guide-for-new-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/image-dialog.js
@@ -128,7 +165,6 @@
 %%SEAHUBDIR%%/frontend/src/components/dialog/lib-sub-folder-set-user-permission-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/list-created-files-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/list-repo-drafts-dialog.js
-%%SEAHUBDIR%%/frontend/src/components/dialog/list-tag-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/list-taggedfiles-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/local-draft-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/manage-members-dialog.js
@@ -149,19 +185,25 @@
 %%SEAHUBDIR%%/frontend/src/components/dialog/org-rename-department-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/org-set-group-quota-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/perm-select.js
-%%SEAHUBDIR%%/frontend/src/components/dialog/readme-dialog.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/remove-webdav-password.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/rename-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/rename-dirent.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/rename-group-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/repo-api-token-dialog.js
-%%SEAHUBDIR%%/frontend/src/components/dialog/repo-share-upload-links-dialog.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/repo-share-admin-dialog.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/repo-share-admin/group-shares.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/repo-share-admin/share-links.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/repo-share-admin/upload-links.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/repo-share-admin/user-shares.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/reset-encrypted-repo-password-dialog.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/reset-webdav-password.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/save-shared-dir-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/save-shared-file-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/search-file-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/set-org-user-contact-email.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/set-org-user-name.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/set-org-user-quota.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/set-webdav-password.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/share-admin-link.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/share-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/share-link-permission-select.js
@@ -172,6 +214,7 @@
 %%SEAHUBDIR%%/frontend/src/components/dialog/share-to-user.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/sort-options.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/sysadmin-dialog/set-quota.js
+%%SEAHUBDIR%%/frontend/src/components/dialog/sysadmin-dialog/set-upload-download-rate-limit.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-department-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-institution-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/sysadmin-dialog/sysadmin-add-institution-member-dialog.js
@@ -208,7 +251,6 @@
 %%SEAHUBDIR%%/frontend/src/components/dialog/terms-preview-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/transfer-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/transfer-group-dialog.js
-%%SEAHUBDIR%%/frontend/src/components/dialog/update-webdav-password.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/upload-remind-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/view-link-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/dialog/wiki-delete-dialog.js
@@ -219,7 +261,6 @@
 %%SEAHUBDIR%%/frontend/src/components/dir-view-mode/dir-column-view.js
 %%SEAHUBDIR%%/frontend/src/components/dir-view-mode/dir-grid-view.js
 %%SEAHUBDIR%%/frontend/src/components/dir-view-mode/dir-list-view.js
-%%SEAHUBDIR%%/frontend/src/components/dirent-detail/detail-comments-list.js
 %%SEAHUBDIR%%/frontend/src/components/dirent-detail/detail-list-view.js
 %%SEAHUBDIR%%/frontend/src/components/dirent-detail/dirent-details.js
 %%SEAHUBDIR%%/frontend/src/components/dirent-detail/file-details.js
@@ -229,6 +270,7 @@
 %%SEAHUBDIR%%/frontend/src/components/dirent-list-view/dirent-list-item.js
 %%SEAHUBDIR%%/frontend/src/components/dirent-list-view/dirent-list-view.js
 %%SEAHUBDIR%%/frontend/src/components/dirent-list-view/dirent-none-view.js
+%%SEAHUBDIR%%/frontend/src/components/dirent-list-view/file-tag.js
 %%SEAHUBDIR%%/frontend/src/components/draft-list-view/draft-list-item.js
 %%SEAHUBDIR%%/frontend/src/components/draft-list-view/draft-list-view.js
 %%SEAHUBDIR%%/frontend/src/components/draggable/dirents-dragged-preview.js
@@ -245,19 +287,19 @@
 %%SEAHUBDIR%%/frontend/src/components/file-content-view/image.js
 %%SEAHUBDIR%%/frontend/src/components/file-content-view/markdown.js
 %%SEAHUBDIR%%/frontend/src/components/file-content-view/pdf.js
+%%SEAHUBDIR%%/frontend/src/components/file-content-view/sdoc.js
 %%SEAHUBDIR%%/frontend/src/components/file-content-view/svg.js
 %%SEAHUBDIR%%/frontend/src/components/file-content-view/text.js
 %%SEAHUBDIR%%/frontend/src/components/file-content-view/video.js
+%%SEAHUBDIR%%/frontend/src/components/file-tag-list.js
 %%SEAHUBDIR%%/frontend/src/components/file-uploader/file-uploader.js
 %%SEAHUBDIR%%/frontend/src/components/file-uploader/forbid-upload-list-item.js
 %%SEAHUBDIR%%/frontend/src/components/file-uploader/upload-list-item.js
 %%SEAHUBDIR%%/frontend/src/components/file-uploader/upload-progress-dialog.js
-%%SEAHUBDIR%%/frontend/src/components/file-view/comment-panel.js
 %%SEAHUBDIR%%/frontend/src/components/file-view/file-info.js
 %%SEAHUBDIR%%/frontend/src/components/file-view/file-toolbar.js
 %%SEAHUBDIR%%/frontend/src/components/file-view/file-view-tip.js
 %%SEAHUBDIR%%/frontend/src/components/file-view/file-view.js
-%%SEAHUBDIR%%/frontend/src/components/file-view/participants-list.js
 %%SEAHUBDIR%%/frontend/src/components/group-members.js
 %%SEAHUBDIR%%/frontend/src/components/history-list-view/history-list-item.js
 %%SEAHUBDIR%%/frontend/src/components/history-list-view/history-list-view.js
@@ -265,6 +307,7 @@
 %%SEAHUBDIR%%/frontend/src/components/history-trash-file-view/file-view-tip.js
 %%SEAHUBDIR%%/frontend/src/components/history-trash-file-view/file-view.js
 %%SEAHUBDIR%%/frontend/src/components/icon-button.js
+%%SEAHUBDIR%%/frontend/src/components/icon.js
 %%SEAHUBDIR%%/frontend/src/components/index-viewer.js
 %%SEAHUBDIR%%/frontend/src/components/libs-mobile-thead.js
 %%SEAHUBDIR%%/frontend/src/components/list-and-add-group-members.js
@@ -273,22 +316,33 @@
 %%SEAHUBDIR%%/frontend/src/components/main-content-wrapper.js
 %%SEAHUBDIR%%/frontend/src/components/main-panel.js
 %%SEAHUBDIR%%/frontend/src/components/main-side-nav.js
-%%SEAHUBDIR%%/frontend/src/components/markdown-view/comment-dialog.js
 %%SEAHUBDIR%%/frontend/src/components/markdown-view/history-list.js
 %%SEAHUBDIR%%/frontend/src/components/menu-control.js
 %%SEAHUBDIR%%/frontend/src/components/modal-portal.js
 %%SEAHUBDIR%%/frontend/src/components/more.js
 %%SEAHUBDIR%%/frontend/src/components/op-icon.js
+%%SEAHUBDIR%%/frontend/src/components/operations/index.js
+%%SEAHUBDIR%%/frontend/src/components/operations/internal-link-operation/index.js
+%%SEAHUBDIR%%/frontend/src/components/operations/style.css
 %%SEAHUBDIR%%/frontend/src/components/org-admin-group-nav.js
 %%SEAHUBDIR%%/frontend/src/components/org-admin-user-nav.js
 %%SEAHUBDIR%%/frontend/src/components/paginator.js
 %%SEAHUBDIR%%/frontend/src/components/pdf-viewer.js
 %%SEAHUBDIR%%/frontend/src/components/permission-denied-tip.js
+%%SEAHUBDIR%%/frontend/src/components/popover/edit-filetag-popover.js
+%%SEAHUBDIR%%/frontend/src/components/popover/list-tag-popover.css
+%%SEAHUBDIR%%/frontend/src/components/popover/list-tag-popover.js
+%%SEAHUBDIR%%/frontend/src/components/popover/tag-item.js
+%%SEAHUBDIR%%/frontend/src/components/popover/tag-list-footer.js
+%%SEAHUBDIR%%/frontend/src/components/popover/tag-list-item.js
+%%SEAHUBDIR%%/frontend/src/components/popover/virtual-tag-color.js
+%%SEAHUBDIR%%/frontend/src/components/popover/virtual-tag-list-item.js
+%%SEAHUBDIR%%/frontend/src/components/popover/virtual-tag-name.js
 %%SEAHUBDIR%%/frontend/src/components/rename.js
 %%SEAHUBDIR%%/frontend/src/components/repo-info-bar.js
-%%SEAHUBDIR%%/frontend/src/components/review-list-view/review-comment-dialog.js
-%%SEAHUBDIR%%/frontend/src/components/review-list-view/review-comments.js
-%%SEAHUBDIR%%/frontend/src/components/search-group-members.js
+%%SEAHUBDIR%%/frontend/src/components/repo-monitored-icon.js
+%%SEAHUBDIR%%/frontend/src/components/%%USERS%%-codemirror/index.js
+%%SEAHUBDIR%%/frontend/src/components/%%USERS%%-codemirror/style.css
 %%SEAHUBDIR%%/frontend/src/components/search/search-by-name.js
 %%SEAHUBDIR%%/frontend/src/components/search/search-result-item.js
 %%SEAHUBDIR%%/frontend/src/components/search/search.js
@@ -306,6 +360,11 @@
 %%SEAHUBDIR%%/frontend/src/components/select-editor/wiki-permission-editor.js
 %%SEAHUBDIR%%/frontend/src/components/send-link.js
 %%SEAHUBDIR%%/frontend/src/components/set-link-expiration.js
+%%SEAHUBDIR%%/frontend/src/components/share-link-panel/index.js
+%%SEAHUBDIR%%/frontend/src/components/share-link-panel/link-creation.js
+%%SEAHUBDIR%%/frontend/src/components/share-link-panel/link-details.js
+%%SEAHUBDIR%%/frontend/src/components/share-link-panel/link-item.js
+%%SEAHUBDIR%%/frontend/src/components/share-link-panel/link-list.js
 %%SEAHUBDIR%%/frontend/src/components/shared-file-view/shared-file-view-tip.js
 %%SEAHUBDIR%%/frontend/src/components/shared-file-view/shared-file-view.js
 %%SEAHUBDIR%%/frontend/src/components/shared-link-file-uploader/file-uploader.js
@@ -331,6 +390,7 @@
 %%SEAHUBDIR%%/frontend/src/components/toolbar/invitations-toolbar.js
 %%SEAHUBDIR%%/frontend/src/components/toolbar/multiple-dir-operation-toolbar.js
 %%SEAHUBDIR%%/frontend/src/components/toolbar/repo-view-toobar.js
+%%SEAHUBDIR%%/frontend/src/components/toolbar/top-toolbar.js
 %%SEAHUBDIR%%/frontend/src/components/toolbar/view-file-toolbar.js
 %%SEAHUBDIR%%/frontend/src/components/toolbar/view-mode-toolbar.js
 %%SEAHUBDIR%%/frontend/src/components/tree-view/tree-helper.js
@@ -358,20 +418,27 @@
 %%SEAHUBDIR%%/frontend/src/components/wiki-list-view/wiki-list-view.js
 %%SEAHUBDIR%%/frontend/src/components/wiki-markdown-viewer.js
 %%SEAHUBDIR%%/frontend/src/components/wiki-outline.js
+%%SEAHUBDIR%%/frontend/src/constants/index.js
+%%SEAHUBDIR%%/frontend/src/constants/keyCodes.js
+%%SEAHUBDIR%%/frontend/src/constants/zIndexes.js
 %%SEAHUBDIR%%/frontend/src/css/add-reviewer-dialog.css
+%%SEAHUBDIR%%/frontend/src/css/apply-folder-properties.css
 %%SEAHUBDIR%%/frontend/src/css/audio-file-view.css
 %%SEAHUBDIR%%/frontend/src/css/btn-qr-code.css
-%%SEAHUBDIR%%/frontend/src/css/comments-list.css
 %%SEAHUBDIR%%/frontend/src/css/commit-details.css
+%%SEAHUBDIR%%/frontend/src/css/common-add-tool.css
+%%SEAHUBDIR%%/frontend/src/css/convert-markdown.css
 %%SEAHUBDIR%%/frontend/src/css/date-and-time-picker.css
 %%SEAHUBDIR%%/frontend/src/css/dingtalk-departments.css
 %%SEAHUBDIR%%/frontend/src/css/dirent-detail.css
 %%SEAHUBDIR%%/frontend/src/css/dirent-list-item.css
 %%SEAHUBDIR%%/frontend/src/css/dirents-menu.css
 %%SEAHUBDIR%%/frontend/src/css/draft.css
+%%SEAHUBDIR%%/frontend/src/css/edit-filetag-popover.css
 %%SEAHUBDIR%%/frontend/src/css/file-chooser.css
 %%SEAHUBDIR%%/frontend/src/css/file-history-old.css
 %%SEAHUBDIR%%/frontend/src/css/file-history.css
+%%SEAHUBDIR%%/frontend/src/css/file-tag-list.css
 %%SEAHUBDIR%%/frontend/src/css/file-uploader.css
 %%SEAHUBDIR%%/frontend/src/css/file-view-data-grid.css
 %%SEAHUBDIR%%/frontend/src/css/file-view.css
@@ -379,35 +446,36 @@
 %%SEAHUBDIR%%/frontend/src/css/grid-view.css
 %%SEAHUBDIR%%/frontend/src/css/group-view.css
 %%SEAHUBDIR%%/frontend/src/css/groups.css
+%%SEAHUBDIR%%/frontend/src/css/history-record-item.css
+%%SEAHUBDIR%%/frontend/src/css/icon.css
 %%SEAHUBDIR%%/frontend/src/css/image-file-view.css
 %%SEAHUBDIR%%/frontend/src/css/index-viewer.css
 %%SEAHUBDIR%%/frontend/src/css/insert-repo-image-dialog.css
-%%SEAHUBDIR%%/frontend/src/css/internal-link.css
 %%SEAHUBDIR%%/frontend/src/css/invitations.css
 %%SEAHUBDIR%%/frontend/src/css/layout.css
 %%SEAHUBDIR%%/frontend/src/css/lib-content-view.css
 %%SEAHUBDIR%%/frontend/src/css/lib-decrypt.css
 %%SEAHUBDIR%%/frontend/src/css/manage-members-dialog.css
-%%SEAHUBDIR%%/frontend/src/css/markdown-viewer/comment-dialog.css
 %%SEAHUBDIR%%/frontend/src/css/markdown-viewer/history-viewer.css
 %%SEAHUBDIR%%/frontend/src/css/markdown-viewer/markdown-editor.css
 %%SEAHUBDIR%%/frontend/src/css/md-file-view.css
+%%SEAHUBDIR%%/frontend/src/css/notification.css
 %%SEAHUBDIR%%/frontend/src/css/org-admin-paginator.css
 %%SEAHUBDIR%%/frontend/src/css/org-admin-user.css
 %%SEAHUBDIR%%/frontend/src/css/org-department-item.css
 %%SEAHUBDIR%%/frontend/src/css/org-logs.css
 %%SEAHUBDIR%%/frontend/src/css/pagination.css
-%%SEAHUBDIR%%/frontend/src/css/participants-list.css
 %%SEAHUBDIR%%/frontend/src/css/pdf-file-view.css
 %%SEAHUBDIR%%/frontend/src/css/react-context-menu.css
-%%SEAHUBDIR%%/frontend/src/css/react-mentions-default-style.js
 %%SEAHUBDIR%%/frontend/src/css/repo-folder-trash.css
 %%SEAHUBDIR%%/frontend/src/css/repo-history.css
 %%SEAHUBDIR%%/frontend/src/css/repo-info-bar.css
 %%SEAHUBDIR%%/frontend/src/css/repo-snapshot.css
 %%SEAHUBDIR%%/frontend/src/css/repo-tag.css
-%%SEAHUBDIR%%/frontend/src/css/review-comment-dialog.css
 %%SEAHUBDIR%%/frontend/src/css/review-content.css
+%%SEAHUBDIR%%/frontend/src/css/sdoc-file-history.css
+%%SEAHUBDIR%%/frontend/src/css/sdoc-file-view.css
+%%SEAHUBDIR%%/frontend/src/css/sdoc-revision.css
 %%SEAHUBDIR%%/frontend/src/css/search.css
 %%SEAHUBDIR%%/frontend/src/css/select-editor.css
 %%SEAHUBDIR%%/frontend/src/css/share-link-dialog.css
@@ -418,6 +486,7 @@
 %%SEAHUBDIR%%/frontend/src/css/spreadsheet-file-view.css
 %%SEAHUBDIR%%/frontend/src/css/sub-folder-permission.css
 %%SEAHUBDIR%%/frontend/src/css/svg-file-view.css
+%%SEAHUBDIR%%/frontend/src/css/switch.css
 %%SEAHUBDIR%%/frontend/src/css/system-admin-web-settings.css
 %%SEAHUBDIR%%/frontend/src/css/system-info.css
 %%SEAHUBDIR%%/frontend/src/css/system-notification.css
@@ -449,6 +518,7 @@
 %%SEAHUBDIR%%/frontend/src/models/custom-permission.js
 %%SEAHUBDIR%%/frontend/src/models/dirent.js
 %%SEAHUBDIR%%/frontend/src/models/draft.js
+%%SEAHUBDIR%%/frontend/src/models/file-history.js
 %%SEAHUBDIR%%/frontend/src/models/file-tag.js
 %%SEAHUBDIR%%/frontend/src/models/group.js
 %%SEAHUBDIR%%/frontend/src/models/org-admin-repo.js
@@ -460,7 +530,6 @@
 %%SEAHUBDIR%%/frontend/src/models/repo-info.js
 %%SEAHUBDIR%%/frontend/src/models/repo-tag.js
 %%SEAHUBDIR%%/frontend/src/models/repo.js
-%%SEAHUBDIR%%/frontend/src/models/review-comment.js
 %%SEAHUBDIR%%/frontend/src/models/review.js
 %%SEAHUBDIR%%/frontend/src/models/share-link.js
 %%SEAHUBDIR%%/frontend/src/models/shared-folder-info.js
@@ -469,7 +538,11 @@
 %%SEAHUBDIR%%/frontend/src/models/sysadmin-user.js
 %%SEAHUBDIR%%/frontend/src/models/system-admin/dirent.js
 %%SEAHUBDIR%%/frontend/src/models/upload-link.js
+%%SEAHUBDIR%%/frontend/src/pages/dashboard/activity-item.js
+%%SEAHUBDIR%%/frontend/src/pages/dashboard/content.js
 %%SEAHUBDIR%%/frontend/src/pages/dashboard/files-activities.js
+%%SEAHUBDIR%%/frontend/src/pages/dashboard/my-file-activities.js
+%%SEAHUBDIR%%/frontend/src/pages/dashboard/user-selector.js
 %%SEAHUBDIR%%/frontend/src/pages/drafts/draft-content.js
 %%SEAHUBDIR%%/frontend/src/pages/drafts/drafts-view.js
 %%SEAHUBDIR%%/frontend/src/pages/file-history-old/history-item.js
@@ -482,7 +555,6 @@
 %%SEAHUBDIR%%/frontend/src/pages/lib-content-view/lib-content-toolbar.js
 %%SEAHUBDIR%%/frontend/src/pages/lib-content-view/lib-content-view.js
 %%SEAHUBDIR%%/frontend/src/pages/linked-devices/linked-devices.js
-%%SEAHUBDIR%%/frontend/src/pages/markdown-editor/css/comments-list.css
 %%SEAHUBDIR%%/frontend/src/pages/markdown-editor/css/detail-list-view.css
 %%SEAHUBDIR%%/frontend/src/pages/markdown-editor/css/header-toolbar.css
 %%SEAHUBDIR%%/frontend/src/pages/markdown-editor/css/rich-editor.css
@@ -496,8 +568,6 @@
 %%SEAHUBDIR%%/frontend/src/pages/markdown-editor/header-toolbar/index.js
 %%SEAHUBDIR%%/frontend/src/pages/markdown-editor/header-toolbar/more-menu.js
 %%SEAHUBDIR%%/frontend/src/pages/markdown-editor/index.js
-%%SEAHUBDIR%%/frontend/src/pages/markdown-editor/rich-markdown-editor/comment-item.js
-%%SEAHUBDIR%%/frontend/src/pages/markdown-editor/rich-markdown-editor/comment-panel.js
 %%SEAHUBDIR%%/frontend/src/pages/markdown-editor/rich-markdown-editor/detail-list-view.js
 %%SEAHUBDIR%%/frontend/src/pages/markdown-editor/rich-markdown-editor/index.js
 %%SEAHUBDIR%%/frontend/src/pages/markdown-editor/rich-markdown-editor/side-panel.js
@@ -513,7 +583,9 @@
 %%SEAHUBDIR%%/frontend/src/pages/org-admin/devices/devices-errors.js
 %%SEAHUBDIR%%/frontend/src/pages/org-admin/devices/devices-nav.js
 %%SEAHUBDIR%%/frontend/src/pages/org-admin/devices/mobile-devices.js
+%%SEAHUBDIR%%/frontend/src/pages/org-admin/file-item.js
 %%SEAHUBDIR%%/frontend/src/pages/org-admin/index.js
+%%SEAHUBDIR%%/frontend/src/pages/org-admin/input-item.js
 %%SEAHUBDIR%%/frontend/src/pages/org-admin/main-panel-topbar.js
 %%SEAHUBDIR%%/frontend/src/pages/org-admin/org-admin-list.js
 %%SEAHUBDIR%%/frontend/src/pages/org-admin/org-department-item.js
@@ -531,6 +603,7 @@
 %%SEAHUBDIR%%/frontend/src/pages/org-admin/org-logs-file-update.js
 %%SEAHUBDIR%%/frontend/src/pages/org-admin/org-logs-perm-audit.js
 %%SEAHUBDIR%%/frontend/src/pages/org-admin/org-logs.js
+%%SEAHUBDIR%%/frontend/src/pages/org-admin/org-saml-config.js
 %%SEAHUBDIR%%/frontend/src/pages/org-admin/org-user-item.js
 %%SEAHUBDIR%%/frontend/src/pages/org-admin/org-user-profile.js
 %%SEAHUBDIR%%/frontend/src/pages/org-admin/org-user-repos.js
@@ -540,6 +613,7 @@
 %%SEAHUBDIR%%/frontend/src/pages/org-admin/org-users-nav.js
 %%SEAHUBDIR%%/frontend/src/pages/org-admin/org-users-search-users.js
 %%SEAHUBDIR%%/frontend/src/pages/org-admin/org-users-users.js
+%%SEAHUBDIR%%/frontend/src/pages/org-admin/section.js
 %%SEAHUBDIR%%/frontend/src/pages/org-admin/side-panel.js
 %%SEAHUBDIR%%/frontend/src/pages/org-admin/statistic/picker.js
 %%SEAHUBDIR%%/frontend/src/pages/org-admin/statistic/statistic-chart.js
@@ -554,8 +628,21 @@
 %%SEAHUBDIR%%/frontend/src/pages/org-admin/statistic/traffic-table-body.js
 %%SEAHUBDIR%%/frontend/src/pages/org-admin/statistic/traffic-table.js
 %%SEAHUBDIR%%/frontend/src/pages/org-admin/user-link.js
+%%SEAHUBDIR%%/frontend/src/pages/org-admin/web-settings/checkbox-item.js
+%%SEAHUBDIR%%/frontend/src/pages/org-admin/web-settings/file-item.js
+%%SEAHUBDIR%%/frontend/src/pages/org-admin/web-settings/input-item.js
+%%SEAHUBDIR%%/frontend/src/pages/org-admin/web-settings/section.js
+%%SEAHUBDIR%%/frontend/src/pages/org-admin/web-settings/setting-item-base.js
+%%SEAHUBDIR%%/frontend/src/pages/org-admin/web-settings/web-settings.js
 %%SEAHUBDIR%%/frontend/src/pages/repo-wiki-mode/side-panel.js
 %%SEAHUBDIR%%/frontend/src/pages/review/history-list.js
+%%SEAHUBDIR%%/frontend/src/pages/sdoc-revision/index.js
+%%SEAHUBDIR%%/frontend/src/pages/sdoc/sdoc-editor/external-operations.js
+%%SEAHUBDIR%%/frontend/src/pages/sdoc/sdoc-editor/index.js
+%%SEAHUBDIR%%/frontend/src/pages/sdoc/sdoc-file-history/history-version.js
+%%SEAHUBDIR%%/frontend/src/pages/sdoc/sdoc-file-history/index.js
+%%SEAHUBDIR%%/frontend/src/pages/sdoc/sdoc-file-history/side-panel.js
+%%SEAHUBDIR%%/frontend/src/pages/sdoc/sdoc-published-revision/index.js
 %%SEAHUBDIR%%/frontend/src/pages/search/advanced-search.js
 %%SEAHUBDIR%%/frontend/src/pages/search/index.js
 %%SEAHUBDIR%%/frontend/src/pages/search/main-panel.js
@@ -576,12 +663,15 @@
 %%SEAHUBDIR%%/frontend/src/pages/sys-admin/admin-logs/login-logs.js
 %%SEAHUBDIR%%/frontend/src/pages/sys-admin/admin-logs/logs-nav.js
 %%SEAHUBDIR%%/frontend/src/pages/sys-admin/admin-logs/operation-logs.js
-%%SEAHUBDIR%%/frontend/src/pages/sys-admin/departments/department-detail.js
-%%SEAHUBDIR%%/frontend/src/pages/sys-admin/departments/departments-list.js
+%%SEAHUBDIR%%/frontend/src/pages/sys-admin/departments/department-libraries.js
+%%SEAHUBDIR%%/frontend/src/pages/sys-admin/departments/department-list.js
+%%SEAHUBDIR%%/frontend/src/pages/sys-admin/departments/department-members.js
+%%SEAHUBDIR%%/frontend/src/pages/sys-admin/departments/department.js
 %%SEAHUBDIR%%/frontend/src/pages/sys-admin/departments/departments.js
 %%SEAHUBDIR%%/frontend/src/pages/sys-admin/departments/group-item.js
 %%SEAHUBDIR%%/frontend/src/pages/sys-admin/departments/member-item.js
 %%SEAHUBDIR%%/frontend/src/pages/sys-admin/departments/repo-item.js
+%%SEAHUBDIR%%/frontend/src/pages/sys-admin/departments/sub-departments.js
 %%SEAHUBDIR%%/frontend/src/pages/sys-admin/devices/desktop-devices.js
 %%SEAHUBDIR%%/frontend/src/pages/sys-admin/devices/devices-by-platform.js
 %%SEAHUBDIR%%/frontend/src/pages/sys-admin/devices/devices-errors.js
@@ -701,6 +791,7 @@
 %%SEAHUBDIR%%/frontend/src/shared-file-view-image.js
 %%SEAHUBDIR%%/frontend/src/shared-file-view-markdown.js
 %%SEAHUBDIR%%/frontend/src/shared-file-view-pdf.js
+%%SEAHUBDIR%%/frontend/src/shared-file-view-sdoc.js
 %%SEAHUBDIR%%/frontend/src/shared-file-view-spreadsheet.js
 %%SEAHUBDIR%%/frontend/src/shared-file-view-svg.js
 %%SEAHUBDIR%%/frontend/src/shared-file-view-text.js
@@ -711,10 +802,13 @@
 %%SEAHUBDIR%%/frontend/src/translate.js
 %%SEAHUBDIR%%/frontend/src/user-notifications.js
 %%SEAHUBDIR%%/frontend/src/utils/collab-server.js
+%%SEAHUBDIR%%/frontend/src/utils/compare-two-string.js
 %%SEAHUBDIR%%/frontend/src/utils/constants.js
*** 950 LINES SKIPPED ***