github krelltunez/dayGLANCE v5.2.1

5 hours ago

Fixes after MONTH

dayGLANCE 5.2.1 is a patch release: the fixes that landed in the days after 5.2.0, with one small addition. Everything here ships on desktop, Android and iOS unless a section says otherwise.

Sync

  • The vault write loop is closed. A device could push one vault write per pull, forever, until the vault rate-limited it. A prior-day routine completion dropped at midnight kept its old timestamp, so every pull re-admitted it and every push sent it back. The sanitizer now out-dates the stale stamp, and the routine-completion payload is built from one render instead of half from state and half from localStorage, which is where the bad pair was born.
  • Obsidian settings no longer re-push once a minute. Every sync commit handed the app a fresh copy of the Obsidian config, and on a slow cycle the updated-at effect restamped it as changed. The effect is keyed on content now.

Obsidian

  • A wiped note gets its tasks back. When a project note's task section is replaced by a sync merge or an accidental edit, a task whose record is newer than the wipe has its line re-appended on the next pass, once per wipe. Older records follow the vault and are dropped, as before. This is the fix for the 13 September merge wipe that stranded six open tasks.
  • A lagging plugin copy cannot revert an edit. The late-observation gate now judges every observed note, project notes included, and the tasks parsed from a stale report leave the batch. A second desktop reporting an older Obsidian Sync copy no longer undoes a retitle.
  • Later notes on a linked task go to the task's own note. Notes added to a task whose note already lives in the vault are appended to that note, and the record remembers which note is its own. Hand-linked and shared notes are never appended to. Removing the wikilink on either side unlinks; a stale report does not.
  • Local notes on a linked task are shown. The notes panel used to show either the vault note or the local notes, never both, so notes typed in dayGLANCE on a linked task had no surface. Both now render, the local block labelled "Notes in dayGLANCE", and the card icon shows the document rather than the open book when local notes exist.
  • The planner card follows the open-book rule. A task whose only note is a vault wikilink showed a dimmed document icon in SCHED and the Planner. It now lights and shows the open book, like every other card.

Wikilinks

  • No more raw brackets. A task whose note lives in the vault carries a [[wikilink]] in its title, and thirty-odd surfaces printed it verbatim: native reminders, the home-screen widgets, the Stream Deck, TRMNL, the tray popup, hover tooltips, toasts, the AI briefings, and a dozen lists and prompts. One rule now strips the link everywhere the link cannot be a link. A title that is nothing but a link reads as the note's name rather than going blank.
  • The title bar opens the note. On the Mac, the NOW banner in the title bar shows the wikilink as a link with the open book; clicking it opens the note in Obsidian. The tray popup's NOW bar gets an open-book button that does the same without raising the main window.

Everywhere

  • Spotlight searches daily notes. Ctrl/Cmd+K finds text in a day's note, shows the matching line, and opens that day's note. Off while the Obsidian integration is on, where Obsidian's own search covers the vault.
  • Recurring device-calendar events fill MONTH. iOS and Android report one event id for every occurrence of a series, and the merge deduped by id, so MONTH's six-week grid kept the first occurrence of a weekly meeting and dropped the rest. Each occurrence now has its own id per day.
  • Weekly recurrence limits hold from later views. A weekly task with an occurrence limit could show one occurrence too many when viewed from a week past its end, because the fast-forward under-counted the partial first week. Contributed by bensynapse.

Desktop and self-hosting

  • Proxies check where they are going. The CalDAV and WebDAV proxies, hosted, self-hosted Docker, desktop and dev server, now share one address guard. The self-hosted proxy checked nothing before; it now refuses the always-blocked ranges (cloud metadata, link-local, multicast, reserved) while still allowing your LAN, Docker host, Tailscale and loopback. Set WEBDAV_PROXY_BLOCK_PRIVATE=1 to lock it down. Redirects are followed by hand with every hop checked and pinned, closing a redirect bypass that was live on the hosted functions too, and DNS is resolved before checking so a public hostname pointing at a private address is caught. The desktop policy decodes IPv4-mapped addresses before classifying them, so the metadata endpoint can no longer be granted by consent under its IPv6 spelling.
  • The Mac App Store lists eight languages, not fifty. Electron shipped every Chromium locale folder, and Apple read each one as a supported language. Only the locales dayGLANCE is translated into are bundled now.

Under the hood

  • The widget snapshot now carries every timed block of the day and the sky bands, ahead of a Day Dial home-screen widget. A render-budget spike widget sits in the iOS tree behind a compile flag and does not ship. The Day Dial geometry is exported as JSON test vectors for the native ports, and the SSRF address verdicts are exported the same way for the sibling GLANCE apps.
  • The Obsidian bridge plugin is unchanged and stays at 0.9.1.

Thanks

  • bensynapse for the weekly recurrence fix (#1699).

Don't miss a new dayGLANCE release

NewReleases is sending notifications on new releases.