Skip to content

9.0.0 (Sprint Increment)

Compare
Choose a tag to compare
@kulmann kulmann released this 17 Jun 13:10
1d95aec

Changelog for ownCloud Web 9.0.0 (2024-06-17)

Summary

  • Bugfix - User data not updated while altering own user: #10377
  • Bugfix - Admin settings keyboard navigation: #10417
  • Bugfix - Load thumbnail when postprocessing is finished: #10517
  • Bugfix - Share sidebar icons: #10551
  • 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
  • Bugfix - Vertical scroll for OcModal on small screens: #10814
  • Bugfix - Context menu empty in tiles view: #10900
  • Bugfix - Resource deselection on right-click: #10918
  • Bugfix - Resources with name consist of number won't show up in trash bin: #10920
  • Bugfix - Disable search in public link context: #10928
  • Bugfix - Space not updating on navigation: #10941
  • Bugfix - Local logout if IdP has no logout support: #10974
  • 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
  • Change - Add extensionPoint concept: #10443
  • Change - Portal target removed: #10758
  • Change - Disable opening files in embed mode: #10786
  • Enhancement - Accessibility improvements: #5383
  • 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 - 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 - Search providers extension point: #10758
  • Enhancement - Implement Server-Sent Events (SSE) for file updates: #10782
  • Enhancement - Add SSE event for moving: #10798
  • Enhancement - Ability to theme sharing role icons: #10801
  • Enhancement - Add SSE event for moving: #10807
  • Enhancement - Show loading spinner while searching or filtering users: #10874
  • Enhancement - Display hidden resources information in files list: #10907
  • Enhancement - Add loading spinner to admin settings spaces and groups: #10929
  • Enhancement - Audio metadata panel: #10956
  • Enhancement - EXIF metadata panel: #10956
  • Enhancement - Faster page loading times: #10976
  • Enhancement - Add include disabled filter to spaces overview: #11004
  • Enhancement - Multiple sidebar root panels: #11037

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.

    #10373
    #10377

  • 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.

    #10186
    #10417

  • 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.

    #10486
    #10517

  • Bugfix - Share sidebar icons: #10551

    We've fixed a bug where the share invite search dropdown didn't have icons in
    some cases.

    #10551

  • Bugfix - Apply sandbox attribute to iframe in draw-io extension: #10702

    General hardening of ownCloud Web integration with draw.io

    #10702

  • Bugfix - Apply sandbox attribute to iframe in app-external extension: #10706

    General hardening of ownCloud Web integration with OnlyOffice/Collabora

    #10706

  • 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.

    #10381
    #10619
    #10746

  • 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.

    #10602
    #10760

  • Bugfix - Vertical scroll for OcModal on small screens: #10814

    We've fixed an issue where modals were not scrollable on screens with small
    heights.

    #10814
    #10816

  • Bugfix - Context menu empty in tiles view: #10900

    We've fixed a bug where the context menu was empty in the tiles view after
    clicking the show context menu button

    #10793
    #10900

  • Bugfix - Resource deselection on right-click: #10918

    We've fixed an issue where right-clicking any empty space inside the files table
    would reset the current selection.

    #10918
    #10936

  • Bugfix - Resources with name consist of number won't show up in trash bin: #10920

    We've fixed a bug, where deleted resources that have only numbers in name like
    "123" won't show up in the trash bin

    #10917
    #10920

  • Bugfix - Disable search in public link context: #10928

    We've fixed a bug where the search was visible in the public link context but
    not usable, since we are not able yet to provide searching in this context.
    Therefore the search was disabled in the public link context.

    #10915
    #10928

  • Bugfix - Space not updating on navigation: #10941

    We've fixed an issue where the current space did not update when navigating from
    one space into another directly, e.g. via search results. That could lead to
    uploads and file actions not working properly.

    #10941
    #10943

  • Bugfix - Local logout if IdP has no logout support: #10974

    Some IdPs don't support a logout endpoint. In those cases the web UI ran into a
    fatal error and showed an empty screen without further redirects. Fixed by
    forgetting the currently authenticated user when the OpenID Connect
    configuration doesn't contain an endSessionEndpoint url.

    https://github.com/owncloud/enterprise/issues/6631
    #10974

  • Change - Remove deprecated code: #7338

    We have removed the getToken getter from our vuex store and support for the
    deprecated user-management name for the admin-settings app. See linked
    "Deprecations" issue for more information.

    #7338
    #9959

  • 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.

    #9892
    #10067

  • 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 the app.files.quick-action extensionPointId.

    #10102
    #10223

  • 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.

    #10122

  • 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 the extensions property inside
      the appInfo object. - requestStore has been removed. There is no need to
      request specific stores. All stores that web-pkg provides can be imported and
      accessed via their composables. - enabled callback as well as the name
      callback of the AppNavigationItem no longer have the capabilities parameter.
    • store param of the ClassicApplicationScript 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.

    #10210
    #10240

  • 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 the extensions property inside the appInfo object
    instead.

    Note that the handler property of such an extension has been renamed to
    createFileHandler.

    #10210
    #10330
    #10346
    #10357
    #10361

  • Change - Add extensionPoint concept: #10443

    BREAKING CHANGE for developers: The scopes property has been removed from the
    Extension type in favour of the new extensionPointIds property.

    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 the scopes concept. The
    scopes concept has been removed from the codebase.

    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 localStorage of the browser.

    #10443
    #10758

  • Change - Portal target removed: #10758

    BREAKING CHANGE for developers: The (undocumented) portal target
    app.runtime.header is not available anymore. Please use the extension point
    app.runtime.header.center with customComponent extensions instead (for
    details see below).

    The portal target app.runtime.header has been removed in favour of a new
    extension point with the id app.runtime.header.center. The extension point is
    capable of mounting extensions of type customComponent. The search bar, which
    was previously using this portal target, was rewired into an extension. Other
    portal instances which used this portal target won't work anymore and need to
    be ported to the customComponent extension type instead.

    #10758

  • Change - Disable opening files in embed mode: #10786

    We have disabled to open files in the embed mode, since opening or editing files
    is not in scope of the embed mode.

    #10635
    #10786

  • Enhancement - Accessibility improvements: #5383

    Across the board, we have implemented improvements in regards of accessibility
    for the web UI.

    #5383
    #5391
    #10731
    #10802

  • Enhancement - Icon for .dcm files: #9215

    We've added a custom icon for medical images of the file type dcm.

    #9215
    #10172

  • 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.

    #10018
    #10638
    #10558
    #10646

  • 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.

    #10207

  • Enhancement - Move ThemeSwitcher into Account Settings: #10334

    We've moved the ThemeSwitcher to the account settings page.

    #10181
    #10334
    #10342

  • 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.

    #10383

  • 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.

    #9495
    #10385
    #10390
    #10467
    #10465

  • 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.

    #10443

  • 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.

    #10464
    #10448
    #10462
    #10468
    #10469
    #10470
    #10503

  • 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.

    #10453
    #10485

  • 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.

    #10500
    #10519

  • Enhancement - Full text search default: #10534

    Full text search is now enabled by default when searching for files if the
    server supports it.

    #10534
    #10626

  • 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.

    #10538
    #10544

  • 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.

    #10471
    #10546

  • 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.

    #9849
    #9781
    #9848
    #10586
    #10572
    #10567

  • 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.

    #9613
    #10611

  • 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.

    #9613
    #10612

  • 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.

    #10620
    #10616
    #10624

  • 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.

    #9782
    #10709

  • Enhancement - Search providers extension point: #10758

    We've added a new extension point with the id app.search.provider and for the
    extensionType search that can be used to register additional search providers.
    All search providers that are registered for this extension point will be used
    by the global search automatically.

    #10758

  • 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.

    #10779
    #10782

  • Enhancement - Add SSE event for moving: #10798

    We've added Server-Sent Events (SSE) for moving resources. When the user moves
    files or folders, everyone with access to them instantly sees the changes across
    their browsers and devices.

    #10780
    #10798

  • Enhancement - Ability to theme sharing role icons: #10801

    We've added the ability to theme the sharing role icons. This is useful for
    custom themes that want to customize the look of the sharing role dropdown.

    owncloud/ocis#8844
    #10801

  • Enhancement - Add SSE event for moving: #10807

    We've added Server-Sent Events (SSE) for sharing. This notifies the user when
    they received or revoked access to a share or membership to a space.

    #10647
    #10807

  • Enhancement - Show loading spinner while searching or filtering users: #10874

    While searching or filtering users in the admin settings, there will be shown a
    loading spinner, to indicate the request is processing.

    #10821
    #10874

  • Enhancement - Display hidden resources information in files list: #10907

    We've added the ability for the user to see how many files and folders are
    hidden in the files list footer.

    #9036
    #10907

  • Enhancement - Add loading spinner to admin settings spaces and groups: #10929

    We've added a loading spinner to the spaces and groups view in the admin
    settings to indicate loading task, when the server needs time to respond.

    #10922
    #10929

  • Enhancement - Audio metadata panel: #10956

    We've added a right sidebar panel with the name Audio Info, which display
    audio metadata if present on the given resource. It is registered by the files
    app and becomes visible in the global right sidebar in all file contexts, e.g.
    file listing with single select on an audio file with indexed id3 information or
    when listening to an audio file in the preview app.

    #10956

  • Enhancement - EXIF metadata panel: #10956

    We've added a right sidebar panel with the name Image Info, which displays
    image, photo and location metadata if present on the given resource. It is
    registered by the files app and becomes visible in the global right sidebar in
    all file contexts, e.g. file listing with single select on an image or the
    preview app displaying an image.

    #10956

  • Enhancement - Faster page loading times: #10976

    We've massively decreased the initial page loading times. This is especially
    noticeable with slower network connections.

    According to the lighthouse performance metrics, we improved from a score of 60
    to 94 out of 100.

    This has been achieved by taking several different actions:

    • Lazy load large dependencies - Improve chunking - Enable server side
      compression - Reduce the size of the main font we're using - Only register
      translations for the currently selected language

    #7964
    #11035
    #10976
    #10979
    #11040

  • Enhancement - Add include disabled filter to spaces overview: #11004

    We've added an 'include disabled' filter to the spaces overview which is off by
    default. This helps the user to manage spaces efficiently, even if there are a
    lot of disabled spaces.

    #11001
    #11004
    #11049

  • Enhancement - Multiple sidebar root panels: #11037

    The right sidebar now supports rendering multiple root panels. Since all panels
    determine their visibility individually it can happen that e.g. for a given file
    type multiple root panels would be available. Previously we only rendered the
    first one. Now we render all of them below each other, separated by a fine
    horizontal line.

    #11037