Skip to content

Conversation

@iOvergaard
Copy link
Contributor

@iOvergaard iOvergaard commented Jun 6, 2025

Description

This pull request introduces several enhancements and fixes across multiple files, focusing on debugging improvements, dependency updates, and authorization handling. The changes aim to streamline workflows, improve user experience during authentication, and ensure compatibility with updated dependencies.

How to test / Video

2025-06-06.at.14.25.00.-.Emerald.Quail.mp4

(Note: The last example in the video where I had to click twice to show the screen has been fixed by replacing throttleTime with auditTime to wait a bit before firing the timeout signal)

Changes

Debugging Enhancements:

  • .vscode/launch.json: Added a postDebugTask to terminate the Umbraco.Web.UI process automatically after debugging sessions. [1] [2]
  • .vscode/tasks.json: Introduced a new task, kill-umbraco-web-ui, to terminate the Umbraco.Web.UI process across different operating systems.

Dependency Updates:

Authorization Handling Improvements:

API Enhancements:

  • src/Umbraco.Web.UI.Client/src/packages/core/resources/api-interceptor.controller.ts: Enhanced interceptors for handling 401 and 403 responses, including retry logic for GET requests and better error notifications for non-idempotent requests. Introduced mechanisms to queue and retry unauthorized requests after re-authentication. [1] [2] [3]
  • All errors will now come in an UmbProblemDetails shape. This allows the client to show more comprehensive error messages rather than just the default "An error occurred".
  • The mapToUmbError has been improved so that the UmbError base type is no longer used and only UmbApiError and UmbCancelError are. This allows people using tryExecute to expect that it is an api error happening.
  • Moved all error notifications to the UmbTryExecuteController so we don't have part of it happening in an interceptor (500 errors) and the rest there. We now put all of it in tryExecute, which also allows you to ignore all error notifications.

These changes collectively enhance the development workflow, improve debugging and authorization handling, and ensure compatibility with updated dependencies.

iOvergaard added 25 commits June 4, 2025 12:45
this could potentially try to re-register all private extensions after each auth signal, which is being prevented anyway because of duplicate aliases, but still nice to remove and not have to listen to
…ternal load before registering core extensions
… you more easily can opt out of it and everything is gathered in one place
…laceholders) to tell the user what did not succeed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Media not showing after re-authentication

3 participants