Commit Graph
502 Commits
Author SHA1 Message Date
Lucas WintherandClaude Opus 5.5 bcbd3cc188 docs: record built-in weekly tasks
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 14:13:30 +02:00
Lucas WintherandClaude Opus 5.5 08269b5d5c fix(settings): count tasks in the Your own summary
A reader whose only own items were tasks was told they had none yet.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 14:13:18 +02:00
Lucas WintherandClaude Opus 5.5 624c725cbf feat(settings): switch built-in weekly tasks per game, and make one your own
The switch sits beside the daily chores and answers the strip's question
too. Built-ins are listed with a link to their dated source. Make it mine
copies one into the reader's tasks, numbers and ticks included, and hides
the original while the copy exists. It's additive, so deleting the copy
brings the original back as it was.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 14:10:58 +02:00
Lucas WintherandClaude Opus 5.5 228ce9132d feat(dailies): offer a game's built-in weekly tasks, and show them once on
The strip asks once, in one line, about a game on screen that has
built-ins. Yes puts them beside its dailies, drawn and counted like the
reader's own tasks, with a tooltip giving the source's date.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 14:09:25 +02:00
Lucas WintherandClaude Opus 5.5 bfd79c295e feat(routines): record which games' built-ins are on, and who was asked
Both prefs are absent unless the reader answers, so built-ins are opt-in
for every install, old ones included. The question is asked only about a
game on screen, and only once. A built-in the reader made their own
stays hidden while the copy exists.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 14:07:31 +02:00
Lucas WintherandClaude Opus 5.5 8aa820e2c0 feat(routines): ship sourced weekly tasks for ZZZ and Endfield
Ridu Weekly (1,300 points) and the Weekly Routine (10 points), each with
the page that states it and that page's own date, so a figure from an
old guide shows its age. Routines share the task shape, so they draw and
count like a reader's own.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 14:06:34 +02:00
Lucas WintherandClaude Opus 5.5 641c6a52b9 docs: plan built-in weekly tasks, phase 2b
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 14:03:36 +02:00
Lucas WintherandClaude Opus 5.5 114a39867a docs: specify the changelog, and source the first built-in tasks
The changelog has two tiers, each tied to git: short entries shown after
a reload, and release notes summarised from the history and specs.
Ridu Weekly (1,300) and the Weekly Routine (10) are now sourced. The
first guesses of 2,100 and 10 were checked against the owner's links.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 14:02:16 +02:00
Lucas WintherandClaude Opus 5.5 5a4c746a44 fix(tasks): keep a task whole through import and edit, and fix two counts
Review found that import and edit rebuilt a task from this build's parse.
That stripped any field it didn't know, and import dropped a newer
version's task entirely. Both now keep the record as stored and validate
only to display it.

