Repository: owncloud/ocis
Pull request #6548 (2023-06-19 05:29:48)

add storage id to audit log for spaces
We added the storage id to the audit log for spaces

refs #3753 


Patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 64702238ff6..0db942c929a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,6 +13,7 @@ The following sections list the changes for unreleased.
 * Enhancement - Make the app provider service name configurable: [#6482](https://github.com/owncloud/ocis/pull/6482)
 * Enhancement - Add old & new values to audit logs: [#6537](https://github.com/owncloud/ocis/pull/6537)
 * Enhancement - Update reva: [#6529](https://github.com/owncloud/ocis/pull/6529)
+* Enhancement - Update reva: [#6507](https://github.com/owncloud/ocis/pull/6507)
 * Enhancement - Use reva client selectors: [#6452](https://github.com/owncloud/ocis/pull/6452)
 * Enhancement - Add companion URL config: [#6453](https://github.com/owncloud/ocis/pull/6453)
 * Enhancement - Add imprint and privacy url config: [#6462](https://github.com/owncloud/ocis/pull/6462)
@@ -22,7 +23,6 @@ The following sections list the changes for unreleased.
 * Enhancement - Add functionality to retry postprocessing: [#6500](https://github.com/owncloud/ocis/pull/6500)
 * Enhancement - Update go-micro kubernetes registry: [#6457](https://github.com/owncloud/ocis/pull/6457)
 * Enhancement - Update web to v7.0.1: [#6470](https://github.com/owncloud/ocis/pull/6470)
-* Enhancement - Allow disabling wopi chat: [#6544](https://github.com/owncloud/ocis/pull/6544)
 
 ## Details
 
@@ -74,30 +74,12 @@ The following sections list the changes for unreleased.
 
    Update reva to latest edge
 
-  *   Bugfix [cs3org/reva#3963](https://github.com/cs3org/reva/pull/3963): Treesize interger overflows
-  *   Bugfix [cs3org/reva#3943](https://github.com/cs3org/reva/pull/3943): When removing metadata always use correct database and table
-  *   Bugfix [cs3org/reva#3978](https://github.com/cs3org/reva/pull/3978): Decomposedfs no longer os.Stats when reading node metadata
-  *   Bugfix [cs3org/reva#3959](https://github.com/cs3org/reva/pull/3959): Drop unnecessary stat
-  *   Bugfix [cs3org/reva#3948](https://github.com/cs3org/reva/pull/3948): Handle the bad request status
-  *   Bugfix [cs3org/reva#3955](https://github.com/cs3org/reva/pull/3955): Fix panic
-  *   Bugfix [cs3org/reva#3977](https://github.com/cs3org/reva/pull/3977): Prevent direct access to trash items
-  *   Bugfix [cs3org/reva#3933](https://github.com/cs3org/reva/pull/3933): Concurrently invalidate mtime cache in jsoncs3 share manager
-  *   Bugfix [cs3org/reva#3985](https://github.com/cs3org/reva/pull/3985): Reduce jsoncs3 lock congestion
-  *   Bugfix [cs3org/reva#3960](https://github.com/cs3org/reva/pull/3960): Add trace span details
-  *   Bugfix [cs3org/reva#3951](https://github.com/cs3org/reva/pull/3951): Link context in metadata client
-  *   Bugfix [cs3org/reva#3950](https://github.com/cs3org/reva/pull/3950): Use plain otel tracing in metadata client
-  *   Bugfix [cs3org/reva#3975](https://github.com/cs3org/reva/pull/3975): Decomposedfs now resolves the parent without an os.Stat
-  *   Change [cs3org/reva#3947](https://github.com/cs3org/reva/pull/3947): Bump golangci-lint to 1.51.2
-  *   Change [cs3org/reva#3945](https://github.com/cs3org/reva/pull/3945): Revert golangci-lint back to 1.50.1
-  *   Enhancement [cs3org/reva#3966](https://github.com/cs3org/reva/pull/3966): Add space metadata to ocs shares list
-  *   Enhancement [cs3org/reva#3953](https://github.com/cs3org/reva/pull/3953): Client selector pool
-  *   Enhancement [cs3org/reva#3941](https://github.com/cs3org/reva/pull/3941): Adding tracing for jsoncs3
-  *   Enhancement [cs3org/reva#3965](https://github.com/cs3org/reva/pull/3965): ResumePostprocessing Event
-  *   Enhancement [cs3org/reva#3981](https://github.com/cs3org/reva/pull/3981): We have updated the UserFeatureChangedEvent to reflect value changes
-  *   Enhancement [cs3org/reva#3986](https://github.com/cs3org/reva/pull/3986): Allow disabling wopi chat
-
    https://github.com/owncloud/ocis/pull/6529
-   https://github.com/owncloud/ocis/pull/6544
+
+* Enhancement - Update reva: [#6507](https://github.com/owncloud/ocis/pull/6507)
+
+   Update reva to latest edge
+
    https://github.com/owncloud/ocis/pull/6507
 
 * Enhancement - Use reva client selectors: [#6452](https://github.com/owncloud/ocis/pull/6452)
@@ -169,12 +151,6 @@ The following sections list the changes for unreleased.
 
    https://github.com/owncloud/ocis/pull/6470
    https://github.com/owncloud/web/releases/tag/v7.0.1
-
-* Enhancement - Allow disabling wopi chat: [#6544](https://github.com/owncloud/ocis/pull/6544)
-
-   Add a configreva for the new reva disable-chat feature
-
-   https://github.com/owncloud/ocis/pull/6544
 # Changelog for [3.0.0] (2023-06-06)
 
 The following sections list the changes for 3.0.0.
diff --git a/changelog/unreleased/add-storage-id-to-audit-log.md b/changelog/unreleased/add-storage-id-to-audit-log.md
new file mode 100644
index 00000000000..dd9eb887a9e
--- /dev/null
+++ b/changelog/unreleased/add-storage-id-to-audit-log.md
@@ -0,0 +1,6 @@
+Enhancement: We added the storage id to the audit log for spaces
+
+We added the storage id to the audit log for spaces
+
+https://github.com/owncloud/ocis/pull/6548
+https://github.com/owncloud/ocis/issues/3753
\ No newline at end of file
diff --git a/changelog/unreleased/bump-reva.md b/changelog/unreleased/bump-reva.md
index c24d3eb11d2..4bc84b11fbc 100644
--- a/changelog/unreleased/bump-reva.md
+++ b/changelog/unreleased/bump-reva.md
@@ -2,28 +2,4 @@ Enhancement: Update reva
 
 Update reva to latest edge
 
-*   Bugfix [cs3org/reva#3963](https://github.com/cs3org/reva/pull/3963): Treesize interger overflows
-*   Bugfix [cs3org/reva#3943](https://github.com/cs3org/reva/pull/3943): When removing metadata always use correct database and table
-*   Bugfix [cs3org/reva#3978](https://github.com/cs3org/reva/pull/3978): Decomposedfs no longer os.Stats when reading node metadata
-*   Bugfix [cs3org/reva#3959](https://github.com/cs3org/reva/pull/3959): Drop unnecessary stat
-*   Bugfix [cs3org/reva#3948](https://github.com/cs3org/reva/pull/3948): Handle the bad request status
-*   Bugfix [cs3org/reva#3955](https://github.com/cs3org/reva/pull/3955): Fix panic
-*   Bugfix [cs3org/reva#3977](https://github.com/cs3org/reva/pull/3977): Prevent direct access to trash items
-*   Bugfix [cs3org/reva#3933](https://github.com/cs3org/reva/pull/3933): Concurrently invalidate mtime cache in jsoncs3 share manager
-*   Bugfix [cs3org/reva#3985](https://github.com/cs3org/reva/pull/3985): Reduce jsoncs3 lock congestion
-*   Bugfix [cs3org/reva#3960](https://github.com/cs3org/reva/pull/3960): Add trace span details
-*   Bugfix [cs3org/reva#3951](https://github.com/cs3org/reva/pull/3951): Link context in metadata client
-*   Bugfix [cs3org/reva#3950](https://github.com/cs3org/reva/pull/3950): Use plain otel tracing in metadata client
-*   Bugfix [cs3org/reva#3975](https://github.com/cs3org/reva/pull/3975): Decomposedfs now resolves the parent without an os.Stat
-*   Change [cs3org/reva#3947](https://github.com/cs3org/reva/pull/3947): Bump golangci-lint to 1.51.2
-*   Change [cs3org/reva#3945](https://github.com/cs3org/reva/pull/3945): Revert golangci-lint back to 1.50.1
-*   Enhancement [cs3org/reva#3966](https://github.com/cs3org/reva/pull/3966): Add space metadata to ocs shares list
-*   Enhancement [cs3org/reva#3953](https://github.com/cs3org/reva/pull/3953): Client selector pool
-*   Enhancement [cs3org/reva#3941](https://github.com/cs3org/reva/pull/3941): Adding tracing for jsoncs3
-*   Enhancement [cs3org/reva#3965](https://github.com/cs3org/reva/pull/3965): ResumePostprocessing Event
-*   Enhancement [cs3org/reva#3981](https://github.com/cs3org/reva/pull/3981): We have updated the UserFeatureChangedEvent to reflect value changes
-*   Enhancement [cs3org/reva#3986](https://github.com/cs3org/reva/pull/3986): Allow disabling wopi chat
-
-https://github.com/owncloud/ocis/pull/6529
-https://github.com/owncloud/ocis/pull/6544
 https://github.com/owncloud/ocis/pull/6507
diff --git a/changelog/unreleased/wopi-disable-chat.md b/changelog/unreleased/wopi-disable-chat.md
deleted file mode 100644
index a015752279a..00000000000
--- a/changelog/unreleased/wopi-disable-chat.md
+++ /dev/null
@@ -1,5 +0,0 @@
-Enhancement: Allow disabling wopi chat
-
-Add a configreva for the new reva disable-chat feature
-
-https://github.com/owncloud/ocis/pull/6544
diff --git a/go.mod b/go.mod
index b3ec4444e98..ea4e50ab1c0 100644
--- a/go.mod
+++ b/go.mod
@@ -13,7 +13,7 @@ require (
 	github.com/coreos/go-oidc v2.2.1+incompatible
 	github.com/coreos/go-oidc/v3 v3.6.0
 	github.com/cs3org/go-cs3apis v0.0.0-20230516150832-730ac860c71d
-	github.com/cs3org/reva/v2 v2.14.1-0.20230616125400-b30fdde17262
+	github.com/cs3org/reva/v2 v2.14.1-0.20230615141102-1906a729ee5a
 	github.com/disintegration/imaging v1.6.2
 	github.com/dutchcoders/go-clamd v0.0.0-20170520113014-b970184f4d9e
 	github.com/egirna/icap-client v0.1.1
diff --git a/go.sum b/go.sum
index b21491f9d85..350e288fffe 100644
--- a/go.sum
+++ b/go.sum
@@ -625,8 +625,8 @@ github.com/crewjam/httperr v0.2.0 h1:b2BfXR8U3AlIHwNeFFvZ+BV1LFvKLlzMjzaTnZMybNo
 github.com/crewjam/httperr v0.2.0/go.mod h1:Jlz+Sg/XqBQhyMjdDiC+GNNRzZTD7x39Gu3pglZ5oH4=
 github.com/crewjam/saml v0.4.13 h1:TYHggH/hwP7eArqiXSJUvtOPNzQDyQ7vwmwEqlFWhMc=
 github.com/crewjam/saml v0.4.13/go.mod h1:igEejV+fihTIlHXYP8zOec3V5A8y3lws5bQBFsTm4gA=
-github.com/cs3org/reva/v2 v2.14.1-0.20230616125400-b30fdde17262 h1:qtK30bpLgJsUha9XbJseTksGXaNQtTteynVZEobL1fw=
-github.com/cs3org/reva/v2 v2.14.1-0.20230616125400-b30fdde17262/go.mod h1:E32krZG159YflDSjDWfx/QGIC2529PS5LiPnGNHu3d0=
+github.com/cs3org/reva/v2 v2.14.1-0.20230615141102-1906a729ee5a h1:T+504loI0dvksiutkzF4ciLfIJD/LJtJFdFJ6d7I7dA=
+github.com/cs3org/reva/v2 v2.14.1-0.20230615141102-1906a729ee5a/go.mod h1:E32krZG159YflDSjDWfx/QGIC2529PS5LiPnGNHu3d0=
 github.com/cubewise-code/go-mime v0.0.0-20200519001935-8c5762b177d8 h1:Z9lwXumT5ACSmJ7WGnFl+OMLLjpz5uR2fyz7dC255FI=
 github.com/cubewise-code/go-mime v0.0.0-20200519001935-8c5762b177d8/go.mod h1:4abs/jPXcmJzYoYGF91JF9Uq9s/KL5n1jvFDix8KcqY=
 github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4=
diff --git a/services/app-provider/pkg/config/config.go b/services/app-provider/pkg/config/config.go
index 39d4c24a59d..87234339262 100644
--- a/services/app-provider/pkg/config/config.go
+++ b/services/app-provider/pkg/config/config.go
@@ -69,7 +69,6 @@ type WOPIDriver struct {
 	AppInternalURL            string `yaml:"app_internal_url" env:"APP_PROVIDER_WOPI_APP_INTERNAL_URL" desc:"Internal URL to the app, like in your DMZ."`
 	AppName                   string `yaml:"app_name" env:"APP_PROVIDER_WOPI_APP_NAME" desc:"Human readable app name."`
 	AppURL                    string `yaml:"app_url" env:"APP_PROVIDER_WOPI_APP_URL" desc:"URL for end users to access the app."`
-	AppDisableChat            bool   `yaml:"app_disable_chat" env:"APP_PROVIDER_WOPI_DISABLE_CHAT" desc:"Disable the chat functionality of the office app."`
 	Insecure                  bool   `yaml:"insecure" env:"APP_PROVIDER_WOPI_INSECURE" desc:"Disable TLS certificate validation for requests to the WOPI server and the web office application. Do not set this in production environments."`
 	IopSecret                 string `yaml:"wopi_server_iop_secret" env:"APP_PROVIDER_WOPI_WOPI_SERVER_IOP_SECRET" desc:"Shared secret of the CS3org WOPI server."`
 	WopiURL                   string `yaml:"wopi_server_external_url" env:"APP_PROVIDER_WOPI_WOPI_SERVER_EXTERNAL_URL" desc:"External url of the CS3org WOPI server."`
diff --git a/services/app-provider/pkg/revaconfig/config.go b/services/app-provider/pkg/revaconfig/config.go
index 84e7c814499..d15b825b8de 100644
--- a/services/app-provider/pkg/revaconfig/config.go
+++ b/services/app-provider/pkg/revaconfig/config.go
@@ -40,7 +40,6 @@ func AppProviderConfigFromStruct(cfg *config.Config) map[string]interface{} {
 							"app_int_url":                   cfg.Drivers.WOPI.AppInternalURL,
 							"app_name":                      cfg.Drivers.WOPI.AppName,
 							"app_url":                       cfg.Drivers.WOPI.AppURL,
-							"app_disable_chat":              cfg.Drivers.WOPI.AppDisableChat,
 							"insecure_connections":          cfg.Drivers.WOPI.Insecure,
 							"iop_secret":                    cfg.Drivers.WOPI.IopSecret,
 							"jwt_secret":                    cfg.TokenManager.JWTSecret,
diff --git a/services/audit/pkg/types/constants.go b/services/audit/pkg/types/messages.go
similarity index 87%
rename from services/audit/pkg/types/constants.go
rename to services/audit/pkg/types/messages.go
index e41f53ba6c6..049e08f5bf6 100644
--- a/services/audit/pkg/types/constants.go
+++ b/services/audit/pkg/types/messages.go
@@ -5,6 +5,7 @@ import (
 	"strings"
 
 	"github.com/cs3org/reva/v2/pkg/events"
+	"github.com/cs3org/reva/v2/pkg/storagespace"
 )
 
 // short identifiers for audit actions
@@ -139,43 +140,51 @@ func MessageFileVersionRestored(executant, item, version string) string {
 
 // MessageSpaceCreated returns the human readable string that describes the action
 func MessageSpaceCreated(executant, spaceID, name string) string {
-	return fmt.Sprintf("user '%s' created a space '%s' with name '%s'", executant, spaceID, name)
+	storagID, spaceID := storagespace.SplitStorageID(spaceID)
+	return fmt.Sprintf("user '%s' created a space '%s' with name '%s' (storage: '%s')", executant, spaceID, name, storagID)
 }
 
 // MessageSpaceRenamed returns the human readable string that describes the action
 func MessageSpaceRenamed(executant, spaceID, name string) string {
-	return fmt.Sprintf("user '%s' renamed space '%s' to '%s'", executant, spaceID, name)
+	storagID, spaceID := storagespace.SplitStorageID(spaceID)
+	return fmt.Sprintf("user '%s' renamed space '%s' to '%s' (storage: '%s')", executant, spaceID, name, storagID)
 }
 
 // MessageSpaceDisabled returns the human readable string that describes the action
 func MessageSpaceDisabled(executant, spaceID string) string {
-	return fmt.Sprintf("user '%s' disabled the space '%s'", executant, spaceID)
+	storagID, spaceID := storagespace.SplitStorageID(spaceID)
+	return fmt.Sprintf("user '%s' disabled the space '%s' (storage: '%s')", executant, spaceID, storagID)
 }
 
 // MessageSpaceEnabled returns the human readable string that describes the action
 func MessageSpaceEnabled(executant, spaceID string) string {
-	return fmt.Sprintf("user '%s' (re-) enabled the space '%s'", executant, spaceID)
+	storagID, spaceID := storagespace.SplitStorageID(spaceID)
+	return fmt.Sprintf("user '%s' (re-) enabled the space '%s' (storage: '%s')", executant, spaceID, storagID)
 }
 
 // MessageSpaceDeleted returns the human readable string that describes the action
 func MessageSpaceDeleted(executant, spaceID string) string {
-	return fmt.Sprintf("user '%s' deleted the space '%s'", executant, spaceID)
+	storagID, spaceID := storagespace.SplitStorageID(spaceID)
+	return fmt.Sprintf("user '%s' deleted the space '%s' (storage: '%s')", executant, spaceID, storagID)
 }
 
 // MessageSpaceShared returns the human readable string that describes the action
 func MessageSpaceShared(executant, spaceID, grantee string) string {
-	return fmt.Sprintf("user '%s' shared the space '%s' with '%s'", executant, spaceID, grantee)
+	storagID, spaceID := storagespace.SplitStorageID(spaceID)
+	return fmt.Sprintf("user '%s' shared the space '%s' with '%s' (storage: '%s')", executant, spaceID, grantee, storagID)
 }
 
 // MessageSpaceUnshared returns the human readable string that describes the action
 func MessageSpaceUnshared(executant, spaceID, grantee string) string {
-	return fmt.Sprintf("user '%s' unshared the space '%s' with '%s'", executant, spaceID, grantee)
+	storagID, spaceID := storagespace.SplitStorageID(spaceID)
+	return fmt.Sprintf("user '%s' unshared the space '%s' with '%s' (storage: '%s')", executant, spaceID, grantee, storagID)
 }
 
 // MessageSpaceUpdated returns the human readable string that describes the action
 func MessageSpaceUpdated(executant, spaceID, name string, quota uint64, opaque map[string]string) string {
-	return fmt.Sprintf("user '%s' updated space '%s'. name: '%s', quota: '%d', opaque: '%s'",
-		executant, spaceID, name, quota, opaque)
+	storagID, spaceID := storagespace.SplitStorageID(spaceID)
+	return fmt.Sprintf("user '%s' updated space '%s'. name: '%s', quota: '%d', opaque: '%s' (storage: '%s')",
+		executant, spaceID, name, quota, opaque, storagID)
 }
 
 // MessageUserCreated returns the human readable string that describes the action
diff --git a/services/notifications/pkg/email/l10n/locale/ca/LC_MESSAGES/notifications.po b/services/notifications/pkg/email/l10n/locale/ca/LC_MESSAGES/notifications.po
index 84250575637..489700a8fed 100644
--- a/services/notifications/pkg/email/l10n/locale/ca/LC_MESSAGES/notifications.po
+++ b/services/notifications/pkg/email/l10n/locale/ca/LC_MESSAGES/notifications.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: EMAIL\n"
-"POT-Creation-Date: 2023-06-19 00:15+0000\n"
+"POT-Creation-Date: 2023-05-30 00:02+0000\n"
 "PO-Revision-Date: 2023-04-19 11:11+0000\n"
 "Last-Translator: Arnau Morancho, 2023\n"
 "Language-Team: Catalan (https://app.transifex.com/owncloud-org/teams/6149/ca/)\n"
diff --git a/services/notifications/pkg/email/l10n/locale/de/LC_MESSAGES/notifications.po b/services/notifications/pkg/email/l10n/locale/de/LC_MESSAGES/notifications.po
index aff1607b03f..7cc790c056a 100644
--- a/services/notifications/pkg/email/l10n/locale/de/LC_MESSAGES/notifications.po
+++ b/services/notifications/pkg/email/l10n/locale/de/LC_MESSAGES/notifications.po
@@ -12,7 +12,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: EMAIL\n"
-"POT-Creation-Date: 2023-06-19 00:15+0000\n"
+"POT-Creation-Date: 2023-05-30 00:02+0000\n"
 "PO-Revision-Date: 2023-04-19 11:11+0000\n"
 "Last-Translator: hurradieweltgehtunter <florian@owncloud.com>, 2023\n"
 "Language-Team: German (https://app.transifex.com/owncloud-org/teams/6149/de/)\n"
diff --git a/services/notifications/pkg/email/l10n/locale/de_DE/LC_MESSAGES/notifications.po b/services/notifications/pkg/email/l10n/locale/de_DE/LC_MESSAGES/notifications.po
index f4cf36c54f4..4100e269084 100644
--- a/services/notifications/pkg/email/l10n/locale/de_DE/LC_MESSAGES/notifications.po
+++ b/services/notifications/pkg/email/l10n/locale/de_DE/LC_MESSAGES/notifications.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: EMAIL\n"
-"POT-Creation-Date: 2023-06-19 00:15+0000\n"
+"POT-Creation-Date: 2023-05-30 00:02+0000\n"
 "PO-Revision-Date: 2023-04-19 11:11+0000\n"
 "Last-Translator: Edith Parzefall, 2023\n"
 "Language-Team: German (Germany) (https://app.transifex.com/owncloud-org/teams/6149/de_DE/)\n"
diff --git a/services/notifications/pkg/email/l10n/locale/en_GB/LC_MESSAGES/notifications.po b/services/notifications/pkg/email/l10n/locale/en_GB/LC_MESSAGES/notifications.po
index 0baeac0e0a0..075c8f5709d 100644
--- a/services/notifications/pkg/email/l10n/locale/en_GB/LC_MESSAGES/notifications.po
+++ b/services/notifications/pkg/email/l10n/locale/en_GB/LC_MESSAGES/notifications.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: EMAIL\n"
-"POT-Creation-Date: 2023-06-19 00:15+0000\n"
+"POT-Creation-Date: 2023-05-30 00:02+0000\n"
 "PO-Revision-Date: 2023-04-19 11:11+0000\n"
 "Last-Translator: Andi Chandler <andi@gowling.com>, 2023\n"
 "Language-Team: English (United Kingdom) (https://app.transifex.com/owncloud-org/teams/6149/en_GB/)\n"
diff --git a/services/notifications/pkg/email/l10n/locale/es/LC_MESSAGES/notifications.po b/services/notifications/pkg/email/l10n/locale/es/LC_MESSAGES/notifications.po
index be7896fc3bc..b91d64b32e5 100644
--- a/services/notifications/pkg/email/l10n/locale/es/LC_MESSAGES/notifications.po
+++ b/services/notifications/pkg/email/l10n/locale/es/LC_MESSAGES/notifications.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: EMAIL\n"
-"POT-Creation-Date: 2023-06-19 00:15+0000\n"
+"POT-Creation-Date: 2023-05-30 00:02+0000\n"
 "PO-Revision-Date: 2023-04-19 11:11+0000\n"
 "Last-Translator: Juan Carlos Garrote, 2023\n"
 "Language-Team: Spanish (https://app.transifex.com/owncloud-org/teams/6149/es/)\n"
diff --git a/services/notifications/pkg/email/l10n/locale/ko/LC_MESSAGES/notifications.po b/services/notifications/pkg/email/l10n/locale/ko/LC_MESSAGES/notifications.po
index f606ee0ffaa..fd0301d3393 100644
--- a/services/notifications/pkg/email/l10n/locale/ko/LC_MESSAGES/notifications.po
+++ b/services/notifications/pkg/email/l10n/locale/ko/LC_MESSAGES/notifications.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: EMAIL\n"
-"POT-Creation-Date: 2023-06-19 00:15+0000\n"
+"POT-Creation-Date: 2023-05-30 00:02+0000\n"
 "PO-Revision-Date: 2023-04-19 11:11+0000\n"
 "Last-Translator: Hugo Blackwood, 2023\n"
 "Language-Team: Korean (https://app.transifex.com/owncloud-org/teams/6149/ko/)\n"
diff --git a/services/notifications/pkg/email/l10n/locale/pt_BR/LC_MESSAGES/notifications.po b/services/notifications/pkg/email/l10n/locale/pt_BR/LC_MESSAGES/notifications.po
index 1963099690f..f14753d329b 100644
--- a/services/notifications/pkg/email/l10n/locale/pt_BR/LC_MESSAGES/notifications.po
+++ b/services/notifications/pkg/email/l10n/locale/pt_BR/LC_MESSAGES/notifications.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: EMAIL\n"
-"POT-Creation-Date: 2023-06-19 00:15+0000\n"
+"POT-Creation-Date: 2023-05-30 00:02+0000\n"
 "PO-Revision-Date: 2023-04-19 11:11+0000\n"
 "Last-Translator: Flávio Veras <flaviove@gmail.com>, 2023\n"
 "Language-Team: Portuguese (Brazil) (https://app.transifex.com/owncloud-org/teams/6149/pt_BR/)\n"
diff --git a/services/notifications/pkg/email/l10n/locale/ru/LC_MESSAGES/notifications.po b/services/notifications/pkg/email/l10n/locale/ru/LC_MESSAGES/notifications.po
index f14d7cfb08e..f3732f54423 100644
--- a/services/notifications/pkg/email/l10n/locale/ru/LC_MESSAGES/notifications.po
+++ b/services/notifications/pkg/email/l10n/locale/ru/LC_MESSAGES/notifications.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: EMAIL\n"
-"POT-Creation-Date: 2023-06-19 00:15+0000\n"
+"POT-Creation-Date: 2023-05-30 00:02+0000\n"
 "PO-Revision-Date: 2023-04-19 11:11+0000\n"
 "Last-Translator: Roman Perekhod, 2023\n"
 "Language-Team: Russian (https://app.transifex.com/owncloud-org/teams/6149/ru/)\n"
diff --git a/services/notifications/pkg/email/l10n/locale/sq/LC_MESSAGES/notifications.po b/services/notifications/pkg/email/l10n/locale/sq/LC_MESSAGES/notifications.po
index dc8532a1f8b..e9a274432c4 100644
--- a/services/notifications/pkg/email/l10n/locale/sq/LC_MESSAGES/notifications.po
+++ b/services/notifications/pkg/email/l10n/locale/sq/LC_MESSAGES/notifications.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: EMAIL\n"
-"POT-Creation-Date: 2023-06-19 00:15+0000\n"
+"POT-Creation-Date: 2023-05-30 00:02+0000\n"
 "PO-Revision-Date: 2023-04-19 11:11+0000\n"
 "Last-Translator: Besnik Bleta <besnik@programeshqip.org>, 2023\n"
 "Language-Team: Albanian (https://app.transifex.com/owncloud-org/teams/6149/sq/)\n"
diff --git a/services/userlog/pkg/service/l10n/locale/bg_BG/LC_MESSAGES/userlog.po b/services/userlog/pkg/service/l10n/locale/bg_BG/LC_MESSAGES/userlog.po
index 495e29f3258..5d0a59bf5e8 100644
--- a/services/userlog/pkg/service/l10n/locale/bg_BG/LC_MESSAGES/userlog.po
+++ b/services/userlog/pkg/service/l10n/locale/bg_BG/LC_MESSAGES/userlog.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: EMAIL\n"
-"POT-Creation-Date: 2023-06-19 00:15+0000\n"
+"POT-Creation-Date: 2023-05-30 00:02+0000\n"
 "PO-Revision-Date: 2023-03-15 08:28+0000\n"
 "Last-Translator: Martin Zhekov <martin03staff@gmail.com>, 2023\n"
 "Language-Team: Bulgarian (Bulgaria) (https://app.transifex.com/owncloud-org/teams/6149/bg_BG/)\n"
diff --git a/services/userlog/pkg/service/l10n/locale/de/LC_MESSAGES/userlog.po b/services/userlog/pkg/service/l10n/locale/de/LC_MESSAGES/userlog.po
index 3a41d901ccf..8dd097f9258 100644
--- a/services/userlog/pkg/service/l10n/locale/de/LC_MESSAGES/userlog.po
+++ b/services/userlog/pkg/service/l10n/locale/de/LC_MESSAGES/userlog.po
@@ -12,7 +12,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: EMAIL\n"
-"POT-Creation-Date: 2023-06-19 00:15+0000\n"
+"POT-Creation-Date: 2023-05-30 00:02+0000\n"
 "PO-Revision-Date: 2023-03-15 08:28+0000\n"
 "Last-Translator: hurradieweltgehtunter <florian@owncloud.com>, 2023\n"
 "Language-Team: German (https://app.transifex.com/owncloud-org/teams/6149/de/)\n"
diff --git a/services/userlog/pkg/service/l10n/locale/de_DE/LC_MESSAGES/userlog.po b/services/userlog/pkg/service/l10n/locale/de_DE/LC_MESSAGES/userlog.po
index 3807435dcdf..d0ff73c9db6 100644
--- a/services/userlog/pkg/service/l10n/locale/de_DE/LC_MESSAGES/userlog.po
+++ b/services/userlog/pkg/service/l10n/locale/de_DE/LC_MESSAGES/userlog.po
@@ -12,7 +12,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: EMAIL\n"
-"POT-Creation-Date: 2023-06-19 00:15+0000\n"
+"POT-Creation-Date: 2023-05-30 00:02+0000\n"
 "PO-Revision-Date: 2023-03-15 08:28+0000\n"
 "Last-Translator: Edith Parzefall, 2023\n"
 "Language-Team: German (Germany) (https://app.transifex.com/owncloud-org/teams/6149/de_DE/)\n"
diff --git a/services/userlog/pkg/service/l10n/locale/es/LC_MESSAGES/userlog.po b/services/userlog/pkg/service/l10n/locale/es/LC_MESSAGES/userlog.po
index fec31014d4d..b4ab769486a 100644
--- a/services/userlog/pkg/service/l10n/locale/es/LC_MESSAGES/userlog.po
+++ b/services/userlog/pkg/service/l10n/locale/es/LC_MESSAGES/userlog.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: EMAIL\n"
-"POT-Creation-Date: 2023-06-19 00:15+0000\n"
+"POT-Creation-Date: 2023-05-30 00:02+0000\n"
 "PO-Revision-Date: 2023-03-15 08:28+0000\n"
 "Last-Translator: Juan Carlos Garrote, 2023\n"
 "Language-Team: Spanish (https://app.transifex.com/owncloud-org/teams/6149/es/)\n"
diff --git a/services/userlog/pkg/service/l10n/locale/es_AR/LC_MESSAGES/userlog.po b/services/userlog/pkg/service/l10n/locale/es_AR/LC_MESSAGES/userlog.po
index 2525ce5c9ab..37be2c77d8d 100644
--- a/services/userlog/pkg/service/l10n/locale/es_AR/LC_MESSAGES/userlog.po
+++ b/services/userlog/pkg/service/l10n/locale/es_AR/LC_MESSAGES/userlog.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: EMAIL\n"
-"POT-Creation-Date: 2023-06-19 00:15+0000\n"
+"POT-Creation-Date: 2023-05-30 00:02+0000\n"
 "PO-Revision-Date: 2023-03-15 08:28+0000\n"
 "Last-Translator: Toli Bal <tolicapo@gmail.com>, 2023\n"
 "Language-Team: Spanish (Argentina) (https://app.transifex.com/owncloud-org/teams/6149/es_AR/)\n"
diff --git a/services/userlog/pkg/service/l10n/locale/ko/LC_MESSAGES/userlog.po b/services/userlog/pkg/service/l10n/locale/ko/LC_MESSAGES/userlog.po
index 6f9dd5ab69c..4f6e81c8d6e 100644
--- a/services/userlog/pkg/service/l10n/locale/ko/LC_MESSAGES/userlog.po
+++ b/services/userlog/pkg/service/l10n/locale/ko/LC_MESSAGES/userlog.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: EMAIL\n"
-"POT-Creation-Date: 2023-06-19 00:15+0000\n"
+"POT-Creation-Date: 2023-05-30 00:02+0000\n"
 "PO-Revision-Date: 2023-03-15 08:28+0000\n"
 "Last-Translator: Hugo Blackwood, 2023\n"
 "Language-Team: Korean (https://app.transifex.com/owncloud-org/teams/6149/ko/)\n"
diff --git a/services/userlog/pkg/service/l10n/locale/pt_BR/LC_MESSAGES/userlog.po b/services/userlog/pkg/service/l10n/locale/pt_BR/LC_MESSAGES/userlog.po
index 93589361fde..b0c81b452e9 100644
--- a/services/userlog/pkg/service/l10n/locale/pt_BR/LC_MESSAGES/userlog.po
+++ b/services/userlog/pkg/service/l10n/locale/pt_BR/LC_MESSAGES/userlog.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: EMAIL\n"
-"POT-Creation-Date: 2023-06-19 00:15+0000\n"
+"POT-Creation-Date: 2023-05-30 00:02+0000\n"
 "PO-Revision-Date: 2023-03-15 08:28+0000\n"
 "Last-Translator: Flávio Veras <flaviove@gmail.com>, 2023\n"
 "Language-Team: Portuguese (Brazil) (https://app.transifex.com/owncloud-org/teams/6149/pt_BR/)\n"
diff --git a/services/userlog/pkg/service/l10n/locale/ru/LC_MESSAGES/userlog.po b/services/userlog/pkg/service/l10n/locale/ru/LC_MESSAGES/userlog.po
index 1d9b8caf9e3..40337998f82 100644
--- a/services/userlog/pkg/service/l10n/locale/ru/LC_MESSAGES/userlog.po
+++ b/services/userlog/pkg/service/l10n/locale/ru/LC_MESSAGES/userlog.po
@@ -12,7 +12,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: EMAIL\n"
-"POT-Creation-Date: 2023-06-19 00:15+0000\n"
+"POT-Creation-Date: 2023-05-30 00:02+0000\n"
 "PO-Revision-Date: 2023-03-15 08:28+0000\n"
 "Last-Translator: Viktor Scharf, 2023\n"
 "Language-Team: Russian (https://app.transifex.com/owncloud-org/teams/6149/ru/)\n"
diff --git a/services/userlog/pkg/service/l10n/locale/sq/LC_MESSAGES/userlog.po b/services/userlog/pkg/service/l10n/locale/sq/LC_MESSAGES/userlog.po
index 6f228770fa3..89d106835e5 100644
--- a/services/userlog/pkg/service/l10n/locale/sq/LC_MESSAGES/userlog.po
+++ b/services/userlog/pkg/service/l10n/locale/sq/LC_MESSAGES/userlog.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: EMAIL\n"
-"POT-Creation-Date: 2023-06-19 00:15+0000\n"
+"POT-Creation-Date: 2023-05-30 00:02+0000\n"
 "PO-Revision-Date: 2023-03-15 08:28+0000\n"
 "Last-Translator: Besnik Bleta <besnik@programeshqip.org>, 2023\n"
 "Language-Team: Albanian (https://app.transifex.com/owncloud-org/teams/6149/sq/)\n"
diff --git a/vendor/github.com/cs3org/reva/v2/pkg/app/provider/wopi/wopi.go b/vendor/github.com/cs3org/reva/v2/pkg/app/provider/wopi/wopi.go
index 11744154eca..cf7bd52b5bf 100644
--- a/vendor/github.com/cs3org/reva/v2/pkg/app/provider/wopi/wopi.go
+++ b/vendor/github.com/cs3org/reva/v2/pkg/app/provider/wopi/wopi.go
@@ -69,7 +69,6 @@ type config struct {
 	JWTSecret                 string `mapstructure:"jwt_secret" docs:";The JWT secret to be used to retrieve the token TTL."`
 	AppDesktopOnly            bool   `mapstructure:"app_desktop_only" docs:"false;Specifies if the app can be opened only on desktop."`
 	InsecureConnections       bool   `mapstructure:"insecure_connections"`
-	AppDisableChat            bool   `mapstructure:"app_disable_chat"`
 }
 
 func parseConfig(m map[string]interface{}) (*config, error) {
@@ -247,23 +246,20 @@ func (p *wopiProvider) GetAppURL(ctx context.Context, resource *provider.Resourc
 		return nil, err
 	}
 
-	url, err := url.Parse(result["app-url"].(string))
-	if err != nil {
-		return nil, err
-	}
+	appFullURL := result["app-url"].(string)
 
-	urlQuery := url.Query()
 	if language != "" {
+		url, err := url.Parse(appFullURL)
+		if err != nil {
+			return nil, err
+		}
+		urlQuery := url.Query()
 		urlQuery.Set("ui", language)      // OnlyOffice
 		urlQuery.Set("lang", language)    // Collabora
 		urlQuery.Set("UI_LLCC", language) // Office365
+		url.RawQuery = urlQuery.Encode()
+		appFullURL = url.String()
 	}
-	if p.conf.AppDisableChat {
-		urlQuery.Set("dchat", "1") // OnlyOffice disable chat
-	}
-
-	url.RawQuery = urlQuery.Encode()
-	appFullURL := url.String()
 
 	// Depending on whether wopi server returned any form parameters or not,
 	// we decide whether the request method is POST or GET
diff --git a/vendor/github.com/cs3org/reva/v2/pkg/share/manager/jsoncs3/providercache/providercache.go b/vendor/github.com/cs3org/reva/v2/pkg/share/manager/jsoncs3/providercache/providercache.go
index 08cbb06000e..a91b517fd52 100644
--- a/vendor/github.com/cs3org/reva/v2/pkg/share/manager/jsoncs3/providercache/providercache.go
+++ b/vendor/github.com/cs3org/reva/v2/pkg/share/manager/jsoncs3/providercache/providercache.go
@@ -43,7 +43,8 @@ const tracerName = "providercache"
 
 // Cache holds share information structured by provider and space
 type Cache struct {
-	lockMap sync.Map
+	lockMapLock sync.Mutex
+	lockMap     map[string]*sync.Mutex
 
 	Providers map[string]*Spaces
 
@@ -105,9 +106,16 @@ func (s *Shares) UnmarshalJSON(data []byte) error {
 
 // LockSpace locks the cache for a given space and returns an unlock function
 func (c *Cache) LockSpace(spaceID string) func() {
-	v, _ := c.lockMap.LoadOrStore(spaceID, &sync.Mutex{})
-	lock := v.(*sync.Mutex)
-
+	lock := c.lockMap[spaceID]
+	if lock == nil {
+		c.lockMapLock.Lock()
+		lock = c.lockMap[spaceID]
+		if lock == nil {
+			c.lockMap[spaceID] = &sync.Mutex{}
+			lock = c.lockMap[spaceID]
+		}
+		c.lockMapLock.Unlock()
+	}
 	lock.Lock()
 	return func() { lock.Unlock() }
 }
@@ -118,7 +126,7 @@ func New(s metadata.Storage, ttl time.Duration) Cache {
 		Providers: map[string]*Spaces{},
 		storage:   s,
 		ttl:       ttl,
-		lockMap:   sync.Map{},
+		lockMap:   map[string]*sync.Mutex{},
 	}
 }
 
diff --git a/vendor/github.com/cs3org/reva/v2/pkg/share/manager/jsoncs3/receivedsharecache/receivedsharecache.go b/vendor/github.com/cs3org/reva/v2/pkg/share/manager/jsoncs3/receivedsharecache/receivedsharecache.go
index 4810f1ff131..faf6d13f494 100644
--- a/vendor/github.com/cs3org/reva/v2/pkg/share/manager/jsoncs3/receivedsharecache/receivedsharecache.go
+++ b/vendor/github.com/cs3org/reva/v2/pkg/share/manager/jsoncs3/receivedsharecache/receivedsharecache.go
@@ -44,7 +44,8 @@ const tracerName = "receivedsharecache"
 // It functions as an in-memory cache with a persistence layer
 // The storage is sharded by user
 type Cache struct {
-	lockMap sync.Map
+	lockMapLock sync.Mutex
+	lockMap     map[string]*sync.Mutex
 
 	ReceivedSpaces map[string]*Spaces
 
@@ -78,14 +79,21 @@ func New(s metadata.Storage, ttl time.Duration) Cache {
 		ReceivedSpaces: map[string]*Spaces{},
 		storage:        s,
 		ttl:            ttl,
-		lockMap:        sync.Map{},
+		lockMap:        map[string]*sync.Mutex{},
 	}
 }
 
 func (c *Cache) lockUser(userID string) func() {
-	v, _ := c.lockMap.LoadOrStore(userID, &sync.Mutex{})
-	lock := v.(*sync.Mutex)
-
+	lock := c.lockMap[userID]
+	if lock == nil {
+		c.lockMapLock.Lock()
+		lock = c.lockMap[userID]
+		if lock == nil {
+			c.lockMap[userID] = &sync.Mutex{}
+			lock = c.lockMap[userID]
+		}
+		c.lockMapLock.Unlock()
+	}
 	lock.Lock()
 	return func() { lock.Unlock() }
 }
diff --git a/vendor/github.com/cs3org/reva/v2/pkg/share/manager/jsoncs3/sharecache/sharecache.go b/vendor/github.com/cs3org/reva/v2/pkg/share/manager/jsoncs3/sharecache/sharecache.go
index f4058d45947..649f8dee6f9 100644
--- a/vendor/github.com/cs3org/reva/v2/pkg/share/manager/jsoncs3/sharecache/sharecache.go
+++ b/vendor/github.com/cs3org/reva/v2/pkg/share/manager/jsoncs3/sharecache/sharecache.go
@@ -43,7 +43,8 @@ const tracerName = "sharecache"
 // It functions as an in-memory cache with a persistence layer
 // The storage is sharded by user/group
 type Cache struct {
-	lockMap sync.Map
+	lockMapLock sync.Mutex
+	lockMap     map[string]*sync.Mutex
 
 	UserShares map[string]*UserShareCache
 
@@ -68,9 +69,16 @@ type SpaceShareIDs struct {
 }
 
 func (c *Cache) lockUser(userID string) func() {
-	v, _ := c.lockMap.LoadOrStore(userID, &sync.Mutex{})
-	lock := v.(*sync.Mutex)
-
+	lock := c.lockMap[userID]
+	if lock == nil {
+		c.lockMapLock.Lock()
+		lock = c.lockMap[userID]
+		if lock == nil {
+			c.lockMap[userID] = &sync.Mutex{}
+			lock = c.lockMap[userID]
+		}
+		c.lockMapLock.Unlock()
+	}
 	lock.Lock()
 	return func() { lock.Unlock() }
 }
@@ -83,7 +91,7 @@ func New(s metadata.Storage, namespace, filename string, ttl time.Duration) Cach
 		namespace:  namespace,
 		filename:   filename,
 		ttl:        ttl,
-		lockMap:    sync.Map{},
+		lockMap:    map[string]*sync.Mutex{},
 	}
 }
 
diff --git a/vendor/github.com/cs3org/reva/v2/pkg/storage/utils/decomposedfs/node/node.go b/vendor/github.com/cs3org/reva/v2/pkg/storage/utils/decomposedfs/node/node.go
index 9c52eeeeebd..f154d2db02b 100644
--- a/vendor/github.com/cs3org/reva/v2/pkg/storage/utils/decomposedfs/node/node.go
+++ b/vendor/github.com/cs3org/reva/v2/pkg/storage/utils/decomposedfs/node/node.go
@@ -294,6 +294,37 @@ func ReadNode(ctx context.Context, lu PathLookup, spaceID, nodeID string, canLis
 		}
 		return nil, errtypes.InternalError("Missing parent ID on node")
 	}
+	// TODO why do we stat the parent? to determine if the current node is in the trash we would need to traverse all parents...
+	// we need to traverse all parents for permissions anyway ...
+	// - we can compare to space root owner with the current user
+	// - we can compare the share permissions on the root for spaces, which would work for managers
+	// - for non managers / owners we need to traverse all path segments because an intermediate node might have been shared
+	// - if we want to support negative acls we need to traverse the path for all users (but the owner)
+	// for trashed items we need to check all parents
+	// - one of them might have the trash suffix ...
+	// - options:
+	//   - move deleted nodes in a trash folder that is still part of the tree (aka freedesktop org trash spec)
+	//     - shares should still be removed, which requires traversing all trashed children ... and it should be undoable ...
+	//     - what if a trashed file is restored? will child items be accessible by a share?
+	//   - compare paths of trash root items and the trashed file?
+	//     - to determine the relative path of a file we would need to traverse all intermediate nodes anyway
+	//   - recursively mark all children as trashed ... async ... it is ok when that is not synchronous
+	//     - how do we pick up if an error occurs? write a journal somewhere? activity log / delta?
+	//     - stat requests will not pick up trashed items at all
+	//   - recursively move all children into the trash folder?
+	//     - no need to write an additional trash entry
+	//     - can be made more robust with a journal
+	//     - same recursion mechanism can be used to purge items? sth we still need to do
+	//   - flag the two above options with dtime
+	if !skipParentCheck {
+		_, err = os.Stat(n.ParentPath())
+		if err != nil {
+			if errors.Is(err, fs.ErrNotExist) {
+				return nil, errtypes.NotFound(err.Error())
+			}
+			return nil, err
+		}
+	}
 
 	if revisionSuffix == "" {
 		n.BlobID = attrs.String(prefixes.BlobIDAttr)
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 8ad8a49a777..c8906b155b1 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -352,7 +352,7 @@ github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1
 github.com/cs3org/go-cs3apis/cs3/storage/registry/v1beta1
 github.com/cs3org/go-cs3apis/cs3/tx/v1beta1
 github.com/cs3org/go-cs3apis/cs3/types/v1beta1
-# github.com/cs3org/reva/v2 v2.14.1-0.20230616125400-b30fdde17262
+# github.com/cs3org/reva/v2 v2.14.1-0.20230615141102-1906a729ee5a
 ## explicit; go 1.20
 github.com/cs3org/reva/v2/cmd/revad/internal/grace
 github.com/cs3org/reva/v2/cmd/revad/runtime


Test patch:
diff --git a/changelog/unreleased/bump-reva-latest.md b/changelog/unreleased/bump-reva-latest.md
new file mode 100644
index 00000000000..b5d1947cc84
--- /dev/null
+++ b/changelog/unreleased/bump-reva-latest.md
@@ -0,0 +1,5 @@
+Enhancement: Update reva
+
+Update reva to latest edge
+
+https://github.com/owncloud/ocis/pull/6529
diff --git a/services/audit/pkg/service/service_test.go b/services/audit/pkg/service/service_test.go
index d612783c11a..2cc35851406 100644
--- a/services/audit/pkg/service/service_test.go
+++ b/services/audit/pkg/service/service_test.go
@@ -462,7 +462,7 @@ var testCases = []struct {
 		SystemEvent: events.Event{
 			Event: events.SpaceCreated{
 				Executant: userID("uid-123"),
-				ID:        &provider.StorageSpaceId{OpaqueId: "space-123"},
+				ID:        &provider.StorageSpaceId{OpaqueId: "storage-1$space-123"},
 				Owner:     userID("uid-123"),
 				Root:      resourceID("pro-1", "sto-123", "iid-123"),
 				Name:      "test-space",
@@ -476,9 +476,9 @@ var testCases = []struct {
 			require.NoError(t, json.Unmarshal(b, &ev))
 
 			// AuditEvent fields
-			checkBaseAuditEvent(t, ev.AuditEvent, "", "2286-11-20T17:46:40Z", "user 'uid-123' created a space 'space-123' with name 'test-space'", "space_created")
+			checkBaseAuditEvent(t, ev.AuditEvent, "", "2286-11-20T17:46:40Z", "user 'uid-123' created a space 'space-123' with name 'test-space' (storage: 'storage-1')", "space_created")
 			// AuditEventSpaces fields
-			checkSpacesAuditEvent(t, ev.AuditEventSpaces, "space-123")
+			checkSpacesAuditEvent(t, ev.AuditEventSpaces, "storage-1$space-123")
 			// AuditEventFileRestored fields
 			require.Equal(t, "uid-123", ev.Owner)
 			require.Equal(t, "pro-1$sto-123!iid-123", ev.RootItem)
@@ -490,7 +490,7 @@ var testCases = []struct {
 		SystemEvent: events.Event{
 			Event: events.SpaceRenamed{
 				Executant: userID("uid-123"),
-				ID:        &provider.StorageSpaceId{OpaqueId: "space-123"},
+				ID:        &provider.StorageSpaceId{OpaqueId: "storage-1$space-123"},
 				Owner:     userID("uid-123"),
 				Name:      "new-name",
 			},
@@ -500,9 +500,9 @@ var testCases = []struct {
 			require.NoError(t, json.Unmarshal(b, &ev))
 
 			// AuditEvent fields
-			checkBaseAuditEvent(t, ev.AuditEvent, "", "", "user 'uid-123' renamed space 'space-123' to 'new-name'", "space_renamed")
+			checkBaseAuditEvent(t, ev.AuditEvent, "", "", "user 'uid-123' renamed space 'space-123' to 'new-name' (storage: 'storage-1')", "space_renamed")
 			// AuditEventSpaces fields
-			checkSpacesAuditEvent(t, ev.AuditEventSpaces, "space-123")
+			checkSpacesAuditEvent(t, ev.AuditEventSpaces, "storage-1$space-123")
 			// AuditEventSpaceRenamed fields
 			require.Equal(t, "new-name", ev.NewName)
 		},
@@ -511,7 +511,7 @@ var testCases = []struct {
 		SystemEvent: events.Event{
 			Event: events.SpaceDisabled{
 				Executant: userID("uid-123"),
-				ID:        &provider.StorageSpaceId{OpaqueId: "space-123"},
+				ID:        &provider.StorageSpaceId{OpaqueId: "storage-1$space-123"},
 			},
 		},
 		CheckAuditEvent: func(t *testing.T, b []byte) {
@@ -519,16 +519,16 @@ var testCases = []struct {
 			require.NoError(t, json.Unmarshal(b, &ev))
 
 			// AuditEvent fields
-			checkBaseAuditEvent(t, ev.AuditEvent, "", "0001-01-01T00:00:00Z", "user 'uid-123' disabled the space 'space-123'", "space_disabled")
+			checkBaseAuditEvent(t, ev.AuditEvent, "", "0001-01-01T00:00:00Z", "user 'uid-123' disabled the space 'space-123' (storage: 'storage-1')", "space_disabled")
 			// AuditEventSpaces fields
-			checkSpacesAuditEvent(t, ev.AuditEventSpaces, "space-123")
+			checkSpacesAuditEvent(t, ev.AuditEventSpaces, "storage-1$space-123")
 		},
 	}, {
 		Alias: "Space enabled",
 		SystemEvent: events.Event{
 			Event: events.SpaceEnabled{
 				Executant: userID("uid-123"),
-				ID:        &provider.StorageSpaceId{OpaqueId: "space-123"},
+				ID:        &provider.StorageSpaceId{OpaqueId: "storage-1$space-123"},
 			},
 		},
 		CheckAuditEvent: func(t *testing.T, b []byte) {
@@ -536,16 +536,16 @@ var testCases = []struct {
 			require.NoError(t, json.Unmarshal(b, &ev))
 
 			// AuditEvent fields
-			checkBaseAuditEvent(t, ev.AuditEvent, "", "", "user 'uid-123' (re-) enabled the space 'space-123'", "space_enabled")
+			checkBaseAuditEvent(t, ev.AuditEvent, "", "", "user 'uid-123' (re-) enabled the space 'space-123' (storage: 'storage-1')", "space_enabled")
 			// AuditEventSpaces fields
-			checkSpacesAuditEvent(t, ev.AuditEventSpaces, "space-123")
+			checkSpacesAuditEvent(t, ev.AuditEventSpaces, "storage-1$space-123")
 		},
 	}, {
 		Alias: "Space deleted",
 		SystemEvent: events.Event{
 			Event: events.SpaceDeleted{
 				Executant: userID("uid-123"),
-				ID:        &provider.StorageSpaceId{OpaqueId: "space-123"},
+				ID:        &provider.StorageSpaceId{OpaqueId: "storage-1$space-123"},
 			},
 		},
 		CheckAuditEvent: func(t *testing.T, b []byte) {
@@ -553,9 +553,9 @@ var testCases = []struct {
 			require.NoError(t, json.Unmarshal(b, &ev))
 
 			// AuditEvent fields
-			checkBaseAuditEvent(t, ev.AuditEvent, "", "0001-01-01T00:00:00Z", "user 'uid-123' deleted the space 'space-123'", "space_deleted")
+			checkBaseAuditEvent(t, ev.AuditEvent, "", "0001-01-01T00:00:00Z", "user 'uid-123' deleted the space 'space-123' (storage: 'storage-1')", "space_deleted")
 			// AuditEventSpaces fields
-			checkSpacesAuditEvent(t, ev.AuditEventSpaces, "space-123")
+			checkSpacesAuditEvent(t, ev.AuditEventSpaces, "storage-1$space-123")
 		},
 	},
 }