diff --git a/.drone.env b/.drone.env index 27a3eba6413..b4b9be6840b 100644 --- a/.drone.env +++ b/.drone.env @@ -1,3 +1,3 @@ # The test runner source for UI tests -WEB_COMMITID=9eaba7e2b21d44bf58c7c8b47e077d10cc531e84 +WEB_COMMITID=b0adcdf5770f972f73a9e83ce0f023ee5f484e5a WEB_BRANCH=master diff --git a/changelog/5.0.0_2023-11-22/update-web-8.0.0.md b/changelog/5.0.0_2023-11-22/update-web-8.0.0.md index 17861a8b155..5219d4a79b6 100644 --- a/changelog/5.0.0_2023-11-22/update-web-8.0.0.md +++ b/changelog/5.0.0_2023-11-22/update-web-8.0.0.md @@ -5,70 +5,85 @@ Tags: web We updated ownCloud Web to v8.0.0. Please refer to the changelog (linked) for details on the web release. ## Summary -* Bugfix [owncloud/web#9257](https://github.com/owncloud/web/issues/9257) - Filter out shares without display name -* Bugfix [owncloud/web#9483](https://github.com/owncloud/web/issues/9483) - PDF loading Safari -* Bugfix [owncloud/web#9513](https://github.com/owncloud/web/pull/9513) - Set or remove expiration date on group share not possible -* Bugfix [owncloud/web#9529](https://github.com/owncloud/web/pull/9529) - Shared with action menu label alignment -* Bugfix [owncloud/web#9587](https://github.com/owncloud/web/pull/9587) - Internal public link resolving -* Bugfix [owncloud/web#9593](https://github.com/owncloud/web/issues/9593) - Audio- & video-loading on Shared with me page -* Bugfix [owncloud/web#9649](https://github.com/owncloud/web/pull/9649) - Add project space filter -* Bugfix [owncloud/web#9663](https://github.com/owncloud/web/pull/9663) - Respect the open-in-new-tab-config for external apps -* Bugfix [owncloud/web#9670](https://github.com/owncloud/web/pull/9670) - Tiles view accessibility -* Bugfix [owncloud/web#9694](https://github.com/owncloud/web/issues/9694) - Special characters in username -* Bugfix [owncloud/web#9788](https://github.com/owncloud/web/issues/9788) - Create .space folder if it does not exist -* Bugfix [owncloud/web#9799](https://github.com/owncloud/web/issues/9799) - Link resolving into default app -* Bugfix [owncloud/web#9832](https://github.com/owncloud/web/pull/9832) - Copy quicklinks for webkit navigator -* Bugfix [owncloud/web#9843](https://github.com/owncloud/web/pull/9843) - Fix display path on resources -* Bugfix [owncloud/web#9844](https://github.com/owncloud/web/pull/9844) - Upload space image -* Bugfix [owncloud/web#9861](https://github.com/owncloud/web/pull/9861) - Duplicated file search request -* Bugfix [owncloud/web#9873](https://github.com/owncloud/web/pull/9873) - Tags are no longer editable for a locked file -* Bugfix [owncloud/web#9881](https://github.com/owncloud/web/pull/9881) - Prevent rendering of old/wrong set of resources in search list -* Bugfix [owncloud/web#9913](https://github.com/owncloud/web/pull/9913) - Private link resolving via share jail ID -* Bugfix [owncloud/web#9915](https://github.com/owncloud/web/pull/9915) - Keep both folders conflict in same-named folders -* Enhancement [owncloud/web#7317](https://github.com/owncloud/ocis/pull/7317) - Make login url configurable -* Enhancement [owncloud/web#7497](https://github.com/owncloud/ocis/issues/7497) - Permission checks for shares and favorites -* Enhancement [owncloud/web#7600](https://github.com/owncloud/web/issues/7600) - Scroll to newly created folder -* Enhancement [owncloud/web#9302](https://github.com/owncloud/web/issues/9302) - Application unification -* Enhancement [owncloud/web#9423](https://github.com/owncloud/web/pull/9423) - Show local loading spinner in sharing button -* Enhancement [owncloud/web#9441](https://github.com/owncloud/web/pull/9441) - File versions tooltip with absolute date -* Enhancement [owncloud/web#9441](https://github.com/owncloud/web/pull/9441) - Disabling extensions -* Enhancement [owncloud/web#9451](https://github.com/owncloud/web/pull/9451) - Add SSE to get notifications instantly -* Enhancement [owncloud/web#9525](https://github.com/owncloud/web/pull/9525) - Tags form improved -* Enhancement [owncloud/web#9527](https://github.com/owncloud/web/pull/9527) - Don't display confirmation dialog on file deletion -* Enhancement [owncloud/web#9531](https://github.com/owncloud/web/issues/9531) - Personal shares can be shown and hidden -* Enhancement [owncloud/web#9561](https://github.com/owncloud/web/pull/9561) - Indicate processing state -* Enhancement [owncloud/web#9566](https://github.com/owncloud/web/pull/9566) - Display locking information -* Enhancement [owncloud/web#9584](https://github.com/owncloud/web/pull/9584) - Moving share's "set expiration date" function -* Enhancement [owncloud/web#9625](https://github.com/owncloud/web/pull/9625) - Add keyboard navigation to spaces overview -* Enhancement [owncloud/web#9627](https://github.com/owncloud/web/pull/9627) - Add batch actions to spaces -* Enhancement [owncloud/web#9653](https://github.com/owncloud/web/pull/9653) - Keyword Query Language (KQL) search syntax -* Enhancement [owncloud/web#9671](https://github.com/owncloud/web/pull/9671) - OcModal set buttons to same width -* Enhancement [owncloud/web#9682](https://github.com/owncloud/web/pull/9682) - Add password policy compatibility -* Enhancement [owncloud/web#9691](https://github.com/owncloud/web/pull/9691) - Password generator for public links -* Enhancement [owncloud/web#9696](https://github.com/owncloud/web/pull/9696) - Added app banner for mobile devices -* Enhancement [owncloud/web#9706](https://github.com/owncloud/web/pull/9706) - Unify sharing expiration date menu items -* Enhancement [owncloud/web#9727](https://github.com/owncloud/web/pull/9727) - Show error if password is on a banned password list -* Enhancement [owncloud/web#9771](https://github.com/owncloud/web/pull/9771) - Handle postprocessing state via Server Sent Events -* Enhancement [owncloud/web#9806](https://github.com/owncloud/web/pull/9806) - Preview image presentation -* Enhancement [owncloud/web#9809](https://github.com/owncloud/web/pull/9809) - Add editors to the application menu -* Enhancement [owncloud/web#9814](https://github.com/owncloud/web/pull/9814) - Registering nav items as extension -* Enhancement [owncloud/web#9815](https://github.com/owncloud/web/pull/9815) - Add new portal into runtime to include footer -* Enhancement [owncloud/web#9818](https://github.com/owncloud/web/pull/9818) - Add `mode` config option -* Enhancement [owncloud/web#9831](https://github.com/owncloud/web/pull/9831) - Last modified filter chips -* Enhancement [owncloud/web#9841](https://github.com/owncloud/web/pull/9841) - Add embed mode actions -* Enhancement [owncloud/web#9853](https://github.com/owncloud/web/pull/9853) - Show only create folder button in embed mode -* Enhancement [owncloud/web#9854](https://github.com/owncloud/web/pull/9854) - Search query term linking -* Enhancement [owncloud/web#9857](https://github.com/owncloud/web/pull/9857) - Add permission to delete link passwords when password is enforced -* Enhancement [owncloud/web#9858](https://github.com/owncloud/web/pull/9858) - Remove settings icon from searchbar -* Enhancement [owncloud/web#9863](https://github.com/owncloud/web/pull/9863) - Location picker in embed mode -* Enhancement [owncloud/web#9864](https://github.com/owncloud/web/pull/9864) - Search tags filter chips style aligned -* Enhancement [owncloud/web#9884](https://github.com/owncloud/web/pull/9884) - Enable dark theme on importer -* Enhancement [owncloud/web#9890](https://github.com/owncloud/web/pull/9890) - Create shortcuts -* Enhancement [owncloud/web#9905](https://github.com/owncloud/web/pull/9905) - Manage tags in details panel -* Enhancement [owncloud/web#9906](https://github.com/owncloud/web/pull/9906) - Reorganize "New" menu -* Enhancement [owncloud/web#9911](https://github.com/owncloud/web/pull/9911) - Provide vendor neutral file icons -* Enhancement [owncloud/web#9912](https://github.com/owncloud/web/pull/9912) - Add media type filter chip +* Bugfix [owncloud/web#9257](https://github.com/owncloud/web/issues/9257): Filter out shares without display name +* Bugfix [owncloud/web#9483](https://github.com/owncloud/web/issues/9483): PDF loading Safari +* Bugfix [owncloud/web#9513](https://github.com/owncloud/web/pull/9513): Set or remove expiration date on group share not possible +* Bugfix [owncloud/web#9529](https://github.com/owncloud/web/pull/9529): Shared with action menu label alignment +* Bugfix [owncloud/web#9587](https://github.com/owncloud/web/pull/9587): Internal public link resolving +* Bugfix [owncloud/web#9593](https://github.com/owncloud/web/issues/9593): Audio- & video-loading on Shared with me page +* Bugfix [owncloud/web#9649](https://github.com/owncloud/web/pull/9649): Add project space filter +* Bugfix [owncloud/web#9663](https://github.com/owncloud/web/pull/9663): Respect the open-in-new-tab-config for external apps +* Bugfix [owncloud/web#9670](https://github.com/owncloud/web/pull/9670): Tiles view accessibility +* Bugfix [owncloud/web#9694](https://github.com/owncloud/web/issues/9694): Special characters in username +* Bugfix [owncloud/web#9788](https://github.com/owncloud/web/issues/9788): Create .space folder if it does not exist +* Bugfix [owncloud/web#9799](https://github.com/owncloud/web/issues/9799): Link resolving into default app +* Bugfix [owncloud/web#9832](https://github.com/owncloud/web/pull/9832): Copy quicklinks for webkit navigator +* Bugfix [owncloud/web#9843](https://github.com/owncloud/web/pull/9843): Fix display path on resources +* Bugfix [owncloud/web#9844](https://github.com/owncloud/web/pull/9844): Upload space image +* Bugfix [owncloud/web#9861](https://github.com/owncloud/web/pull/9861): Duplicated file search request +* Bugfix [owncloud/web#9873](https://github.com/owncloud/web/pull/9873): Tags are no longer editable for a locked file +* Bugfix [owncloud/web#9881](https://github.com/owncloud/web/pull/9881): Prevent rendering of old/wrong set of resources in search list +* Bugfix [owncloud/web#9915](https://github.com/owncloud/web/pull/9915): Keep both folders conflict in same-named folders +* Bugfix [owncloud/web#9931](https://github.com/owncloud/web/pull/9931): Enabling "invite people" for password-protected folder/file +* Bugfix [owncloud/web#10031](https://github.com/owncloud/web/issues/10031): Icon extension mapping +* Bugfix [owncloud/web#10065](https://github.com/owncloud/web/pull/10065): Logout page after token expiry +* Bugfix [owncloud/web#10083](https://github.com/owncloud/web/pull/10083): Disable expiration date for alias link (internal) +* Change [owncloud/web#7338](https://github.com/owncloud/web/issues/7338): Remove deprecated code +* Enhancement [owncloud/web#7317](https://github.com/owncloud/ocis/pull/7317): Make login url configurable +* Enhancement [owncloud/web#7497](https://github.com/owncloud/ocis/issues/7497): Permission checks for shares and favorites +* Enhancement [owncloud/web#7600](https://github.com/owncloud/web/issues/7600): Scroll to newly created folder +* Enhancement [owncloud/web#9302](https://github.com/owncloud/web/issues/9302): Application unification +* Enhancement [owncloud/web#9423](https://github.com/owncloud/web/pull/9423): Show local loading spinner in sharing button +* Enhancement [owncloud/web#9441](https://github.com/owncloud/web/pull/9441): File versions tooltip with absolute date +* Enhancement [owncloud/web#9441](https://github.com/owncloud/web/pull/9441): Disabling extensions +* Enhancement [owncloud/web#9451](https://github.com/owncloud/web/pull/9451): Add SSE to get notifications instantly +* Enhancement [owncloud/web#9525](https://github.com/owncloud/web/pull/9525): Tags form improved +* Enhancement [owncloud/web#9527](https://github.com/owncloud/web/pull/9527): Don't display confirmation dialog on file deletion +* Enhancement [owncloud/web#9531](https://github.com/owncloud/web/issues/9531): Personal shares can be shown and hidden +* Enhancement [owncloud/web#9552](https://github.com/owncloud/web/pull/9552): Upload preparation time +* Enhancement [owncloud/web#9561](https://github.com/owncloud/web/pull/9561): Indicate processing state +* Enhancement [owncloud/web#9566](https://github.com/owncloud/web/pull/9566): Display locking information +* Enhancement [owncloud/web#9584](https://github.com/owncloud/web/pull/9584): Moving share's "set expiration date" function +* Enhancement [owncloud/web#9625](https://github.com/owncloud/web/pull/9625): Add keyboard navigation to spaces overview +* Enhancement [owncloud/web#9627](https://github.com/owncloud/web/pull/9627): Add batch actions to spaces +* Enhancement [owncloud/web#9653](https://github.com/owncloud/web/pull/9653): Keyword Query Language (KQL) search syntax +* Enhancement [owncloud/web#9671](https://github.com/owncloud/web/pull/9671): OcModal set buttons to same width +* Enhancement [owncloud/web#9682](https://github.com/owncloud/web/pull/9682): Add password policy compatibility +* Enhancement [owncloud/web#9691](https://github.com/owncloud/web/pull/9691): Password generator for public links +* Enhancement [owncloud/web#9696](https://github.com/owncloud/web/pull/9696): Added app banner for mobile devices +* Enhancement [owncloud/web#9706](https://github.com/owncloud/web/pull/9706): Unify sharing expiration date menu items +* Enhancement [owncloud/web#9727](https://github.com/owncloud/web/pull/9727): Show error if password is on a banned password list +* Enhancement [owncloud/web#9771](https://github.com/owncloud/web/pull/9771): Handle postprocessing state via Server Sent Events +* Enhancement [owncloud/web#9806](https://github.com/owncloud/web/pull/9806): Preview image presentation +* Enhancement [owncloud/web#9809](https://github.com/owncloud/web/pull/9809): Add editors to the application menu +* Enhancement [owncloud/web#9814](https://github.com/owncloud/web/pull/9814): Registering nav items as extension +* Enhancement [owncloud/web#9815](https://github.com/owncloud/web/pull/9815): Add new portal into runtime to include footer +* Enhancement [owncloud/web#9818](https://github.com/owncloud/web/pull/9818): Add `mode` config option +* Enhancement [owncloud/web#9831](https://github.com/owncloud/web/pull/9831): Last modified filter chips +* Enhancement [owncloud/web#9841](https://github.com/owncloud/web/pull/9841): Add embed mode actions +* Enhancement [owncloud/web#9847](https://github.com/owncloud/web/issues/9847): Provide vendor neutral file icons +* Enhancement [owncloud/web#9853](https://github.com/owncloud/web/pull/9853): Show only create folder button in embed mode +* Enhancement [owncloud/web#9854](https://github.com/owncloud/web/pull/9854): Search query term linking +* Enhancement [owncloud/web#9857](https://github.com/owncloud/web/pull/9857): Add permission to delete link passwords when password is enforced +* Enhancement [owncloud/web#9858](https://github.com/owncloud/web/pull/9858): Remove settings icon from searchbar +* Enhancement [owncloud/web#9863](https://github.com/owncloud/web/pull/9863): Location picker in embed mode +* Enhancement [owncloud/web#9864](https://github.com/owncloud/web/pull/9864): Search tags filter chips style aligned +* Enhancement [owncloud/web#9884](https://github.com/owncloud/web/pull/9884): Enable dark theme on importer +* Enhancement [owncloud/web#9890](https://github.com/owncloud/web/pull/9890): Create shortcuts +* Enhancement [owncloud/web#9905](https://github.com/owncloud/web/pull/9905): Manage tags in details panel +* Enhancement [owncloud/web#9906](https://github.com/owncloud/web/pull/9906): Reorganize "New" menu +* Enhancement [owncloud/web#9912](https://github.com/owncloud/web/pull/9912): Add media type filter chip +* Enhancement [owncloud/web#9940](https://github.com/owncloud/web/pull/9940): Display error message for upload to locked folder +* Enhancement [owncloud/web#9966](https://github.com/owncloud/web/issues/9966): Support more audio formats with correct icon +* Enhancement [owncloud/web#10007](https://github.com/owncloud/web/issues/10007): Additional languages +* Enhancement [owncloud/web#10013](https://github.com/owncloud/web/issues/10013): Shared by filter +* Enhancement [owncloud/web#10014](https://github.com/owncloud/web/issues/10014): Share search filter +* Enhancement [owncloud/web#10024](https://github.com/owncloud/web/pull/10024): Duplicate space +* Enhancement [owncloud/web#10037](https://github.com/owncloud/web/pull/10037): Default link permission +* Enhancement [owncloud/web#10047](https://github.com/owncloud/web/pull/10047): Add explaining contextual helper to spaces overview +* Enhancement [owncloud/web#10057](https://github.com/owncloud/web/pull/10057): Folder tree creation during upload +* Enhancement [owncloud/web#10062](https://github.com/owncloud/web/pull/10062): Show webdav information in details view +* Enhancement [owncloud/web#10082](https://github.com/owncloud/web/pull/10082): Add authentication delegation in the Embed mode - -https://github.com/owncloud/ocis/pull/7773 -https://github.com/owncloud/web/releases/tag/v8.0.0-alpha.10 +https://github.com/owncloud/ocis/pull/7852 +https://github.com/owncloud/web/releases/tag/v8.0.0-alpha.11 diff --git a/changelog/5.0.0_2023-11-22/web-embed-mode-config.md b/changelog/5.0.0_2023-11-22/web-embed-mode-config.md index 4cfbbc82626..f0b6953d322 100644 --- a/changelog/5.0.0_2023-11-22/web-embed-mode-config.md +++ b/changelog/5.0.0_2023-11-22/web-embed-mode-config.md @@ -5,6 +5,8 @@ New configs for the Web embed mode have been added: * `enabled` Defines if embed mode is enabled. * `target` Defines how Web is being integrated when running in embed mode. * `messagesOrigin` Defines a URL under which Web can be integrated via iFrame. +* `delegateAuthentication` Defines whether Web should require authentication to be done by the parent application. +* `delegateAuthenticationOrigin` Defines the host to validate the message event origin against when running Web in 'embed' mode. https://github.com/owncloud/ocis/pull/7670 https://github.com/owncloud/web/issues/9768 diff --git a/services/web/Makefile b/services/web/Makefile index 91e150330b4..1649fa3e5d9 100644 --- a/services/web/Makefile +++ b/services/web/Makefile @@ -1,6 +1,6 @@ SHELL := bash NAME := web -WEB_ASSETS_VERSION = v8.0.0-alpha.10 +WEB_ASSETS_VERSION = v8.0.0-alpha.11 include ../../.make/recursion.mk diff --git a/services/web/pkg/config/defaults/defaultconfig.go b/services/web/pkg/config/defaults/defaultconfig.go index f8d620f24f3..7a5df818f52 100644 --- a/services/web/pkg/config/defaults/defaultconfig.go +++ b/services/web/pkg/config/defaults/defaultconfig.go @@ -201,7 +201,9 @@ func Sanitize(cfg *config.Config) { // remove Embed parent if no value is set if cfg.Web.Config.Options.Embed.Enabled == "" && cfg.Web.Config.Options.Embed.Target == "" && - cfg.Web.Config.Options.Embed.MessagesOrigin == "" { + cfg.Web.Config.Options.Embed.MessagesOrigin == "" && + cfg.Web.Config.Options.Embed.DelegateAuthentication == "" && + cfg.Web.Config.Options.Embed.DelegateAuthenticationOrigin == "" { cfg.Web.Config.Options.Embed = nil } } diff --git a/services/web/pkg/config/options.go b/services/web/pkg/config/options.go index 285e972d3f3..bf1ae8f9079 100644 --- a/services/web/pkg/config/options.go +++ b/services/web/pkg/config/options.go @@ -75,7 +75,9 @@ type Editor struct { // Embed are the Embed options type Embed struct { - Enabled string `json:"enabled,omitempty" yaml:"enabled" env:"WEB_OPTION_EMBED_ENABLED" desc:"Defines whether Web should be running in 'embed' mode. Setting this to 'true' will enable a stripped down version of Web with reduced functionality used to integrate Web into other applications like via iFrame. Setting it to 'false' or not setting it (default) will run Web as usual with all functionality enabled. See the text description for more details."` - Target string `json:"target,omitempty" yaml:"target" env:"WEB_OPTION_EMBED_TARGET" desc:"Defines how Web is being integrated when running in 'embed' mode. Currently, the only supported options are '' (empty) and 'location'. With '' which is the default, Web will run regular as defined via the 'embed.enabled' config option. With 'location', Web will run embedded as location picker. Resource selection will be disabled and the selected resources array always includes the current folder as the only item. See the text description for more details."` - MessagesOrigin string `json:"messagesOrigin,omitempty" yaml:"messagesOrigin" env:"WEB_OPTION_EMBED_MESSAGES_ORIGIN" desc:"Defines a URL under which Web can be integrated via iFrame in 'embed' mode. Note that setting this is mandatory when running Web in 'embed' mode. Use '*' as value to allow running the iFrame under any URL, although this is not recommended for security resons. See the text description for more details."` + Enabled string `json:"enabled,omitempty" yaml:"enabled" env:"WEB_OPTION_EMBED_ENABLED" desc:"Defines whether Web should be running in 'embed' mode. Setting this to 'true' will enable a stripped down version of Web with reduced functionality used to integrate Web into other applications like via iFrame. Setting it to 'false' or not setting it (default) will run Web as usual with all functionality enabled. See the text description for more details."` + Target string `json:"target,omitempty" yaml:"target" env:"WEB_OPTION_EMBED_TARGET" desc:"Defines how Web is being integrated when running in 'embed' mode. Currently, the only supported options are '' (empty) and 'location'. With '' which is the default, Web will run regular as defined via the 'embed.enabled' config option. With 'location', Web will run embedded as location picker. Resource selection will be disabled and the selected resources array always includes the current folder as the only item. See the text description for more details."` + MessagesOrigin string `json:"messagesOrigin,omitempty" yaml:"messagesOrigin" env:"WEB_OPTION_EMBED_MESSAGES_ORIGIN" desc:"Defines a URL under which Web can be integrated via iFrame in 'embed' mode. Note that setting this is mandatory when running Web in 'embed' mode. Use '*' as value to allow running the iFrame under any URL, although this is not recommended for security reasons. See the text description for more details."` + DelegateAuthentication string `json:"delegateAuthentication,omitempty" yaml:"delegateAuthentication" env:"WEB_OPTION_EMBED_DELEGATE_AUTHENTICATION" desc:"Defines whether Web should require authentication to be done by the parent application when running in 'embed' mode. If set to 'true' Web will not try to authenticate the user on its own but will require an access token coming from the parent application. Defaults to being unset."` + DelegateAuthenticationOrigin string `json:"delegateAuthenticationOrigin,omitempty" yaml:"delegateAuthenticationOrigin" env:"WEB_OPTION_EMBED_DELEGATE_AUTHENTICATION_ORIGIN" desc:"Defines the host to validate the message event origin against when running Web in 'embed' mode with delegated authentication. Defaults to event message origin validation being omitted, which is only recommended for development setups."` }