github krelltunez/dayGLANCE v5.7.0

4 hours ago

Direct Access sync, clearer recurring edits, and a steadier self-hosted setup

dayGLANCE 5.7.0 adds Direct Access, a new way to sync through a folder that Nextcloud, Google Drive, Dropbox, OneDrive, Syncthing or a network share already keeps in step across your devices. Editing one occurrence of a recurring task now asks whether you meant that occurrence or the whole series, and several recurrence and navigation bugs are fixed. A round of fixes from self-hosters makes WebDAV, Nextcloud and GLANCEvault behave on LAN servers, plain HTTP and self-signed certificates. Everything here ships on desktop, Android and iOS unless a section says otherwise.

Direct Access sync

  • Sync through a folder you already sync. Settings > Cloud Sync has a new Direct Access card. Pick a folder that another app keeps in step, and dayGLANCE keeps its data in a single file there. It runs alongside WebDAV, GLANCEvault and iCloud, and needs no account or server of its own. It is not available in the browser.
  • On desktop, including the Mac App Store build, choose the folder with "Choose folder…".
  • On Android, choose the folder through Android's folder picker. Google Drive and Dropbox do not offer their folders there, so use a folder that Syncthing, FolderSync, Autosync or a similar app mirrors to the phone.
  • On iPhone and iPad, choose the sync file itself ("Choose sync file…") or create one ("Create sync file…"), since the Files picker cannot open folders from third-party providers. Works with Nextcloud, Google Drive, Dropbox and iCloud Drive.
  • Optional encryption. "Encrypt the file in the folder" encrypts it with the same passphrase as WebDAV encryption. Once a file is encrypted it stays encrypted on every device; "Remove encryption from the file…" is the one deliberate way back. A device that has the key stops asking for the passphrase at every launch.
  • Conflict copies are cleaned up. Changes made on this device are written at once. A change relayed from another device is passed on only if the folder still lacks it after a short wait, and devices take turns, so Nextcloud and friends make far fewer conflict copies. On desktop and Android, copies they do leave are merged into your data and removed automatically, or on demand from Sync diagnostics.
  • Multi-user and intents. The household roster syncs through the Direct Access folder, so multi-user works with no WebDAV or vault. Settings > Intents has an opt-in "Direct Access intents" option for exchanging tasks with other GLANCE apps through the same folder. With encryption on, those intents are sealed with your sync passphrase, and a device that syncs only through the folder can read them; an intent that arrives before this device has the key waits for it, and the app asks for the passphrase, rather than losing the intent. On iPhone and iPad the roster and events are files you pick, from the Multi-user section and under the intents option.
  • Health counts travel. Direct Access carries habit counts from Health Connect and HealthKit, so steps logged on an Android phone reach your Mac. iCloud still leaves them out, as Apple requires.

Recurring tasks

  • This occurrence, or all of them? Saving a change to one occurrence of a recurring task (its title, time, duration, all-day, colour or assignment) now asks whether it applies to that occurrence or to the whole series. Before, such edits only ever changed the one date. The old assignment-only "Apply to" buttons are gone.
  • Changing the pattern keeps the series' start. Editing a series' pattern could move its start to the 1st of the month, creating past occurrences that showed as overdue. Series already affected are not repaired automatically.
  • Yearly and every-2-weeks anchor on the occurrence you edit. Yearly used to take the series' original date, and every-2-weeks could skip the very occurrence it was picked from.
  • 29 February comes back. A yearly series started on 29 February returns to the 29th in leap years. Before, it stayed on 1 March for good.

Views

  • WEEK and DAY arrows no longer skip time. In rolling WEEK and SCHED, Previous and Next could jump past days. In rolling 24-hour DAY, Back now shows today's calendar day before yesterday. Today shows while the view is paused.
  • The welcome tour stays dismissed after you close it, rather than coming back at every restart.
  • PLANNER's "Send to bottom" works after a quick-add on an Obsidian-linked project, and the banner leaves when nothing is left to move.