An event whose goal is points can't be ticked, so it no longer counts as
waiting today: it counts with its week. The month-day field reset
itself to 1 when emptied; it now keeps a draft.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 13:54:29 +02:00
Lucas WintherandClaude Opus 5.5 54d8424d1e docs: record weekly and monthly tasks
The product, storage and design records now cover F17. They say why the
task and amount stores, unlike the custom-event store, never filter on
load, which is the rule a future store would most likely copy wrongly.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 13:50:08 +02:00
Lucas WintherandClaude Opus 5.5 45f24cf0cf fix(dailies): give weekly and monthly counts their own line
In the rail, three counts on one heading line wrapped it and broke the
reset countdown across two lines.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 13:50:07 +02:00
Lucas WintherandClaude Opus 5.5 1edce31210 feat(settings): add, edit and delete weekly and monthly tasks
They live in Your own, beside the reader's games and events. Every field
has a default the reader can accept unread (weekly, from Monday, ticked
off once) except the target, which nobody can guess for them. Save is
offered only when the store would accept what was typed.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 13:47:46 +02:00
Lucas WintherandClaude Opus 5.5 d0b295c02f feat(detail): let an event's goal be points, entered in the sheet
Some events want a number of points rather than a number of days. The
goal control gains Days and Points. Switching period keeps the measure
and the number, and the sheet keeps this period's number editable in
place. A target is capped where the schema reads it back, so a huge
number can't silently become no goal.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 13:46:13 +02:00
Lucas WintherandClaude Opus 5.5 595ae55f4a feat(dailies): put weekly and monthly tasks beside a game's dailies
Tasks sit at the end of their game's group and are counted by their own
period, so a chore due Sunday is not "waiting on you today" every
morning. A number chip opens an editor under the strip instead of
ticking, since a chip is one target. Catch up offers last period's
number the way it offers yesterday's tick.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 13:44:57 +02:00
Lucas WintherandClaude Opus 5.5 e97e8b002f feat(export): carry tasks and amounts in the backup
They exist on this device and nowhere else, so an export without them is
a lossy backup. Both are additive keys, as custom games were: older files
lack them and still import. Tasks travel as stored, including any this
build cannot read.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 13:34:56 +02:00
Lucas WintherandClaude Opus 5.5 c0a0b94054 feat(tasks): store the reader's tasks and the numbers they enter
Both stores keep what is on disk and validate where they read, unlike the
custom-event store. Filtering on load would let the next write delete a
newer version's records. Import merges by id, or by item and period for
amounts, and the later edit wins, so a restored backup cannot roll a
week back.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 13:33:59 +02:00
Lucas WintherandClaude Opus 5.5 9c2d63b73b feat(task): model the reader's own weekly and monthly tasks
A task is a period that rolls on the game's reset and a measure that
fills it: days ticked, or a number against a target. Its status is the
goal status shape, so the dailies strip treats it like any other item.
Its ids get their own reserved space, as do the built-ins to come.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 13:32:13 +02:00
Lucas WintherandClaude Opus 5.5 e7ee43f92d feat(goal): let a goal be a number against a target, and a period a month
Weekly chores like 2,100 activity points are a number, not a count of
days, and monthly ones need a month. The status shape now carries its
measure and period start, so tasks can reuse it whole.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 13:30:47 +02:00
Lucas WintherandClaude Opus 5.5 e0aca3b1fb docs: plan weekly and monthly tasks, phase 2a
Task status reuses the goal status shape, so one chip, one count and one
tally serve chores, events and tasks alike.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 13:28:28 +02:00
Lucas WintherandClaude Opus 5.5 064cea25fd fix(goal): never drop an unreadable goal by accident, and let the count be retyped
Review found three ordinary actions that deleted a goal this build could
not read: "It repeats daily", pressing an already-pressed Off, and "not
daily" without saying so. Only "not daily" clears a goal now, and its
warning keys off what is stored, not what parses.

