# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). All releases can be found on https://code.vikunja.io/frontend/releases. The releases aim at the api versions which is why there are missing versions. ## [0.22.1] - 2024-01-28 ### Bug Fixes * *(auth)* Correctly construct redirect url from current window href * *(ci)* Use working crowdin image * *(ci)* Use working image for crowdin update step * *(ci)* Use working crowdin image * *(color picker)* When picking a color, the color picker should not be black afterwards * *(editor)* List icons * *(editor)* Use higher-contrast colors for links and code * *(editor)* Don't bubble up changes when no changes were made * *(editor)* Focus the editor when clicking on the whole edit container * *(editor)* Render images without crashing * *(editor)* Use a stable image id to prevent constant re-rendering * *(editor)* Use manual input prompt instead of window.prompt * *(filter)* Validate filter title field after loading a filter for edit * *(kanban)* Ensure text and icon color only depends on the card background, not on the color scheme * *(kanban)* Make sure the checklist summary uses the correct text color * *(kanban)* Make sure spacing between assignees and other task details works out evenly * *(labels)* Make color reset work * *(labels)* Text and background combination in dark mode * *(notifications)* Unread indicator spacing * *(notifications)* Always left-align notification text * *(notifications)* Read indicator size * *(openid)* Use the full path when building the redirect url, not only the host * *(openid)* Use the calculated redirect url when authenticating with openid providers * *(project)* Always use the appropriate color for task estimate during deletion dialoge * *(quick add magic)* Ensure month is removed from task text * *(table view)* Make sure popup does not overlap * *(task)* Don't immediately re-trigger date change when nothing changed * *(task)* Bubble date changes from the picker up * *(task)* Update due date when marking a task done * *(task)* Don't show edit button when the user does not have permission to edit the task * *(task)* Don't show assignee edit buttons and input when the user does not have the permission to edit * *(tasks)* Make sure tasks show up if their parent task is not available in the current view * *(tasks)* Don't load tasks multiple times when viewing list or gantt view * *(test)* Make date assertion not brittle * Lint ([5e991f3](5e991f3024f7856420614171ec66468eb2e2df63)) ### Dependencies * *(deps)* Update dependency @intlify/unplugin-vue-i18n to v2 (#3862) * *(deps)* Update pnpm to v8.14.0 * *(deps)* Update dependency vue to v3.4.7 (#3873) * *(deps)* Update dependency axios to v1.6.5 (#3871) * *(deps)* Update dependency date-fns to v3 (#3857) * *(deps)* Update dev-dependencies (#3861) * *(deps)* Update dependency @kyvg/vue3-notification to v3.1.3 (#3864) * *(deps)* Update dependency node to v20.11.0 * *(deps)* Update dependency vue-i18n to v9.9.0 (#3880) * *(deps)* Update dependency dompurify to v3.0.8 (#3881) * *(deps)* Update dependency floating-vue to v2.0.0 (#3883) * *(deps)* Update tiptap to v2.1.15 (#3884) * *(deps)* Update vueuse to v10.7.1 (#3872) * *(deps)* Update pnpm to v8.14.1 (#3885) * *(deps)* Update sentry-javascript monorepo to v7.93.0 (#3859) * *(deps)* Update dependency floating-vue to v5 (#3887) * *(deps)* Update dependency vue to v3.4.8 (#3886) * *(deps)* Update node.js to v20.11 (#3888) * *(deps)* Increase renovate timeout * *(deps)* Update tiptap to v2.1.16 (#3892) * *(deps)* Pin node.js (#3895) * *(deps)* Update dev-dependencies * *(deps)* Update dependency sortablejs to v1.15.2 * *(deps)* Update vueuse to v10.7.2 * *(deps)* Update dependency floating-vue to v5.1.0 * *(deps)* Update dependency vue to v3.4.14 * *(deps)* Update dev-dependencies * *(deps)* Update dev-dependencies (major) (#3890) * *(deps)* Update dependency floating-vue to v5.1.1 * *(deps)* Update dependency floating-vue to v5.2.0 * *(deps)* Update dev-dependencies * *(deps)* Update dependency vue to v3.4.15 * *(deps)* Update dependency happy-dom to v13.2.0 * *(deps)* Update sentry-javascript monorepo to v7.94.1 * *(deps)* Update dependency vite to v5.0.12 * *(deps)* Update dependency date-fns to v3.3.0 * *(deps)* Update dev-dependencies * *(deps)* Update pnpm to v8.14.2 * *(deps)* Update dependency date-fns to v3.3.1 * *(deps)* Update dev-dependencies to v6.19.1 * *(deps)* Update pnpm to v8.14.3 * *(deps)* Update sentry-javascript monorepo to v7.95.0 * *(deps)* Update dev-dependencies * *(deps)* Update dependency axios to v1.6.6 * *(deps)* Update dev-dependencies * *(deps)* Update sentry-javascript monorepo to v7.97.0 * *(deps)* Update sentry-javascript monorepo to v7.98.0 * *(deps)* Update dependency axios to v1.6.7 * *(deps)* Update dev-dependencies * *(deps)* Update dev-dependencies * *(deps)* Update dev-dependencies ### Features * *(reminders)* Show reminders in notifications bar * Datepicker locale support (#3878) ([92f7d9d](92f7d9ded5d56b95ba7d647eba01372f6ef682ad)) ### Miscellaneous Tasks * *(i18n)* Update translations via Crowdin * *(i18n)* Update translations via Crowdin * *(i18n)* Update translations via Crowdin * *(perf)* Import some modules dynamically (#3179) * Only show webhooks overview table when there are webhooks ([326bfb5](326bfb557ab359fa154b163f5dd957928f46d3ec)) * Only show webhooks overview table when there are webhooks ([631b02d](631b02d2eedc4a403b7c55f1c56ceaeca5379bf5)) ## [0.22.0] - 2023-12-19 ### Bug Fixes * *(api tokens)* Expiry of tokens in a number of days * *(api tokens)* Lint * *(api tokens)* Make deletion of old tokens work * *(api tokens)* Show a token after it was created * *(attachments)* Layout and coloring in dark mode * *(auth)* Correctly redirect the user to the last visited page after login * *(auth)* Silently discard invalid auth tokens and log the user out * *(background)* Unsplash author credit in dark mode * *(build)* Don't download Puppeteer when building for prod * *(ci)* Pin used node version to 20.5 to avoid build issues * *(ci)* Use correct secret key to push * *(docker)* Set correct default value for custom logo url * *(editor)* Actions styling * *(editor)* Actually populate loaded data into the editor * *(editor)* Add icons for clearing marks and nodes * *(editor)* Add missing dependencies for commands * *(editor)* Add missing dependency * *(editor)* Add workaround for checklist tiptap bug * *(editor)* Alignment and focus states * *(editor)* Allow checking a checkbox even when the editor is set to read only * *(editor)* Always set mode to preview after save * *(editor)* Always show placeholder when empty * *(editor)* Change description when switching between tasks * *(editor)* Check for almost empty editor value * *(editor)* Check for empty content * *(editor)* Checklist button icon * *(editor)* Commands list in dark mode * *(editor)* Correctly resolve images in descriptions * *(editor)* Don't check parent checkbox when child label was clicked * *(editor)* Don't crash when the component isn't completely mounted * *(editor)* Don't create empty "blob" files when pasting images * *(editor)* Don't prevent typing editor focus shortcut when other instance of an editor is focused already * *(editor)* Don't use global shortcut when anything is focused * *(editor)* Duplicate name * *(editor)* Duplicate name for extension * *(editor)* Focus state * *(editor)* Image button icon * *(editor)* Image paste handling * *(editor)* Keep editor open when emptying content from the outside * *(editor)* Keep editor open when emptying content from the outside (#3852) * *(editor)* Lint * *(editor)* Lint * *(editor)* List styling * *(editor)* Make checklist indicator work again * *(editor)* Make initial editor mode (preview/edit) work * *(editor)* Make tests work with changed structure * *(editor)* Permission check for table editing * *(editor)* Placeholder showing or not showing * *(editor)* Reset on empty * *(editor)* Show editor if there is no content initially * *(editor)* Use edit enable * *(editor)* Use modelValue directly to update values in the editor * *(filter)* Don't immediately re-trigger prepareFilter * *(filter)* Don't prevent entering date math strings * *(filter)* Don't show other filters in project selection in saved filter * *(filter)* Make other filters are not available for project selection * *(filters)* Don't allow marking a filter as favorite * *(filters)* Incorrect translation string * *(filters)* Infinite loop when creating filters with dates (#3061) * *(gantt)* Open task with double click from the gantt chart * *(gantt)* Update the gantt view when switching between projects * *(i18n)* Add upload files config * *(i18n)* Fall back to browser language if the configured user language is invalid * *(i18n)* Hungarian translation * *(kanban)* Check if doneBucketId is set * *(kanban)* Make sure kanban cards always have text color matching their background * *(kanban)* Opening a task from the kanban board and then reloading the page should not crash everything when then navigating back * *(list view)* Align nested subtasks with the parent text * *(menu)* Separate favorite and saved filter projects from other projects * *(navigation)* Don't hide color bubble in navigation on touch devices * *(navigation)* Show filter settings dropdown * *(project)* Correctly show project color next to project title in list view * *(projects)* Don't suggest to create a new task in an empty filter * *(quick actions)* Always open quick actions with hotkey, even if other inputs are focused * *(quick actions)* Always search for projects * *(quick actions)* Don't show projects when searching for labels or tasks * *(quick actions)* Invalid class prop * *(quick actions)* Project filter * *(quick actions)* Project search * *(quick actions)* Search for tasks within a project when specifying a project with quick add magic * *(quick add magic)* Annually and variants spelling * *(quick add magic)* Headline * *(quick add magic)* Ignore common task indention when adding multiple tasks at once * *(quick add magic)* Repeating intervals in words * *(settings)* Allow removing the default project via settings * *(settings)* Move overdue remindeer time below * *(sw)* Remove debug option via env as it would not be replaced correctly in prod builds * *(task)* Correct spacing to task and project title * *(task)* Correctly build task identifier * *(task)* Don't reload the kanban board when opening a task * *(task)* Don't reload the kanban board when opening a task * *(task)* Duplicate attribute * *(task)* Make sure the modal close button is not overlapped with the title field (#3256) * *(task)* Priority label sizing and positioning in different environments * *(task)* Priority label spacing * *(task)* Remove wrong repeat types * *(task)* Show related tasks form with shortcut even when there are already other related tasks * *(task)* Use editor as preview first, then check for edit * *(task)* Use empty description helper everywhere * *(tasks)* Don't use the filter for upcoming when one is set for the home page * *(tasks)* Favorited sub tasks are not shown in favorites pseudo list * *(tasks)* Ignore empty lines when adding multiple tasks at once * *(tasks)* Make sure tasks are fully clickable * *(tasks)* Play pop sound directly and not from store * *(tasks)* Prevent endless references * *(tasks)* Reset page number when applying filters * *(tasks)* Update api route * *(tasks)* Update sub task relations in list view after they were created * *(tasks)* Use mousedown event instead of click to close the task popup * *(test)* Use correct file input * *(user)* Allow openid users to request their deletion * *(webhooks)* Styling* Correctly resolve kanban board in the background when moving a task ([8902c15](8902c15f7e9590da075e860f3d35939169ee246a)) * Don't render route modal when no properties are defined ([b1fe3fe](b1fe3fe29b3f7c8e3f1fa279b74f674bc63db232)) * Don't try to load buckets for project id 0 ([15ecafd](15ecafdf04391139da27f38dac9ed915d6220a9a)) * Lint ([218d724](218d72494a088b612e720ca2e9b566c0d3446579)) * Lint ([337c3e5](337c3e5e3e06a9e4928bebffda2e2f223fef398b)) * Lint ([7f2d921](7f2d92138e302188d6000632b4bc9bf053194dee)) * Lint ([99e2161](99e2161c09b1e2b08f3a907bd2e3ad2c71da87d3)) * Lint ([c01957a](c01957aae24696812c80b18c77137b5030fc757a)) * Tests ([f6d1db3](f6d1db35957c4c2fda7a58539a0a39db1b683ccb)) ### Dependencies * *(deps)* Remove unused dependencies * *(deps)* Update dependencies * *(deps)* Update dependencies * *(deps)* Update dependency @fortawesome/vue-fontawesome to v3.0.5 (#3815) * *(deps)* Update dependency @github/hotkey to v2.1.0 (#3766) * *(deps)* Update dependency @github/hotkey to v2.1.1 (#3770) * *(deps)* Update dependency @github/hotkey to v2.2.0 (#3809) * *(deps)* Update dependency @github/hotkey to v2.3.0 (#3810) * *(deps)* Update dependency @github/hotkey to v2.3.1 (#3845) * *(deps)* Update dependency @github/hotkey to v3 * *(deps)* Update dependency @infectoone/vue-ganttastic to v2.2.0 * *(deps)* Update dependency @intlify/unplugin-vue-i18n to v0.12.2 * *(deps)* Update dependency @intlify/unplugin-vue-i18n to v1 * *(deps)* Update dependency @intlify/unplugin-vue-i18n to v1.5.0 (#3812) * *(deps)* Update dependency @intlify/unplugin-vue-i18n to v1.6.0 * *(deps)* Update dependency @kyvg/vue3-notification to v3 * *(deps)* Update dependency @kyvg/vue3-notification to v3.1.2 * *(deps)* Update dependency @types/is-touch-device to v1.0.1 (#3786) * *(deps)* Update dependency @types/is-touch-device to v1.0.2 (#3816) * *(deps)* Update dependency @types/lodash.clonedeep to v4.5.8 (#3787) * *(deps)* Update dependency @types/lodash.clonedeep to v4.5.9 (#3817) * *(deps)* Update dependency @types/node to v18.17.0 * *(deps)* Update dependency @types/node to v20 (#3796) * *(deps)* Update dependency @types/sortablejs to v1.15.4 (#3788) * *(deps)* Update dependency @types/sortablejs to v1.15.5 (#3818) * *(deps)* Update dependency @vueuse/core to v10.3.0 * *(deps)* Update dependency @vueuse/core to v10.4.0 (#3723) * *(deps)* Update dependency axios to v1.5.1 * *(deps)* Update dependency axios to v1.6.0 (#3801) * *(deps)* Update dependency axios to v1.6.2 (#3820) * *(deps)* Update dependency caniuse-lite to v1.0.30001514 * *(deps)* Update dependency codemirror to v5.65.14 * *(deps)* Update dependency dayjs to v1.11.10 (#3753) * *(deps)* Update dependency dompurify to v3.0.5 * *(deps)* Update dependency dompurify to v3.0.6 (#3754) * *(deps)* Update dependency eslint to v8.52.0 (#3785) * *(deps)* Update dependency highlight.js to v11.9.0 (#3763) * *(deps)* Update dependency lowlight to v2.9.0 (#3789) * *(deps)* Update dependency marked to v5.1.1 * *(deps)* Update dependency marked to v9 * *(deps)* Update dependency marked to v9.1.0 (#3760) * *(deps)* Update dependency marked to v9.1.1 (#3768) * *(deps)* Update dependency marked to v9.1.2 (#3774) * *(deps)* Update dependency node (#3797) * *(deps)* Update dependency node (#3834) * *(deps)* Update dependency node to v18.18.0 * *(deps)* Update dependency node to v18.18.1 * *(deps)* Update dependency node to v18.18.2 * *(deps)* Update dependency pinia to v2.1.6 * *(deps)* Update dependency pinia to v2.1.7 (#3771) * *(deps)* Update dependency sass to v1.69.2 (#3767) * *(deps)* Update dependency sortablejs to v1.15.1 (#3841) * *(deps)* Update dependency ufo to v1.2.0 * *(deps)* Update dependency ufo to v1.3.1 * *(deps)* Update dependency ufo to v1.3.2 (#3824) * *(deps)* Update dependency vite to v4.4.2 * *(deps)* Update dependency vite to v4.4.3 * *(deps)* Update dependency vue to v3.3.10 (#3843) * *(deps)* Update dependency vue to v3.3.13 * *(deps)* Update dependency vue to v3.3.5 (#3782) * *(deps)* Update dependency vue to v3.3.6 (#3784) * *(deps)* Update dependency vue to v3.3.7 (#3799) * *(deps)* Update dependency vue to v3.3.8 (#3814) * *(deps)* Update dependency vue to v3.3.9 (#3837) * *(deps)* Update dependency vue-i18n to v9.5.0 * *(deps)* Update dependency vue-i18n to v9.6.0 (#3800) * *(deps)* Update dependency vue-i18n to v9.6.1 (#3803) * *(deps)* Update dependency vue-i18n to v9.6.5 (#3807) * *(deps)* Update dependency vue-i18n to v9.7.0 (#3825) * *(deps)* Update dependency vue-i18n to v9.8.0 (#3833) * *(deps)* Update dependency vue-router to v4.2.5 (#3755) * *(deps)* Update dessant/repo-lockdown action to v4 * *(deps)* Update dev-dependencies * *(deps)* Update dev-dependencies * *(deps)* Update dev-dependencies * *(deps)* Update dev-dependencies * *(deps)* Update dev-dependencies * *(deps)* Update dev-dependencies * *(deps)* Update dev-dependencies * *(deps)* Update dev-dependencies * *(deps)* Update dev-dependencies * *(deps)* Update dev-dependencies * *(deps)* Update dev-dependencies (#3721) * *(deps)* Update dev-dependencies (#3726) * *(deps)* Update dev-dependencies (#3740) * *(deps)* Update dev-dependencies (#3746) * *(deps)* Update dev-dependencies (#3747) * *(deps)* Update dev-dependencies (#3757) * *(deps)* Update dev-dependencies (#3761) * *(deps)* Update dev-dependencies (#3769) * *(deps)* Update dev-dependencies (#3776) * *(deps)* Update dev-dependencies (#3780) * *(deps)* Update dev-dependencies (#3793) * *(deps)* Update dev-dependencies (#3802) * *(deps)* Update dev-dependencies (#3806) * *(deps)* Update dev-dependencies (#3811) * *(deps)* Update dev-dependencies (#3813) * *(deps)* Update dev-dependencies (#3821) * *(deps)* Update dev-dependencies (#3826) * *(deps)* Update dev-dependencies (#3828) * *(deps)* Update dev-dependencies (#3829) * *(deps)* Update dev-dependencies (#3835) * *(deps)* Update dev-dependencies (#3842) * *(deps)* Update dev-dependencies (#3846) * *(deps)* Update dev-dependencies (#3856) * *(deps)* Update dev-dependencies (major) (#3741) * *(deps)* Update dev-dependencies (major) (#3827) * *(deps)* Update dev-dependencies to v6 * *(deps)* Update flake * *(deps)* Update font awesome to v6.4.2 * *(deps)* Update font awesome to v6.5.1 (#3839) * *(deps)* Update lockfile * *(deps)* Update lockfile * *(deps)* Update lockfile * *(deps)* Update lockfile * *(deps)* Update lockfile * *(deps)* Update lockfile * *(deps)* Update node.js to v18.17.0 * *(deps)* Update node.js to v18.17.1 * *(deps)* Update node.js to v20.7 (#3736) * *(deps)* Update node.js to v20.8 (#3756) * *(deps)* Update pnpm to v8.10.2 * *(deps)* Update pnpm to v8.10.5 * *(deps)* Update pnpm to v8.11.0 * *(deps)* Update pnpm to v8.12.1 * *(deps)* Update pnpm to v8.6.12 * *(deps)* Update pnpm to v8.6.7 * *(deps)* Update pnpm to v8.6.8 * *(deps)* Update pnpm to v8.6.9 * *(deps)* Update pnpm to v8.7.0 * *(deps)* Update pnpm to v8.8.0 * *(deps)* Update pnpm to v8.9.0 * *(deps)* Update pnpm to v8.9.2 * *(deps)* Update sentry-javascript monorepo to v7.58.0 * *(deps)* Update sentry-javascript monorepo to v7.58.1 * *(deps)* Update sentry-javascript monorepo to v7.59.1 * *(deps)* Update sentry-javascript monorepo to v7.59.2 * *(deps)* Update sentry-javascript monorepo to v7.59.3 * *(deps)* Update sentry-javascript monorepo to v7.60.0 * *(deps)* Update sentry-javascript monorepo to v7.73.0 * *(deps)* Update sentry-javascript monorepo to v7.74.0 (#3772) * *(deps)* Update sentry-javascript monorepo to v7.74.1 (#3778) * *(deps)* Update sentry-javascript monorepo to v7.75.1 (#3798) * *(deps)* Update sentry-javascript monorepo to v7.77.0 (#3805) * *(deps)* Update sentry-javascript monorepo to v7.80.1 (#3819) * *(deps)* Update sentry-javascript monorepo to v7.85.0 (#3831) * *(deps)* Update sentry-javascript monorepo to v7.88.0 * *(deps)* Update sub-dependencies * *(deps)* Update tiptap to v2.1.12 (#3790) * *(deps)* Update tiptap to v2.1.13 (#3840) * *(deps)* Update vueuse to v10.5.0 (#3762) * *(deps)* Update vueuse to v10.6.1 (#3822) * *(deps)* Update vueuse to v10.7.0 (#3844) ### Features * *(api tokens)* Add basic api token overview * *(api tokens)* Add deleting api tokens * *(api tokens)* Add token creation form * *(api tokens)* Allow custom selection of expiry dates * *(api tokens)* Allow selecting all permissions * *(api tokens)* Format permissions and groups human-readable * *(api tokens)* Show warning if token has expired * *(api tokens)* Validate title field when creating a new token * *(assignees)* Improve avatar list consistency * *(editor)* Add all slash commands * *(editor)* Add bubble menu * *(editor)* Add code highlighting * *(editor)* Add command list example * *(editor)* Add comment when pressing ctrl enter * *(editor)* Add placeholder * *(editor)* Add proper description for all buttons * *(editor)* Add tests to check rendering of task description * *(editor)* Add tooltips for everything * *(editor)* Add uploading an image on save * *(editor)* Allow passing placeholder down * *(editor)* Edit mode * *(editor)* Edit shortcut to set focus into the editor * *(editor)* Enable table * *(editor)* Image upload * *(editor)* Improve overall styling * *(editor)* Make image upload work via slash command * *(editor)* Make task list work * *(editor)* Mark a checkbox item as done when clicking on its text * *(editor)* Move all editor related components into one folder * *(editor)* Only load attachment images when rendering is done * *(editor)* Open links when clicking on them * *(editor)* Properly bubble changes when they are made * *(editor)* Resolve and load attachment images from content * *(editor)* Save when pressing ctrl enter * *(gantt)* Implement dynamic sizing on small date ranges (#3750) * *(i18n)* Add Slovene language for selection in the ui * *(i18n)* Add arabic to list of selectable languages * *(i18n)* Add hungarian translation for selection * *(i18n)* Run translation update directly * *(i18n)* Update crowdin sync to use v2 api * *(i18n)* Update translations only once a day * *(kanban)* Add icon for bucket collapse * *(kanban)* Add setting for default bucket * *(kanban)* Save done bucket with project instead of bucket * *(labels)* Assign random color when creating labels * *(list view)* Show subtasks nested * *(migration)* Proper wording for async migration * *(notifications)* Add option to mark all as read * *(quick actions)* Show done tasks last * *(quick actions)* Show labels as labels and tasks with all of their details * *(quick actions)* Show task identifier * *(quick actions)* Show tasks for a label when selecting it * *(quick add magic)* Allow using the project identifier via quick add magic * *(task)* Add more tests * *(task)* Group related task action buttons * *(task)* Immediately set focus on the task search input when opening the related tasks menu * *(task)* Move task priority to the front when showing tasks inline * *(task)* Save currently opened task with control/meta + s * *(tasks)* Make the whole task in list view clickable * *(tasks)* Update due date text every minute * *(webhooks)* Add form validation* Allow custom logo via environment variable (#3685) ([cade3df](cade3df3e9a7eca8e0aa9d1553dd5597f0f5a8a2)) * *(webhooks)* Add webhook management form * Add demo mode warning message ([ed8fb71](ed8fb71ff0b05860f320e2a1fe6c3cb29ed2889a)) * Add setting for default bucket ([04ba101](04ba1011cc3042f657ddb40ee727caf455db8b64)) * Api tokens ([28f2551](28f2551d87b99c59055a4909195e435dbd9794b6)) * Improve error message for invalid API url ([725fd1a](725fd1ad467fb988810cb23f12d372af236bd21d)) * Move from easymde to tiptap editor (#2222) ([26fc9b4](26fc9b4e4f8b96616385f4ca0a77a0ff7ee5eee5)) * Quick actions improvments ([47d5890](47d589002ccef5047a25ea3ad8ebe582c3b0bbc6)) * Webhooks (#3783) ([5d991e5](5d991e539bb3a249447847c13c92ee35d356b902)) ### Miscellaneous Tasks * *(ci)* Sign drone config * *(editor)* Add break icon * *(editor)* Add horizontal line icon * *(editor)* Cleanup * *(editor)* Cleanup unused options * *(editor)* Format * *(editor)* Make sure all tiptap dependencies are updated as one * *(editor)* Move checklist to the other lists * *(editor)* Remove converting markdown * *(editor)* Remove marked usages * *(editor)* Remove old editor component * *(editor)* Remove unused components * *(editor)* Use typed props definition * *(filter)* Remove debug log * *(quick actions)* Format* Provide better error messages when refreshing user info fails ([d535879](d5358793de7fc53795329382222e5f3bafc7fba1)) * Add pr lockdown ([07b1e9a](07b1e9a6b76eb7d92640e00a1dec4294efd2947b)) * Cleanup ([a4a2b95](a4a2b95dc7eaad5fe313884eec0d22d7ae5f85c1)) * Debug ([3cb1e7d](3cb1e7dede659acd19410e0611346e0f582f2ff3)) * Format ([c3f85fc](c3f85fcb1988603a58104552b35101b13e93b06e)) * Improve checking for API url '/' suffix (#121) ([311b1d7](311b1d7594cfd03be4d998f4aead041a8ca63f8c)) * Include version json string in release zip ([c4adcf4](c4adcf4655550214ae795d941eb51878f34cedeb)) * Update flake ([64c90c7](64c90c7fe8a77ded21778a798f18862fe966bd1a)) * Update lockfile ([9f82ec4](9f82ec4162151ba32f329cb8e335eff6b21cebd4)) ### Other * *(other)* [skip ci] Updated translations via Crowdin ## [0.21.0] - 2023-07-07 ### Bug Fixes * *(Expandable)* Spelling * *(building)* Let the compiler ignore props interface * *(ci)* Always pull latest unstable api image for testing * *(ci)* Directly build docker images and not use releases to avoid caching issues * *(ci)* Disable puppeteer chrome download * *(docker)* Copy patches prior to installing dependencies so that the installation actually works * *(docker)* Don't set nginx worker rlimit * *(filters)* Load projects after creating a filter * *(filters)* Load projects after deleting a filter * *(filters)* Load projects after updating a filter * *(gantt)* Only update today value when changing to the gantt chart view * *(i18n)* OrderedList translationid * *(i18n)* Typo * *(kanban)* Decrease task count per bucket when deleting a task * *(kanban)* Don't export buckets as readonly because that makes it impossible to update them, even from within the store * *(link share)* Default share view should be list, not project * *(link share)* Redirect to list view after authenticating * *(navigation)* Favorites project * *(navigation)* Hide archived subprojects * *(navigation)* Hide left ul border * *(navigation)* Highlight saved filters in project view and prevent them from being dragged around * *(navigation)* Hover state of other menu items * *(navigation)* Make marking a project as favorite work * *(navigation)* Make sure the Favorites project shows up when marking or unmarking a task as favorite * *(navigation)* Make sure updating a project's state works for sub projects as well. * *(navigation)* Make the styles work again * *(navigation)* Menu item overflow * *(navigation)* Nav item width for items without sub projects * *(navigation)* Show text ellipsis for very long project titles * *(navigation)* Sidebar top spacing * *(navigation)* Watcher * *(project)* Correctly load background when switching from or to a project view * *(project)* Don't try to read title of undefined project * *(project)* Duplicate a project without new parent * *(project)* Make sure the correct tasks are loaded when switching between projects * *(project)* Set maxRight on projects after opening a task * *(projects)* Make sure the project hierarchy is properly updated when moving projects between parents * *(projects)* Update project duplicate api definitions * *(quick add magic)* Cleanup all assignee properties * *(quick add magic)* Date parsing with a date at the beginning * *(quick add magic)* Don't replace the prefix in every occurrence when it is present in the matched part * *(quick add magic)* Use the project user service to find assignees for quick add magic * *(reminders)* Align remove icon with the rest * *(reminders)* Assignment to const when changing a reminder * *(reminders)* Custom relative highlight now only when a custom relative reminder was actually selected * *(reminders)* Don't assigne the task * *(reminders)* Don't assume 30 days are always a month * *(reminders)* Don't sync negative relative reminder amounts in ui * *(reminders)* Duplicate reminder for each change * *(reminders)* Flatpickr styling improvements * *(reminders)* Properly parse relative reminders which don't have an amount * *(reminders)* Set date over relative reminder * *(reminders)* Style flatpickr so that it blends in more * *(repeat)* Prevent disappearing repeat mode settings when modes other than default repeat mode were selected * *(sentry)* Don't fail the build when sentry upload fails * *(sentry)* Use correct environment from vite env mode * *(settings)* Don't try to sort timezones if there are none * *(task detail view)* Make project display show the task's project * *(task)* Break long task titles after 4 lines only * *(task)* Call getting task identifier directly instead of using model function * *(task)* Make an attachment cover image * *(task)* Repeat mode now saves correctly * *(tests)* Make sure the task is created with a bucket * *(tests)* New project input field * *(tests)* Project archived filter checkbox selector * *(tests)* Wait for request instead of fixed time * *(user)* Fix flickering of default settings * *(user)* Lint* Fix comment * *(user)* Set the language when saving * Add await ([9d9fb95](9d9fb959d8f1c4a12110f1a988115116085b6aaf)) * Add default for level ([9402344](9402344b7ea70359c592412b6c341897e45c6069)) * Add interval to uses of useNow so that it uses less resources ([b77c7c2](b77c7c2f45495a0fe6d132b5f569e807074c6d12)) * Add more padding to the textarea ([dfa6cd7](dfa6cd777bc5d03cf88d62db9008aa0b366aa806)) * Add spacing between checkbox and title of related task ([62825d2](62825d2e6409e08ab3229bf693ed068198e18085)) * Allow icon changes configuration via env (#3567) ([57218d1](57218d14548bf1d4cd59f6976e84cf178023305d)) * Avoid crashing browser processes during tests ([7b05ed9](7b05ed9d3d24e07a6535f2462d215c47b6650be1)) * Bottom margin of project header ([1a94496](1a9449680114212eeb93be2aba3f10c416f67e78)) * Bubble changes from the editor immediately and move the delay to callers ([f4a7943](f4a79436809d13e1d2c5337f79358c15310d08d2)) * Checkbox label size based on icon ([fd699ad](fd699ad777c47764b35345b7ec18a854957ff5d1)) * Clarify user search setting ([ae025e3](ae025e30c659d43cce1e3f8361bd1c4c7cb860da)) * Cleanup unused translation strings ([aaa9d55](aaa9d553d080a83a9fd1bcdece366fb5832831f1)) * Collapsing child projects ([2250918](225091864f9088a07120cd3d36918f3060d57d30)) * Correctly sync filters on upcoming tasks page ([faa6298](faa62985dff877afc54c3510be8d27d493717780)) * Disable autocomplete in assignee search ([64f9f4f](64f9f4fd88a513cbc401aacbeab87695bb9f55bf)) * Don't allow creating a new label from filter view ([4c969f0](4c969f0a427e98b491c49646aaf19e19cf9ec924)) * Don't require variant prop on loading component as it already has a default one set ([01ac84c](01ac84ce1eda1de79fd752792115a71cb5c15698)) * Don't set the current project when setting a project ([31b7c1f](31b7c1f217532bf388ba95a03f469508bee46f6a)) * Don't show > for top-level projects ([03f4d0b](03f4d0b8bcba90b19302d6c6d2fbb92460b59957)) * Don't show child projects when the project is only a favorite ([0a17df8](0a17df87e950b8043578dbb7e9f12d5937802169)) * Don't try to convert a null date ([4ba02eb](4ba02ebbb6be4b96a42688b3ec8f29fe923aee0b)) * Don't try to map data from empty responses ([a118580](a11858070496614c492da321fe461b72c31afe5a)) * Don't try to map non-array data ([813d2b5](813d2b56a06cbd28a1bf0d01b64685a1b49188d0)) * Don't try to set a user language if none is saved ([68fd469](68fd4698ac443345dc7dbbf8cfebf76ec467b6ec)) * Don't try to set config from non-json responses ([7c1934a](7c1934aad0e5fcd0f785896d57efc34c6df935cd)) * Ensure all matched quick add magic parts are correctly removed from the task ([7b6a13d](7b6a13dd52dfa06e6093ae30adad1b86b66610e1)) * Ensure same protocol for configured api url (#3303) ([6c999ad](6c999ad14844b4f9ec74dc225895db6a12e4a781)) * Follow the happy path ([34182b8](34182b8bbb7a7e8eeb0ce698dc6da79785d05fc9)) * Force usage of @types for flexsearch instead of integrated types ([f60cebf](f60cebf42cb73d9fd2d9fea8de5bbeb96a724d47)) * Has-pseudo-class polyfill ([4703f9c](4703f9c4d5e3902d0fc389d447aa9a7da2e2dd4a)) * Ignore ts deprecations for now ([96e2c81](96e2c81b7ef2b7a0ff515dd01d9aeb28429cc0d5)) * Improve projectView storing and add migration ([842f204](842f204123afc3b9b4633b68de58cffb3af4f912)) * Improve the "pop" sound a bit ([3643ffe](3643ffe0d0357c89cb3517fafbb0c438188ac88d)) * Improve tooltip icon contrast ([a6cdf6c](a6cdf6c4bdceb1168f20e9d049c2e66f40c98aa1)) * Improve tooltip text ([2174608](21746088012f4fe0f750ed5e5cac916d506fb17b)) * Increase default auto-save timeout to 5 seconds ([f7ba3bd](f7ba3bd08fa9181180f99f4e5ebd5ec916fbcf19)) * Indention ([e25273d](e25273df4899867ee146159d3d18125d387f8524)) * Lint ([292c904](292c90425ef96b99671702a0b28d87d660fa53dc)) * Lint ([4ff0c81](4ff0c81e373696b0505c2c080d558a20071562f3)) * Lint ([5d59392](5d593925666a09cbfda2f62577deb670033f93fb)) * Lint ([9ec29ca](9ec29cad300fe1c25cb355fb86e165ca920df511)) * Lint ([c294f9d](c294f9d28d3e793f8151265d5a16ed2fc53aea92)) * Lint ([c74612f](c74612f24adeb4aceafe9fc9b3264b1dfe84d128)) * Lint ([cd2b7fe](cd2b7fe185632253290838e405b8a2666b15ce24)) * Lint ([ed8de7e](ed8de7e3eb78f6723d5f675cca18c014b252ed64)) * List view: don't sort tasks after marking one "done" (#3285) ([6870db4](6870db4a72568f183134a6dd2d4af687dd7c839d)) * Load the correct language ([6593380](6593380013ff6043b846126ac67e6f96442a1c5b)) * Make check if projects are available work again ([5e65814](5e65814b8c5b37f3962856f2809f7cc85756da1e)) * Make computed side-effect free ([26bec05](26bec0517417afc52db93f0fdc4c48d47ed5c131)) * Make sure redirects to a saved view work as intended ([a64c0c1](a64c0c19e5a7da36ae4993fce443e4f37e3a4572)) * Make sure the unread notifications indicator is correctly positioned ([8b90b45](8b90b45739418f447b885fc9b37438e325f61b32)) * Make tests work again ([5685890](56858904938126dbfa8ade2e88e3ec6c4fff3a6f)) * Make type singular ([bc416f2](bc416f282f13d2b81782aba4b0d68b71f26c83e8)) * Make update available button use the correct text color all the time ([ae2b0f9](ae2b0f97c4bb50d4ff493af2af132f9740d16d49)) * Missing await ([391992e](391992effbb424a107ff060e7175884740a28c62)) * Missing variant prop for loading component ([2e9ade1](2e9ade11c3a3b6cb531d053f82a598a5ab851a93)) * Move parent project child id mutation to store ([26e3d42](26e3d42ed527afd6bf695ba3ad291e1c2b545bba)) * Move parent project handling out of useProject ([ba452ab](ba452ab88339b9ace987f1a18584a7950e00a776)) * Move the collapsable placeholder to the button ([1344026](1344026494fe47ac5604bff07b537a2765e840f6)) * Move types to dev dependencies ([739fe0c](739fe0caa13dc946e1801f290d8ab5f18cdc5faf)) * Only bind child projects data down ([3eca9f6](3eca9f6180e64f892e94d27eaa192cea780563a0)) * Only update daytime salutation when switching to home view ([c577626](c5776264c069000efbb62c64dfc2143d5fc4e0df)) * Passing readonly projects data to navigation ([d85be26](d85be26761240164b6bdcbe0601b46585b74fafa)) * Properly determine if there are projects ([a2cc9dd](a2cc9ddc8821a4b9b1ee1dd6109d1b3958a06ba6)) * Rebase readd CustomTransition ([b93639e](b93639e14ecab06496086c3d2cc14f51d8f9f672)) * Recreate project instead of editing before ([175e31c](175e31ca629660d8d683b35b8e7c8052a62cd17d)) * Redundant ) ([6c2dc48](6c2dc483a20213f1f238e6224b9ecfb87faa2461)) * Remove getProjectById and replace all usages of it ([78158bc](78158bcba52d152a2ebf465242e25a55e6764470)) * Remove leftover suspense ([9d73ac6](9d73ac661fbf9315995c8a1f633708021591d2db)) * Remove leftovers of childIds ([bbaddb9](bbaddb9406910106b7d476a6550acff025e72655)) * Remove namespace routes ([10311b7](10311b79df36db44a8e96a446234c3c6d6aa6ec7)) * Remove namespace store reference ([ad2690b](ad2690b21cfc9ccc658737a726cc6b110089b635)) * Remove unnecessary fallback ([d414b65](d414b65e7d591f567067ce8085b9934207dc938a)) * Rename getParentProjects method to make it clear what it does ([39f699a](39f699a61ae91eb93c364137f76b595e7cad7561)) * Rename list to project for parsing subtasks via indention ([fc8711d](fc8711d6d841d11847cd8567999373145ce3398d)) * Rename resolveRef ([f14e721](f14e721caf9434ac119f32c5e7f107bfbdd6746c)) * Return redirect ([7c964c2](7c964c29d487b5bcd2c125f81731e3b37374641a)) * Return updated project instead of the old one ([4ab5478](4ab547810c77e747e701ea865c13157d51aba461)) * Review findings ([5fb45af](5fb45afb12479eb135323299409bd91d8be24e39)) * Review findings ([85ffed4](85ffed4d9a26fc054fee51608bb83ccf2e3032f9)) * Review findings ([fb14eca](fb14eca6340ac4c761b8f61027662328bf55ade4)) * Route to create new project ([a5e710b](a5e710bfe594e06262b9ef46fa6b56ad637b8156)) * Set and use correct type for destructured props ([dbe1ad9](dbe1ad9353e165fd1e314cc72c7a4dece1c47d38)) * Set vue-ignore ([b6cd424](b6cd424aa30be3bd715c0b7555032fc80149ae7b)) * Show favorite on hover ([0be83db](0be83db40fa96478bfdb4a69e8a995d6debb6f52)) * Simplify sort ([85e882c](85e882cc5940067414004dabd01916f559fbd0ff)) * Sort in store ([46e8258](46e825820c465ebb9f8087e3afe6d74fad8d5159)) * SortBy type import ([d73b71a](d73b71a097755cdb075955a824c26bbaba222aaf)) * Spacing ([9162002](9162002e55d9ebfd0a6c8dbe28aab0c15f95b7e2)) * Style: "favorite" button being shown on projects without hovering ([ee4974a](ee4974a4948012b03adcedd956c0d907c57431c9)) * Switching to view type now ([060a573](060a573fe9006441131fd98c4618c5d294cf39b7)) * Tests ([69e94e5](69e94e58c451a5115c713696798f8fcbf8f787b3)) * Translation string ([f13db92](f13db9268a8862204522a8d68ad7b51edb9d91e1)) * Tsconfig as per https://github.com/vuejs/tsconfig#configuration-for-node-environments ([05b7063](05b70632c55ce34ee6471cc372334fc6e14c99a0)) * Tsconfig as per https://github.com/vuejs/tsconfig#configuration-for-node-environments ([ca9fe6f](ca9fe6ff215351c3f4c8de65a333f5cfd5876488)) * Undefined parent project when none was selected ([6cc11e6](6cc11e64ab392f8e8e69070000a748c04746e550)) * Undo further nesting of interactive items ([0acf447](0acf44778d0ab2a317bcfb3e89aa0292e2d5c2ed)) * Update logo change only every hour ([7126576](71265769cefb91be9a51fceff0a04095a9dd7e72)) * Use correct shortcut to open projects overview ([326b6ed](326b6eda6fce6554ea6e215c681466374657902a)) * Use menu tag everywhere ([0dd6f82](0dd6f82a0e198056724821c2bb56c6b9807ea451)) * Use onActivated ([a33fb72](a33fb72ef86112c6f29017bb951ff4e1ee611ed6)) * Use props destructuring everywhere ([3aa502e](3aa502e07d89314e885c252e1e3d4668fa64059b)) * Use strict comparison ([91e9eef](91e9eef5829d2a5ae27099fbd54029ed0ca46818)) * Use the color bubble as handle if the project has a color ([4857080](48570808e55e51751734ddaf4532ad651920d622)) * Use time constant ([a13c16c](a13c16ca03698a24860f8453cdb231c420d0077b)) * Wording ([985f998](985f998a821229d03c7d40d1a81f7fbe5121d585)) ### Dependencies * *(deps)* Install dependencies after rebase * *(deps)* Pin dependency @tsconfig/node18 to 2.0.0 * *(deps)* Update all dev dependencies at once per day * *(deps)* Update caniuse-and-related * *(deps)* Update caniuse-and-related * *(deps)* Update dependency @4tw/cypress-drag-drop to v2.2.4 * *(deps)* Update dependency @cypress/vite-dev-server to v5.0.5 * *(deps)* Update dependency @cypress/vue to v5.0.5 * *(deps)* Update dependency @faker-js/faker to v8 * *(deps)* Update dependency @faker-js/faker to v8.0.1 * *(deps)* Update dependency @faker-js/faker to v8.0.2 * *(deps)* Update dependency @intlify/unplugin-vue-i18n to v0.10.0 * *(deps)* Update dependency @intlify/unplugin-vue-i18n to v0.11.0 * *(deps)* Update dependency @intlify/unplugin-vue-i18n to v0.12.0 * *(deps)* Update dependency @intlify/unplugin-vue-i18n to v0.12.1 * *(deps)* Update dependency @intlify/unplugin-vue-i18n to v0.9.2 * *(deps)* Update dependency @intlify/unplugin-vue-i18n to v0.9.3 * *(deps)* Update dependency @kyvg/vue3-notification to v2.9.1 * *(deps)* Update dependency @rushstack/eslint-patch to v1.3.0 * *(deps)* Update dependency @rushstack/eslint-patch to v1.3.1 * *(deps)* Update dependency @rushstack/eslint-patch to v1.3.2 * *(deps)* Update dependency @tsconfig/node18 to v18 * *(deps)* Update dependency @tsconfig/node18 to v2.0.1 * *(deps)* Update dependency @types/codemirror to v5.60.8 * *(deps)* Update dependency @types/dompurify to v3 * *(deps)* Update dependency @types/dompurify to v3.0.1 * *(deps)* Update dependency @types/dompurify to v3.0.2 * *(deps)* Update dependency @types/marked to v4.3.0 * *(deps)* Update dependency @types/marked to v4.3.1 * *(deps)* Update dependency @types/marked to v5 * *(deps)* Update dependency @types/node to v18.15.1 * *(deps)* Update dependency @types/node to v18.15.10 * *(deps)* Update dependency @types/node to v18.15.11 * *(deps)* Update dependency @types/node to v18.15.12 * *(deps)* Update dependency @types/node to v18.15.13 * *(deps)* Update dependency @types/node to v18.15.2 * *(deps)* Update dependency @types/node to v18.15.3 * *(deps)* Update dependency @types/node to v18.15.5 * *(deps)* Update dependency @types/node to v18.15.6 * *(deps)* Update dependency @types/node to v18.15.7 * *(deps)* Update dependency @types/node to v18.15.8 * *(deps)* Update dependency @types/node to v18.15.9 * *(deps)* Update dependency @types/node to v18.16.0 * *(deps)* Update dependency @types/node to v18.16.1 * *(deps)* Update dependency @types/node to v18.16.10 * *(deps)* Update dependency @types/node to v18.16.11 * *(deps)* Update dependency @types/node to v18.16.14 * *(deps)* Update dependency @types/node to v18.16.16 * *(deps)* Update dependency @types/node to v18.16.17 * *(deps)* Update dependency @types/node to v18.16.18 * *(deps)* Update dependency @types/node to v18.16.19 * *(deps)* Update dependency @types/node to v18.16.2 * *(deps)* Update dependency @types/node to v18.16.3 * *(deps)* Update dependency @types/node to v18.16.4 * *(deps)* Update dependency @types/node to v18.16.5 * *(deps)* Update dependency @types/node to v18.16.6 * *(deps)* Update dependency @types/node to v18.16.7 * *(deps)* Update dependency @types/node to v18.16.8 * *(deps)* Update dependency @types/node to v18.16.9 * *(deps)* Update dependency @types/sortablejs to v1.15.1 * *(deps)* Update dependency @vitejs/plugin-legacy to v4.0.2 * *(deps)* Update dependency @vitejs/plugin-legacy to v4.0.3 * *(deps)* Update dependency @vitejs/plugin-legacy to v4.0.4 * *(deps)* Update dependency @vitejs/plugin-legacy to v4.0.5 * *(deps)* Update dependency @vitejs/plugin-vue to v4.1.0 * *(deps)* Update dependency @vitejs/plugin-vue to v4.2.0 * *(deps)* Update dependency @vitejs/plugin-vue to v4.2.1 * *(deps)* Update dependency @vitejs/plugin-vue to v4.2.2 * *(deps)* Update dependency @vitejs/plugin-vue to v4.2.3 * *(deps)* Update dependency @vue/eslint-config-typescript to v11.0.3 * *(deps)* Update dependency @vue/test-utils to v2.3.2 * *(deps)* Update dependency @vue/test-utils to v2.4.0 * *(deps)* Update dependency @vue/tsconfig to v0.3.2 * *(deps)* Update dependency @vue/tsconfig to v0.4.0 * *(deps)* Update dependency @vueuse/core to v10 * *(deps)* Update dependency @vueuse/core to v10.0.2 * *(deps)* Update dependency @vueuse/core to v10.1.0 * *(deps)* Update dependency @vueuse/core to v10.1.2 * *(deps)* Update dependency @vueuse/core to v10.2.0 * *(deps)* Update dependency @vueuse/core to v10.2.1 * *(deps)* Update dependency axios to v1.3.5 * *(deps)* Update dependency axios to v1.3.6 * *(deps)* Update dependency axios to v1.4.0 * *(deps)* Update dependency caniuse-lite to v1.0.30001465 * *(deps)* Update dependency caniuse-lite to v1.0.30001468 * *(deps)* Update dependency caniuse-lite to v1.0.30001470 * *(deps)* Update dependency caniuse-lite to v1.0.30001473 * *(deps)* Update dependency caniuse-lite to v1.0.30001477 * *(deps)* Update dependency caniuse-lite to v1.0.30001479 * *(deps)* Update dependency caniuse-lite to v1.0.30001481 * *(deps)* Update dependency caniuse-lite to v1.0.30001486 * *(deps)* Update dependency caniuse-lite to v1.0.30001487 * *(deps)* Update dependency caniuse-lite to v1.0.30001489 * *(deps)* Update dependency caniuse-lite to v1.0.30001500 * *(deps)* Update dependency caniuse-lite to v1.0.30001508 * *(deps)* Update dependency caniuse-lite to v1.0.30001511 * *(deps)* Update dependency codemirror to v5.65.13 * *(deps)* Update dependency css-has-pseudo to v6 * *(deps)* Update dependency csstype to v3.1.2 * *(deps)* Update dependency cypress to v12.10.0 * *(deps)* Update dependency cypress to v12.11.0 * *(deps)* Update dependency cypress to v12.12.0 * *(deps)* Update dependency cypress to v12.13.0 * *(deps)* Update dependency cypress to v12.14.0 * *(deps)* Update dependency cypress to v12.15.0 * *(deps)* Update dependency cypress to v12.16.0 * *(deps)* Update dependency cypress to v12.8.0 * *(deps)* Update dependency cypress to v12.8.1 * *(deps)* Update dependency cypress to v12.9.0 * *(deps)* Update dependency date-fns to v2.30.0 * *(deps)* Update dependency dayjs to v1.11.8 * *(deps)* Update dependency dayjs to v1.11.9 * *(deps)* Update dependency dompurify to v3.0.2 * *(deps)* Update dependency dompurify to v3.0.3 * *(deps)* Update dependency dompurify to v3.0.4 * *(deps)* Update dependency esbuild to v0.17.12 * *(deps)* Update dependency esbuild to v0.17.13 * *(deps)* Update dependency esbuild to v0.17.14 * *(deps)* Update dependency esbuild to v0.17.15 * *(deps)* Update dependency esbuild to v0.17.16 * *(deps)* Update dependency esbuild to v0.17.17 * *(deps)* Update dependency esbuild to v0.17.18 * *(deps)* Update dependency esbuild to v0.17.19 * *(deps)* Update dependency esbuild to v0.18.0 * *(deps)* Update dependency esbuild to v0.18.1 * *(deps)* Update dependency esbuild to v0.18.10 * *(deps)* Update dependency esbuild to v0.18.11 * *(deps)* Update dependency esbuild to v0.18.2 * *(deps)* Update dependency esbuild to v0.18.3 * *(deps)* Update dependency esbuild to v0.18.4 * *(deps)* Update dependency esbuild to v0.18.5 * *(deps)* Update dependency esbuild to v0.18.6 * *(deps)* Update dependency esbuild to v0.18.9 * *(deps)* Update dependency eslint to v8.37.0 * *(deps)* Update dependency eslint to v8.38.0 * *(deps)* Update dependency eslint to v8.39.0 * *(deps)* Update dependency eslint to v8.40.0 * *(deps)* Update dependency eslint to v8.41.0 * *(deps)* Update dependency eslint to v8.42.0 * *(deps)* Update dependency eslint to v8.43.0 * *(deps)* Update dependency eslint to v8.44.0 * *(deps)* Update dependency eslint-plugin-vue to v9.10.0 * *(deps)* Update dependency eslint-plugin-vue to v9.11.0 * *(deps)* Update dependency eslint-plugin-vue to v9.11.1 * *(deps)* Update dependency eslint-plugin-vue to v9.12.0 * *(deps)* Update dependency eslint-plugin-vue to v9.13.0 * *(deps)* Update dependency flexsearch to v0.7.31 * *(deps)* Update dependency floating-vue to v2.0.0-beta.21 * *(deps)* Update dependency floating-vue to v2.0.0-beta.22 * *(deps)* Update dependency floating-vue to v2.0.0-beta.24 * *(deps)* Update dependency happy-dom to v9 * *(deps)* Update dependency happy-dom to v9.1.9 * *(deps)* Update dependency happy-dom to v9.10.1 * *(deps)* Update dependency happy-dom to v9.10.9 * *(deps)* Update dependency happy-dom to v9.18.3 * *(deps)* Update dependency happy-dom to v9.20.1 * *(deps)* Update dependency happy-dom to v9.20.3 * *(deps)* Update dependency happy-dom to v9.7.1 * *(deps)* Update dependency happy-dom to v9.9.2 * *(deps)* Update dependency highlight.js to v11.8.0 * *(deps)* Update dependency histoire to v0.16.2 * *(deps)* Update dependency marked to v4.3.0 * *(deps)* Update dependency marked to v5 * *(deps)* Update dependency marked to v5.0.1 * *(deps)* Update dependency marked to v5.0.2 * *(deps)* Update dependency marked to v5.0.3 * *(deps)* Update dependency marked to v5.0.4 * *(deps)* Update dependency marked to v5.0.5 * *(deps)* Update dependency marked to v5.1.0 * *(deps)* Update dependency netlify-cli to v13.1.2 * *(deps)* Update dependency netlify-cli to v13.1.6 * *(deps)* Update dependency netlify-cli to v13.2.1 * *(deps)* Update dependency netlify-cli to v13.2.2 * *(deps)* Update dependency netlify-cli to v14 * *(deps)* Update dependency netlify-cli to v14.3.1 * *(deps)* Update dependency pinia to v2.0.34 * *(deps)* Update dependency pinia to v2.0.35 * *(deps)* Update dependency pinia to v2.0.36 * *(deps)* Update dependency pinia to v2.1.4 * *(deps)* Update dependency postcss to v8.4.22 * *(deps)* Update dependency postcss to v8.4.23 * *(deps)* Update dependency postcss to v8.4.24 * *(deps)* Update dependency postcss-preset-env to v8.1.0 * *(deps)* Update dependency postcss-preset-env to v8.2.0 * *(deps)* Update dependency postcss-preset-env to v8.3.0 * *(deps)* Update dependency postcss-preset-env to v8.3.1 * *(deps)* Update dependency postcss-preset-env to v8.3.2 * *(deps)* Update dependency postcss-preset-env to v8.4.1 * *(deps)* Update dependency postcss-preset-env to v8.4.2 * *(deps)* Update dependency postcss-preset-env to v8.5.0 * *(deps)* Update dependency postcss-preset-env to v8.5.1 * *(deps)* Update dependency rollup to v3.20.0 * *(deps)* Update dependency rollup to v3.20.1 * *(deps)* Update dependency rollup to v3.20.2 * *(deps)* Update dependency rollup to v3.20.3 * *(deps)* Update dependency rollup to v3.20.4 * *(deps)* Update dependency rollup to v3.20.5 * *(deps)* Update dependency rollup to v3.20.6 * *(deps)* Update dependency rollup to v3.20.7 * *(deps)* Update dependency rollup to v3.21.0 * *(deps)* Update dependency rollup to v3.21.1 * *(deps)* Update dependency rollup to v3.21.2 * *(deps)* Update dependency rollup to v3.21.3 * *(deps)* Update dependency rollup to v3.21.4 * *(deps)* Update dependency rollup to v3.21.5 * *(deps)* Update dependency rollup to v3.21.6 * *(deps)* Update dependency rollup to v3.21.7 * *(deps)* Update dependency rollup to v3.21.8 * *(deps)* Update dependency rollup to v3.22.0 * *(deps)* Update dependency rollup to v3.23.0 * *(deps)* Update dependency rollup to v3.23.1 * *(deps)* Update dependency rollup to v3.24.0 * *(deps)* Update dependency rollup to v3.24.1 * *(deps)* Update dependency rollup to v3.25.0 * *(deps)* Update dependency rollup to v3.25.1 * *(deps)* Update dependency rollup to v3.25.2 * *(deps)* Update dependency rollup to v3.25.3 * *(deps)* Update dependency rollup to v3.26.0 * *(deps)* Update dependency rollup-plugin-visualizer to v5.9.2 * *(deps)* Update dependency sass to v1.59.3 * *(deps)* Update dependency sass to v1.60.0 * *(deps)* Update dependency sass to v1.61.0 * *(deps)* Update dependency sass to v1.62.0 * *(deps)* Update dependency sass to v1.62.1 * *(deps)* Update dependency sass to v1.63.0 * *(deps)* Update dependency sass to v1.63.2 * *(deps)* Update dependency sass to v1.63.3 * *(deps)* Update dependency sass to v1.63.4 * *(deps)* Update dependency sass to v1.63.5 * *(deps)* Update dependency sass to v1.63.6 * *(deps)* Update dependency typescript to v5 * *(deps)* Update dependency typescript to v5.0.3 * *(deps)* Update dependency typescript to v5.0.4 * *(deps)* Update dependency typescript to v5.1.3 * *(deps)* Update dependency typescript to v5.1.5 * *(deps)* Update dependency typescript to v5.1.6 * *(deps)* Update dependency ufo to v1.1.2 * *(deps)* Update dependency vite to v4.2.0 * *(deps)* Update dependency vite to v4.2.1 * *(deps)* Update dependency vite to v4.2.2 * *(deps)* Update dependency vite to v4.3.0 * *(deps)* Update dependency vite to v4.3.1 * *(deps)* Update dependency vite to v4.3.2 * *(deps)* Update dependency vite to v4.3.3 * *(deps)* Update dependency vite to v4.3.4 * *(deps)* Update dependency vite to v4.3.5 * *(deps)* Update dependency vite to v4.3.6 * *(deps)* Update dependency vite to v4.3.7 * *(deps)* Update dependency vite to v4.3.8 * *(deps)* Update dependency vite to v4.3.9 * *(deps)* Update dependency vite-plugin-pwa to v0.14.5 * *(deps)* Update dependency vite-plugin-pwa to v0.14.6 * *(deps)* Update dependency vite-plugin-pwa to v0.14.7 * *(deps)* Update dependency vite-plugin-pwa to v0.15.0 * *(deps)* Update dependency vite-plugin-pwa to v0.15.1 * *(deps)* Update dependency vite-plugin-pwa to v0.15.2 * *(deps)* Update dependency vite-plugin-pwa to v0.16.1 * *(deps)* Update dependency vite-plugin-pwa to v0.16.3 * *(deps)* Update dependency vite-plugin-pwa to v0.16.4 * *(deps)* Update dependency vite-plugin-sentry to v1.3.0 * *(deps)* Update dependency vitest to v0.29.3 * *(deps)* Update dependency vitest to v0.29.4 * *(deps)* Update dependency vitest to v0.29.5 * *(deps)* Update dependency vitest to v0.29.7 * *(deps)* Update dependency vitest to v0.29.8 * *(deps)* Update dependency vitest to v0.30.0 * *(deps)* Update dependency vitest to v0.30.1 * *(deps)* Update dependency vitest to v0.31.0 * *(deps)* Update dependency vitest to v0.31.1 * *(deps)* Update dependency vitest to v0.31.2 * *(deps)* Update dependency vitest to v0.31.4 * *(deps)* Update dependency vitest to v0.32.0 * *(deps)* Update dependency vitest to v0.32.1 * *(deps)* Update dependency vitest to v0.32.2 * *(deps)* Update dependency vitest to v0.32.3 * *(deps)* Update dependency vue to v3.3.4 * *(deps)* Update dependency vue to v3.3.4 * *(deps)* Update dependency vue-flatpickr-component to v11.0.3 * *(deps)* Update dependency vue-router to v4.2.0 * *(deps)* Update dependency vue-router to v4.2.1 * *(deps)* Update dependency vue-router to v4.2.2 * *(deps)* Update dependency vue-router to v4.2.3 * *(deps)* Update dependency vue-router to v4.2.4 * *(deps)* Update dependency vue-tsc to v1.4.0 * *(deps)* Update dependency vue-tsc to v1.4.1 * *(deps)* Update dependency vue-tsc to v1.4.2 * *(deps)* Update dependency vue-tsc to v1.4.3 * *(deps)* Update dependency vue-tsc to v1.4.4 * *(deps)* Update dependency vue-tsc to v1.6.0 * *(deps)* Update dependency vue-tsc to v1.6.1 * *(deps)* Update dependency vue-tsc to v1.6.2 * *(deps)* Update dependency vue-tsc to v1.6.3 * *(deps)* Update dependency vue-tsc to v1.6.4 * *(deps)* Update dependency vue-tsc to v1.6.5 * *(deps)* Update dependency vue-tsc to v1.8.0 * *(deps)* Update dependency vue-tsc to v1.8.1 * *(deps)* Update dependency vue-tsc to v1.8.2 * *(deps)* Update dependency vue-tsc to v1.8.3 * *(deps)* Update dev-dependencies * *(deps)* Update dev-dependencies * *(deps)* Update dev-dependencies * *(deps)* Update dev-dependencies * *(deps)* Update dev-dependencies * *(deps)* Update flake * *(deps)* Update font awesome to v6.4.0 * *(deps)* Update histoire to v0.15.9 * *(deps)* Update histoire to v0.16.0 * *(deps)* Update histoire to v0.16.1 * *(deps)* Update lockfile * *(deps)* Update node.js to v18.16.0 * *(deps)* Update node.js to v18.16.1 * *(deps)* Update node.js to v20 (#3411) * *(deps)* Update pnpm to v7.29.3 * *(deps)* Update pnpm to v7.30.0 * *(deps)* Update pnpm to v7.30.1 * *(deps)* Update pnpm to v7.30.2 * *(deps)* Update pnpm to v7.30.3 * *(deps)* Update pnpm to v7.30.5 * *(deps)* Update pnpm to v7.31.0 * *(deps)* Update pnpm to v7.32.0 * *(deps)* Update pnpm to v8 * *(deps)* Update pnpm to v8.3.0 * *(deps)* Update pnpm to v8.3.1 * *(deps)* Update pnpm to v8.4.0 * *(deps)* Update pnpm to v8.5.0 * *(deps)* Update pnpm to v8.5.1 * *(deps)* Update pnpm to v8.6.0 * *(deps)* Update pnpm to v8.6.1 * *(deps)* Update pnpm to v8.6.2 * *(deps)* Update pnpm to v8.6.3 * *(deps)* Update pnpm to v8.6.4 * *(deps)* Update pnpm to v8.6.5 * *(deps)* Update pnpm to v8.6.6 * *(deps)* Update sentry-javascript monorepo to v7.43.0 * *(deps)* Update sentry-javascript monorepo to v7.44.0 * *(deps)* Update sentry-javascript monorepo to v7.44.1 * *(deps)* Update sentry-javascript monorepo to v7.44.2 * *(deps)* Update sentry-javascript monorepo to v7.45.0 * *(deps)* Update sentry-javascript monorepo to v7.46.0 * *(deps)* Update sentry-javascript monorepo to v7.47.0 * *(deps)* Update sentry-javascript monorepo to v7.48.0 * *(deps)* Update sentry-javascript monorepo to v7.49.0 * *(deps)* Update sentry-javascript monorepo to v7.50.0 * *(deps)* Update sentry-javascript monorepo to v7.51.0 * *(deps)* Update sentry-javascript monorepo to v7.51.2 * *(deps)* Update sentry-javascript monorepo to v7.52.0 * *(deps)* Update sentry-javascript monorepo to v7.52.1 * *(deps)* Update sentry-javascript monorepo to v7.53.0 * *(deps)* Update sentry-javascript monorepo to v7.53.1 * *(deps)* Update sentry-javascript monorepo to v7.54.0 * *(deps)* Update sentry-javascript monorepo to v7.55.0 * *(deps)* Update sentry-javascript monorepo to v7.55.2 * *(deps)* Update sentry-javascript monorepo to v7.56.0 * *(deps)* Update sentry-javascript monorepo to v7.57.0 * *(deps)* Update typescript-eslint monorepo to v5.55.0 * *(deps)* Update typescript-eslint monorepo to v5.56.0 * *(deps)* Update typescript-eslint monorepo to v5.57.0 * *(deps)* Update typescript-eslint monorepo to v5.57.1 * *(deps)* Update typescript-eslint monorepo to v5.58.0 * *(deps)* Update typescript-eslint monorepo to v5.59.0 * *(deps)* Update typescript-eslint monorepo to v5.59.1 * *(deps)* Update typescript-eslint monorepo to v5.59.11 * *(deps)* Update typescript-eslint monorepo to v5.59.2 * *(deps)* Update typescript-eslint monorepo to v5.59.5 * *(deps)* Update typescript-eslint monorepo to v5.59.6 * *(deps)* Update typescript-eslint monorepo to v5.59.7 * *(deps)* Update typescript-eslint monorepo to v5.59.8 * *(deps)* Update typescript-eslint monorepo to v5.59.9 * *(deps)* Update typescript-eslint monorepo to v5.60.0 * *(deps)* Update typescript-eslint monorepo to v5.60.1 * *(deps)* Update workbox monorepo to v6.6.0 (#3548) * *(deps)* Update workbox monorepo to v6.6.1 (#3553) * *(deps)* Update workbox monorepo to v7 (major) (#3556) ### Features * *(assignees)* Show user avatar in search results * *(datepicker)* Separate datepicker popup and datepicker logic in different components * *(i18n)* Enable Danish translation * *(i18n)* Enable Japanese translation * *(i18n)* Enable Spanish translation * *(i18n)* Use chinese name for chinese translation * *(kanban)* Use total task count from the api instead of manually calculating it per bucket * *(link share)* Add e2e tests for link share hash * *(navigation)* Add hiding child projects * *(navigation)* Allow dragging a project out from its parent project * *(navigation)* Correctly show child projects * *(navigation)* Make dragging a project to a parent work * *(navigation)* Make dragging a project under another project work * *(navigation)* Show favorite projects on top * *(projects)* Allow setting a saved filter for tasks shown on the overview page * *(projects)* Move hasProjects check to store * *(quick add magic)* Allow fuzzy matching of assignees when the api results are unambigous * *(reminders)* Add confirm button * *(reminders)* Add e2e tests for task reminders * *(reminders)* Add more spacing * *(reminders)* Add on the due / start / end date as a reminder preset * *(reminders)* Add preset two hours before due / start / end date * *(reminders)* Add proper time picker for relative dates * *(reminders)* Highlight which preset or custom date is selected * *(reminders)* Make adding new reminders less confusing * *(reminders)* Make relative presets actually work * *(reminders)* Move reminder settings to a popup * *(reminders)* Only show relative reminders when there's a date to relate them to * *(reminders)* Show resolved reminder time in a tooltip and properly bubble updated task down to the reminder component * *(reminders)* Translate all reminder form strings * *(sentry)* Only load sentry when it's enabled * *(tests)* Add project tests derived from old namespace tests * *(user)* Migrate color scheme settings to persistance in db * *(user)* Migrate pop sound setting to store in api * *(user)* Persist frontend settings in the api (#3594)* Rename files with list to project ([b9d3b5c](b9d3b5c75635577321acc1791219aed40c6c14a4)) * *(user)* Save quick add magic mode in api * *(user)* Set default settings when loading persisted * *(user)* Use user language from store after logging in * Abstract BaseCheckbox ([8fc254d](8fc254d2db5738e5d370c9f346c8d0d1e31bb9d0)) * Add hotkeys for priority, delete and favorite on the `TaskDetailView` (#3400) ([e00c9bb](e00c9bb1afc8491039b5ffb50d4d8d9b38e6e086)) * Add message to add to home screen on mobile ([3c9083b](3c9083b90dd3e5f97109ba2a23d2f2f8cc7d6c7c)) * Add redirect for old list routes ([af523cf](af523cfcd71528c7e8d0b50874f4766f40f958d2)) * Add setting for infinite nesting ([cb218ec](cb218ec0c31a41ba41a713a3757f71ad550dd71c)) * Add transition to input icons ([abb5128](abb51284269d84de14d0a156c386c63dc596b9ab)) * Add vite-plugin sentry (#1991) ([5ca31d0](5ca31d00eeff28f4728a4d07b96d761a6f174207)) * Add vite-plugin sentry ([73947f0](73947f0ba4031cb0f9aff78f8a7e3316a36d59b4)) * Allow creating a new project directly as a child project from another one ([b341184](b34118485cc056146682cd4592c90e4662b307eb)) * Allow disabling icon changes ([efb3407](efb3407b8769a23f4352161d6db6267ce4b30eee)) * Allow hiding the quick add magic help tooltip with a button ([7fb85da](7fb85dacecdae597180553036243ab845d50ede5)) * Allow selecting a parent project when creating a project ([ce887c3](ce887c38f3a9e84c832bfbf62efa455df37a1a4f)) * Allow selecting a parent project when duplicating a project ([799c0be](799c0be8306cfc5150611153c59701e96d56893a)) * Allow selecting a parent project when editing a project ([ee8f80c](ee8f80cc70109a496959da167d14ffda4e2a6175)) * Allow to edit existing relative reminders ([5d38b83](5d38b8327fc323c571fced33442bdb923d6d3baa)) * Better vscode vitest integration ([314cbf4](314cbf471f8e9cff2a3fca6bbd969807401b5cda)) * Change the link share hash name ([2066056](20660564c16283c77029bc3c3125c6c3febde47e)) * Check link share auth from store instead ([c2ffe3a](c2ffe3a9dcfd1e067b8d92e1d69183c2a8acfa8f)) * Don't handle child projects and instead only save the ids ([760efa8](760efa854dcc83e74f96782339b79b8d27b853b2)) * Don't use child_projects property from api ([ebd9c47](ebd9c4702ed1c6920d47e5e42294e6d4fa3c73c0)) * Edit relative reminders (#3248) ([3f8e457](3f8e457d5250df0b3af34d8f3bb0c053b15a97be)) * Edit relative reminders ([14e2698](14e26988331ca72afae01b8264969458cdb4a509)) * Hide quick add magic help behind a tooltip (#3353) ([a988565](a988565227f57dfc728319d433532f71e61d6424)) * Highlight hint icon when hovering the input ([422d7fc](422d7fc693caf886a49d03ff48b56ae6ce825356)) * Improve datemathHelp.vue ([795b26e](795b26e1dde781e152ab03fc31fd95f9f106a452)) * Improve handling of an invalid api url ([24ad2f8](24ad2f892db0fce3458624c9dad8735130253fa0)) * Improve user assignments via quick add magic (#3348) ([d9f608e](d9f608e8b4be4da380a535edcce1782c6d21926d)) * Improve variable naming for ProjectCardGrid ([a4be973](a4be973e29e81db4e244427fc46a11b4c8c95f4c)) * Load all projects earlier than in the navigation and use the loading state of the store ([1d93661](1d936618faecb0ddcb10f7c900096a3705614dbd)) * Mark undone if task moved from isDoneBucket (#3291) ([30adad5](30adad5ae6568b5ef1125f206989d447fb999eee)) * Move namespaces list to projects list ([e1bdabc](e1bdabc8d670f7342f4f0777a30a961e3fd4601d)) * Move navigation item to component ([3db4e01](3db4e011d4b625cee940c58ee32d065b8c43f1bb)) * Move quick add magic to a popup behind an icon ([6989558](69895589636ee6369c9778f529bf1df953acb7b1)) * New image for the unauthenticated views ([bef25c4](bef25c49d535ff3940a0112a715f5b351e816468)) * Optimize print view for project views ([8e2c76a](8e2c76a33eec573afab0b754d0707f84e2cca962)) * Persist link share auth rule in url hash (#3336) ([da3eaf0](da3eaf0d357c24775ba8a4cf8f089e5042f73c00)) * Persist link share auth rule in url hash ([f68bb26](f68bb2625e5f619f365fdd421aeda2b8af879aab)) * Prepare for pnpm 8 (#3331) ([7d3b97d](7d3b97d422896e17ab9231c66e49da6c07967d7e)) * Rebuild main navigation so that it works recursively with projects ([06e8cdb](06e8cdb9d2907c846ca7c555b31571b5c1798433)) * Remove all namespace leftovers ([1bd17d6](1bd17d6e50034c159150095f1c51a966293a6726)) * Remove namespaces, make projects infinitely nestable (#3323) ([ac1d374](ac1d374191fca764a70d9851d9828a78ae27c075)) * Rename link share hash prefix ([b9f0635](b9f0635d9fcc764c7ee188c95ce59ac358f735cf)) * Rename list to project everywhere ([befa6f2](befa6f27bb607a57eb8ed49d0152b85cdab4cb95)) * Replace color dot with handle icon on hover ([a3e2cbe](a3e2cbeb27ad8b0d052df62c9f24f8dd3808ddda)) * Set the current language to the one saved by the user on login ([acb212a](acb212ab241e1ed873c943e9c5fa3bcfb2c83a91)) * Show all parent projects in project search ([6a8c656](6a8c656dbb0a4729035468aedc60fd06e80c17ed)) * Show all parent projects in task detail view ([63ba298](63ba2982c92d495de6c7e3526c3693dcfe0e3fba)) * Show avatar and full name in team overview ([b80f070](b80f07043104868d134761b34582b234d12274e1)) * Show initial list of users when opening the assignees view ([59c942a](59c942af735a40f68cfd01caadb22694113da8ae)) * Start adding relative reminder picker with more options ([9df6950](9df6950d1a4a361c075020319ce3037e19e0912d)) * Translate inbox project title ([f2ca2d8](f2ca2d850de5b4b3b3d90e3a5c41adebca2dc1a5)) * Type i18n improvements ([dea1789](dea1789a00981fb496f0c1f4c19a6f0749e4de70)) * Use new Reminders API instead of reminder_dates ([f747d5b](f747d5b2fcadb7459c389372dca4507b75cdd4fa)) * Wrap projects navigation in a so that we can use top level await ([2579c33](2579c33ee1d07234c3ad42d75f2c7a1f7bfdb149)) ### Miscellaneous Tasks * *(ci)* Remove netlify dependency (#3459) * *(ci)* Sign drone config * *(editor)* Disable deprecated marked options * *(i18n)* Clarify translation string * *(parseSubtasksViaIndention)* Fix comment (#3259) * *(reminders)* Remove reminderDates property * *(sentry)* Alwys use the same version * *(sentry)* Ignore missing commits * *(sentry)* Only load sentry when enabled * *(sentry)* Remove debug options * *(sentry)* Remove sourcemaps after upload via plugin * *(sentry)* Use correct chunks option * *(task)* Move toggleFavorite to store * *(task)* Use ref for task instead of reactive * *(tests)* Enable experimental memory managment for cypress tests * *(user)* Cleanup* Update JSDoc example ([bfbfd6a](bfbfd6a4212d493912406c1c505b6c0a24f0f014)) * Add comment on overriding ([21ad830](21ad8301f28ba838c577acb72cb66ea00e176876)) * Add types for emit ([c567874](c56787443f6f9f6be0f8d8501dd4e6e7a768648a)) * Better function naming in password components ([a416d26](a416d26f7cfd163cadb0b6ded107b217ecad5d7c)) * Catch error when trying to play pop sound ([929d4f4](929d4f402342de309dd8e453252d22fcb9f362a6)) * Chore; extract code to reminder-period.vue ([0d6c0c8](0d6c0c8399c9fc73843bdbeb84ff19467edcaa90)) * Clarify users when can still be found even if they disabled it ([302ba2b](302ba2bec7f592f6b0b1fba84a5a1a9fd5f994de)) * Cleanup namespace leftovers ([2e33615](2e336150e086354b1623569aa98ab9c5be48c59a)) * Don't recalculate everything ([9c3259c](9c3259c660e8436f41b5494c9567319090c03bd6)) * Don't set the current project to null if it's undefined already ([e4d97e0](e4d97e05205e2c36143319ccf07ccac03f5de408)) * Don't show selection for parent project when no projects are available ([c30dcff](c30dcff45157e5b89b7bb6c2442271c15da33fc4)) * Don't wrap a computed in another computed ([afaf184](afaf1846ece65b8b2bbee971fafb31a535a4381b)) * Export favorite projects from store ([131022d](131022da427616765f8109ca8ac8f6bad1bdcbbb)) * Export not archived root projects ([b5d9afd](b5d9afd0f72aaf28b89f4877ce3ad2eabe6c3d7b)) * Export projects as array directly from projects store ([e4379f0](e4379f0a229b7b8572fddb029658713a0bbfca1d)) * Follow the happy path ([a33e2f6](a33e2f6c00f35f36aabb6b4d6e823396d29cdf3d)) * Format ([4ad9773](4ad9773022b5873fff09b7afade02c026ac5332f)) * Format ([638d187](638d187a24020d698327b0a0d04a5897672d3b79)) * Formatting ([b92d780](b92d780cda3ab7222c4a6ab7323d1dd3f679b514)) * Group return parameter ([5298706](52987060b11ac0418b6a88f1beabaee59165117d)) * Import const instead of redeclaring it ([61baf02](61baf02e26b292e3f02816a483eb7d92fb49d8ab)) * Improve prop type definition ([638f6be](638f6bea24980658d0f5fb3432d7b64c2ae06f75)) * Make fuzzy matching a paramater ([aeb73a3](aeb73a374f84f6b01d4be4cc784336a214a4cdfa)) * Move ProjectsNavigationWrapper back to navigation.vue ([65522a5](65522a57f1ceddfabeba235e17f8f81ee6bae47b)) * Move all options to component props ([db1c6d6](db1c6d6a41591c8ee5df2d2ee400aaaeda0d02bb)) * Move const ([0ce150a](0ce150af237985dda0cf44f24179ebae332e7585)) * Move duplicate project logic to composable ([b69a056](b69a05689be6e2c833c838cde052702600d245c7)) * Move loader class ([ac78e85](ac78e85e1726b6d7047db72ccbbaf29ac11d1696)) * Move loading styles to variant into the component ([76814a2](76814a2d3f68876934c5791bb4901fca5f95c00f)) * Move more logic to ProjectsNavigationItem.vue ([b567146](b567146d69f1c6a1eba6e37061bde7f627ff8654)) * Move positioning css ([7110c9a](7110c9a5ceb58e6e9675c0f91ddb34c9ab8f2cbc)) * Move styles to components ([25c3b7b](25c3b7bcbfb4ddc2163092ed7c1d5e4758967f1b)) * Move v-if ([12ebefd](12ebefd86a61ca5c82b104b4155a4989c8622713)) * Only apply padding where needed ([ddcd6a1](ddcd6a17dc659611910c2d4ed84fcff575e0ca3a)) * Re-add top menu spacing ([086f50d](086f50d4feed90aac0c458d3f53cbe59ae7402c8)) * Redirect to new project after creating from store ([6b824a4](6b824a49abe8854045c7670fcd6da50539c9fce5)) * Reduce nesting ([06a1ff6](06a1ff6f4bea4cc7447d528423de54f14583dca4)) * Refactor get parents project and move to projects store ([c32a198](c32a198a34edd3db7d6967010ce9dde401d1c864)) * Remove nesting ([a4c8fcc](a4c8fccb115f019840025659c7a8a4bac31eee04)) * Remove old comment ([4134fcb](4134fcbd752ab4cc7691907264b04cf64e11d012)) * Remove old todo ([4e21b46](4e21b463df9af5aec9a5b45c8331f5a9f9e8aeb9)) * Remove triggered notifications as it's not supported anywhere ([8a75790](8a75790453427287dc5a57ff3b59cd2b9cabd3f4)) * Remove type annotation for computed ([a3e289c](a3e289c06c992b24dcff21b1c4f8871676101d98)) * Remove unnecessary map ([336db56](336db56316dec7aeacf2174f5945764dc350769c)) * Remove unused class ([d4e4525](d4e452545afe94ed2e860cd14982462e080a4d49)) * Remove unused code ([652db56](652db56d42b39c05385ff7484fa43b0baa769759)) * Remove user margin from the component ([57c64bb](57c64bbf71342b4e9e2e9e3808412b5e0cf01006)) * Remove user margin from the component ([a1dd1d6](a1dd1d6664479e125e2f8ae87a9d2a57bf94fc9e)) * Remove wrapper div ([2c9693a](2c9693a83eeca832d49d519c5676ae30569628ca)) * Rename alias ([a803bc6](a803bc637e44893aa6921b70215a3206acdc5a91)) * Rename archived message key ([4dee3a9](4dee3a90e9a76cdd190eb28b3327bef1bcc34787)) * Rename flag ([6e09543](6e095436e9bfb6856c6aa469fc4cad93f239bad4)) * Rename getRedirectRoute ([59b05e9](59b05e9836946ed8b9dbb3926fc694641d8508a1)) * Rename prop ([2bb7ff1](2bb7ff1803d5a35bdd61a94e7a4d6fd03d5d1492)) * Replace section with a div ([9b10693](9b1069317283fc20c834eac981e0b2a500e32dba)) * Set project id from the outside ([6c9cbaa](6c9cbaadc821ab92e85b1f8e3fcb3fa85ea99670)) * Update nix flake ([f40035d](f40035dc7943e8199c553acfec838f21ea212c3e)) * Use instead of