9.0.0-alpha.5
Pre-releaseChangelog for ownCloud Web 9.0.0 (2024-04-16)
Summary
- Bugfix - User data not updated while altering own user: #10377
- Bugfix - Admin settings keyboard navigation: #10417
- Bugfix - Folder replace: #10515
- Bugfix - Load thumbnail when postprocessing is finished: #10517
- Bugfix - Share sidebar icons: #10551
- Bugfix - Hidden right sidebar on small screens: #10598
- Bugfix - Scope loss when showing search results: #10634
- Bugfix - Theme loading without matching theme: #10657
- Bugfix - Apply sandbox attribute to iframe in draw-io extension: #10702
- Bugfix - Apply sandbox attribute to iframe in app-external extension: #10706
- Bugfix - Versions loaded multiple times when opening sidebar: #10746
- Bugfix - Incoming notifications broken while notification center is open: #10760
- Change - Remove deprecated code: #7338
- Change - Remove skeleton app: #9892
- Change - Remove deprecated extension point for adding quick actions: #10102
- Change - Remove homeFolder option: #10122
- Change - Vuex store removed: #10210
- Change - Remove ocs user: #10240
- Change - Registering app file editors: #10330
- Enhancement - Icon for .dcm files: #9215
- Enhancement - Tile sizes: #10018
- Enhancement - Enable user preferences in public links: #10207
- Enhancement - Move ThemeSwitcher into Account Settings: #10334
- Enhancement - Top loading bar increase visibility: #10383
- Enhancement - Integrate ToastUI editor in the text editor app: #10390
- Enhancement - Custom component extension type: #10443
- Enhancement - Add extensionPoint concept: #10443
- Enhancement - Epub reader app: #10448
- Enhancement - Highlight search term in sharing autosuggest list: #10485
- Enhancement - Warn user before closing browser when upload is in progress: #10519
- Enhancement - Full text search default: #10534
- Enhancement - Show locked and processing next to other status indicators: #10544
- Enhancement - Set emoji as space icon: #10546
- Enhancement - Add SSE events for locking, renaming, deleting, and restoring: #10586
- Enhancement - Remember left nav bar state: #10611
- Enhancement - Remember right side bar state: #10612
- Enhancement - Add details panel to trash: #10624
- Enhancement - Implement Server-Sent Events (SSE) for File Creation: #10709
- Enhancement - Implement Server-Sent Events (SSE) for file updates: #10782
Details
-
Bugfix - User data not updated while altering own user: #10377
We've fixed a bug, where the user data was not updated when altering the own
user via the admin settings app, this effected for example the username and
email address in the top bar. -
Bugfix - Admin settings keyboard navigation: #10417
We've fixed a bug where keyboard navigation stopped working after deleting a
resource in the admin settings app. We also fixed a bug where initial keyboard
navigation didn't work, when no resource was selected. -
Bugfix - Folder replace: #10515
The "Replace" conflict option, which previously didn't work at all when trying
to copy/move a folder, has been fixed. -
Bugfix - Load thumbnail when postprocessing is finished: #10517
We've fixed a bug when thumbnails weren't properly refreshed when postprocessing
is active on server and the file was updated, e.G text files. -
Bugfix - Share sidebar icons: #10551
We've fixed a bug where the share invite search dropdown didn't have icons in
some cases. -
Bugfix - Hidden right sidebar on small screens: #10598
The issue causing the right sidebar to not display on screens smaller than 960px
has been fixed. -
Bugfix - Scope loss when showing search results: #10634
Clicking "Show n results" in the search preview no longer loses the search
scope. -
Bugfix - Theme loading without matching theme: #10657
We've fixed an issue where theme loading would break when there was no matching
oC theme found for the user's OS setting. For example, this occurred when a
user's OS setting was configured to "dark," but the instance of oC did not offer
a dark theme. -
Bugfix - Apply sandbox attribute to iframe in draw-io extension: #10702
General hardening of ownCloud Web integration with draw.io
-
Bugfix - Apply sandbox attribute to iframe in app-external extension: #10706
General hardening of ownCloud Web integration with OnlyOffice/Collabora
-
Bugfix - Versions loaded multiple times when opening sidebar: #10746
We've fixed a bug, where the versions endpoint was fetched multiple times when
the sidebar was opened and therefore added unnecessary load to the server. -
Bugfix - Incoming notifications broken while notification center is open: #10760
We've fixed a bug where the visual representation of new incoming notifications
were broken, while the notification center was opened. -
Change - Remove deprecated code: #7338
We have removed the
getToken
getter from our vuex store and support for the
deprecateduser-management
name for theadmin-settings
app. See linked
"Deprecations" issue for more information. -
Change - Remove skeleton app: #9892
Due to improvements in the extension system in general, we have removed the
skeleton app. Documentation regarding the extension API and guides/examples can
be found in the dev docs. -
Change - Remove deprecated extension point for adding quick actions: #10102
BREAKING CHANGE for developers: The old way of registering quick actions via the
quickaction
property of an app has been removed. Quick actions should be
registered as extension via our extension registry. They need to be of type
action
and have thefiles.quick-action
scope. -
Change - Remove homeFolder option: #10122
We have removed the
homeFolder
option as it was originally implemented and
used by CERN but isn't needed anymore. -
Change - Vuex store removed: #10210
BREAKING CHANGE for developers: The vuex store has been removed in favor of
pinia.All store modules have been migrated to a pinia store module. Please see the
linked issue down below for a list of all migrated stores and how to use them
now.There are a number of things that have been removed and/or moved into pinia
composables instead:Globals:
store
and$store
variables have been removed. -ConfigurationManager
has
been removed. The config now sits inside the configuration store.
App framework:
announceStore
has been removed. There is no need for apps to announce stores
to the runtime. If you need to use a store in your app, simply create a pinia
store module and use it. -announceExtensions
has been removed. The proper way
for an app to register file extensions is via theextensions
property inside
theappInfo
object. -requestStore
has been removed. There is no need to
request specific stores. All stores thatweb-pkg
provides can be imported and
accessed via their composables. -enabled
callback as well as thename
callback of theAppNavigationItem
no longer have thecapabilities
parameter.store
param of theClassicApplicationScript
has been removed.
Composables:
useStore
has been removed. Use the pinia for the store you want to use
instead. -useAccessToken
has been removed. It now sits inside the auth store.usePublicLinkContext
has been removed. It now sits inside the auth store. -
usePublicLinkPassword
has been removed. It now sits inside the auth store. -
usePublicLinkToken
has been removed. It now sits inside the auth store. -
useUserContext
has been removed. It now sits inside the auth store. -
useConfigurationManager
has been removed. The config now sits inside the
configuration store. -use...Capability
composables have been removed.
Capablities now sit inside the capability store.
For store specific changes please see the linked issue and PRs down below.
#10210
#10212
#10240
#10307
#10309
#10316
#10323
#10326
#10329
#10331
#10336
#10338
#10341
#10346
#10349
#10362
#10363
#10368
#10372 -
Change - Remove ocs user: #10240
BREAKING CHANGE for developers: The user from the ocs api has been removed in
favor of the graph user. That means the user that can be retrieved from the
store looks slightly different than the OCS user (though it still holds the same
information).For more details please see the linked PR down below.
-
Change - Registering app file editors: #10330
BREAKING CHANGE for developers: The
announceExtensions
method inside the app's
ready
hook, which could be used to register file editors, has been removed.
Developers should use theextensions
property inside theappInfo
object
instead.Note that the
handler
property of such an extension has been renamed to
createFileHandler
. -
Enhancement - Icon for .dcm files: #9215
We've added a custom icon for medical images of the file type dcm.
-
Enhancement - Tile sizes: #10018
We've adjusted the tile sizes to have a bigger base size and smaller stepping
from one tile size to the next. In addition to that the default tile size has
been changed to the second stepping, so that initially both space tiles and
file/folder tiles have a sufficient size for reading longer names. -
Enhancement - Enable user preferences in public links: #10207
We've enabled user preferences in public links, so any user even without an
account can open preferences in a public link context and for example change the
current language. -
Enhancement - Move ThemeSwitcher into Account Settings: #10334
We've moved the ThemeSwitcher to the account settings page.
-
Enhancement - Top loading bar increase visibility: #10383
We've improved the visibility in the top loading bar, the height has been
increased along with the color contrast. -
Enhancement - Integrate ToastUI editor in the text editor app: #10390
We've integrated the ToastUI editor in our text editor app. This makes writing
markdown much easier, since the users will have access to a markdown compatible
toolbar. Code syntax highlighting is also supported. -
Enhancement - Custom component extension type: #10443
We've introduced a new extension type
customComponent
. This allows to register
a custom component via an extension which can then be rendered in a custom
component render target. For the mapping to the render target, an extension
point needs to be registered and a CustomComponentTarget for this extension
point needs to be in place in a vue template. -
Enhancement - Add extensionPoint concept: #10443
The extension system now allows developers to register extension points. An
extension point defines the metadata for the integration of a certain extension
type in a certain context. Examples for extension points are render targets for
custom components, targets for file actions (e.g. the right click context menu,
the batch actions, the whitespace context menu), etc.Extensions can now specify that they are only valid for a certain or multiple
extension points. This way a file action extension can e.g. specify to be
rendered only in the context menu, but not in the batch actions. Consequently,
the extension points concept is the next iteration of thescopes
concept. The
scopes
concept will most likely be removed in a future release.Extension points can define if users should be able to choose preferences for
the extension point. E.g. for the global progress bar extension point, users can
choose which of the available progress bar extensions should be used, since the
extension point only allows one extension to be active. At the moment we persist
the user choice in the local storage of the browser. -
Enhancement - Epub reader app: #10448
We've added a epub reader app to open ebooks in web. This includes a variety of
functionalities such as a comprehensive chapter list, font size adjustment
options, and the ability to remember the user's last reading position even after
the app is closed. -
Enhancement - Highlight search term in sharing autosuggest list: #10485
We've adjusted the sharing autosuggest list, so the entered search term will be
highlighted in the respective name and mail of the found users. -
Enhancement - Warn user before closing browser when upload is in progress: #10519
We've added a warning message for the user, if they try to close the browser
while upload is in progress. -
Enhancement - Full text search default: #10534
Full text search is now enabled by default when searching for files if the
server supports it. -
Enhancement - Show locked and processing next to other status indicators: #10544
We've moved the processing and lock indicators to the status table column so all
indicators are easy accessible at the same spot. We also show the respective
lock and processing states in the tiles view. -
Enhancement - Set emoji as space icon: #10546
We've added a new feature to set emojis as space icon, to do so, the user needs
to click on the 'Set icon' button in the context menu of the respective space
and has to select an emoji from the emoji picker. -
Enhancement - Add SSE events for locking, renaming, deleting, and restoring: #10586
We've added Server-Sent Events (SSE) for locking, renaming, deleting, and
restoring actions. This enhancement ensures that these actions are instantly
propagated to other browsers and devices where the logged in user has access the
relevant files and folders. Now, users can experience real-time updates across
all their devices. -
Enhancement - Remember left nav bar state: #10611
We've implemented a feature to remember the state of the left navbar. Now, when
the user reopens the web application, the navbar will remain in its last state,
either fully open or collapsed, based on the user's previous interaction with
it. -
Enhancement - Remember right side bar state: #10612
We've implemented a feature to remember the state of the right side bar. Now,
when the user reopens the web application, the right side bar will remain in its
last state, either open or closed, based on the user's previous interaction with
it. -
Enhancement - Add details panel to trash: #10624
We've added the details panel to the right side bar, when the user selects a
resource in the trash. We also added a panel for multi select. -
Enhancement - Implement Server-Sent Events (SSE) for File Creation: #10709
We've implemented Server-Sent Events (SSE) to notify users in real-time when a
file is uploaded, a new folder is created, or a file is created (e.g., a text
file). With this enhancement, users will see new files automatically appear in
another browser tab if they have one open or when collaborating with others in
the same space. -
Enhancement - Implement Server-Sent Events (SSE) for file updates: #10782
We've implemented Server-Sent Events (SSE) to notify users in real-time about
file changes. Users now receive real-time UI updates when e.g. the last
modification date or size of a file is updated.