The count field was bound straight to the goal, so emptying it snapped
the old number back and typing appended to it. It now keeps a draft.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 13:24:41 +02:00
Lucas WintherandClaude Opus 5.5 d5ffad38c5 docs: record check-in goals
The product, storage and design records now say what a goal is, why it
never marks an event done, and why an unreadable goal is kept rather than
stripped. That last rule is the one a future cleanup would most likely
undo by mistake.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 13:18:00 +02:00
Lucas WintherandClaude Opus 5.5 3c668ab5c1 feat(detail): set a check-in goal from the event's checklist
The goal sits under the checklist, where its count shows. With a goal
set, the caption counts against it instead of calling unticked days
missed. Reaching an event-wide goal offers Mark event done but never
takes it. Saying "not daily" says up front that it removes the goal.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 13:14:07 +02:00
Lucas WintherandClaude Opus 5.5 a61a903583 feat(dailies): show check-in goals and count a met week as done
An event wanting five days of seven stays in the strip all week with its
count on the chip. Once the week is met it reads as done this week, and
it counts toward the header without a tick being invented. The burst
now watches today's ticks, so meeting a week by backfilling stays quiet.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 13:10:30 +02:00
Lucas WintherandClaude Opus 5.5 34c7dce5ca feat(progress): keep a check-in goal on the reader's progress record
Goals ride the existing record, so export and the later-edit-wins import
merge carry them with no new key. Setting one clears a contradicting
"not daily"; saying "not daily" clears the goal, so no conflict hides
in storage.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 13:09:05 +02:00
Lucas WintherandClaude Opus 5.5 9e826f22e4 feat(goal): count check-ins against a weekly or event-wide target
Some events want five days out of seven, not every day. The goal is the
reader's input, recomputed from the day log on every read, so backfills
and week rollovers need no bookkeeping. An unreadable stored goal reads
as none instead of being stripped, so a newer shape survives an older
bundle.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 13:05:36 +02:00
Lucas WintherandClaude Opus 5.5 664cdbe0db feat(period): cut weeks and months on each game's reset clock
Check-in goals and weekly tasks both need a period longer than a day.
Working in game-day keys rather than instants means a week rolls exactly
where the game's own day does, per region, with no second clock.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 13:04:36 +02:00
Lucas WintherandClaude Opus 5.5 5223a74013 docs: plan check-in goals task by task
The goal control lives on the checklist only: "It repeats daily" already
reaches it from a non-daily event, so a second entry point added nothing.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 13:03:46 +02:00
Lucas WintherandClaude Opus 5.5 1deb0cb4cb docs: settle check-in goals and specify weekly and monthly tasks
The goals draft stopped at three open questions; the owner answered them,
and widened the scope to weekly and monthly chores with numeric targets.
Both share one period engine, so they are specified together and built
goals-first.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 12:57:37 +02:00
Lucas WintherandClaude Opus 5.5 84ea00c059 feat(colophon): thank Game-Time-Master for the reset clocks
CI / Typecheck, test, feed (push) Successful in 14s
CI / Build site (push) Successful in 8s
CI / Container image (push) Successful in 35s
Every server's reset hour and offset was checked against it, so it is
credited beside the schedules' sources.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 12:44:16 +02:00
Lucas WintherandClaude Opus 5.5 be5089fca6 docs: record per-server reset clocks and Game-Time-Master as their source
Rewrites the reset table for every corrected game, records the rule that a
game's offset must make its day key name the source's calendar day, and
names Game-Time-Master as the evidence for server clocks a source does not
state (transcribed, never vendored: it is GPL-3.0).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 12:43:14 +02:00
Lucas WintherandClaude Opus 5.5 6c870b23d2 fix(games): roll hololive Dreams' day at 05:00 JST, not 04:00
Game-Time-Master gives the reset as 05:00 JST (20:00 UTC). The previous
04:00 was read off a single mission ending at 3:59AM JST.

Re-labels the game-day of some already-logged ticks.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 12:42:05 +02:00
Lucas WintherandClaude Opus 5.5 ad159c5306 fix(games): give Reverse: 1999's Asia readers the Asia server's clock
Reverse: 1999 has an Asia server on UTC+8 alongside Global on UTC-5, both
resetting at 05:00. Asia readers were on Global's 10:00 UTC; theirs rolls
at 21:00 UTC. Source: Game-Time-Master.

Re-labels the game-day of some already-logged ticks for Asia readers.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 12:41:51 +02:00
Lucas WintherandClaude Opus 5.5 aadd57126f fix(games): put Girls' Frontline 2 on its Asia and Global server clocks
Haoplay Asia resets at 05:00 UTC+8 and Haoplay Global at 21:00 UTC-8; the
app used the regional default at 04:00. Asia readers take the Asia server,
America and Europe take Global. Source: Game-Time-Master.

Re-labels the game-day of some already-logged ticks.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 12:41:27 +02:00
Lucas WintherandClaude Opus 5.5 ccc4eb667c fix(games): roll Neverness to Everness's day at 05:00, America on UTC-4
NTE resets at 05:00 server time, not 04:00, and its America server runs
UTC-4. Asia and Europe rolled an hour early; America lands on the same
09:00 UTC instant and day key as before. Source: Game-Time-Master.

Re-labels the game-day of some already-logged ticks in Asia and Europe.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 12:41:13 +02:00
Lucas WintherandClaude Opus 5.5 93bde74973 fix(games): roll Stella Sora's day at 13:00 UTC-7 for every region
One worldwide server on a fixed UTC-7 resetting at 13:00 (20:00 UTC); the
app used the regional default. Source: Game-Time-Master, which lists the
zone as fixed rather than Pacific.

