Commit Graph

12445 Commits

Author SHA1 Message Date
kolaente
b175c7ff6e chore: 1.0.0-rc3 release preparations v1.0.0-rc3 2025-11-27 23:08:01 +01:00
kolaente
869a8b0ab9 fix(sharing): use the highest team sharing permission when sharing the same project with multiple teams (#1894) 2025-11-27 22:25:06 +01:00
kolaente
4de49512b0 docs: update AI instructions about plans 2025-11-27 22:24:40 +01: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]
c2773ae52c chore(deps): update actions/checkout action to v6 (#1897)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 19:37:36 +00:00
renovate[bot]
a041845b02 fix(deps): update module github.com/getsentry/sentry-go/echo to v0.40.0 (#1895)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 19:33:48 +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
renovate[bot]
8097693681 fix(deps): update module github.com/labstack/echo-jwt/v4 to v4.4.0 (#1896)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 19:28:06 +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
renovate[bot]
e4667d6d5d fix(deps): update module github.com/getsentry/sentry-go to v0.40.0 (#1892)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 20:07:42 +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]
785fe6e306 chore(deps): update docker/metadata-action digest to c299e40 (#1887)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 17:45:12 +01: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]
bb31798be6 chore(deps): pin mcr.microsoft.com/playwright docker tag to 6aca677 (#1884)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 17:35:14 +01:00
renovate[bot]
210baaa8ee chore(deps): update actions/checkout digest to 93cb6ef (#1885)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 17:34:15 +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
renovate[bot]
7f45264ff1 fix(deps): update module github.com/redis/go-redis/v9 to v9.17.1 (#1881)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 16:37:26 +01:00
kolaente
51512c1cb4 feat: migrate cypress e2e tests to playwright (#1739) 2025-11-27 16:34:48 +01:00
Frederick [Bot]
23a6ae19ea [skip ci] Updated swagger docs 2025-11-27 14:22:39 +00: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
869bb6e014 docs: fix sticker link 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
a4aad79f53 fix: TickTick import (#1871)
This change fixes a few issues with the TickTick import:

1. BOM (Byte Order Mark) Handling: Added stripBOM() function to properly handle UTF-8 BOM at the beginning of CSV files
2. Multi-line Status Section: Updated header detection to handle the multi-line status description in real TickTick exports
3. CSV Parser Configuration: Made the CSV parser more lenient with variable field counts and quote handling
4. Test Infrastructure: Added missing logger initialization for tests
5. Field Mapping: Fixed the core issue where CSV fields weren't being mapped to struct fields correctly

The main problem was in the newLineSkipDecoder function where:
- Header detection calculated line skip count on BOM-stripped content
- CSV decoder was also stripping BOM and applying the same skip count
- This caused inconsistent positioning and empty field mapping

Rewrote the decoder to use a scanner-based approach with consistent BOM handling.

Resolves https://github.com/go-vikunja/vikunja/issues/1870
2025-11-25 22:32:39 +00: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
kolaente
8bcd7ec5f5 chore: update devenv 2025-11-24 22:47:21 +01:00
renovate[bot]
370a6230a0 chore(deps): update actions/create-github-app-token digest to 7e473ef (#1862)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-24 20:36:25 +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