Commit Graph

190 Commits

Author SHA1 Message Date
Jacob Overgaard
cd72dbe4ea V16: Retry requests after timeout (#19495)
* 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
2025-06-12 12:24:11 +01:00
Jacob Overgaard
7a7602f1bb V15: Update Backoffice NPM dependencies (#18376)
* build(deps-dev): update storybook from 8.4.7 to 8.5.6

* build(deps): update tiptap from 2.11.2 to 2.11.5

* build(deps-dev): update eslint stuff to latest

* build(deps): update element-internals-polyfill from 1.3.12 to 1.3.13

* build(deps): update marked from 15.0.6 to 15.0.7

* build(deps-dev): update vite from 5.4.14 to 6.1.0

* build(deps-dev): update globals to 15.15.0 (eslint dependency)

* build(deps): update icon libraries to latest

* build(deps-dev): update prettier from 3.4.2 to 3.5.1

* chore: generate consts

* build(deps-dev): update test-related libraries

* feat: copy over code from the tiny base64-js library because it is not exported as esm and has not been updated in 4 years

* build(deps-dev): remove dependency from base64-js

* build(deps-dev): upgrade rollup dependencies

* test: disable tests for tinyce

* build(deps-dev): update @babel/core to 7.26.9

* build(deps): update storybook to latest

* build(deps-dev): update types

* build(deps-dev): update typedoc from 0.27.6 to 0.27.7

* build(deps-dev): update @rollup/plugin-commonjs to latest

* build(deps): import tiny as default and re-export as module and default to make everyone happy (and avoid commonjs pitfalls)

* build: remove dependency on commonjs to build externals

* build(deps-dev): uninstall @rollup/plugin-commonjs as it is no longer needed

* test: reenable tinymce tests

* fix: sets a default label

this mistake was highlighted by the test runner

* test: reenable tinymce tests

* build: ignores autogenerated test file

* build: adds github error logging to icon generator

* build: log as error

* build: adds tests for generate:* scripts

* build: optimises icons with svgo to remove useless things like comments

this also ensures that icons are unchanged when we upgrade icon library packages as they would normally include things like versions as comments in the files
2025-02-20 10:29:54 +00:00
Mads Rasmussen
e00290f400 Feature: Clipboard (#17820)
* wip clipboard context + tests

* clean up property action module + register copy action

* split manifests

* add clipboard module

* import type

* export type

* mark all methods async

* scaffold copy + paste property actions

* scaffold workspace, collection, repo + data sources

* remove references to language

* register detail manifests

* call repo when creating

* load clipboard collection data

* remove debugger

* register clipboard item picker modal

* return value from picker

* accept native error

* clean up data source

* add tests for error states

* make clipboard local storage manager

* add clip entry entity type

* create unique in scaffold

* add clipboard entry item data

* align naming

* move around

* name alignment

* fix imports

* fix missing entityType

* clean up

* use picker input context

* remove unused context

* Update clipboard.context.ts

* map to item model

* poc paste property action

* register copy/paste as kinds

* lint fix

* add tests

* rename test

* add repository tests

* register delete clipboard action + enable action dropdown outside of context menu

* remove notifcation

* export entity type

* temp use repo instead of context

* delete unused copy property action

* make data source non breaking

* Update vite.config.ts

* add icons for clipboard copy, paste + entry

* remove unused

* return if there is no property value

* add kind interfaces

* pass entry type for copy and paste

* register clipboard for block list

* implement filter on entry type

* delete unused context

* remove references

* rename data to value and don't force an array

* make icons and single value

* allow to add create and update dates for clipboard entries

* use clipboard icon

* add create and update dates

* export constants

* don't set as an array

* reload picker content

* add copy to clipboard button to block list entry

* make picker element

* allow to pick multiple

* remove generic block list clipboard actions

* Revert "remove generic block list clipboard actions"

This reverts commit 6ea65a02ce6315a781b80d0ccf0da288df602a7d.

* add get methods

* wip construct block clipboard entry value

* add method to get exposes + add jsdocs

* add expose

* remove todo + add jsdocs

* move clipboard out of core package

* add package files

* load package again

* render entry icon

* render correct icon

* remove clipboard from core vite.config

* Update package-lock.json

* wip copy/paste resolvers

* allow multiple accepted entry types

* move logic to resolvers

* transforming clipboard block value to fit block list

* wip copy/paste resolvers

* clean up

* remove unused

* fix missing exports

* fix tests

* return clipboard entry unique from modal

* Update block-list-entries.context.ts

* clipboard feature: clipboard property value cloner (#17824)

* restructure of property package

* content data merge controller tests

* deprecate meta from propertyValueResolver

* temp work

* temp

* poc

* rename to cloner

* stached block value cloner work

* block list implementation

* correct property value implementation

* RTE Block Property Value Cloner

* Block Grid Value Cloner

* update with comments

* try out cloner

* wip translators

* Revert "delete unused context"

This reverts commit ec31ae55aaa9e958b64c44019398e9af7cd61df4.

* move translator + cloner logic to context

* clean up

* implement read from clipboard in block list property editor

* remove debugger

* values array

* handle paste

* Update types.ts

* move files

* Update clipboard-local-storage.manager.ts

* set both create and update date when creating a clipboard entry

* align naming

* handle paste

* clean up + wip block grid translators

* updates types

* add grid block copy translator

* only allow paste translator to handle a single value

* align copy and paste translators

* remove debugger

* move to folders

* add block const

* rename

* add tests

* Update index.ts

* use correct type

* add tests for UmbBlockListToBlockClipboardCopyTranslator

* fix tests

* add translator tests

* add tests

* organize

* organize

* clean up translator tests

* align naming

* remove unused button

* only render copy property action if property has a value

* use constants

* copy single grid block

* get block grid property value from clipboard entry

* add clear method to extension registry + add js docs

* Update index.ts

* add tests for copy value resolver

* add icon for clipboard

* use clipboard icon in modal

* add tests

* remove unused setting

* fix log

* only create array once

* filter for supported paste translators

* use write method instead of duplicating the code

* add condition config type

* use config type

* Update manifests.ts

* add support for multi picker

* move multiple look up logic to context

* add js docs

* add js docs

* remove unused

* remove unused

* remove unused

* implement paste translator filtering for block catalogue modal

* temp color translator

* adding a UmbPropertyValueDataPotentiallyWithEditorAlias

* simplify observer

* append user unique to local storage key

* remove temp color picker clipboard implementations

* more explicit extension type name

* more renaming

* type specifications

* fix test and missing type

* more types for test

* renaming of paste translators

* rename folder

* rename value resolvers

* correct variable name

* wip tests for clipboard context

* clean up tests correctly

* add more tests for clipboard context

* Update clipboard.context.test.ts

* use after each for clean up

* fix test that times out

* correct name

* optimize

* remove webkit

* newest first when picking

* use fingerprint local storage key to obfuscate user id

* rename method

* use const

* set content max length

* return object including the selection uniques

* show confirm dialog before pasting value

* only show confirm dialog if there is a value

* Feature: clipboard block insert (#17935)

* insert methods

* fix originData

* move logic to base class

* progress on Grid and RTE

* correct for Block Grid paste implementation

* update async across

* remove expose from block clipboard entry model

* remove expose from grid block clipboard entry

* remove todo

* wip move value expand responsibility

* wip split clipboard context

* experiment with an extendable property context

* create propertyContexts + proxy events

* rename methods

* move proxy to context + update grid copy logic

* split tests

* remove unused

* add property context extension type

* fix tests

* fix tests

* reorganize

* Update clipboard.property-context.ts

* use context

* register property context clipboard kind

* register for block grid

* remove redundant code

* rename to replace

* Revert "rename to replace"

This reverts commit eb0535edcfaa9f68d0fc4c431c93739a43c7b29c.

* rename prop

* rename label

* improve block clean-up abilities

* Update rte-base.element.ts

* make local get of clipboard context

* add asyncFilter option to the type

* add is compatible method to the interface

* support asyncFilter in picker

* add compatability check for block list

* more explicit name

* wip implementation of filter

* add compatability checks

* add temp types

* add clipboard filtering for grid and list

* lint corrections

---------

Co-authored-by: Niels Lyngsø <nsl@umbraco.dk>
Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
2025-01-16 15:50:09 +01:00
Mads Rasmussen
5b1d72e802 Chore: Enable MSW in web/test-runner + add tests for state manager + isCurrentUser util (#17584)
* add tests for UmbEntityWorkspaceDataManager

* add tests for umbObjectToPropertyValueArray

* remove unused

* split into individual files

* get from window

* fix import

* setup msw

* temp removal of different mock states

* add service worker

* add tests for isCurrentUser util

* Update package.json

* silence more text logs

* fix race condition

---------

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
Co-authored-by: Niels Lyngsø <nsl@umbraco.dk>
2024-11-29 13:21:00 +01:00
Jacob Overgaard
63c4f6be73 remove the user-defined.css as it is not needed 2024-07-18 13:08:01 +01:00
Mads Rasmussen
16649c6b1d Merge branch 'main' into chore/fix-tests 2024-07-04 14:03:08 +02:00
Mads Rasmussen
8b962cde8d Update web-test-runner.config.mjs 2024-07-04 13:28:37 +02:00
Mads Rasmussen
4fecfd9fc6 Update web-test-runner.config.mjs 2024-07-04 13:16:33 +02:00
Mads Rasmussen
ddaba8258d Update web-test-runner.config.mjs 2024-07-04 12:48:12 +02:00
Jacob Overgaard
adf73ae2bb ignore certain logs 2024-07-03 16:36:16 +02:00
Mads Rasmussen
e44e55b3dd fix test runner log filter 2024-07-03 11:57:13 +02:00
Mads Rasmussen
12b1ddda41 load global components in tests 2024-05-29 20:07:33 +02:00
Jacob Overgaard
8c015c219f fix: instruct web-test-runner NOT to use the browser field in modules, since it messes with packages that also export an esm version 2024-05-22 11:56:19 +02:00
Jacob Overgaard
2e91bad702 feat: add a user-defined.css file (empty) that we load up front in the backoffice on the server 2024-05-21 17:14:22 +02:00
Jacob Overgaard
052632c464 revamp web/test-runner config so that commonjs() is being run before esbuild but only on the modules that are actually only exported as CJS 2024-04-09 17:16:52 +02:00
Jacob Overgaard
677d130437 import openid from the ts source instead to build properly as esmodule 2024-04-08 11:52:15 +02:00
Jacob Overgaard
8e1bb6d79a generate an umbraco-package.json file containing the general importmap of the backoffice 2024-02-15 15:28:43 +01:00
Mads Rasmussen
cd66852eef reuse import util for both tsconfig and test runner 2024-02-11 22:16:03 +01:00
Mads Rasmussen
125151d57b use create function in web test runner 2024-02-10 23:05:05 +01:00
Jacob Overgaard
c8a8641ff7 update module name 2024-02-09 13:55:03 +01:00
Mads Rasmussen
c8210ccb64 Merge branch 'main' into improvement/model-remapping 2024-02-06 12:56:14 +01:00
Mads Rasmussen
24917a613c Merge branch 'main' into improvement/model-remapping 2024-02-01 14:58:44 +01:00
Mads Rasmussen
d2fafbbb61 update package.json + test runner config 2024-02-01 08:38:45 +01:00
leekelleher
af1b53f91d Merge branch 'main' into feature/dynamic-root 2024-01-30 15:01:02 +00:00
Jacob Overgaard
754e7546a3 cleanup after macros and add styling to announce they are no longer supported for any migrated rte content 2024-01-30 11:21:53 +01:00
leekelleher
eeca7ee485 [WIP] Dynamic Root 2024-01-25 12:25:51 +00:00
Niels Lyngsø
c0c89448da hide multiple lit versions log from tests 2024-01-24 20:10:12 +01:00
Mads Rasmussen
fd62a23486 Merge branch 'main' into feature-Folder-Repository-Base 2024-01-15 19:18:05 +01:00
Jacob Overgaard
1fd0a51cdd remove the 'meta' module as it does not work as intended on the server 2024-01-15 11:56:17 +01:00
Mads Rasmussen
4ffc5fb09f make module name more explicit 2024-01-13 20:43:44 +01:00
Mads Rasmussen
bbec60ddea add new file-system module 2024-01-13 20:30:06 +01:00
Niels Lyngsø
171ed46337 Merge branch 'main' into feature/block-editor-type-workspace 2024-01-11 12:15:34 +01:00
Niels Lyngsø
9b88fc9a14 Merge remote-tracking branch 'origin/main' into feature/block-editor-type-workspace
# Conflicts:
#	package.json
#	src/packages/documents/document-types/components/index.ts
#	src/packages/documents/document-types/index.ts
2024-01-11 11:04:19 +01:00
Jacob Overgaard
32ae1d75ff Merge pull request #1105 from umbraco/feature/tinymce-servervariables
TinyMCE Server variables replacement + temporary files for drag & drop
2024-01-11 10:06:35 +01:00
Lone Iversen
d9934b0e4a Merge remote-tracking branch 'origin/main' into feature/audit-log-and-info-workspace 2024-01-10 11:16:57 +01:00
Jacob Overgaard
57ac662e2c Merge branch 'main' into feature/tinymce-servervariables 2024-01-09 15:00:12 +01:00
Lone Iversen
cc852446b0 audit log and info workspace 2024-01-05 15:48:27 +01:00
Jesper Møller Jensen
bc09e08e5c update import map 2024-01-04 16:49:57 +13:00
Niels Lyngsø
f680ed5bfd Merge remote-tracking branch 'origin/main' into feature/block-editor-type-workspace 2023-12-20 09:41:15 +01:00
Jacob Overgaard
1ce4715595 add a 'meta' module to extract information from package.json 2023-12-19 09:10:19 +01:00
Niels Lyngsø
4f213a8f57 scaffolding for block list type configuration 2023-12-14 13:26:26 +01:00
Niels Lyngsø
96e9bc7a6a Merge remote-tracking branch 'origin/main' into feature/static-file-management 2023-12-13 14:16:56 +01:00
Niels Lyngsø
6024e9df3e more work 2023-12-13 14:16:43 +01:00
Niels Lyngsø
e534407962 sort config of test runner 2023-12-08 12:36:46 +01:00
Niels Lyngsø
4a9dc30019 move property 2023-12-08 12:36:33 +01:00
Niels Lyngsø
a2e71d2548 tests 2023-12-07 14:03:13 +01:00
Niels Lyngsø
ac3b4bcca8 correct test setup 2023-12-07 13:32:41 +01:00
Niels Lyngsø
7d5ed5b00d dev mode for testing 2023-12-07 13:23:33 +01:00
Mads Rasmussen
fc459b10fd Merge branch 'main' into feature-user-avatar-upload 2023-11-16 10:42:35 +01:00
Mads Rasmussen
501a4c4c2f update import maps 2023-11-13 20:47:14 +01:00