renovate[bot]
2bcecac91d
fix(deps): update vueuse to v14.1.0 ( #1910 )
...
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| [@vueuse/core](https://redirect.github.com/vueuse/vueuse )
([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/core ))
| [`14.0.0` ->
`14.1.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcore/14.0.0/14.1.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
|
[@vueuse/router](https://redirect.github.com/vueuse/vueuse/tree/main/packages/router#readme )
([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/router ))
| [`14.0.0` ->
`14.1.0`](https://renovatebot.com/diffs/npm/@vueuse%2frouter/14.0.0/14.1.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>vueuse/vueuse (@​vueuse/core)</summary>
###
[`v14.1.0`](https://redirect.github.com/vueuse/vueuse/releases/tag/v14.1.0 )
[Compare
Source](https://redirect.github.com/vueuse/vueuse/compare/v14.0.0...v14.1.0 )
##### 🚀 Features
- **useDropZone**: Add checkValidity function - by
[@​kolaente](https://redirect.github.com/kolaente ) in
[#​5169](https://redirect.github.com/vueuse/vueuse/issues/5169 )
[<samp>(aee84)</samp>](https://redirect.github.com/vueuse/vueuse/commit/aee846cb )
- **useElementVisibility**: Add `initialValue` option - by
[@​kricsleo](https://redirect.github.com/kricsleo ) and
[@​9romise](https://redirect.github.com/9romise ) in
[#​5159](https://redirect.github.com/vueuse/vueuse/issues/5159 )
[<samp>(13f36)</samp>](https://redirect.github.com/vueuse/vueuse/commit/13f361fa )
- **useMouseInElement**: Add support for tracking inline-level elements
- by [@​siavava](https://redirect.github.com/siavava ) and
[@​9romise](https://redirect.github.com/9romise ) in
[#​5049](https://redirect.github.com/vueuse/vueuse/issues/5049 )
[<samp>(62dfb)</samp>](https://redirect.github.com/vueuse/vueuse/commit/62dfb80a )
- **useTimeAgoIntl**: Custom units - by
[@​Menci](https://redirect.github.com/Menci ) in
[#​5188](https://redirect.github.com/vueuse/vueuse/issues/5188 )
[<samp>(c7d09)</samp>](https://redirect.github.com/vueuse/vueuse/commit/c7d09ef4 )
- **useWebSocket**: `autoConnect.delay` support function - by
[@​YuchenWell](https://redirect.github.com/YuchenWell ), **Anthony
Fu** and [@​9romise](https://redirect.github.com/9romise ) in
[#​5089](https://redirect.github.com/vueuse/vueuse/issues/5089 )
[<samp>(176f2)</samp>](https://redirect.github.com/vueuse/vueuse/commit/176f2515 )
##### 🐞 Bug Fixes
- Typescript type of `isIOS` constant - by
[@​toofishes](https://redirect.github.com/toofishes ) in
[#​5163](https://redirect.github.com/vueuse/vueuse/issues/5163 )
[<samp>(60888)</samp>](https://redirect.github.com/vueuse/vueuse/commit/60888d43 )
- **computedWithControl**: Allow different types in watch sources array
- by [@​kricsleo](https://redirect.github.com/kricsleo ) in
[#​5184](https://redirect.github.com/vueuse/vueuse/issues/5184 )
[<samp>(bc4ac)</samp>](https://redirect.github.com/vueuse/vueuse/commit/bc4aca90 )
- **types**: Allow async functions in useDebounceFn and useThrottleFn
- by
[@​xiaoxiaohuayu](https://redirect.github.com/xiaoxiaohuayu ) in
[#​5131](https://redirect.github.com/vueuse/vueuse/issues/5131 )
[<samp>(7fb7a)</samp>](https://redirect.github.com/vueuse/vueuse/commit/7fb7a05a )
- **types**: Deprecate embeded `ResizeObserverSize` types - by
[@​9romise](https://redirect.github.com/9romise ) in
[#​5127](https://redirect.github.com/vueuse/vueuse/issues/5127 )
[<samp>(d7a07)</samp>](https://redirect.github.com/vueuse/vueuse/commit/d7a07010 )
- **useArrayReduce**: Export `UseArrayReduceReturn` type - by
[@​michaelcozzolino](https://redirect.github.com/michaelcozzolino )
in [#​5177](https://redirect.github.com/vueuse/vueuse/issues/5177 )
[<samp>(e1204)</samp>](https://redirect.github.com/vueuse/vueuse/commit/e1204722 )
- **useAsyncQueue**: Trigger onFinished when the last task is rejected
- by
[@​keeplearning66](https://redirect.github.com/keeplearning66 ) and
[@​9romise](https://redirect.github.com/9romise ) in
[#​5144](https://redirect.github.com/vueuse/vueuse/issues/5144 )
[<samp>(c4a46)</samp>](https://redirect.github.com/vueuse/vueuse/commit/c4a46025 )
- **useClipboard**: Add readonly attribute to textarea fallback to
support Safari 15 - by
[@​huajianjiu](https://redirect.github.com/huajianjiu ) in
[#​5179](https://redirect.github.com/vueuse/vueuse/issues/5179 )
[<samp>(ef0c4)</samp>](https://redirect.github.com/vueuse/vueuse/commit/ef0c4f82 )
- **useInfiniteScroll**: Make canLoadMore reactive - by
[@​nhquyss](https://redirect.github.com/nhquyss ) in
[#​5110](https://redirect.github.com/vueuse/vueuse/issues/5110 )
[<samp>(3dc2d)</samp>](https://redirect.github.com/vueuse/vueuse/commit/3dc2d831 )
- **useMagicKeys**: Handle empty key events to prevent errors - by
[@​babu-ch](https://redirect.github.com/babu-ch ) and
[@​9romise](https://redirect.github.com/9romise ) in
[#​5149](https://redirect.github.com/vueuse/vueuse/issues/5149 )
[<samp>(f8aec)</samp>](https://redirect.github.com/vueuse/vueuse/commit/f8aecd82 )
- **useScroll**: Use configurable window's `getComputedStyle` - by
[@​9romise](https://redirect.github.com/9romise ) in
[#​5150](https://redirect.github.com/vueuse/vueuse/issues/5150 )
[<samp>(f74a6)</samp>](https://redirect.github.com/vueuse/vueuse/commit/f74a68d4 )
- **useSpeechRecognition**: Catch the error while calling method start
- by [@​ben-lau](https://redirect.github.com/ben-lau ),
**liubaobin** and [@​9romise](https://redirect.github.com/9romise )
in [#​5142](https://redirect.github.com/vueuse/vueuse/issues/5142 )
[<samp>(94f1e)</samp>](https://redirect.github.com/vueuse/vueuse/commit/94f1e9e7 )
- **useTimeout**: Fix type typo - by
[@​keeplearning66](https://redirect.github.com/keeplearning66 ),
**Robin** and **Anthony Fu** in
[#​5147](https://redirect.github.com/vueuse/vueuse/issues/5147 )
[<samp>(31e5c)</samp>](https://redirect.github.com/vueuse/vueuse/commit/31e5cb0c )
##### [View changes on
GitHub](https://redirect.github.com/vueuse/vueuse/compare/v14.0.0...v14.1.0 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/go-vikunja/vikunja ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xOS45IiwidXBkYXRlZEluVmVyIjoiNDIuMTkuOSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-01 11:14:41 +01:00
renovate[bot]
9062f78bd3
chore(deps): update pnpm to v10.24.0 ( #1912 )
...
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| [pnpm](https://pnpm.io )
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm )) |
[`10.23.0` ->
`10.24.0`](https://renovatebot.com/diffs/npm/pnpm/10.23.0/10.24.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>pnpm/pnpm (pnpm)</summary>
###
[`v10.24.0`](https://redirect.github.com/pnpm/pnpm/compare/v10.23.0...v10.24.0 )
[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v10.23.0...v10.24.0 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/go-vikunja/vikunja ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xOS45IiwidXBkYXRlZEluVmVyIjoiNDIuMTkuOSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-30 23:09:13 +01:00
kolaente
e43bac7fbc
fix(test): include response body in error
2025-11-28 16:48:08 +01:00
renovate[bot]
d1add5c621
chore(deps): update dev-dependencies ( #1898 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-28 10:17:36 +01:00
Frederick [Bot]
f7e91f4b19
chore(i18n): update translations via Crowdin
2025-11-28 00:54:33 +00:00
kolaente
9626382667
fix(editor): close only editor when pressing escape
...
This fixes a bug where when the task was opened in a modal and the user was editing the description and then pressing escape it would also close the task modal instead of only escaping from the editor itself.
2025-11-27 22:24:22 +01:00
renovate[bot]
6bee4a40ae
fix(deps): update dependency @sentry/vue to v10.26.0 ( #1878 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 19:53:03 +00:00
renovate[bot]
33ba7073c2
fix(deps): update dependency vue to v3.5.25 ( #1888 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 19:30:18 +00:00
kolaente
16790e19f9
fix(editor): preserve consecutive whitespace in comments in TipTap ( #1893 )
...
* fix(editor): preserve consecutive whitespace in comments in TipTap
Ensure multiple spaces in comment content are no longer collapsed when editing/saving by:
- Adding SetContentOptions with parseOptions.preserveWhitespace = 'full'
- Applying those options to all setContent calls (initial load, exit edit mode, post-upload cleanup)
- Enabling preserveWhitespace in editor parseOptions
Previously, repeated spaces were normalized away after setContent(false), causing comments with deliberate spacing to be altered unexpectedly.
No behavioral changes beyond whitespace retention; renders identical except space fidelity.
* fix(editor): use preserveWhitespace true instead of full to avoid duplicate checklist items
The 'full' mode preserves all whitespace including between block elements,
which caused the HTML parser to create extra empty list items from newlines
between <li> tags. Using 'true' preserves whitespace in inline content only,
which still achieves the goal of preserving consecutive spaces in text while
not creating spurious nodes from formatting whitespace.
---------
Co-authored-by: maggch <maggch@outlook.com>
2025-11-27 19:10:22 +00:00
renovate[bot]
cbbaf540a5
fix(deps): update dependency vue-i18n to v11.2.1 ( #1891 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 20:07:57 +01:00
kolaente
5922d1fa1e
fix(test): correctly set fixed time in login test
2025-11-27 19:57:23 +01:00
kolaente
566ff99e6c
fix(editor): prevent upload overlay from intercepting text drag operations ( #1890 )
2025-11-27 17:49:38 +00:00
renovate[bot]
f7d5122638
fix(deps): update dependency marked to v17 ( #1797 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 17:35:33 +01:00
renovate[bot]
c3a75bbd4d
chore(deps): update pnpm to v10.23.0 ( #1877 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 17:35:20 +01:00
renovate[bot]
5c4ea721c7
fix(deps): update dependency workbox-precaching to v7.4.0 ( #1879 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 16:37:42 +01:00
kolaente
51512c1cb4
feat: migrate cypress e2e tests to playwright ( #1739 )
2025-11-27 16:34:48 +01:00
Mithilesh Gupta
7dddc5dfa2
feat: task unread tracking ( #1857 )
...
---------
Co-authored-by: Mithilesh Gupta <guptamithilesh@protonmail.com>
Co-authored-by: kolaente <k@knt.li>
2025-11-27 15:14:42 +01:00
kolaente
2976d6f676
fix: use shift+r for reminder shortcut on apple devices
2025-11-26 23:58:01 +01:00
kolaente
f7acdf4ac1
fix: don't try to switch to project 0 when reloading the page ( #1855 )
2025-11-26 23:28:05 +01:00
kolaente
34575e4eb7
fix(editor): don't convert text that's pasted into a code block to markdown
...
Resolves https://community.vikunja.io/t/pasting-into-code-block-renders-markdown/4181
2025-11-26 23:27:33 +01:00
renovate[bot]
f7bdb996ca
chore(deps): update dev-dependencies
2025-11-26 13:47:07 +01:00
kolaente
719d06a991
feat(editor): automatically save draft comments locally ( #1868 )
...
Resolves https://github.com/go-vikunja/vikunja/issues/1867
2025-11-24 22:23:58 +00:00
Frederick [Bot]
fd9693cb6a
chore(i18n): update translations via Crowdin
2025-11-24 00:59:57 +00:00
kolaente
4b4684961b
fix: emit null
2025-11-22 17:23:03 +01:00
kolaente
e7c0f5fab3
fix(components): fix all type errors in FilterAutocomplete.ts
...
- Add type filters for label and project arrays to remove undefined values
- Add @ts-expect-error for projectId parameter in getAll call
- Add type assertion for userService.getAll empty object parameter
- Add default value for prefix in destructuring
- Add null check for match.index
- Add type assertions for union type property access (username/title)
- Add null check for autocompleteContext
- Fix Selection.near call with @ts-expect-error comment
- Add optional chaining for array access that could be undefined
2025-11-22 17:23:03 +01:00
kolaente
fe9bc02d10
fix(components): use ts-expect-error in mentionSuggestion.ts
...
- Replace 'as any' with @ts-expect-error comment
- This is needed because projectId is used for URL replacement but not part of IAbstract
2025-11-22 17:23:03 +01:00
kolaente
412fd3a221
fix(components): add type assertions in MentionUser.vue
...
- Import IUser type
- Add type assertion for username from node.attrs.id
- Add type assertion for fetchAvatarBlobUrl return value
2025-11-22 17:23:03 +01:00
kolaente
642cd08b9d
fix(components): add type annotations in MentionList.vue
...
- Import PropType and MentionNodeAttrs
- Add MentionItem interface
- Add PropType for items array and command function
2025-11-22 17:23:03 +01:00
kolaente
30101308ea
fix(components): add type annotations in suggestion.ts
...
- Import Editor and Range types from @tiptap/core
- Add TranslateFunction type for t parameter
- Add SuggestionProps interface for props parameter
- Add type annotations for all command callbacks
- Add null check for document.getElementById result
- Add null check for props.event in onKeyDown
2025-11-22 17:23:03 +01:00
kolaente
ddf018e791
fix(components): add type annotations in setLinkInEditor.ts
...
- Import Editor type from @tiptap/core
- Add DOMRect type for pos parameter
- Add Editor | null | undefined type for editor parameter
2025-11-22 17:23:03 +01:00
kolaente
d46afda42b
fix(components): add type annotations in commands.ts
...
- Import Editor and Range types from @tiptap/core
- Add CommandProps interface for command callback
- Add type annotations for command callback parameters
2025-11-22 17:23:03 +01:00
kolaente
3a52a86980
fix(components): add undefined checks in TipTap.vue
...
- Add null check for DataTransferItem from items array
- Add undefined checks for check.children[1] before accessing
- Extract secondChild variable for safer access
2025-11-22 17:23:03 +01:00
kolaente
0987e382e4
fix(components): add type annotations for event parameters in TipTap.vue
...
- Add Event type for triggerImageInput and addImage
- Add MouseEvent type for setLink and clickTasklistCheckbox
- Add KeyboardEvent type for setFocusToEditor
- Add type assertions for event.target as HTMLElement
2025-11-22 17:23:03 +01:00
kolaente
bff5ed6403
fix(components): use correct SetContentOptions in TipTap.vue
...
- Replace false with {emitUpdate: false} in setContent calls
- Fix 3 SetContentOptions type errors
2025-11-22 17:23:03 +01:00
kolaente
eab1a211ae
fix(components): fix clipboard data null checks in TipTap.vue
...
- Add proper null check for clipboardData.items before accessing length
- Replace for...of loop with indexed for loop to avoid iterator issue with DataTransferItemList
2025-11-22 17:23:03 +01:00
kolaente
278eae387c
fix(components): add type guards and assertions in TipTap.vue
...
- Add HTMLImageElement instanceof check before accessing src property
- Add type assertions for getBlobUrl return value and cache access
2025-11-22 17:23:03 +01:00
kolaente
1275cb7fc5
fix(components): correct FontAwesome icon format in TipTap.vue
...
- Change icon format from ['fa', 'fa-bold'] to ['fas', 'bold']
- Fix 6 icon type errors by using correct IconPrefix and IconName format
2025-11-22 17:23:03 +01:00
kolaente
ab8b93e9ab
fix(components): suppress complex union type error in Button.vue
...
- Remove BaseButtonProps extension to avoid complex union type
- Use @ts-expect-error to suppress TS2590 error caused by IconProp
- Add computed properties for variant, shadow, and wrap with proper defaults
2025-11-22 17:23:03 +01:00
kolaente
d96cecec09
fix(components): use undefined instead of empty object in ImportHint
...
- Replace empty object with undefined to use default parameter in TaskService.getAll
2025-11-22 17:23:03 +01:00
kolaente
a615afa934
fix(components): add undefined checks in GanttChartPrimitive
...
- Add undefined check for first row before accessing cellsByRow
- Add nullish coalescing for focusedRow.value in emit calls
2025-11-22 17:23:03 +01:00
kolaente
59fedb6757
fix(components): add type guards and null checks in Multiselect
...
- Add null check for multiselectRoot before passing to closeWhenClickedOutside
- Add early return for null object in select function
- Add type guards for string vs object in setSelectedObject
- Add type guards for focus method in preSelect function
- Remove invalid length check on Element type
2025-11-22 17:23:03 +01:00
kolaente
81f85a3849
fix(components): add generic constraints and null checks in AutocompleteDropdown
...
- Add 'extends string' constraint to generic type T
- Add null check for model.value with nullish coalescing
- Add null check for scroller before accessing properties
- Add instanceof check for HTMLElement before accessing offsetTop
2025-11-22 17:23:03 +01:00
kolaente
a575159424
fix(components): handle null values in DatepickerWithValues
...
- Add null to date ref type to match props.modelValue type
- Convert Date to string before passing to parseDateOrString
- Add null coalescing for flatpickrDate assignment
2025-11-22 17:23:03 +01:00
kolaente
8e089f5789
chore: add TYPECHECK_ISSUES.md to .gitignore
2025-11-22 17:23:03 +01:00
kolaente
658946b029
fix: resolve readonly project type issue in AppHeader.vue
...
Create mutable copy of currentProject from Pinia store to satisfy type
requirements. The readonly deep object from the store has readonly tasks
array which is incompatible with IProject type.
Fixes TypeScript errors on lines 25 and 40 where readonly project was
passed to getProjectTitle() and ProjectSettingsDropdown component.
Related to issue #29 from TYPECHECK_ISSUES.md
2025-11-22 17:23:03 +01:00
kolaente
f67af55204
fix: resolve readonly array type issue in Navigation.vue
...
Cast readonly project arrays from Pinia store to mutable IProject[] type.
The arrays are not actually mutated by the component, so the cast is safe.
Fixes TypeScript errors on lines 86, 97, 105 where readonly arrays were
incompatible with ProjectsNavigation component props.
Related to issue #28 from TYPECHECK_ISSUES.md
2025-11-22 17:23:03 +01:00
kolaente
4cd53c204d
fix: add proper type definitions for CommandItem in CommandsList.vue
2025-11-22 17:23:03 +01:00
kolaente
83191eb24d
fix: add null/undefined handling in GanttChart.vue
2025-11-22 17:23:03 +01:00
kolaente
618c85a0a7
fix: handle readonly arrays and type conversions in DatepickerWithRange.vue
2025-11-22 17:23:03 +01:00
kolaente
cc76b87b89
fix: use proper FontAwesome icon types in EditorToolbar.vue
2025-11-22 17:23:03 +01:00