Re-labels the game-day of some already-logged ticks.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 12:40:41 +02:00
Lucas WintherandClaude Opus 5.5 d1029f606c fix(games): roll Punishing: Gray Raven's day at 05:00 UTC for every region
The Global server resets at 05:00 UTC; the app used the regional default.
Source: Game-Time-Master.

Re-labels the game-day of some already-logged ticks.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 12:40:27 +02:00
Lucas WintherandClaude Opus 5.5 faa5a166ff fix(games): roll P5X's day at 20:00 UTC for every region
The English/Japanese server resets once worldwide at 20:00 UTC; the app
used the regional default. Source: Game-Time-Master.

Re-labels the game-day of some already-logged ticks.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 12:40:13 +02:00
Lucas WintherandClaude Opus 5.5 54aed5617b fix(games): roll Chaos Zero Nightmare's day at 18:00 UTC for every region
One worldwide server resetting at 18:00 UTC; the app used the regional
default. Source: Game-Time-Master, corroborated by GameWith.

Re-labels the game-day of some already-logged ticks.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 12:39:57 +02:00
Lucas WintherandClaude Opus 5.5 f23d01a110 fix(games): roll Umamusume's day at 15:00 UTC for every region
Umamusume Global resets once worldwide at 15:00 UTC (midnight JST); the app
used the regional default. Kept on the UTC calendar because the source's
dates are headed Availability (UTC). Source: Game-Time-Master.

Re-labels the game-day of some already-logged ticks.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 12:39:36 +02:00
Lucas WintherandClaude Opus 5.5 eb96b70122 fix(games): roll Blue Archive's day at 04:00 JST for every region
Blue Archive Global is one worldwide server resetting at 19:00 UTC, but the
app used the regional default (20:00 / 09:00 / 03:00 UTC). Source:
Game-Time-Master, corroborated by two guides.

Re-labels the game-day of some already-logged ticks.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 12:38:54 +02:00
Lucas WintherandClaude Opus 5.5 32e252e381 fix(games): put Infinity Nikki's America and Europe servers on their own clocks
Infinity Nikki resets at 04:00 on America UTC-7 and Europe UTC+2, not the
regional default, so the app rolled the day 2h early for American readers
and 1h late for European ones. Source: Game-Time-Master.

Re-labels the game-day of some already-logged ticks for those readers.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 12:38:29 +02:00
Lucas WintherandClaude Opus 5.5 72fe6b618b refactor(time): make resetHourLocal a per-region map
A game's servers need not agree on the reset hour any more than on the
offset. Reverse: 1999 and Nikke spell their 05:00 out for all three
regions, so no reader's day key moves.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 12:37:10 +02:00
gitea-actions[bot] bf9d5d45cd chore(data): refresh source snapshots
Automated fetch from Refresh sources run 306.
2026-10-13 05:28:23 +00:00
gitea-actions[bot] ccaae719e7 chore(data): refresh source snapshots
Automated fetch from Refresh sources run 303.
2026-10-12 17:28:22 +00:00
gitea-actions[bot] 4f314c8088 chore(data): refresh source snapshots
Automated fetch from Refresh sources run 300.
2026-10-12 05:28:23 +00:00
gitea-actions[bot] 2547d5780e chore(data): refresh source snapshots
Automated fetch from Refresh sources run 297.
2026-10-11 17:28:23 +00:00
gitea-actions[bot] 086210a77b chore(data): refresh source snapshots
Automated fetch from Refresh sources run 294.
2026-10-11 05:28:20 +00:00
gitea-actions[bot] 71ff301018 chore(data): refresh source snapshots
Automated fetch from Refresh sources run 288.
2026-10-10 17:28:20 +00:00
gitea-actions[bot] 6706b1dde1 chore(data): refresh source snapshots
Automated fetch from Refresh sources run 285.
2026-10-10 05:28:20 +00:00
gitea-actions[bot] e3c6984734 chore(data): refresh source snapshots
Automated fetch from Refresh sources run 260.
2026-10-09 17:28:20 +00:00