Self-hosted sync: WebDAV, Nextcloud and GLANCEvault

  • The sync folder is normalised. A WebDAV, Nextcloud or Koofr folder entered with extra slashes produced 404s and nothing was written. It is cleaned up now, and folders saved earlier are fixed too, auto-backups included.
  • A failed upload is not "Synced". A WebDAV sync whose upload failed no longer updates Last synced or reports success. Changes from the server are still applied.
  • A warning on http:// addresses. The server URL field warns about an unencrypted connection on a LAN address, and more strongly on a public one. It does not stop you saving.
  • Private addresses on desktop. A WebDAV server on a LAN address showed "400 Bad Request". Test Connection now explains why and offers "Allow this address…". The allowed-addresses list sits at the bottom of the form, where WebDAV-only users can see it.
  • LAN servers on Android. Android can reach sync servers on the LAN over plain http:// and over https:// with a self-signed or private-CA certificate installed on the phone. Public http:// is still refused.
  • A slow server no longer freezes the app. On Android, an unreachable sync server could block every tap for minutes at startup. Network requests on Android and iOS now run without holding up the app.
  • GLANCEvault says what went wrong. A local failure is no longer reported as "Network error", Last synced stays visible during an error, and it no longer reads "never" after a clean sync.
  • GLANCEvault and Direct Access encryption on Android. Setting up Direct Access encryption could make GLANCEvault report that the passphrase did not match. The two keys now live in separate Keystore slots.

iCloud and file sync

  • Macs stop rewriting an unchanged iCloud file, and the iPhone no longer waits without limit for an iCloud download. After two minutes it merges into the copy it has, so edits made on the phone are not held up.
  • Deleted tasks stay deleted on a device that was offline for more than 60 days.
  • Newly imported Obsidian tasks reach the iCloud and Direct Access file. Before, only GLANCEvault carried them.
  • Fewer needless writes. Two devices holding equally recent copies now settle on one, a change in order alone is not a write, device-only settings such as the 24-hour clock no longer count as an edit, and neither does the midnight routine rollover.
  • iCloud intents work with WebDAV encryption on. On a Mac or iPhone with WebDAV intents encryption switched on, intents sent through iCloud were encrypted, and the iCloud receivers on other devices refused them. iCloud intents are now always sent unencrypted, as the receivers expect; Apple already encrypts the iCloud container.
  • Calendar file import can no longer overwrite newer edits, apply after Cancel, or bring deleted tasks back through sync. Contributed by Lcub3d.

Sync diagnostics

  • One "Sync diagnostics" panel on every platform, including the web app, naming the device and covering iCloud, Direct Access, GLANCEvault and WebDAV. "Run check" dry-runs the merge and says what would change, names the items on only one side, and shows the vault engine's state.

Languages

  • Android: the in-app language now switches the widgets, the Up Next notification, quick settings tiles and native settings too, and stays in step with Android's per-app language setting. Portuguese is listed as Brazilian and European Portuguese. Android 13 and later. If you chose a language in the app before this update, choose it once more so the home screen follows.
  • iOS: a language change in iOS Settings now applies to the app's screens at the next launch, not only to the widgets.

Experimental: JOBO

JOBO, plan versus actual, stays behind the Experimental switch in Settings and is off by default.

  • Focus sessions are recorded as Do. Each Focus work phase becomes a timed Do entry. A block with one task is attributed to it, and with several you choose. Breaks are not recorded. Contributed by Lcub3d.
  • "Make a task" from an unlinked Do, in the Do editor and on its Check entry. The new task opens in the Inbox form with the Do's title, and saving links them.
  • On the phone, a form opened from the Check no longer opens behind the Check sheet or closes by itself.
  • On a portrait tablet, JOBO's hour column lines up with the header and the other views.
  • The JOBO setting's hint says it records what was done, rather than that it will.

Security

  • i18next-http-backend updated for a low-severity advisory. It loads the app's translations, so the fix ships.
  • Build tooling patched for advisories in source-map-js, shell-quote and the MCP test client. Two more build-only advisories with no fix yet (postcss-selector-parser via Tailwind, sprintf-js via electron-builder) are accepted in the audit gate with a review date. None of these ship in the app.

Under the hood

  • More of App.jsx moved into tested modules: the iCloud sync loop (now a transport-driven cycle in @glance-apps/sync 2.1.2), the widget snapshot, the TRMNL push, overdue tasks, recurring occurrence edits and Focus orchestration.

Thanks

  • Lcub3d for recording Focus work in JOBO (#2015), the calendar file import fixes (#2016, reported in #2012) and extracting overdue tasks (#2023).
  • youli42 for a run of careful self-hosting reports: the private-address WebDAV error (#2024), the welcome tour (#2034), GLANCEvault's error messages (#2035), LAN servers on Android (#2036), the WebDAV folder and upload reporting (#2037) and the startup freeze (#2048).
  • filliph for the recurring edit report (#2042), and Cheugreum for the skipping arrows (#2045).

Don't miss a new dayGLANCE release

NewReleases is sending notifications on new releases.