Changelog

Every release of the extension and the server, newest first. Server changes reach you without an update; extension changes arrive through the Chrome Web Store.

1.0.10

Fixed

  • The welcome page's buttons did nothing on some installs: its script was inline, which Chrome's extension policy blocks. It is a separate file now.
  • "call mom today at 15:00" now starts at 15:00. "at" pins the start time and the block runs for the task's duration; it used to be a deadline, so the solver took the first free slot before it. "by 15:00" is still a deadline.

1.0.9

New

  • Labels can be created in Settings → Labels, not only by typing @name in quick add.

1.0.8

New

  • Offline edits and completions. Ticking a task or saving its sheet without a connection applies at once in the panel, shows "waiting to sync" on the row, and replays in order when you are back online. One pending change per task; a later one replaces an earlier one.
  • Buffer after meetings. A separate gap kept free after every meeting, in Settings under the between-blocks buffer. Leave "Same as between blocks" ticked to keep one number.

1.0.7

New

  • Day navigation. Arrows on the Today header step through days; a Today link jumps back. Other days show their blocks and meetings without the now-line.
  • Stats look back. The stats tab adds "Last 7 days": tasks completed, hours of work done, and a bar per day.

1.0.6

New

  • Sub-tasks. Open a task and add sub-tasks under it. Each is scheduled on its own; the parent becomes a container showing "2 of 4 sub-tasks done" and is not placed on the calendar itself. Completing the parent completes its sub-tasks.
  • Labels in Settings. Rename or delete labels; deleting removes the label from every task.
  • Tasks grouped by project in the drawer, under collapsible headers with the project colour and open count. Filtering by a project or label shows a flat list as before.
  • Instant calendar sync. FlexCal registers for Google Calendar push notifications at sign-in, so a change you make in Calendar reaches the scheduler within seconds instead of at the next 15-minute poll. The poll stays as a fallback.

1.0.5

New

  • Project colours. Pick one of ten colours per project in Settings. It shows as a dot on tasks and chips, as the left edge of the task's block in the timeline, and as the colour of its events in Google Calendar. A project left grey keeps the priority colour on the calendar.

Removed

  • The unused language-model parser from the first prototype is gone from the server. Everything you type is understood by the rule-based parser, as it has been since July; the privacy policy now says so explicitly.

1.0.4

New

  • Add tasks offline. A line typed without a connection is kept in the panel as a dashed "waiting for connection" row and sent as soon as you are back online. "tomorrow" means the day after you typed it, not the day it was sent. A line the server rejects stays in the list with the reason, with Retry and Discard.
  • Projects carry a schedule window (the Motion model). Each project is Work hours, Personal or Any time, set in Settings; new tasks in the project inherit it, so "#Home" tasks go to personal hours without a token. Inbox is Work hours. You can still override per task.
  • Rename projects by clicking the name in Settings.

1.0.3

New

  • Find a slot. Open any task and place just that one. Every other block, pinned or not, stays where it is. "Allow splitting" and "Use any hours" in the no-slot strip work the same way.
  • Use any hours. When a task is pinned to a day with no hours in its window, the strip explains which day and offers to use your personal time too.
  • Add button under the quick-add field, for people who do not reach for Enter.
  • Calendar clean-up in Settings, two options. Remove all FlexCal events clears every [AI] event and sends the tasks back to the queue; nothing returns until you press Solve. Remove all events and disconnect also deletes your data on the FlexCal server. Use the second before uninstalling.
  • Task sheet shows the current placement ("Scheduled Fri 14:00" or "Not scheduled yet").
  • Full form from quick add. The sliders icon in the quick-add bar opens the complete task form, pre-filled from whatever you typed, for when one line is not enough.
  • Time ranges. "music lesson every saturday from 10:00-11:00" gives a one-hour task pinned to 10:00; "call tomorrow 2-3pm" works too.
  • Buffer is a free number of minutes (0 to 60, in steps of 5) with quick picks for 5, 10, 15 and 30.

Changed

  • Calendar events stay put across solves. A block that lands in the same place keeps its event instead of being deleted and re-created, so Calendar stops notifying about every solve and an event you delete or move is always recognised.
  • "in two weeks", "in 3 days" and "next week" are deadlines, with earlier days open. Named days ("tomorrow", "friday", "oct 2") still mean that day.
  • The Backend URL field is gone from store builds. It only appears in development builds or when an override is already set.
  • Error toasts stay for six seconds.
  • Named days in a recurrence mean on that day: "every sunday" is pinned to Sundays for every occurrence.
  • Tasks longer than 4 hours are split into chunks of at least 2 hours by default. A task that still cannot fit in one piece gets a plain explanation in the strip.
  • A task pinned to a day with no working hours ("dentist tomorrow" on a Friday) is created as "Any time", so it lands in your personal hours instead of reporting no slot.
  • New accounts start with the default working and personal hours shown in Settings, weekends included in personal time.
  • "in two weeks", "in a week", "in three days" are understood, not only digits.

Fixed

  • Orphaned calendar events. After every write the server lists its own events in your calendar and deletes any it no longer references, and solves for one account run strictly one at a time. This clears the pile-up some testers saw after revoking access.
  • Revoking FlexCal in your Google account is detected: scheduling stops, Solve says so, and the panel shows a Reconnect banner.
  • The Offline pill reacts to the browser's own offline signal and keeps the last schedule on screen.
  • The timezone is picked up from the browser for every new account, not only the first one in a session.
  • All-day events are read in your timezone. A Friday day-trip no longer shows under Saturday's "all day" row.

1.0.2

Changed

  • Completing a task keeps the blocks that already started. They stay on Google Calendar renamed [AI] ✓ title and show struck through in the timeline. Blocks that have not started are removed; undoing a completion plans the task afresh.
  • Recurring tasks are projected across the two-week horizon: one block per occurrence, each pinned to its own day, like habits. Completing one advances to the next occurrence; the other blocks carry over untouched.
  • The timezone is adopted from the browser on first load, so working hours and "today" line up without a visit to Settings.

Fixed

  • Deleting an [AI] event in Google Calendar now releases the task even when the block was pinned.
  • Deleting a habit no longer fails with a server error.
  • Pasting many tasks at once yields one re-plan instead of one per task: the server waits four seconds after a change and folds everything in that window into a single solve.
  • Personal-window tasks were placed on a grid shifted by the UTC offset for accounts still on UTC.

1.0.1

Changed

  • A bare date means do it that day: "pay rent tomorrow" is placed tomorrow. Only "by", "before", "due" and "until" keep earlier days open.
  • Durations work without "for": "8 hours", "2h", "45 min", "1h30". "2nd of october" is understood.
  • The no-slot strip appears by itself whenever the background solver cannot place a task, names the task, says why ("on Saturday: that day has no working hours in Settings") and lists the others under "+n more".
  • Labels are visible: a green @label chip for every label in use filters the Tasks drawer, and rows show their labels.

Fixed

  • All-day events are shown at the top of the timeline.
  • The Tasks drawer can be dragged taller by its handle.
  • Server errors are shown as sentences instead of raw JSON; Settings checks hours before saving.
  • Copying the support email shows a confirmation.

1.0.0

First release. Side panel with a one-day timeline, Todoist-style quick add, projects, labels and sub-tasks, habits with weekly targets, a CP-SAT solver over a 14-day horizon that writes [AI] blocks to Google Calendar and reschedules around your meetings, pinning by moving events in Calendar, a stats tab and an optional morning digest.