Some checks are pending
Playwright Tests / test (push) Waiting to run
The "update on reboot" unit silently did nothing useful. boot-update.sh piped every command into tee, so `set -e` only saw tee's exit status: a failed npm install or build left a half-built tree and still logged "Boot update finished". It also used npm install (rewrites package-lock.json, so the next git pull aborts), had no GIT_TERMINAL_PROMPT=0, and was not wrapped in a function even though git pull rewrites it mid-run. The unit's TimeoutStartSec=300 was the other half: npm ci + prisma generate + next build takes far longer than 5 minutes in the container, so systemd SIGTERMed the oneshot mid-install and left a node_modules tree npm could no longer remove (ENOTEMPTY on rmdir node_modules/date-fns/isEqual). Also resyncs package-lock.json with package.json, missed in the 1.115.0 commit. v1.115.1 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
87 lines
4.3 KiB
Markdown
87 lines
4.3 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project are documented in this file.
|
|
|
|
## [1.115.1] - 2026-09-03
|
|
|
|
### Fixed
|
|
- `scripts/boot-update.sh` (the "update on reboot" unit): every command was piped into `tee`,
|
|
so `set -e` only ever saw tee's exit status. A failed `npm install` or `npm run build` did
|
|
not stop the script and did not fail the systemd unit — it logged "Boot update finished"
|
|
and left a half-built tree. Now uses `set -euo pipefail`, logs through a single `exec`
|
|
redirect, and traps ERR.
|
|
- `scripts/boot-update.sh`: switched from `npm install` to `npm ci`. Same fix update-app.sh
|
|
got in 1.114.1 — `npm install` rewrites package-lock.json, leaving the tree dirty so the
|
|
*next* `git pull` aborts.
|
|
- `scripts/boot-update.sh`: body wrapped in a function so bash parses it in one go. The
|
|
script lives inside the checkout it pulls, so `git pull` rewriting it mid-run made bash
|
|
resume at a stale file offset.
|
|
- `scripts/boot-update.sh`: set `GIT_TERMINAL_PROMPT=0` so a git credential prompt fails
|
|
fast instead of hanging the unit at boot, where there is no tty.
|
|
- `scripts/my-weekly-todo-update.service`: raised `TimeoutStartSec` from 300 to 1800.
|
|
`npm ci` + `prisma generate` + `next build` takes far longer than 5 minutes in the
|
|
container; systemd SIGTERMed the oneshot unit mid-install, which left a `node_modules`
|
|
tree npm could no longer remove (`ENOTEMPTY: rmdir node_modules/date-fns/isEqual`).
|
|
- `package-lock.json`: version resynced with `package.json` (missed in the 1.115.0 commit).
|
|
|
|
## [1.115.0] - 2026-09-03
|
|
|
|
### Added
|
|
- Day columns: a "Custom" option next to the 1/2/3/5/7 presets, where any number of days from
|
|
1 to 31 can be typed (e.g. 14, 21, 28). The chosen value shows up as its own chip beside the
|
|
presets and is available in every place the day count can be set — sidebar, both settings
|
|
flyouts, the desktop toolbar and the header overflow menu.
|
|
|
|
### Fixed
|
|
- Day grid and all-day grid only had CSS for `cols-1/2/3/5/7`, so any other day count silently
|
|
fell back to a 5-column layout. Both grids now derive `grid-template-columns` from the actual
|
|
day count.
|
|
|
|
## [1.114.2] - 2026-09-01
|
|
|
|
### Fixed
|
|
- Deploy script: copy `public/` and `.next/static/` into `.next/standalone/` after the build.
|
|
`next.config.js` sets `output: 'standalone'`, and Next.js does not copy those itself. Without
|
|
the copy every deploy left the old chunk hashes in the standalone tree, so the browser's
|
|
requests for the new chunks 404'd, React never hydrated, and the app hung on "Loading
|
|
session..." — while the API kept returning 200, which made it look like an auth problem.
|
|
|
|
## [1.114.1] - 2026-09-01
|
|
|
|
### Added
|
|
- `scripts/update-app.sh`: the production deploy script, now version-controlled instead of
|
|
living only on the server. Hardened with `set -euo pipefail` (a failed `git pull` used to
|
|
still trigger a rebuild and PM2 restart on unchanged code) and switched from `npm install`
|
|
to `npm ci` (npm install rewrote package-lock.json, leaving the tree dirty so the next
|
|
pull aborted).
|
|
|
|
## [1.114.0] - 2026-09-01
|
|
|
|
### Added
|
|
- Focus Mode: "SKIP" button to move on to the next task of the day without completing the
|
|
current one. Skipped tasks are remembered until Focus Mode is closed, and the timer
|
|
resets for each new task. The button is disabled when no other task is left for today.
|
|
|
|
### Changed
|
|
- Styling settings: removed the standalone "Element Colors" and "Weekend Colors" sections —
|
|
those controls now live only in the CSS Variables panel (added there in 1.113.1).
|
|
- Styling settings: larger, borderless color swatches and bigger labels in the CSS Variables
|
|
panel.
|
|
|
|
## [1.113.1] - 2026-07-08
|
|
|
|
### Changed
|
|
- CSS Variables panel: added the existing "Today Highlight", "Past Days", "Saturday" and
|
|
"Sunday" color controls as their own groups (bound to the same profile fields as the
|
|
standalone Element/Weekend Colors sections, so both stay in sync).
|
|
- CSS Variables panel: every row now shows the color swatch before its label.
|
|
|
|
## [1.113.0] - 2026-07-08
|
|
|
|
### Added
|
|
- Styling settings: "CSS Variables" panel with a color picker and description for every
|
|
customizable color token in `globals.css` (base colors, settings sidebar, design token
|
|
aliases, event colors, all-day chips).
|
|
- Styling settings: "Custom CSS" textarea to inject a personal stylesheet that loads after
|
|
the app's default styles and can override any rule.
|