Release Notes - Core & API - R2023.01.04 - R2023.01.07

Written By Natalia Povrozniak (Administrator)

Updated at January 9th, 2024

What's changed

  • We’ve made a database update to add Space Name as a filtered column.
  • Changed calling methods for BuildingKPI.

What's fixed or updated

Optimisation of Platform Operations:

  • Optimised several periodic web jobs that run in the system.
  • Made general optimisations within Spaces web job to optimise several areas including, getting list of states, the tasks states associated to spaces, etc.
  • Optimised the platforms’ ability to make outbound API calls by using the ConfigureAwait(false) setting.
  • Made several changes around the Task.Run process to improve startup time of web jobs.
  • Added options to stagger the start time of the processing cycle and changed the default offset time, to spread the load of starting multiple tasks.

API Call Optimisations:

  • Optimised API calls in several areas of the platform, including:
    • Get listing of nodes in building.
    • Check in action.
    • Cancelling a booking action.
    • Getting “active” booking call.
    • Cache refresh requests.
  • Reduced the use of /v1/<node>/UserPreferences call.
  • Reduced the use of /v1/<node>/Notifications/active call.
  • Fixed the My Bookings call to return the _CreatedBy or Booking_Owner fields.
  • Fixed the booking POST call to check if the space is disabled or not.

Database and Caching Improvements:

  • Optimised database structure by applying Primary Key/Partition Key at the NodeId level.
  • Implemented the replacement of the cache refresh for the Task/Space states controller to cache this locally.
  • We now cache Task/Spaces states locally on the browser, rather than making separate ad-hoc calls to the server.
  • Optimised caching the nodes’ structure.
  • /v1/Service/RefreshCache – Now correctly refreshes all BookingPolicies and other relevant caches with the latest data.

Backend Changes for Experience Improvements:

  • Fixed formatting for the Space cannot be booked error indicating the existing space name.
  • Updated the UpdateParameter controller to be more performant.
  • For the UpdateParameter parameters controller, we replaced old parameter cache refresh with the repository cache refresh.
  • Fixed logic causing performances issues for Task/Space states where we changed static lists to use concurrent bag and changed startup spaces lock release to use the FireAndForget mode.

Security and Access Control Fixes:

  • Restricted creation or update of the booking duration shorter than 5 mins regardless of security rights.
  • Enforced a minimum booking time of 5 minutes, regardless of booking policy settings to ensure the spaces are all handled equally.
  • Fixed access permission error when making a recurring booking.

Booking System Enhancements:

  • Reduced the requirements of Roamer, to make multiple calls to /v1/<node>/UserPreferences to reduce load on the server.
  • Adjusted Booking horizon for Building Working Hours for Start (used on PUT or POST /v2/bookings).
  • Made optimisations when cancelling a booking.
  • Fixed occurrence where it was possible to make bookings for the same space at the same time.
  • Resolved an issue where, when under load it was possible to make multiple bookings for the same space and time.
  • Fixed returning a booking for an incorrect building.
  • Search query optimisations by validating booking policies before carrying out search.

Error Handling and Bug Fixes:

  • Fixed outside working hours for different time zones.
  • When requesting spaceszone with a {nodeid} of 0, it now returns the 404 error instead of 403.
  • Action Call now enables and disables the spaces as expected.
  • Changed building level spaces to get calls to use static spaces.
  • Made performance improvements for the Booking parties queries.
  • Improved performance for the Get active notifications without filter/select options used.
  • Ensured that all requests to events use at least building level node id, to reduce the amount of information that is processed.

Miscellaneous Updates:

  • Replaced methods to get parent node and changed code wherever this was used, to reduce the impact on the database server.
  • Optimised the action API method for check in.
  • Resolved several timeout issues for occupancy data.
  • Booking parties now use the booking node ID when the booking is cancelled, checked into, or checked out of.
  • We now retry calling the external identity providers if it does not load correctly.
  • Adding more visitors after confirming a booking no longer shows errors.
  • Task types don’t have duplicates in the list any more.
  • Booking Update sometimes took a few attempts to succeed. It is fixed now.
  • Requesting bookings for an incorrect building was previously possible.
  • Added the missing method for Vecos lockers.
  • Created a way to restart Internal IBSS API background service in case it stops.
  • Removed error from being shown if two separate users select the same date/time when amending bookings.
  • Rewrote clearing spaces at midnight.
  • Improved the transition precision for completed bookings.
  • Added the 'Booking_Early_Checkin' and 'Meta_Auto_Cancel_Thld_Min' fields for bookings.
  • Fixed proper booking transitioning through stages.
  • Added API throttling for order processing.

Known issue

If two people try to move their existing meetings to the same time period, both will fail.