* fix: if no workspace views are found at all, show a not found page
* fix: rather than redirecting to the first available tab, which may not always be available on secondary routing, let the router display the first tab on an empty url
this mirrors how workspace views are displayed in umb-workspace-editor
* Refactored breadcrumb variant name
The parentheses will be added to unnamed variant ancestor items.
* Adds `last-item` attribute
(for semantics)
* Imports tidy-up
* Refactored `#getHref` to early exit for `.isFolder`
Saves on the string allocation.
* Added tests for webhook
* Added tests for webhook trigger
* Bumped version
* Make all Webhook tests run in the pipeline
* Fixed comment
* Reverted npm command
* Updated due to test helper changes
* Updated user group tests due to api helper changes
* Updated tests for user group default configuration due to UI changes
* Added tests for document property value permission
* Added tests for document property value permission in content with block
* Bumped version
* Make specific tests run in the pipeline
* Added skip tag and issue link for the failing tests
* Added tests for granular property value permission
* Fixed comment
* Bumped version
* Bumped version
* Fixed comments
* Bumped version and reverted npm command
* Make all tests for user group permission run in the pipeline
* Updated smokeTest command
* Fixed comments
* Reverted npm command
* feat: fix a small-ish nitpick where extensions would reload after login
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
* feat: align login UI extension load with backoffice, i.e. wait for external load before registering core extensions
* build(deps): bump @hey-api to newest and re-generate client
* chore: adds extra error logging
* feat: adds retry logic to the api interceptor
* feat: warn about incomplete actions
* fix: the body was already plain text, but we need to ensure the headers say so as well
* feat: warns the user when actions could not be completed
* build(deps): update @hey-api/client-fetch
* chore: generate new api
* feat: simplify error handling to just UmbApiError and UmbCancelError
* feat: moves error notifications from interceptors into tryExecute, so you more easily can opt out of it and everything is gathered in one place
* feat: recreate responses with correct 'status' and 'statusText'
* build: stop dotnet processes after debug session
* feat: extrapolate common logic into helper method to create responses
* feat: returns a UmbProblemDetails like object on interceptors to be handled by tryExecute
* chore: deprecates duplicate, outdated UmbProblemDetails interface and type guard
* feat: uses the 'title' of the problem details object to convey the main message
* chore: 401 and 403 uses their own interceptors
* feat: show no notification if 401
* feat: uses the real request method and url (instead of the template placeholders) to tell the user what did not succeed
* feat: retry requests with no timeout/race
* feat: throttle and delay signals and disallow them from being updated from the outside
* chore: adds more logging to timeouts
* chore: optimise imports
* test: ignores any test files left in node_modules folder
* feat: uses auditTime to wait a bit before showing the timeout screen
* feat: adds 404 handling to error interceptor
* chore: cleans up after response modification
* feat: preserve only a few headers
this mimicks the v15 behavior
* feat: lets the UI handle 404 errors instead of notifying directly
* test: uses create action menu option instead to find the correct locator, and skips a seemingly unnecessary timeout
* fix: add a catcher to most `asPromise` for stores to prevent cascading errors
* fix: remove conditional instances - they should be able to be undefined
* fix: check for missing store and extract UmbProblemDetails
* fix: only append data if no error
* fix: adds error handling to missing stores and to extract the ProblemDetails object
* revert commit
* fix: ignore errors completely instead of unsetting stores
* revert commit
* chore: cleanup imports
* fix: do not unset store
* stop observation in a proper way
* stop observation of for document-user-permissions
* check for manager twice
* save action
* save action optional
* fix: ensure the right types are used for base stores
---------
Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
* Regenerate keys in RTE blocks on clone operations
This was already present for BlockList and BlockGrid, but not Blocks in RTE.
* Small adjustment from code review
* Bump version to 16.0.0, update starter kit reference and enable package validation.
* Update version number in package.json.
* Re-disabled package validation (can't enable this yet).
* Tiptap style menu toggles (for classes and IDs)
Fixes#19244
* Tiptap style menu toggles (for font/color)
Fixes#19508
* Tiptap "Clear Formatting" remove classes and styles
* Tiptap font sizes, removes trailing semicolon
as the API handles the delimiter
* Tiptap global attrs: adds set/unset styles commands
* Ensure to delete related tokens when removing logins for removed external login providers.
Ensure to avoid removing logins for members.
* Removed unnecessary <= check.
* Updated block grid tests
* Updated notifications in tests
* Updated tests
* Added testIdAttribute
* Bumped version of testHelpers
* Added waits after creation
* Updated more tests related to notifications
* Bumped version
* Cleaned up
* updated tests
* Bumped version
* Updated tests
* bumped version
* chore: export useful rxjs functions
* fix: use switchMap to ensure correct loading of localization extensions
also added filter() and distinctUntilChanged() to ensure the logic is not run more often than what is needed
* test: adds tests for async localization extensions and weights
* chore: apply simpler sorting syntax
* chore: adds catchError to ensure the whole stream is not stopped because of an error
* chore: lowest weight should win
* chore: move catchError so it catches everything
* chore: returns an observable to not break the stream
* chore: reverse weight as the previous was correct
* chore: adds a true comparer function that is more efficient
* Import order sorting
* Export order sorting
---------
Co-authored-by: leekelleher <leekelleher@gmail.com>
* Fixes search filter text alignment
* Let `styleMenu` kind display as a menu
* Collapse excessive whitespace in RTE
* Ensures the RTE Capabilities are in 3 columns
* Dimensions UI fixes