Files
F-r-ldraledigplannerare/todo.md
T
2026-09-19 16:35:34 +02:00

66 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# todo
Everything in the previous list is done — the original wording is in git history
(`git show d2bc2e9:todo.md`). What landed, and what is still open, below.
## Done
- **Yearly periods keep their weekday.** A Mon–Sun week recurs as Mon–Sun, not as the
same two calendar dates landing mid-week. Fixed periods only; flexible ones already
re-place themselves each year. — `224fe7a`
- **Red days cost nothing, and now there is a switch.** A test states outright that a
full week off spends nothing on the Saturday, the Sunday or a holiday. A workspace
setting, off by default, lets parental benefit be drawn on those days for the money;
it never reaches for a vacation day, which is not legally possible there. — `b87ad0e`
- **Calendar cells never resize.** A long holiday name no longer squeezes its week's
row, and every row is the same height. — `f0f537c`
- **Presets mean both parents, in long stretches.** Two-parent households default to
being off together, and the funding switches once per period (3+3 over six weeks)
instead of flipping daily. — `f76de7b`
- **Today button**, left of the month dropdown. — `1837154`
- **FK scraping runs headless again** — `APP_SCRAPER_HEADLESS` in the local, gitignored
`backend/.env`. The committed defaults were already correct.
- **`how-it-works.md`** — what the profile fields do to the plan.
- **Click a holiday to make it a working day**, that date only. — `663d5fc`
- **Removing a period offers three scopes**: this day, this year, every year. — `35e479a`
- **A hand-drawn period is funded by the planner** by default; pinning an exact day type
moved behind Advanced. Double days are now offered in the UI. — `35e479a`
- **Two parents can hold the same days.** Saving for the second parent was rewriting the
first parent's days. — `35e479a`
- **Opening a period shows the dates it actually has**, not the first year's. — `1837154`
- **A shortfall funds what it can and says what would close it**, including moving the
window onto Easter — the search now covers four weeks either side instead of three
days, and the advice is finally rendered. — `11f2a17`
- **`dubbeldagar.md`** — answers the question, and corrects half of it.
- **Every year of a repeating period is its own row**, linked by a series id, so one
year can differ from the rest — Easter moves, and the cheapest week is not the same
week every year. — `6d92b87`
- **A day removed from a period stays removed**, across every later sync, with the
calendar marking it and offering to put it back. — `8cfb9c8`
- **The e2e suite runs green**, 20 passed on three consecutive runs. It had never been
executed; the first run failed six ways because the test runner tripped the auth rate
limiter from a single address. — `e39ec9a`
## Open
- **Rate limiting is keyed on the caller's address**, which behind a reverse proxy
without forwarded-header handling is the proxy's — so every user would share one
30/minute refresh budget, and `AuthContext.tsx` turns a failed refresh into a silent
logout. The e2e suite hit exactly this. Two separable calls: which proxies to trust
for `X-Forwarded-For`, and whether a non-401 refresh failure should log someone out
or retry. The `catch` there has two identical branches, which reads unfinished.
- **A removed day is never cleaned up.** Delete the whole period and the veto rows stay,
so a later period covering that date still skips it. Reachable only through that day's
popover; there is no list of them.
- **Undo after an "every year" edit** restores the anchor's dates across the series
rather than each year's previous dates, so per-year divergence from before the edit is
lost. Would need a per-edit snapshot.
- **`PLANNING_ENGINE_SPEC.md` §2.1/§3.2/§10.2 and parts of `ARCHITECTURE.md`** still
describe the single-row recurrence model that no longer exists.
- **Dubbeldagar are not outside the 480.** `dubbeldagar.md` sets this out: the 60 are
combined for the couple, as assumed, but each parent still spends one of their own
days on a doubled date. Nothing in the engine changed on the strength of it — worth
confirming against Försäkringskassan before anything is built on the other reading.
- **`ParentalLeaveFetch.dubbeldagar_left`** is scraped per parent and read by nothing.
Per-parent is the wrong shape for a combined pot. Flagged, not touched.