* fix: stroing the transactions in page
* fix: page details changes
* chore: page response change
* chore: removed duplicated endpoints
* chore: optimised the urls
* chore: removed archived and favorite pages
* chore: revamping pages store and components
* mentions loading state part done
* fixed mentions not showing in modals
* removed comments and cleaned up types
* removed unused types
* reset: head
* chore: pages store and component updates
* style: pages list item UI
* fix: improved colors and drag handle width
* fix: slash commands are no more shown in the code blocks
* fix: cleanup/hide drag handles post drop
* fix: hide/cleanup drag handles post drag start
* fix: aligning the drag handles better with the node post css changes of the length
* fix: juggling back and forth of drag handles in ordered and unordered lists
* chore: fix imports, ts errors and other things
* fix: clearing nodes to default node i.e paragraph before converting it to other types of nodes
For more reference on what this does, please refer https://tiptap.dev/docs/editor/api/commands/clear-nodes
* chore: clearNodes after delete in case of selections being present
* fix: hiding link selector in the bubble menu if inline code block is selected
* chore: filtering, ordering and searching implemented
* chore: updated pages store and updated UI
* chore: new core editor just for document editor created
* chore: removed setIsSubmitting prop in doc editor
* fix: fixed submitting state for image uploads
* refactor: setShouldShowAlert removed
* refactor: rerenderOnPropsChange prop removed
* chore: type inference magic in ref to expose an api for controlling editor menu items from outside
* fix: naming imports
* chore: change names of the exposed functions and removing old types
* refactor: remove debouncedUpdatesEnabled prop;
* refactor: editor heading markings now parsed using html
* chore: removed unrelated components from the document editor
* refactor: page details granular components
* fix: remove onActionCompleteHandler
* refactor: removed rerenderOnProps change prop
* feat: added getMarkDown function
* chore: update dropdown option actions
* fix: sidebar markings update logic
* chore: add image and to-do list actions to the toolbar
* fix: handling refs and populating them via callbacks
* feat: scroll to node api exposed
* cleaning up editor refs when the editor is destroyed
* feat: scrolling added to read only instance of the editor
* fix: markings logic
* fix: build errors with types
* fix: build erros
* fix: subscribing to transactions of editor via ref
* chore: remove debug statements
* fix: type errors
* fix: temporary different slash commands for document editor
* chore: inline code extension style
* chore: remove border from readOnly editor
* fix: editor bottom padding
* chore: pages improvements
* chore: handle Enter key on the page title
* feat: added loading indicator logic in mentions
* fix: mentions and slash commands now work well with multiple editors in one place
* refactor: page store structure, filtering logic
* feat: added better seperation in inline code blocks
* feat: list autojoining added
* fix: pages folder structure
* fix: image refocus from external parts
* working lists somewhat
* chore: implement page reactions
* fix: build errors
* fix: build errors
* fixed drag handles stuff
* task list item fixed
* working
* fix: working on multiple nested lists
* chore: remove debug statements
* fix: Tab key on first list item handled to not go out of editor focus
* feat: threshold auto scroll support added and multi nested list selection fixed
* fix: caret color bug with improved inline code blocks
* fix: node range error when bulk deleting with list
* fix: removed slash commands from working in code blocks
* chore: update typography margins
* chore: new field added in page model
* fix: better type inference in slash commands
* chore: code block UI
* feat: image insertion at correct position using ref added
* feat: added improved mentions support for space
* fix: type errors in mentions for comments in web app
* sync: core with document-core
* fix: build errors
* fix: fallback for appendTo not being able to find active container instantly
* fix: page store
* fix: page description
* fix: css quality issues
* chore: code cleanup
* chore: removed placeholder text in codeblocks
* chore: archived pages response change
* chore: archived pages response change
* fix: initial pages list fetch
* fix: pages list filters and ordering
* chore: add access change option in the quick actions dropdown
* fix: inline code block caret fixed
* regression: removing extra text
* chore: caret color removed
* feat: copy code button added in code blocks
* fix: initial load of page details
* fix: initial load of page details
* fix: image resizing weird behavior on click/expanding it too much fixed now
* chore: copy page response
* fix: todo list spacing
* chore: description html in the copy page
* chore: handle latest description on refetch
* fix: saner scroll behaviours
* fix: block menu positioning
* fix: updated empty string description
* feat: tab change sync support added
* fix: infinite rerendering with markings
* fix: block menu finally
* fix: intial load on reload bug fixed
* fix: nested lists alignment
* fix: editor padding
* fix: first level list items copyable
* chore: list spacing
* fix: title change
* fix: pages list block items interaction
* fix: saving chip position
* fix: delete action from block menu to focus properly
* fix: margin-bottom as 0 to avoid weird spacing when a paragraph node follows a list node
* style: table, chore: lite text editor toolbar
* fix: page description tab sync
* fix: lists spacing and alignment
* refactor: document editor props
* feat: rich text editor wrapper created and migrated core
* feat: created wrapper around lite text editor and merged core
* chore: add lite text editor toolbar
* fix: build errors
* fix: type errors and addead live updation of toolbar
* chore: pages migration
* fix: inbox issue
* refactor: remove redundant package
* refactor: unused files
* fix: add dompurify to space app
* fix: inline code margin
* fix: editor className props
* fix: build errors
* fix: traversing up the tree before assuming the parent is not a list item
* fix: drag handle positions for list items fixed
* fix: removed focus at end logic after deleting block
* fix: image wrapper overflow scroll fix with block menu's position
* fix: selection and deletion logic for nested lists fixed!!
* fix: hiding the block menu while scrolling in the document/app
* fix: merge conflicts resolved from develop
* fix: inbox issue description
* chore: move page title to the web app
* fix: handling edge cases for table selection
* chore: lint issues
* refactor: list item functions moved to same file
* refactor: use mention hook
* fix: added try catch blocks for mention suggestions
* chore: remove unused code
* fix: remove console logs
* fix: remove console logs
---------
Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
Co-authored-by: gurusainath <gurusainath007@gmail.com>
Co-authored-by: Palanikannan1437 <73993394+Palanikannan1437@users.noreply.github.com>
* Sentry Fix for "Non-Error promise rejection captured with value: Route change to url was aborted"
* Sentry fix for "undefined is not an object (evaluating 'n.response')"
* Possible Sentry Fix for "TypeError Function.entries(<anonymous>)"
* Possible Sentry fix for "null is not an object (evaluating 'e.type')"
* fix: clearing nodes to default node i.e paragraph before converting it to other types of nodes
For more reference on what this does, please refer https://tiptap.dev/docs/editor/api/commands/clear-nodes
* chore: clearNodes after delete in case of selections being present
* fix: hiding link selector in the bubble menu if inline code block is selected
* feat: added tab index support to navigate using Tab key in all the editors
* chore: changed the name of Table of Contents in Pages
* chore: file formatting
---------
Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
* fix: horizontal rule no more causes issues on last node
* fixed the mismatched transaction by using native tiptap stuff
* added support to add new line onclick at bottom if last node is an image
TODO: blockquote at last node
* fix: simplified adding node at end of the document logic
* feat: rewrite entire logic handling all cases
* feat: arrow down and arrow up keys add empty node at top and bottom of doc from first/last row's cells
* feat: added arrow up and down key support to images too
* remove unnecessary console logs
* chore: formatting components
* fix: reduced bottom padding to increase onclick area
---------
Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
* fix: z index issues with modals and on hover color in table item picker menu
* feat: added text indicators inside the table colors to give a gist of how text would look
* fix: inline codes now exitable with right arrow key and inclusive
* regression: toggle inline code on bubble menu selection
* feat: added different code block behaviour on selection and not selection
* fix: blockquote toggling and isActive state fixed
This fix adds support for hiding the drag handle when the cursor leaves the editor container. It improves the user experience by providing a cleaner interface and removing unnecessary visual elements especially while scrolling.
- Add `hideDragHandle` prop to `EditorContainer` component in `editor-container.tsx`.
- Implement `onMouseLeave` event handler in `EditorContainer` to invoke `hideDragHandle` function.
- Update `DragAndDrop` extension in `drag-drop.tsx` to accept a `setHideDragHandle` function as an optional parameter.
- Pass the `setHideDragHandle` function from `RichTextEditor` component to `DragAndDrop` extension in `RichTextEditorExtensions` function in `index.tsx`.
- Set `hideDragHandleOnMouseLeave` state in `RichTextEditor` component to store the `hideDragHandlerFromDragDrop` function.
- Create `setHideDragHandleFunction` callback function in `RichTextEditor` to update the `hideDragHandleOnMouseLeave` state.
- Pass `hideDragHandleOnMouseLeave` as `hideDragHandle` prop to `EditorContainer` component in `RichTextEditor`.
* fix: removed backticks in inline code blocks
* added better error handling while cancelling uploads
* fix: inline code blocks, code blocks and links have saner behaviour
- Inline code blocks are now exitable, don't have backticks, have better padding vertically and better regex matching
- Code blocks on the top and bottom of the document are now exitable via Up and Down Arrow keys
- Links are now exitable while being autolinkable via a custom re-write of the tiptap-link-extension
* fix: more robust link checking
error of table not being defined while getting getBoundingClientRect()
and solve other TS issues
- Added ResolvedPos import from @tiptap/pm/model
- Updated setCellsBackgroundColor function parameter type to string
- Declared ToolboxItem type for toolbox items
- Modified columnsToolboxItems and rowsToolboxItems to use the ToolboxItem type
- Updated createToolbox function parameters to specify Element or null for triggerButton and ToolboxItem[] for items
- Added ts-expect-error comment above the toolbox variable declaration
- Updated update method parameter type to readonly Decoration[]
- Changed destructuring assignment of hoveredTable and hoveredCell in updateControls method to use Object.values and reduce method
- Added null check for this.table in updateControls method
- Wrapped the code that updates columnsControl and rowsControl with null checks for each control
- Replaced ts-ignore comments with proper dispatch calls in selectColumn and selectRow methods
Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
* 🔧 chore: Update revalidate option and add useEffect hook in PageDetailsPage component
- Set the `revalidate` option to `false` in the `commonSwrOptions` object.
- Add an `useEffect` hook that calls the `mutatePageDetails` function with specific options.
- Inside the `useEffect` hook, set `revalidate` to `true`, `populateCache` to `true`, and define a rollback function for error handling.
- If an error occurs during the rollback, display an error alert message using the `actionCompleteAlert` function.
- In the `updatePage` function, ensure that `workspaceSlug`, `projectId`, and `pageId` are all defined before proceeding.
* ♻️ refactor: Update code styling for inline code in CoreEditorExtensions
In the `packages/editor/core/src/ui/extensions/index.tsx` file, the code for inline code styling in the CoreEditorExtensions component has been updated. Previously, it was set to `false`, but now it is defined as an object with specific HTML attributes. The code styling includes a rounded-md background, custom primary color, margin, padding, font styling, and disabling spellcheck. This change improves the visual appearance and readability of inline code elements in the editor.
* Fix position bug in the UploadImagesPlugin widget decoration and adjust transaction to correctly insert image node and set meta data for image removal.
* Update CSS styles in editor.css to remove margin top and bottom on images and img placeholders and adjust the margin on the table in the editor container.
* Better typescript support for images extension.
Update the `Command` extension in `slash-commands.tsx` to include a `SlashCommandOptions` type for better TS support and allow spaces in the suggestion options and modify the `image` suggestion's search terms to include "img" in addition to "photo", "picture", and "media".
* removed relative imports from editor core
* Update issue widget file paths and imports to use kebab case instead of camel case, to align with coding conventions and improve consistency.
* Update Tiptap core and extensions versions to 2.1.13 and Tiptap React version to 2.1.13. Update Tiptap table imports to use the new location in package @tiptap/pm/tables. Update AlertLabel component to use the new type definition for LucideIcon.
* updated lock file
* removed default exports from editor/core
* fixed injecting css into the core package itself
* seperated css code to have single source of origin wrt to the package
* removed default imports from document editor
* all instances using index as key while mapping fixed
* Update Lite Text Editor package.json to remove @plane/editor-types as a dependency.
Update Lite Text Editor index.ts to update the import of IMentionSuggestion and IMentionHighlight from @plane/editor-types to @plane/editor-core.
Update Lite Text Editor ui/index.tsx to update the import of UploadImage, DeleteImage, IMentionSuggestion, and RestoreImage from @plane/editor-types to @plane/editor-core.
Update Lite Text Editor ui/menus/fixed-menu/index.tsx to update the import of UploadImage from @plane/editor-types to @plane/editor-core.
Update turbo.json to remove @plane/editor-types#build as a dependency for @plane/lite-text-editor#build, @plane/rich-text-editor#build, and @plane/document-editor#build.
* Remove deprecated import and adjust tippy.js usage in the slash-commands.tsx file of the editor extensions package.
* Update dependencies in `rich-text-editor/package.json`, remove `@plane/editor-types` and add `@plane/editor-core` in `rich-text-editor/src/index.ts`, and update imports in `rich-text-editor/src/ui/extensions/index.tsx` and `rich-text-editor/src/ui/index.tsx` to use `@plane/editor-core` instead of `@plane/editor-types`.
* Update package.json dependencies and add new types for image deletion, upload, restore, mention highlight, mention suggestion, and slash command item.
* Update import statements in various files to use the new package "@plane/editor-core" instead of "@plane/editor-types".
* fixed document editor to follow conventions
* Refactor imports in the Rich Text Editor package to use relative paths instead of absolute paths.
- Updated imports in `index.ts`, `ui/index.tsx`, and `ui/menus/bubble-menu/index.tsx` to use relative paths.
- Updated `tsconfig.json` to include the `baseUrl` compiler option and adjust the `include` and `exclude` paths.
* Refactor Lite Text Editor code to use relative import paths instead of absolute import paths.
* Added LucideIconType to the exports in index.ts for use in other files.
Created a new file lucide-icon.ts which contains the type LucideIconType.
Updated the icon type in HeadingOneItem in menu-items/index.tsx to use LucideIconType.
Updated the Icon type in AlertLabel in alert-label.tsx to use LucideIconType.
Updated the Icon type in VerticalDropdownItemProps in vertical-dropdown-menu.tsx to use LucideIconType.
Updated the Icon type in BubbleMenuItem in fixed-menu/index.tsx to use LucideIconType.
Deleted the file tooltip.tsx since it is no longer used.
Updated the Icon type in BubbleMenuItem in bubble-menu/index.tsx to use LucideIconType.
* ♻️ refactor: simplify rendering logic in slash-commands.tsx
The rendering logic in the file "slash-commands.tsx" has been simplified. Previously, the code used inline positioning for the popup, but it has now been removed. Instead of appending the popup to the document body, it is now appended to the element with the ID "tiptap-container". The "flip" option has also been removed. These changes have improved the readability and maintainability of the code.
* fixed build errors caused due to core's internal imports
* regression: fixed pages not saving issue and not duplicating with proper content issue
* build: Update @tiptap dependencies
Updated the @tiptap dependencies in the package.json files of `document-editor`, `extensions`, and `rich-text-editor` packages to version 2.1.13.
* 🚑 fix: Correct appendTo selector in slash-commands.tsx
Update the `appendTo` function call in `slash-commands.tsx` to use the correct selector `#editor-container` instead of `#tiptap-container`. This ensures that the component is appended to the appropriate container in the editor extension.
Note: The commit message assumes that the change is a fix for an issue or error. If it's not a fix, please provide more context so that an appropriate commit type can be determined.
* chore: format all files in the project
* fix: removing @types/react from dependencies
* fix: adding prettier and eslint config
* chore: format files
* fix: upgrading turbo version
* chore: ignoring warnings and adding todos
* fix: updated the type of bubble menu item in the document editor
* chore: format files
---------
Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com>
* feat: added heading 3 in the editor summary markings
* feat: fixed editor and summary bar sizing
* feat: added `issue-embed` extension
* feat: exposed issue embed extension
* feat: added main embed config configuration to document editor body
* feat: added peek overview and issue embed fetch function
* feat: enabled slash commands to take additonal suggestions from editors
* chore: replaced `IssueEmbedWidget` into widget extension
* chore: removed issue embed from previous places
* feat: added issue embed suggestion extension
* feat: added issue embed suggestion renderer
* feat: added issue embed suggestions into extensions module
* feat: added issues in issueEmbedConfiguration in document editor
* chore: package fixes
* chore: removed log statements
* feat: added title updation logic into document editor
* fix: issue suggestion items, not rendering issue widget on enter
* feat: added error card for issue widget
* feat: improved focus logic for issue search and navigate
* feat: appended transactionid for issueWidgetTransaction
* chore: packages update
* feat: disabled editing of title in readonly mode
* feat: added issueEmbedConfig in readonly editor
* fix: issue suggestions not loading after structure changed to object
* feat: added toast messages for success/error messages from doc editor
* fix: issue suggestions sorting issue
* fix: formatting errors resolved
* fix: infinite reloading of the readonly document editor
* fix: css in avatar of issue widget card
* feat: added show alert on pages reload
* feat: added saving state for the pages editor
* fix: issue with heading 3 in side bar view
* style: updated issue suggestions dropdown ui
* fix: Pages intiliazation and mutation with updated MobX store
* fixed image uploads being cancelled on refocus due to swr
* fix: issue with same description rerendering empty content fixed
* fix: scroll in issue suggestion view
* fix: added submission prop
* fix: Updated the comment update to take issue id in inbox issues
* feat:changed date representation in IssueEmbedCard
* fix: page details mutation with optimistic updates using swr
* fix: menu options in read only editor with auth fixed
* fix: add error handling for title and page desc
* fixed yarn.lock
* fix: read-only editor title wrapping
* fix: build error with rich text editor
---------
Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com>
Co-authored-by: Palanikannan1437 <73993394+Palanikannan1437@users.noreply.github.com>
* added image min width and height programatically
* fixed editor initialization for peek view and inbox issues
* fixed ts issues with issue id in inbox
* image restoration fixed (marks an image to be deleted after a week)
* removed clgs
* added image constraints
* formatted editor-core package using yarn format
* lite-text-editor nothing to format
* rich-text-editor nothing to format
* formatted document-editor with prettier
* modified file service to follow api change
* fixed more formatting in document editor
* fixed all instances of types with that from the package
* fixed delete to work consistently (minor optimizations turned off)
* stop duplicate images inside editor
* restore image on editor creation
say if user A deletes image number 2, user B was also in the same issue and in their screen the image was there, if user B makes certain changes and that gets saved in backend, according to user B image 2 should exist but since user A deleted it, it'll not get restored and get deleted in 7 days, hence I've added a check such that whenever a issue loads we restore all images by default
* added restore image function with types
* replaced all instances to have restore image logic
* fixed issue detail for peek view
* disabled option to insert table inside a table
* image can't be inserted inside table
Now we've diabled image icon from showing up if the cursor is inside a table node or if a table cell is selected
* added drag drop support for document editor
* fixed missing dependencies
* better variable names and comments
* drag drop migrated
* custom horizontal rule created
* init transaction hijack
* fixed code block with better contrast, keyboard tripple enter press disabled and syntax highlighting
* fixed link selector closing on open behaviour
* added better keymaps and syntax highlights
* made drag and drop working for code blocks
* fixed drag drop for code blocks
* moved drag drop only to rich text editor
* fixed drag and drop only for description
* enabled drag handles for peek overview and main issues
* got images to old state
* fixed task lists to be smaller
* removed validate image functions and uncessary imports
* table icons svg attributes fixed
* custom list keymap extension added
* more uncessary imports of validate image removed
* removed console logs
* fixed drag-handle styles
* space styles updated for the editor
* removed showing quotes from blockquotes
* removed validateImage for now
* added better comments and improved redundant renders
* removed uncessary console logs
* created util for creating the drag handle element
* fixed file names
* better variable names and comments
* drag drop migrated
* custom horizontal rule created
* init transaction hijack
* fixed code block with better contrast, keyboard tripple enter press disabled and syntax highlighting
* fixed link selector closing on open behaviour
* added better keymaps and syntax highlights
* made drag and drop working for code blocks
* fixed drag drop for code blocks
* moved drag drop only to rich text editor
* fixed drag and drop only for description
* enabled drag handles for peek overview and main issues
* got images to old state