You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
starterKitOptions Input: New input (also available as starterKitOptions in AteEditorConfig) typed Partial<StarterKitOptions>, forwarded to StarterKit.configure() and merged over the library defaults (the default link options are kept). It lets apps disable or tune bundled extensions, e.g. { undoRedo: false } to use @tiptap/extension-collaboration (Yjs) without the local history conflicting with Yjs' undo manager. Changing it at runtime re-creates the editor. (#61)
imageRejected Output: Emits an AteImageRejection ({ reason: 'invalid-type' | 'too-large' | 'upload-failed', file, source: 'paste' | 'drop' | 'picker' | 'api' }) when an image file is not inserted, so apps can tell the user why. Covers clipboard files, drag-and-drop, the toolbar, slash-menu and bubble-menu pickers, and uploadImage. (#64)
AteImageValidationError: Typed error (reason: 'invalid-type' | 'too-large', translated message) thrown by the upload pipeline when allowedTypes or maxSize validation fails. (#64)
Brazilian Portuguese and Spanish Translations: Built-in pt (Brazilian wording) and es locales covering every AteTranslations key, including slash command titles, descriptions and search keywords (English keywords are kept, so typing English still finds the command). (#68)
Block Keyboard Shortcuts: Mod+D duplicates the current block right after it, and Mod+Shift+ArrowUp / Mod+Shift+ArrowDown move it up or down by one sibling, keeping the selection inside the moved block. Inside a list the block is the list or task item and it moves within its list. At the edges and in read-only editors the key event is not consumed. Enabled by default and controlled by the new enableBlockShortcuts input / config option. (#66)
Changed
Browser Language Detection: Detection now matches any built-in or registered locale from navigator.language, so pt-BR, es-MX and de-DE pick pt, es and de automatically (previously only fr was auto-detected and all other browsers fell back to en). A regional tag such as pt-BR passed to locale or setLocale() resolves to its language translations. (#68)
Custom Extensions in tiptapExtensions Override Built-ins: An extension passed in tiptapExtensions whose name matches a built-in ATE extension (highlight, textStyle, textAlign, placeholder, resizableImage, ...) or a StarterKit extension (link, codeBlock, heading, ...) now replaces the built-in extension instead of being silently dropped or duplicating the StarterKit extension. If the same StarterKit extension is also configured in starterKitOptions, the custom extension in tiptapExtensions takes precedence. In Angular development mode (isDevMode()), a one-time [ATE]console.warn per editor instance lists the replaced extensions, the ATE UI features and state calculators that depend on them, and any ignored starterKitOptions keys. (#70)
Fixed
Silent Image Validation Failures: A file rejected for its type or size used to disappear with only a console.error, and file paste and drop turned the failure into an unhandled promise rejection. Failures are now reported through imageRejected, and paste, drop and the fire-and-forget commands (execute('insertImage' | 'uploadImage'), AteEditorRef.insertImage / uploadImage) no longer leak unhandled rejections. Awaited uploadImage() calls still reject. (#64)
pastedImageRejected Reasons: A base64 image in pasted HTML rejected by validation now reports invalid-type or too-large instead of upload-failed, which stays reserved for upload handler failures. (#64)