OpenTodo 1.3.0 gives you more control over what goes where. Calendar sync and CalDAV app passwords can now cover only the workspaces and projects you choose. Upcoming lets you drag a task to another day, deferred tasks stay in their own section, and a section's colour tints its header. Shared routines can email the project's members, and Focus can end with a sound that repeats until you notice it. The in-app assistant works with Anthropic again. The web app now checks the signature of every update, in report-only mode for now: if your server sits behind Cloudflare or another proxy that rewrites pages, read Signed updates before upgrading.
Security
- The app checks the code of every update, in report-only mode for now. Every build lists the web app's files with a fingerprint of each in
app-manifest.json, and release builds sign the list. An installed app checks who signed an update, that it is not older than the version it runs, and every file, then installs it. For now an update that fails the check is still installed: Settings → About shows the result under App code, with the likely cause, What to do and Copy diagnostics. A later release turns refusal on, after real setups have been seen to pass. If your server is behind Cloudflare or another proxy, turn off Rocket Loader, Auto Minify and anything else that rewrites the app's pages or scripts; Signed updates explains how, andgo run github.com/OpenTodoApp/opentodo/cmd/websign@latest verify https://your.server/checks a server (#970).
Added
- A Focus end sound you will not miss. Settings → General → Focus → Sound is now Off, Short or Long. Long plays the end-of-session tone louder, once a second, until you click, tap or press a key, or for ten seconds, and vibrates on phones while haptic feedback is on. It is still generated on the device. A synced
user_prefs.focus_alertfield holds the length; an older device plays the short tone instead (#1005). - Email project members in shared routines. A routine of a shared project can email its members: one plain-text message to each member with a verified address, in their own language, with a link to the run and a link of their own to stop emails from that routine. Each message counts toward the routine's and the person's daily email limits; it needs outgoing email and is never offered on a demo (#741).
- Choose which workspaces and projects sync to a calendar. A calendar sync connection (Tasks from) and a CalDAV app password (Lists) now cover All, Only the chosen workspaces, projects and Inboxes, or All except them, so work tasks stay out of a personal calendar and a phone's Reminders shows only the lists you pick. Narrowing a connection removes the events OpenTodo wrote for tasks that left it, never your own; CalDAV clients drop the lists outside the choice, and writes to them are refused. A task moved between workspace Inboxes now also leaves the old Inbox in calendar apps (#1006).
- Drag a task to another day in Upcoming. Drop it under that day's heading: its date moves there, its time stays, and the toast offers Undo. On a touch screen, press and hold the task first (#892).
Changed
- Connecting Google Calendar says what went wrong. A sign-in that fails now names the cause (the CalDAV API not enabled, the calendar permission unticked, a refused client, a redirect address that is not the page's, a declined or blocked sign-in) with a link to the fix, and the calendar sync guide walks through the Google Cloud console step by step, with a section for each of these errors and for access that ends after 7 days (#1047).
- Deferred tasks stay in their section. In a project listed by section, a task with a future start date or parked in Someday no longer leaves for one Later group
