Repository navigation
Conversation
…#990) The desktop app stops filing a task with no due date under Today (ZenNotes #990, for the next desktop release): the list gets a No due date group and the status board a No due date column, and Today keeps what is due today or overdue. zn follows so the two read a vault the same way. GroupTasks gains Undated, which the Tasks list shows after Upcoming and the home card leaves out of Today. The status board places undated cards in a No due date column between Upcoming and In progress; moving a card there reopens it and clears its due date. A daily-note task keeps its note's date (InferDailyTaskDueDates runs first), so it stays in Today, and moving it to No due date is refused with a message, since there is no due: on the line to clear. The parity tests follow the desktop's columns.
The desktop's Tasks list gets an Order menu, Note order or Priority, saved as tasks_list_order under [view] in config.toml (ZenNotes #989, next desktop release). zn reads the same key and offers the same choice: O in the list, :order note|priority, or the board options menu (B / F2), each writing the key back so the desktop and zn agree. Note order now means the notes' line order in every group, as on the desktop: the list used GroupTasks' own sort (priority in Today, due date in Upcoming), so J and K moved lines the list did not show. OrderTaskGroups applies either order; by priority, high comes before medium, low and none in the live groups, ties by due date then line order. In priority order J and K say they work in note order instead of moving lines. The help's Board status row also gains the No due date column from #990.
adibhanna
added a commit
to ZenNotes/zennotes
that referenced
this pull request
Oct 23, 2026
The bundled CLI is the floor a desktop build guarantees, and 0.11.0 is the newest release (ZenNotes/tui#16). It is the terminal side of two Tasks changes in this release, so zn and the app put a task in the same place: a task without a due date waits under No due date in the list and on the Status board (#990), and the list orders each date group by priority with `O` or `:order priority`, sharing `tasks_list_order` with the app's Order menu (#989). The pin is the release's terminal-release.json copied byte for byte after it verified against packaging/release-signing/zn-release-1.pub in ZenNotes/tui (source commit 88105711, integration protocol 1, all four archives it names matching checksums.txt). Staged through `npm run terminal:stage`; the native darwin-arm64 binary reports zn v0.11.0. The in-app manual's CLI card says 0.11.0 and what it changes.
renovate Bot
added a commit
to scottames/copr
that referenced
this pull request
Oct 23, 2026
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ZenNotes/zennotes](https://redirect.github.com/ZenNotes/zennotes) | minor | `2.75.0` → `2.76.0` | --- ### Release Notes <details> <summary>ZenNotes/zennotes</summary> ### [`v2.76.0`](https://redirect.github.com/ZenNotes/zennotes/releases/tag/v2.76.0): ZenNotes v2.76.0 [Compare Source](https://redirect.github.com/ZenNotes/zennotes/compare/v2.75.0...v2.76.0) ZenNotes 2.76.0 is a Tasks release. Any task can take any due date from its right-click menu, a task without a due date waits under its own No due date group instead of in Today, and the Tasks list can put high priority first while staying grouped by date. It also fixes Cloud conflicts that a phone could not settle, one of which could delete a note it kept, and names a note's folder the same way in note search, the buffer switcher and the `[[` picker. Released from [`61628218`](https://redirect.github.com/ZenNotes/zennotes/commit/616282187604fdef849a7faba52c2a2e7b5df94e) through [#​994](https://redirect.github.com/ZenNotes/zennotes/pull/994) on 2026-10-23. <!-- INSTALLERS_VERIFIED --> #### Features - **Choose any due date from the task menu** ([#​991](https://redirect.github.com/ZenNotes/zennotes/issues/991), thanks to [@​davi-jorge-art](https://redirect.github.com/davi-jorge-art)). The menu every task surface shares stopped at Due next week, so a day further out meant finding it on a calendar and typing `due:2026-11-04` on the line, which is the most work on a phone. Choose a date… now follows the presets in the Tasks list, on the board, in both calendars, and on the phones a long-press on a task. It opens the month calendar that typing `@date` opens in a note, on the task's due date (today without one), and a click on a day sets it. In Vim mode, `@` opens it on the selected task in the list, on the board and in the Tasks calendar. A daily-note task picked for its own note's date gets that date written out, so it stays when the task moves. - **No due date has its own place** ([#​990](https://redirect.github.com/ZenNotes/zennotes/issues/990), thanks to [@​davi-jorge-art](https://redirect.github.com/davi-jorge-art)). An open task without a due date sat in Today, so Today mixed what is due with everything undated. It now waits under No due date, after Upcoming, in the Tasks list; the Status board gains a No due date column between Upcoming and In progress, and dropping a card there (or `Shift+L` / `Shift+H` into it) clears its `due:`. Home's Today keeps only what is due today or overdue. A task written in a daily note still counts as due on that note's date while "Tasks are due on the note's date" is on, so it stays in Today, and the No due date column refuses it, since its date is its note's. - **Order the Tasks list by priority** ([#​989](https://redirect.github.com/ZenNotes/zennotes/issues/989), thanks to [@​davi-jorge-art](https://redirect.github.com/davi-jorge-art)). The list kept each group in its notes' line order, so a high-priority task could sit under five low ones. A new Order menu above the list switches each group between Note order and Priority: high, then medium, low and none, ties by due date, still grouped by Today, Upcoming and the rest. `s` switches it in Vim mode, `:order priority` and `:order note` on the ex line, and the command palette, Settings → Tasks and `tasks_list_order` under `[view]` in config.toml set the same thing. Shift+J/K and dragging reorder only in Note order; in Priority order they say how to switch back. zn 0.11.0 reads the same key (`O` in its task list). #### Fixes - **Cloud conflicts settle cleanly, and none deletes a note** (reported by Dave on Discord). A phone whose sync had been stuck came back to two conflicts on one Untitled.md: keeping the other device's version said the file already existed, the second conflict then refused both choices as "changed again", and taking the other device's version of a note this phone never had could delete the note it kept, on both devices. Three causes, reproduced with two devices against a local Cloud server. A note met at a file this device had edited was queued as a conflict against it; such a conflict now settles after each pull once Cloud has moved that note on, landing where Cloud keeps it and leaving this device's file alone. The other device's version could not take its place while any file of this device held the path; that file now moves beside it to the next free name (Untitled 2.md and on). And a Cloud path taken by another file now says so instead of "changed again". - **One folder label for a note everywhere.** 2.75.0's note search showed the whole vault path (`inbox/Projects/Atlas`), the `[[` picker showed `Projects/Atlas/`, and the buffer switcher the raw parent folder, while the picker made an archived `2025/Atlas` look like an inbox folder. All three now name a note's folder the same way: inside the main notes area, the folder within it; anywhere else, the path from the vault root, area first (`archive/2025/Atlas`). - **Move asset takes a folder like `v1..2`.** The Move asset prompt refused any path with two dots in a row, and promised that an empty answer moves the asset to the vault root while every host files it in `assets/`. It now refuses only a whole `..` segment, says an empty answer goes to `assets/`, and does that: an asset loose at the vault root moves there. - **zn 0.11.0 is bundled.** On macOS and Linux, the zn that ZenNotes installs is now 0.11.0, the terminal side of No due date and the priority order ([ZenNotes/tui#16](https://redirect.github.com/ZenNotes/tui/pull/16)). #### For contributors - Due date picker (`1bf79403`): `chooseTaskDueDate` in `lib/task-context-menu.ts` opens the `@date` `DatePickerModal` and writes through the same due-date mutation as the presets; the `@` key is Vim-gated like `x`, `i`, `c` and `>` in `TasksView`, `TasksKanban` and `TasksCalendar`. Tests in `task-context-menu.test.ts`. - No due date (`032e5da2`): `VaultTaskGroups.undated` in shared-domain `tasks.ts`; the Status board's `undated` column and `dropMutationsFor('undated')` (refused for `dueInferred` tasks) in `task-column-mutations.ts`; Home and `getTodayTasks` now apply `inferDailyTaskDueDates` as the Tasks view does. Drag-reorder inside the No due date group came with `712a0e7a`. - List order (`712a0e7a`): `applyPriorityOrder` and the `order` parameter of `computeTasksRender` in `lib/tasks-filter.ts`; `tasksListOrder` in the store, `PORTABLE_PREF_KEYS` and the desktop's TOML map (`[view] tasks_list_order`). - Cloud (`5a34aea7`): `settleMovedArrivals` in shared-domain's `cloud-sync-coordinator.ts` runs after each pull and on resolve; `cloudSyncFreePath` and `displace_existing` make room for the other device's version; `PATH_CONFLICT` has its own message. - Folder label (`d825b149`): `noteFolderLabel` in `vault-layout.ts`, used by `SearchPalette`, `BufferPalette` and the `[[` picker. Move asset (`0b3c8ce9`): one prompt in `lib/move-asset.ts`. - `zod` 4.6.6 (`61628218`), the first release fixing the advisory that failed `npm audit --omit=dev --audit-level=high`; only that package moves in the lockfile. What's New 2.76.0 (`efe5592f`); bundled CLI 0.11.0 (`36b8edbf`); version bump (`49304a02`). #### Demos Screenshots of this release on the release build, attached to this release: **Choose a date…** from a task's right-click menu opens the month calendar on its due date; a click on a day sets it.  **No due date** waits after Upcoming instead of in Today.  **Priority order**: high first inside each group, still grouped by date.  #### Verification How to test locally. Build once with `npm run build --workspace @zennotes/desktop` and launch with isolated stores: `ZENNOTES_USER_DATA_PATH=$(mktemp -d) ZENNOTES_CONFIG_DIR=$(mktemp -d) npx electron apps/desktop/out/main/index.js`. Put a note with these lines in the vault (use today's date for the first): ``` - [ ] Call the bank !med due:2026-10-23 - [ ] Renew passport !high due:2026-10-20 - [ ] Book museum tickets due:2026-11-04 - [ ] Read the manual - [ ] Review contract !high due:2026-10-23 ``` 1. **No due date.** Open Tasks (Cmd+Shift+P, "Open Tasks"): Read the manual sits under No due date after Upcoming. Before: it was in Today. Switch to Kanban: the Status board has a No due date column; drag Book museum tickets there and its `due:` is gone from the line. 2. **Choose a date.** Right-click Call the bank and pick Choose a date…: a month calendar opens on its due date; click a day and the line's `due:` changes. With Vim mode on, select a task and press `@` for the same calendar. 3. **Priority order.** Set the Order menu above the list to Priority (or press `s` in Vim mode): Today reads Renew passport, Review contract, Call the bank. Press Shift+J: a message says reordering works in Note order. `:order note` brings the line order back, and `tasks_list_order = "note"` is under `[view]` in config.toml. 4. **Cloud conflicts.** Needs two devices on one Cloud vault. Close the first and edit a note there by hand (say `Daily Notes/Untitled.md`). On the second, move that note to the trash, make a new note with the same name in the same folder, and trash that one too. Open the first again and let it sync: the new note lands in its trash on its own, and Review sync changes (`Space r`) asks only about the note you edited. Either choice goes through; with the other device's version, a file of this device already at its path moves to Untitled 2.md instead of refusing. Before: a second conflict claimed the edited file and refused both choices, and taking the other device's version on it could delete the edited note on both devices. #### Distribution channels <!-- CHANNELS --> #### Release validation <!-- VALIDATION --> </details> --- ### Configuration 📅 **Schedule**: (in timezone America/Los_Angeles) - Branch creation - Every minute (`* * * * *`) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/scottames/copr). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xODAuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjE4MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Mirrors two desktop changes shipping in ZenNotes 2.76.0, so the terminal and the app agree on where a task lands.
O,:order note|priorityand the board menu switch the task list between note order and priority, still grouped by date. The choice is[view] tasks_list_orderin config.toml, shared with the desktop. J/K reordering refuses in Priority order and says how to switch back. Note order is now the true line order in the note.Verified:
go vet ./...,go test ./..., and the TUI driven in tmux on a scratch vault (list groups,O, J refused with the hint,:order note, the config key, the board's No due date column).