Commit Graph

2288 Commits

Author SHA1 Message Date
kolaente
1c76dbdc08 fix: apply final icon slot formatting from migration agents 2026-02-19 15:22:44 +01:00
kolaente
3aedeeb81e fix: remove unused Component import in suggestion.ts 2026-02-19 15:11:30 +01:00
kolaente
75100df674 feat: migrate view pages from FontAwesome to Phosphor Icons 2026-02-19 15:10:33 +01:00
kolaente
b7d8f32659 feat: migrate misc, sharing, notification, and date components from FontAwesome to Phosphor Icons 2026-02-19 15:10:28 +01:00
kolaente
2083b2bd2c feat: migrate task, project, and input components from FontAwesome to Phosphor Icons 2026-02-19 15:10:24 +01:00
kolaente
6ec5037584 feat: migrate task partial components from FontAwesome to Phosphor Icons 2026-02-19 15:10:19 +01:00
kolaente
288631f08c feat: migrate home/navigation components from FontAwesome to Phosphor Icons 2026-02-19 15:10:15 +01:00
kolaente
b9631794ee feat: migrate editor components from FontAwesome to Phosphor Icons 2026-02-19 15:10:11 +01:00
kolaente
d0f18ffdfc refactor: use Phosphor components in Subscription.vue 2026-02-19 14:58:23 +01:00
kolaente
820ba348bb refactor: replace icon props with #icon slots in wrapper components 2026-02-19 14:57:52 +01:00
kolaente
70ada1d20b refactor: remove FontAwesome infrastructure and global Icon component 2026-02-19 14:56:28 +01:00
kolaente
8f468fa6f4 chore: swap FontAwesome for Phosphor Icons dependency 2026-02-19 14:55:40 +01:00
William Guinaudie
bf8138ec3c feat: add discard and reload confirmation modal (#2154) 2026-02-19 14:27:27 +01:00
kolaente
8144560dd7 test(comments): add e2e tests for comment sort order
Cover default order, toggle to newest-first, new comment insertion
position, scroll-into-view behaviour, pagination with sort order,
initial-load shortcut, setting persistence across reloads, and
pre-saved setting on page load.
2026-02-19 14:20:52 +01:00
kolaente
6555595a5c feat(comments): add sort order toggle for task comments
Allow users to switch between oldest-first and newest-first comment
ordering via a toggle button in the comments heading. The preference is
persisted as a frontend setting (commentSortOrder) and passed to the API
as the order_by query parameter so pagination works correctly.

When all comments fit on a single page, toggling reverses them
client-side to avoid an extra API call. New comments are inserted at the
correct position based on the active sort order, and in newest-first
mode the view scrolls to the top after adding a comment.

Link-share users fall back to a local (non-persisted) sort order since
they cannot save user settings.
2026-02-19 14:20:52 +01:00
kolaente
b64926be73 chore(deps): update minimatch to ^10.2.1 via pnpm overrides
Add pnpm overrides in frontend and desktop to consolidate all
transitive minimatch versions (3.1.2, 5.1.6, 9.0.1, 9.0.5, 10.1.1)
to 10.2.1, resolving the known ReDoS vulnerability in older versions.
2026-02-19 14:20:29 +01:00
renovate[bot]
37a013c472 chore(deps): update dev-dependencies 2026-02-19 13:08:14 +01:00
kolaente
50d7458519 feat(attachments): open file picker directly from sidebar button
Clicking the sidebar "Attachments" button (or pressing `f`) now opens
the browser file picker directly, eliminating the redundant two-step
flow of first revealing the section and then clicking upload.
2026-02-19 12:56:46 +01:00
kolaente
362962e81e fix(gantt): only persist dates that actually exist on partial-date tasks
Previously drag/resize always set both startDate and endDate, which
would persist the synthetic 7-day span and convert an open-ended task
into a fully-dated one. Now only the date fields that originally exist
on the task are updated.
2026-02-18 23:04:21 +01:00
kolaente
ceb62c63d3 refactor(gantt): extract GanttBarDateType as reusable type 2026-02-18 23:04:21 +01:00
kolaente
6f8be0905f fix(gantt): sync task updates from detail view back to gantt chart
The Gantt chart maintains its own local task map, separate from the
Pinia task store. When a task is edited in the detail modal, the
update was not propagated to the Gantt's map. Add a lastUpdatedTask
signal to the task store and watch it in useGanttTaskList.
2026-02-18 23:04:21 +01:00
kolaente
6d6a1deba4 feat(gantt): right-align text for endOnly partial-date bars 2026-02-18 23:04:21 +01:00
kolaente
2bf99cf2d0 chore: fix lint issue from gantt partial dates feature 2026-02-18 23:04:21 +01:00
kolaente
65f92ac8d3 feat(gantt): update drag/resize to handle partial-date task updates 2026-02-18 23:04:21 +01:00
kolaente
29e77b44e1 feat(gantt): add i18n strings for partial-date accessibility 2026-02-18 23:04:21 +01:00
kolaente
5e69ee43fd feat(gantt): update API filter to fetch tasks with due_date or end_date 2026-02-18 23:04:21 +01:00
kolaente
941c4f10d7 feat(gantt): render partial-date bars with gradient fade effect 2026-02-18 23:04:21 +01:00
kolaente
6b5ab85d40 feat(gantt): handle tasks with partial dates in transformation and filtering 2026-02-18 23:04:21 +01:00
kolaente
eefa48052b feat(gantt): add dateType field to GanttBarModel meta 2026-02-18 23:04:21 +01:00
renovate[bot]
31eda396e2 chore(deps): update dev-dependencies (#2257)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[electron-builder](https://redirect.github.com/electron-userland/electron-builder)
([source](https://redirect.github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder))
| [`26.8.0` →
`26.8.1`](https://renovatebot.com/diffs/npm/electron-builder/26.8.0/26.8.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/electron-builder/26.8.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron-builder/26.8.0/26.8.1?slim=true)
|
| [happy-dom](https://redirect.github.com/capricorn86/happy-dom) |
[`20.6.1` →
`20.6.2`](https://renovatebot.com/diffs/npm/happy-dom/20.6.1/20.6.2) |
![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/20.6.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/20.6.1/20.6.2?slim=true)
|

---

### Release Notes

<details>
<summary>electron-userland/electron-builder (electron-builder)</summary>

###
[`v26.8.1`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-builder/CHANGELOG.md#2681)

[Compare
Source](https://redirect.github.com/electron-userland/electron-builder/compare/electron-builder@26.8.0...electron-builder@26.8.1)

##### Patch Changes

<details><summary>Updated 3 dependencies</summary>

<small>


[`4edd695`](4edd695045)
[`8940ec6`](8940ec63ba)
[`4edd695`](4edd695045)
[`dde4309`](dde4309b91)

</small>

- `app-builder-lib@26.8.1`
- `builder-util@26.8.1`
- `dmg-builder@26.8.1`

</details>

</details>

<details>
<summary>capricorn86/happy-dom (happy-dom)</summary>

###
[`v20.6.2`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v20.6.2)

[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v20.6.1...v20.6.2)

##### :construction\_worker\_man: Patch fixes

- Update entities package version to resolve missing export for vue and
vue-compat v3.5 - By
**[@&#8203;acollins1991](https://redirect.github.com/acollins1991)** in
task
[#&#8203;2066](https://redirect.github.com/capricorn86/happy-dom/issues/2066)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM ( * 0-3
* * * ) (UTC), 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0My4yMi4wIiwidXBkYXRlZEluVmVyIjoiNDMuMjIuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-18 15:44:19 +00:00
Ian Driver
48074d2358 feat: add optional project column to table view (#2182)
Adds a Project column to the table view, useful when viewing tasks
across multiple projects (e.g. in saved filters).

Disabled by default to keep the current behavior.

Co-authored-by: 2ZZ <ian@driv3r.uk>
2026-02-18 15:29:51 +00:00
kolaente
2cf69c7503 chore(deps): upgrade markdown-it to 14.1.1 2026-02-18 10:22:46 +01:00
kolaente
14628ca182 chore(deps): upgrade qs to 6.15.0 2026-02-18 10:21:32 +01:00
renovate[bot]
f67802721a chore(deps): update dependency @vue/eslint-config-typescript to v14.7.0 2026-02-17 15:38:34 +01:00
Martin Lindvik
e3695c17c6 feat: add Swedish for language selection (#2248)
The Swedish translations were finished on crowdin recently but I noticed
that the language selection was still missing so I went ahead and added
it.
2026-02-17 14:32:01 +00:00
renovate[bot]
7b7b883139 chore(deps): pin dependency eslint-plugin-depend to 1.4.0 2026-02-17 15:19:07 +01:00
kolaente
e6ae87d703 chore: downgrade depend/ban-dependencies to warning 2026-02-17 12:00:31 +01:00
kolaente
2fe66c8944 feat: add eslint-plugin-depend to frontend 2026-02-17 12:00:31 +01:00
renovate[bot]
c3b760ec04 chore(deps): update dev-dependencies to v8.56.0 2026-02-16 21:09:53 +01:00
kolaente
17360a820c fix: correct indentation in API tokens table after thead/tbody wrap 2026-02-16 11:45:45 +01:00
kolaente
b66b75f5be fix: wrap API tokens table rows in thead and tbody elements 2026-02-16 10:52:51 +01:00
kolaente
30e53dbd9f fix: reset group permission checkboxes when creating a new API token
The group-level "select all" checkboxes (e.g. "Labels", "Backgrounds")
were not reset after creating a token, causing them to appear visually
checked when opening the form again even though the individual
permissions were unchecked.

Ref: https://community.vikunja.io/t/token-creation-malfunction-in-ticking-system/4318
2026-02-16 10:02:50 +01:00
renovate[bot]
ad1d769f5b chore(deps): update dependency caniuse-lite to v1.0.30001770 2026-02-15 19:53:52 +01:00
renovate[bot]
e8d8f9cbec chore(deps): update dependency eslint-plugin-vue to v10.8.0 2026-02-14 20:16:39 +01:00
renovate[bot]
5a3c17aed1 chore(deps): update dev-dependencies 2026-02-13 19:02:57 +01:00
kolaente
0e4d3ef663 test(e2e): add Playwright test for avatar cache invalidation
Uploads two different avatars in sequence and verifies the header
avatar src changes after the second upload. This confirms both the
backend cache (via DelPrefix) and the frontend cache are properly
invalidated when a new avatar is uploaded.
2026-02-13 09:31:28 +01:00
Frederick [Bot]
1e2b861ea5 chore(i18n): update translations via Crowdin 2026-02-12 01:15:53 +00:00
renovate[bot]
016229faad chore(deps): update dev-dependencies 2026-02-11 22:37:26 +01:00
rhclayto
b196c986cd feat: use credentials when accessing PWA manifest (#2218) 2026-02-11 22:28:52 +01:00
renovate[bot]
b25243ef62 chore(deps): update dependency happy-dom to v20.5.1 2026-02-11 22:24:47 +01:00