MONTH view, and Todoist
dayGLANCE 5.2.0 adds a fifth view and a second task source. MONTH shows the whole month at once, each day a miniature timeline of its blocks, and Todoist can now feed the inbox. Everything here ships on desktop, Android and iOS unless a section says otherwise.
MONTH view
- The grid. Every day is a small vertical timeline drawn to the same fixed hour window, so a full Tuesday and an empty Sunday are comparable at a glance. Tasks keep their real colours, calendar events take a theme gray, routines are a rule, and overlapping blocks split into lanes up to three. Cells never grow wider than they are tall, so the grid centres on a wide display instead of stretching.
- The day sheet. Tap a day to open its agenda, the same SCHED scoped to that one date, in a sheet. Swipe sideways, or use the arrow keys, to move to the next or previous day, crossing month boundaries as you go. Today's sheet also lists what is overdue. Closing the sheet leaves every view on the day you were looking at.
- Docked on a wide window. At the width DAY needs (1600px and up) the selected day's agenda docks beside the grid instead, with the day's header on top, and nothing covers the cell you picked. The panel sizes itself from the row: a third of the width, or more when the grid leaves width unused, between 380 and 640px.
- The month's numbers. The header row carries a row of stat tiles for the month through today: completion rate with a progress bar, tasks done with the incomplete count, inbox tasks done, time spent against time planned, and focus time when any was logged. Below the docked width the tiles share the row with the day header; the phone shows the percentage, its bar and the ratio. Same definitions as the All-Time Summary.
- Keyboard. MONTH is
4, SCHED moves to5, andCcycles through them. Left and right page months,Treturns to today, Space and Shift+Space step a day, Up and Down a week, and Enter opens the selected day's sheet, or moves focus into the docked panel. The selection ring is dayGLANCE orange, distinct from the blue keyboard focus ring. - Device calendars fill the whole grid. Native calendar events are fetched for every day the grid shows, not just two days either side of the selection, so events no longer pop in and out as the selection moves.
- While the Day Dial is up, MONTH steps out of every switcher, so a kiosk cannot open a sheet with nobody there to close it.
Todoist
- Selective sync. Three modes in Settings: today's tasks, all active tasks, or a choice by project, label and priority, with AND or OR between the groups you pick. Overdue tasks are opt-in, and an empty filter imports nothing. Matching tasks arrive with a badge, following their Todoist date, landing on today, or staying in the inbox as you choose. Todoist supplies the tasks; dayGLANCE owns the time blocks, and a block you arranged by hand is kept.
- One-way writeback, guarded. Completing an ordinary, non-recurring Todoist task here closes it in Todoist, with a durable command id written before the request so a retry after a crash cannot close a task twice. Titles, dates, deletions and un-completions are never sent.
- A missing task is never a deleted task. Todoist lists active items, so absence is treated as no information, and the integration is structurally unable to remove a task from your inbox. Automatic sync runs only while the app is open, visible and online; nothing runs in the background.
- Opt-in and private. Off by default and unavailable in multi-user mode. Credentials are session-only, and no dayGLANCE task is ever uploaded. Contributed by Lcub3d, with the account cache moved to IndexedDB and the strings folded into the app's locale bundles after merge.
- Settings match the app. The Todoist panel follows dark mode like every other section, and on mobile sits with the other task-source integrations.
Views on this device
- Turn off the views you do not use, per device. A view turned off leaves the switcher, the number keys, the C cycle and the default-view picker on that device only. At least one view stays on; the last switch is disabled. Tablets choose separately for portrait and landscape, and the shortcut help lists only the keys that work.
Day Dial
- Complications a corner at a time. Four dropdowns, one per corner, replace the switch list. Choosing a readout already in another corner swaps the two. Corners hold their place when a readout has nothing to say on the day being viewed.
- Aligned, and a project ring. Aligned is Done's sibling: how much of today's planned time went to work filed under a project, with a sheet listing the unfiled blocks, each a tap from the editor that can file them. Any project can ride the face as a ring counted in tasks.
- Tick off from the sheets. Rows in the inbox and deadline sheets carry a completion circle; the rest of the row still opens the editor.
- The moon. Drawn on the sky track for the hours it is up and the sun is not, at an opacity set by its altitude and phase, with a phase-shaped glyph. Sunrise and sunset are now the same sun over a horizon, travelling opposite ways.
- The precipitation arc moved inward off the daylight band and breaks around the weather glyph. Habits got the Activity icon the settings already use.
Everywhere
- One day header for every view. MULTI, DAY, WEEK, SCHED, MONTH and the phone share one header cell: the date, the daily note and focus log buttons, past-day habit rings, and a tap that starts an all-day task on that day. SCHED and WEEK gain the buttons they were missing; DAY gains the rings.
- Overdue tasks appear in today's agenda, and GLANCE gets a one-click postpone that moves the task forward a day, on the tray too.
- #tag autocomplete works for non-Latin and nested tags. A tag the app stored and filtered could not be offered by the completer; the two now share one definition of a tag.
- Larger caches leave web storage. The vault sync baseline and the Todoist cache moved to IndexedDB, freeing most of a shared 5 MB budget. Completion receipts stay in localStorage on purpose: only a synchronous write is durable the moment it returns. The storage gauge now says it measures local storage and reports IndexedDB separately where the browser can.
Obsidian
- Task notes go to the vault. Notes typed on a task assigned to a linked project become a note in that project's folder, named after the task, with the wikilink placed in the title. From then on the card shows the open book and the panel edits the vault note. The notes panel follows the switch while it is open.
- The open book means a vault note. The notes icon on a card describes where the notes live, not where the task came from.
- A token is never minted over a live task. A second line with the same title in the same note no longer redirects the original task's content. This was the app half of the 13 September incident; the plugin half is below.
Desktop
- A self-hosted vault on a private address can now be reached, with consent. Private, CGNAT and Tailscale addresses are still refused by default; a grant is per scheme, host and port, recorded locally, and never covers link-local or the unspecified address. Loopback is grantable per port, so a Docker vault on the same machine works while nothing else on localhost is exposed.
Under the hood
- The Obsidian bridge plugin is 0.9.1: one applier per vault, held by a lease, and one write per note per drain. Two plugin copies over one vault were both applying the same intents and Obsidian Sync merged the results into duplicated lines. Install 0.9.1 on every desktop that runs Obsidian against the vault.
- The month view's layout engine is the same pure module the native Android widget will draw from.
Thanks
- Lcub3d designed and built the Todoist integration (#1604), including its data-safety rules, the reconciliation tests and the user documentation, and carried it through review. The first outside feature in dayGLANCE, and a welcome addition!