Fixed

OnSched 3.15.1 - Outlook admin consent and appointment calendar cleanup

Enterprise Outlook admin consent

  • Company Outlook tenant adminConsentUrl now uses Microsoft's /organizations/v2.0/adminconsent endpoint. The previous /authorize?prompt=admin_consent URL failed with AADSTS901001.
  • After approval, OnSched redirects the administrator through Microsoft authorize (response_type=code, scope=openid) and stores that authorization code's tid. The unsigned adminconsent tenant query is not used to bind a Company. Activation still requires a customer-tenant application token that includes Calendars.ReadWrite. The callback retries that check so Entra app-role replication lag does not fail activation. Transient Microsoft network errors leave the connection pending so the administrator can refresh the callback. If another callback already activated the row, a refresh returns that ACTIVE connection instead of 424 or 400. Create a new pending connection after this change; leftover authorize URLs still fail at Microsoft. A non-transient failed callback cannot be reused.

Appointment edits with blank notes

  • Saving an appointment edit, including replacing its Resource, now works when optional Notes are blank. Required-field validation and text length limits still apply.

Calendar cleanup after clearing write selections

  • Cancelling an appointment still removes its Google or Outlook events from the calendar that originally received them, even after all write selections are cleared. This includes associated padding events while the original account remains connected.