list_child_tasks used date_type.today() (server UTC) to look up the
TaskExtension record. When the client's local date differed from the
server's UTC date (e.g. user is UTC-5 and it's past midnight UTC),
the lookup returned None and extension_date was incorrectly null.
Fix:
- Add get_extension_for_child_task() to db/task_extensions.py that
queries by child_id + task_id only, without a date filter, and
returns the entry with the latest date when multiple exist.
- Update list_child_tasks to use the new function. The comment already
states 'client does all time math', so returning the stored
extension_date is correct — the frontend compares it to local date.
- In extend_chore_time, delete any existing extension for the
child+task before inserting the new one to prevent stale records
from accumulating across days.
- Add regression test that inserts an extension for yesterday's date
and asserts extension_date is non-null in the list-tasks response.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
[2m[WebServer] [22m2026-04-12 10:24:51 - account_deletion_scheduler - INFO - Checking for interrupted deletions from previous runs
[1A[2K[WebServer] 2026-04-12 10:24:51,693 - account_deletion_scheduler - INFO - Checking for interrupted deletions from previous runs
[1A[2K[2m[WebServer] [22m2026-04-12 10:24:51 - apscheduler.scheduler - INFO - Adding job tentatively -- it will be properly scheduled when the scheduler starts
[1A[2K[2m[WebServer] [22m2026-04-12 10:24:51 - apscheduler.scheduler - INFO - Added job "Account Deletion Scheduler" to job store "default"
[1A[2K[2m[WebServer] [22m2026-04-12 10:24:51 - apscheduler.scheduler - INFO - Scheduler started
[1A[2K[WebServer] 2026-04-12 10:24:51,706 - account_deletion_scheduler - INFO - Account deletion scheduler started (runs every 1 hour)
[1A[2K[2m[WebServer] [22m2026-04-12 10:24:51 - account_deletion_scheduler - INFO - Account deletion scheduler started (runs every 1 hour)
[1A[2K[2/19] [chromium-task-modification] › e2e\mode_parent\task-modification\scroll-to-edited-task.spec.ts:105:3 › Scroll to edited task after save › Edited chore card scrolls into viewport after override save
[1A[2K[6/19] [chromium-tasks-rewards] › e2e\mode_parent\notifications\notification-click-scroll.spec.ts:125:3 › Notification click navigates and scrolls to task › Clicking a chore notification navigates and scrolls to the chore card
[1A[2K[8/19] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:35:3 › User Profile – Change Parent PIN › Back from PIN setup page returns to profile
[1A[2K[9/19] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:46:3 › User Profile – Change Parent PIN › Send Verification Code advances to step 2
[1A[2K[10/19] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:60:3 › User Profile – Change Parent PIN › Resend Code button appears after delay
[1A[2K[2m[WebServer] [22m2026-04-12 10:25:08 - db.tracking - INFO - Tracking event created: confirmed chore eafea3ca-72e9-4286-b70c-9b205be8fe4f for child e55f3361-b7ef-4e2d-9318-86d8887702f6
[1A[2K[2m[WebServer] [22m2026-04-12 10:25:09 - api.child_api - INFO - Child ChildSortChild has 50 points, reward CSortRewardPending costs 10 points
[1A[2K[2m[WebServer] [22m2026-04-12 10:25:09 - api.child_api - INFO - Pending reward request created for child ChildSortChild for reward CSortRewardPending
[1A[2K[2m[WebServer] [22m2026-04-12 10:25:09 - db.tracking - INFO - Tracking event created: requested reward dc7c5584-e425-4d21-ad53-5b0eb30597fb for child e55f3361-b7ef-4e2d-9318-86d8887702f6
[1A[2K[11/19] [chromium-tasks-rewards] › e2e\mode_parent\task-sorting\child-sort-order.spec.ts:214:3 › Child mode sort order › Child reward sort: pending first, then ascending by points needed
[1A[2K[2m[WebServer] [22m2026-04-12 10:25:10 - db.tracking - INFO - Tracking event created: confirmed chore 1bcb0b2b-c1b9-4d48-b795-cd5b91f5ea2d for child a4bfda72-f28b-4da8-a0b9-7868fa78febd
[1A[2K[2m[WebServer] [22m2026-04-12 10:25:11 - api.child_api - INFO - Child NotifScrollChild has 50 points, reward NotifScrollReward costs 10 points
[1A[2K[2m[WebServer] [22m2026-04-12 10:25:11 - api.child_api - INFO - Pending reward request created for child NotifScrollChild for reward NotifScrollReward
[1A[2K[2m[WebServer] [22m2026-04-12 10:25:11 - db.tracking - INFO - Tracking event created: requested reward ab631c51-d8bc-43f5-9fa9-5deeb0182351 for child a4bfda72-f28b-4da8-a0b9-7868fa78febd
[1A[2K[13/19] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:81:3 › User Profile – Change Parent PIN › Valid code advances to step 3 (Create PIN)
[1A[2K[14/19] [chromium-tasks-rewards] › e2e\mode_parent\notifications\notification-click-scroll.spec.ts:149:3 › Notification click navigates and scrolls to task › Clicking a reward notification scrolls reward card into viewport
[1A[2K[15/19] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:99:3 › User Profile – Change Parent PIN › Set PIN disabled when PINs do not match
[1A[2K[16/19] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:116:3 › User Profile – Change Parent PIN › Set PIN disabled for fewer than 4 digits
[1A[2K[17/19] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:133:3 › User Profile – Change Parent PIN › Set PIN succeeds with matching 4-digit PIN – shows success step
[1A[2K[18/19] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:156:3 › User Profile – Change Parent PIN › Back from success step exits parent mode and goes to child selector
[1A[2K[19/19] [chromium-task-modification] › e2e\mode_parent\task-modification\scroll-to-edited-task.spec.ts:135:3 › Scroll to edited task after save › Edited reward card scrolls into viewport after override save
[1A[2K[2m[WebServer] [22m2026-04-12 10:25:19 - db.child_overrides - INFO - Overrides cascade deleted for child: child_id=8c6a8c65-f46c-4012-9d59-643dd09a28de, count=2
[1A[2K[2m[WebServer] [22m2026-04-12 10:25:19 - api.child_api - INFO - Cascade deleted 2 overrides for child 8c6a8c65-f46c-4012-9d59-643dd09a28de
[1A[2K 1) [chromium-task-modification] › e2e\mode_parent\task-modification\scroll-to-edited-task.spec.ts:135:3 › Scroll to edited task after save › Edited reward card scrolls into viewport after override save
[chromium-task-modification] › e2e\mode_parent\task-modification\scroll-to-edited-task.spec.ts:135:3 › Scroll to edited task after save › Edited reward card scrolls into viewport after override save
[1A[2K[3/287] [chromium-child-options] › e2e\mode_parent\child-options\delete-child.spec.ts:23:3 › Child kebab menu – Delete Child › Confirm deletes the child from the list
[1A[2K[4/287] [setup-cc] › e2e\auth-cc.setup.ts:6:1 › authenticate create-child isolated user
[1A[2K[5/287] [setup-delete] › e2e\auth-delete.setup.ts:11:1 › authenticate delete user
[1A[2K[6/287] [chromium-child-options] › e2e\mode_parent\child-options\edit-child.spec.ts:24:3 › Child kebab menu – Edit Child › Edit Child menu item navigates to the child editor
[1A[2K[7/287] [chromium-default-tasks] › e2e\mode_parent\tasks\chore-convert-default.spec.ts:6:1 › Convert a default chore to a user item by editing
[1A[2K[8/287] [chromium-child-options] › e2e\mode_parent\child-options\delete-points.spec.ts:25:3 › Child kebab menu – Delete Points › Delete Points resets child points to 0
[1A[2K[9/287] [chromium-default-tasks] › e2e\mode_parent\tasks\chore-delete-default.spec.ts:6:1 › Edit default chore "Take out trash" and verify system chore restoration on delete
[1A[2K[10/287] [chromium-child-options] › e2e\mode_parent\child-options\delete-child.spec.ts:39:3 › Child kebab menu – Delete Child › Cancel does not delete the child
[1A[2K[11/287] [chromium-default-tasks] › e2e\mode_parent\tasks\penalty-default.spec.ts:28:3 › Default penalty management › Convert a default penalty to a user item by editing
[1A[2K[12/287] [chromium-default-tasks] › e2e\mode_parent\tasks\kindness-default.spec.ts:31:3 › Default kindness act management › Convert a default kindness act to a user item by editing
[1A[2K[13/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\assign-title-shows-child-name.spec.ts:28:3 › Assign view heading shows child name › "Assign Chores" heading contains child name
[1A[2K[14/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\assign-title-shows-child-name.spec.ts:35:3 › Assign view heading shows child name › "Assign Rewards" heading contains child name
[1A[2K[15/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\assign-title-shows-child-name.spec.ts:42:3 › Assign view heading shows child name › "Assign Kindness Acts" heading contains child name
[1A[2K[16/287] [chromium-default-tasks] › e2e\mode_parent\tasks\kindness-default.spec.ts:63:3 › Default kindness act management › Edit default kindness act "Be good for the day" and verify system act restoration on delete
[1A[2K[17/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\assign-title-shows-child-name.spec.ts:49:3 › Assign view heading shows child name › "Assign Penalties" heading contains child name
[1A[2K[18/287] [chromium-default-tasks] › e2e\mode_parent\tasks\penalty-default.spec.ts:65:3 › Default penalty management › Edit default penalty "Fighting" and verify system penalty restoration on delete
[1A[2K[19/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\chore-assignment.spec.ts:64:3 › Chore assignment › "Assign Chores" button navigates to the chore assign view
[1A[2K[20/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\kindness-assignment.spec.ts:54:3 › Kindness act assignment › "Assign Kindness Acts" button navigates to the kindness assign view
[1A[2K[21/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\penalty-assignment.spec.ts:64:3 › Penalty assignment › "Assign Penalties" button navigates to the penalty assign view
[1A[2K[22/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\reward-assignment.spec.ts:60:3 › Reward assignment › "Assign Rewards" button navigates to the reward assign view
[1A[2K[23/287] [chromium-task-activation] › e2e\mode_parent\task-activation\chore-activation.spec.ts:94:3 › Chore activation › Kebab button appears after first chore click
[1A[2K[24/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\kindness-assignment.spec.ts:72:3 › Kindness act assignment › Select a kindness act and submit — item appears in ParentView
[1A[2K[25/287] [chromium-task-activation] › e2e\mode_parent\task-activation\general-chore-no-completed.spec.ts:85:3 › General chore — no COMPLETED stamp › Approving a general chore awards points
[1A[2K[26/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\chore-assignment.spec.ts:83:3 › Chore assignment › Select chores and submit — items appear in ParentView chores section
[1A[2K[27/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\kindness-assignment.spec.ts:90:3 › Kindness act assignment › Re-opening assign view shows the assigned item as pre-checked
[1A[2K[28/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\penalty-assignment.spec.ts:83:3 › Penalty assignment › Select penalties and submit — items appear in ParentView penalties section
[1A[2K[29/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\kindness-assignment.spec.ts:99:3 › Kindness act assignment › Uncheck the kindness act and submit — item is removed from ParentView
[1A[2K[31/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\chore-assignment.spec.ts:126:3 › Chore assignment › Uncheck all chores and submit — items are removed from ParentView
[1A[2K[33/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\kindness-assignment.spec.ts:120:3 › Kindness act assignment › Cancel does not persist selection changes
[1A[2K[34/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\penalty-assignment.spec.ts:128:3 › Penalty assignment › Uncheck all penalties and submit — items are removed from ParentView
[1A[2K[35/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\reward-assignment.spec.ts:79:3 › Reward assignment › Select rewards and submit — items appear in ParentView rewards section
[1A[2K[36/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\chore-assignment.spec.ts:151:3 › Chore assignment › Cancel does not persist selection changes
[1A[2K[37/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\penalty-assignment.spec.ts:153:3 › Penalty assignment › Cancel does not persist selection changes
[1A[2K[38/287] [chromium-task-activation] › e2e\mode_parent\task-activation\chore-activation.spec.ts:108:3 › Chore activation › Kebab button disappears when clicking a non-chore item
[1A[2K[41/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\reward-assignment.spec.ts:124:3 › Reward assignment › Uncheck all rewards and submit — items are removed from ParentView
[1A[2K[42/287] [chromium-task-activation] › e2e\mode_parent\task-activation\general-chore-no-completed.spec.ts:99:3 › General chore — no COMPLETED stamp › General chore does NOT show COMPLETED stamp after approval
[1A[2K[43/287] [chromium-task-activation] › e2e\mode_parent\task-activation\kindness-activation.spec.ts:74:3 › Kindness act activation › Edit button appears on first kindness act click
[1A[2K[44/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\reward-assignment.spec.ts:149:3 › Reward assignment › Cancel does not persist selection changes
[1A[2K[45/287] [chromium-task-activation] › e2e\mode_parent\task-activation\general-chore-no-completed.spec.ts:107:3 › General chore — no COMPLETED stamp › General chore can be triggered again immediately after approval
[1A[2K[47/287] [chromium-task-activation] › e2e\mode_parent\task-activation\general-chore-no-completed.spec.ts:117:3 › General chore — no COMPLETED stamp › Scheduled chore DOES show COMPLETED after approval
[1A[2K[48/287] [chromium-task-activation] › e2e\mode_parent\task-activation\penalty-activation.spec.ts:81:3 › Penalty activation › Edit button appears on first penalty click
[1A[2K[51/287] [chromium-task-activation] › e2e\mode_parent\task-activation\chore-activation.spec.ts:161:3 › Chore activation › Clicking a completed chore does not open confirmation
[1A[2K[52/287] [chromium-task-activation] › e2e\mode_parent\task-activation\kindness-activation.spec.ts:88:3 › Kindness act activation › Edit button disappears when clicking a different kindness card
[1A[2K[53/287] [chromium-task-activation] › e2e\mode_parent\task-activation\scroll-and-flow.spec.ts:76:3 › Scroll and flow › Kindness list is horizontally scrollable when many items are assigned
[1A[2K[60/287] [chromium-task-activation] › e2e\mode_parent\task-activation\kindness-activation.spec.ts:135:3 › Kindness act activation › Kindness act can be activated a second time — points awarded again
[1A[2K[62/287] [chromium-task-activation] › e2e\mode_parent\task-activation\reward-redemption.spec.ts:83:3 › Reward redemption › Clicking a locked reward does not open confirmation dialog
[1A[2K[63/287] [chromium-task-activation] › e2e\mode_parent\task-activation\reward-redemption.spec.ts:98:3 › Reward redemption › Reward shows REWARD READY when child has sufficient points
[1A[2K[64/287] [chromium-task-activation] › e2e\mode_parent\task-activation\penalty-activation.spec.ts:144:3 › Penalty activation › Penalty can be activated multiple times — points deducted again
[1A[2K[65/287] [chromium-task-activation] › e2e\mode_parent\task-activation\reward-redemption.spec.ts:110:3 › Reward redemption › Edit button appears on first click of a ready reward
[1A[2K[66/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-edit-points.spec.ts:106:3 › Chore edit points › Kebab menu contains "Edit Points" and "Schedule"
[1A[2K[67/287] [chromium-task-activation] › e2e\mode_parent\task-activation\reward-redemption.spec.ts:125:3 › Reward redemption › Edit button disappears when clicking a different reward card
[1A[2K[68/287] [chromium-task-activation] › e2e\mode_parent\task-activation\penalty-activation.spec.ts:160:3 › Penalty activation › Points floor at 0 — penalty cannot make points negative
[1A[2K[69/287] [chromium-task-activation] › e2e\mode_parent\task-activation\pending-reward-warning.spec.ts:172:3 › Pending reward warning dialog › Chore activation — Cancel on pending dialog leaves state unchanged
[1A[2K[71/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-edit-points.spec.ts:120:3 › Chore edit points › "Edit Points" opens override modal pre-populated with current points
[1A[2K[72/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-reset.spec.ts:90:3 › Chore reset › "Reset" is absent from kebab menu when chore is not yet completed
[1A[2K[73/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-edit-points.spec.ts:136:3 › Chore edit points › Clicking outside the modal does not close it
[1A[2K[74/287] [chromium-task-activation] › e2e\mode_parent\task-activation\reward-redemption.spec.ts:162:3 › Reward redemption › Confirm reward redemption — points deducted and reward locks again
[1A[2K[75/287] [chromium-task-activation] › e2e\mode_parent\task-activation\scroll-and-flow.spec.ts:103:3 › Scroll and flow › Scrolling the list reveals hidden items
[1A[2K[77/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-edit-points.spec.ts:150:3 › Chore edit points › Cancel does not save — card still shows original points, no ⭐ badge
[1A[2K[78/287] [chromium-task-activation] › e2e\mode_parent\task-activation\scroll-and-flow.spec.ts:133:3 › Scroll and flow › First click on an off-screen item scrolls it into view and marks it ready
[1A[2K[79/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-edit-points.spec.ts:164:3 › Chore edit points › Saving a valid new value updates the displayed points on the card
[1A[2K[80/287] [chromium-task-modification] › e2e\mode_parent\task-modification\kindness-edit-points.spec.ts:72:3 › Kindness act edit points › Edit button appears on first click of a kindness card
[1A[2K[81/287] [chromium-task-activation] › e2e\mode_parent\task-activation\pending-reward-warning.spec.ts:222:3 › Pending reward warning dialog › Kindness activation — Cancel on pending dialog leaves state unchanged
[1A[2K[82/287] [chromium-task-activation] › e2e\mode_parent\task-activation\scroll-and-flow.spec.ts:163:3 › Scroll and flow › Scrolling does not prevent first-click centering on a partially visible item
[1A[2K[83/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-edit-points.spec.ts:177:3 › Chore edit points › ⭐ override badge appears on the card after saving a custom value
[1A[2K[84/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-edit-points.spec.ts:185:3 › Chore edit points › ⭐ badge persists after changing value back to the original default
[1A[2K[85/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-reset.spec.ts:100:3 › Chore reset › Chore shows COMPLETED stamp after activation and confirmation
[1A[2K[86/287] [chromium-task-modification] › e2e\mode_parent\task-modification\modified-points-activation.spec.ts:147:3 › Modified points take effect on activation › Modified chore points are awarded on activation (override 25, default 10)
[1A[2K[88/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-edit-points.spec.ts:200:3 › Chore edit points › Negative value disables the Save button
[1A[2K[89/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-reset.spec.ts:112:3 › Chore reset › "Reset" appears in kebab menu after chore is completed
[1A[2K[90/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-edit-points.spec.ts:211:3 › Chore edit points › Value above 10000 disables Save; exactly 10000 enables it
[1A[2K[91/287] [chromium-task-modification] › e2e\mode_parent\task-modification\kindness-edit-points.spec.ts:83:3 › Kindness act edit points › Edit button disappears when clicking a different kindness card
[1A[2K[93/287] [chromium-task-activation] › e2e\mode_parent\task-activation\pending-reward-warning.spec.ts:261:3 › Pending reward warning dialog › Penalty activation — Cancel on pending dialog leaves state unchanged
[1A[2K[94/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-edit-points.spec.ts:224:3 › Chore edit points › Zero is a valid value — card shows "0 Points" with ⭐ badge
[1A[2K[95/287] [chromium-task-modification] › e2e\mode_parent\task-modification\kindness-edit-points.spec.ts:99:3 › Kindness act edit points › Edit button opens modal with kindness name and "Assign new points" subtitle
[1A[2K[96/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-reset.spec.ts:134:3 › Chore reset › Chore is re-activatable after reset — returns to COMPLETED on confirm
[1A[2K[97/287] [chromium-task-modification] › e2e\mode_parent\task-modification\kindness-edit-points.spec.ts:115:3 › Kindness act edit points › Input is pre-populated with the current point value
[1A[2K[99/287] [chromium-task-modification] › e2e\mode_parent\task-modification\penalty-edit-points.spec.ts:72:3 › Penalty edit points › Edit button appears on first click of a penalty card
[1A[2K[100/287] [chromium-task-modification] › e2e\mode_parent\task-modification\kindness-edit-points.spec.ts:125:3 › Kindness act edit points › Cancel does not save — points remain unchanged, no ⭐ badge
[1A[2K[101/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-reset.spec.ts:151:3 › Chore reset › Reset → activate cycle is repeatable without error
[1A[2K[102/287] [chromium-task-modification] › e2e\mode_parent\task-modification\override-sse-child-update.spec.ts:89:3 › Override SSE updates child view › Changing chore override points updates child view in real time
[1A[2K[103/287] [chromium-task-modification] › e2e\mode_parent\task-modification\kindness-edit-points.spec.ts:139:3 › Kindness act edit points › Saving a new value updates displayed points and shows ⭐ badge
[1A[2K[104/287] [chromium-task-activation] › e2e\mode_parent\task-activation\pending-reward-warning.spec.ts:301:3 › Pending reward warning dialog › Other reward activation — Cancel on pending dialog leaves state unchanged
[1A[2K[105/287] [chromium-task-modification] › e2e\mode_parent\task-modification\kindness-edit-points.spec.ts:153:3 › Kindness act edit points › Negative value disables the Save button
[1A[2K[106/287] [chromium-task-modification] › e2e\mode_parent\task-modification\modified-points-activation.spec.ts:172:3 › Modified points take effect on activation › Modified kindness points are awarded on activation (override 8, default 10)
[1A[2K[107/287] [chromium-task-modification] › e2e\mode_parent\task-modification\penalty-edit-points.spec.ts:83:3 › Penalty edit points › Edit button disappears when clicking a different penalty card
[1A[2K[108/287] [chromium-task-modification] › e2e\mode_parent\task-modification\pending-reset-on-edit.spec.ts:107:3 › Pending status resets on task/reward modification › 10.1 Editing chore points clears pending status
[1A[2K[109/287] [chromium-task-modification] › e2e\mode_parent\task-modification\kindness-edit-points.spec.ts:164:3 › Kindness act edit points › Value above 10000 disables Save; exactly 10000 enables it
[1A[2K[110/287] [chromium-task-activation] › e2e\mode_parent\task-activation\pending-reward-warning.spec.ts:333:3 › Pending reward warning dialog › Other reward activation — Confirm on pending dialog cancels the pending reward
[1A[2K[111/287] [chromium-task-modification] › e2e\mode_parent\task-modification\penalty-edit-points.spec.ts:99:3 › Penalty edit points › Edit button opens modal with penalty name and "Assign new points" subtitle
[1A[2K[112/287] [chromium-task-modification] › e2e\mode_parent\task-modification\penalty-edit-points.spec.ts:115:3 › Penalty edit points › Input is pre-populated with the raw point value (positive, not negated)
[1A[2K[113/287] [chromium-task-modification] › e2e\mode_parent\task-modification\modified-points-activation.spec.ts:197:3 › Modified points take effect on activation › Modified penalty points are deducted at override rate (override 3, default 10)
[1A[2K[114/287] [chromium-task-modification] › e2e\mode_parent\task-modification\reward-edit-cost.spec.ts:67:3 › Reward edit cost › Edit button appears on first click of a reward card
[1A[2K[115/287] [chromium-task-modification] › e2e\mode_parent\task-modification\penalty-edit-points.spec.ts:128:3 › Penalty edit points › Cancel does not change the display
[1A[2K[117/287] [chromium-task-modification] › e2e\mode_parent\task-modification\penalty-edit-points.spec.ts:143:3 › Penalty edit points › Saving a new value updates card to show negated override and ⭐ badge
[1A[2K[118/287] [chromium-task-modification] › e2e\mode_parent\task-modification\modified-points-activation.spec.ts:222:3 › Modified points take effect on activation › Modified reward cost is reflected in points needed display (override 30)
[1A[2K[120/287] [chromium-task-modification] › e2e\mode_parent\task-modification\penalty-edit-points.spec.ts:159:3 › Penalty edit points › Negative value disables the Save button
[1A[2K[121/287] [chromium-task-modification] › e2e\mode_parent\task-modification\override-sse-child-update.spec.ts:137:3 › Override SSE updates child view › Deleting an override reverts child view to original points
[1A[2K[122/287] [chromium-task-modification] › e2e\mode_parent\task-modification\reward-edit-cost.spec.ts:78:3 › Reward edit cost › Edit button opens modal with reward name and "Assign new cost" subtitle
[1A[2K[123/287] [chromium-task-modification] › e2e\mode_parent\task-modification\pending-reset-on-edit.spec.ts:128:3 › Pending status resets on task/reward modification › 10.2 Changing chore schedule clears pending status
[1A[2K[124/287] [chromium-task-modification] › e2e\mode_parent\task-modification\penalty-edit-points.spec.ts:170:3 › Penalty edit points › Value above 10000 disables Save; exactly 10000 enables it
[1A[2K[125/287] [chromium-task-modification] › e2e\mode_parent\task-modification\reward-edit-cost.spec.ts:94:3 › Reward edit cost › Input is pre-populated with the current cost
[1A[2K[126/287] [chromium-task-modification] › e2e\mode_parent\task-modification\pending-reset-on-edit.spec.ts:154:3 › Pending status resets on task/reward modification › 10.5 Editing task name only does NOT clear pending
[1A[2K[127/287] [chromium-task-modification] › e2e\mode_parent\task-modification\scroll-to-edited-task.spec.ts:105:3 › Scroll to edited task after save › Edited chore card scrolls into viewport after override save
[1A[2K[128/287] [chromium-task-modification] › e2e\mode_parent\task-modification\reward-edit-cost.spec.ts:104:3 › Reward edit cost › Cancel does not change the points needed display
[1A[2K[129/287] [chromium-task-modification] › e2e\mode_parent\task-modification\reward-edit-cost.spec.ts:119:3 › Reward edit cost › Saving a new cost updates the points needed and shows ⭐ badge
[1A[2K[130/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\child-card-states.spec.ts:68:3 › Child Mode — Chore Visibility and Schedule States › 6.1 Chore with no schedule — visible normally in child mode
[1A[2K[131/287] [chromium-task-modification] › e2e\mode_parent\task-modification\reward-edit-cost.spec.ts:134:3 › Reward edit cost › Setting cost to 0 makes the reward immediately redeemable
[1A[2K[132/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\extend-time.spec.ts:49:3 › Extend Time › 8.1 "Extend Time" appears in kebab menu only when chore is expired
[1A[2K[133/287] [chromium-task-modification] › e2e\mode_parent\task-modification\pending-reset-on-edit.spec.ts:180:3 › Pending status resets on task/reward modification › 10.4 Completed chores remain completed after point edit
[1A[2K[134/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\interval-anchor.spec.ts:36:3 › Schedule Interval Mode — Anchor Date Logic › 9.1 Interval every 1 day starting today — chore active today
[1A[2K[135/287] [chromium-task-modification] › e2e\mode_parent\task-modification\reward-edit-cost.spec.ts:147:3 › Reward edit cost › Negative value disables the Save button
[1A[2K[136/287] [chromium-task-modification] › e2e\mode_parent\task-modification\reward-edit-cost.spec.ts:158:3 › Reward edit cost › Value above 10000 disables Save; exactly 10000 enables it
[1A[2K[137/287] [chromium-task-modification] › e2e\mode_parent\task-modification\reward-edit-cost.spec.ts:171:3 › Reward edit cost › Editing a pending reward shows a warning dialog — Cancel aborts the edit
[1A[2K[138/287] [chromium-task-modification] › e2e\mode_parent\task-modification\pending-reset-on-edit.spec.ts:201:3 › Pending status resets on task/reward modification › 10.3 Editing reward cost clears pending reward request
[1A[2K[139/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\interval-anchor.spec.ts:56:3 › Schedule Interval Mode — Anchor Date Logic › 9.2 Interval every 2 days starting yesterday — chore NOT active today
[1A[2K[140/287] [chromium-task-modification] › e2e\mode_parent\task-modification\reward-edit-cost.spec.ts:198:3 › Reward edit cost › Editing a pending reward — confirming the warning opens the override modal
[1A[2K[141/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\extend-time.spec.ts:61:3 › Extend Time › 8.2 "Extend Time" is absent when chore is not expired
[1A[2K[142/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\interval-anchor.spec.ts:83:3 › Schedule Interval Mode — Anchor Date Logic › 9.3 Interval every 2 days starting today — active today
[1A[2K[143/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\extend-time.spec.ts:70:3 › Extend Time › 8.3 Clicking "Extend Time" removes the TOO LATE badge
[1A[2K[145/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\extend-time.spec.ts:84:3 › Extend Time › 8.4 Extended chore no longer shows "Due by" label
[1A[2K[146/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\child-card-states.spec.ts:75:3 › Child Mode — Chore Visibility and Schedule States › 6.2 Chore scheduled for today — visible with "Due by" label
[1A[2K[147/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\extend-time.spec.ts:94:3 › Extend Time › 8.5 "Extend Time" disappears from kebab after extension
[1A[2K[148/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\child-card-states.spec.ts:83:3 › Child Mode — Chore Visibility and Schedule States › 6.3 Chore not scheduled for today — HIDDEN in child mode
[1A[2K[149/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\parent-card-states.spec.ts:66:3 › Parent Mode — Chore Card Schedule States › 5.1 Chore with no schedule — normal appearance, no annotations
[1A[2K[150/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-days-mode.spec.ts:40:3 › Schedule Modal — Specific Days mode › 2.1 Clicking day chips toggles them active/inactive
[1A[2K[151/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\extend-time.spec.ts:104:3 › Extend Time › 8.6 Extension effect visible in child mode
[1A[2K[152/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\parent-vs-child.spec.ts:51:3 › Parent vs Child Mode Comparison › 7.1 Parent mode shows all chores including off-day ones
[1A[2K[153/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\child-card-states.spec.ts:96:3 › Child Mode — Chore Visibility and Schedule States › 6.4 Chore with expired deadline — grayed out with TOO LATE badge (not hidden)
[1A[2K[154/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\extend-time.spec.ts:114:3 › Extend Time › 8.6b Extending same chore twice via API returns 409
[1A[2K[155/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\child-card-states.spec.ts:108:3 › Child Mode — Chore Visibility and Schedule States › 6.5 Chore with "Anytime" — visible, no badge, no "Due by"
[1A[2K[156/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\child-card-states.spec.ts:117:3 › Child Mode — Chore Visibility and Schedule States › 6.6 No kebab menu or schedule controls in child mode
[1A[2K[157/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-enable-disable.spec.ts:41:3 › Schedule Enable/Disable Toggle › 4.1 Toggle row is visible in the schedule modal
[1A[2K[158/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-days-mode.spec.ts:54:3 › Schedule Modal — Specific Days mode › 2.2 Default deadline row appears when at least one day is selected
[1A[2K[160/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-days-mode.spec.ts:67:3 › Schedule Modal — Specific Days mode › 2.3 Default deadline "Anytime" toggle hides and restores time picker
[1A[2K[161/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-interval-mode.spec.ts:42:3 › Schedule Modal — Every X Days mode › 3.1 Interval stepper increments and decrements within 1–7
[1A[2K[162/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\parent-vs-child.spec.ts:81:3 › Parent vs Child Mode Comparison › 7.3 Adding a schedule via parent mode hides chore in child mode on wrong day
[1A[2K[163/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-enable-disable.spec.ts:55:3 › Schedule Enable/Disable Toggle › 4.2 Toggling OFF shows "Paused" label and dims the form body
[1A[2K[164/287] [chromium-task-modification] › e2e\mode_parent\task-modification\scroll-to-edited-task.spec.ts:135:3 › Scroll to edited task after save › Edited reward card scrolls into viewport after override save
[1A[2K[165/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-days-mode.spec.ts:102:3 › Schedule Modal — Specific Days mode › 2.4 Exception time — "Set different time" creates per-day override
[1A[2K[166/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\parent-vs-child.spec.ts:98:3 › Parent vs Child Mode Comparison › 7.4 Removing a schedule via parent mode shows chore in child mode again
[1A[2K[167/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\parent-card-states.spec.ts:76:3 › Parent Mode — Chore Card Schedule States › 5.2 Chore scheduled for today — shows "Due by" label, not grayed out
[1A[2K[168/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-enable-disable.spec.ts:81:3 › Schedule Enable/Disable Toggle › 4.3 Toggling ON restores "Enabled" label and form body
[1A[2K[169/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\parent-card-states.spec.ts:85:3 › Parent Mode — Chore Card Schedule States › 5.3 Chore not scheduled for today — grayed out in parent mode but visible
[1A[2K[170/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-days-mode.spec.ts:129:3 › Schedule Modal — Specific Days mode › 2.5 Exception time — "Reset to default" removes the override
[1A[2K[171/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\parent-vs-child.spec.ts:112:3 › Parent vs Child Mode Comparison › 7.5 Paused schedule — chore visible in both modes
[1A[2K[172/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\parent-card-states.spec.ts:100:3 › Parent Mode — Chore Card Schedule States › 5.4 Chore with expired deadline — grayed out with TOO LATE badge
[1A[2K[173/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-interval-mode.spec.ts:66:3 › Schedule Modal — Every X Days mode › 3.2 Anchor date field shows today's date by default
[1A[2K[174/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\parent-card-states.spec.ts:110:3 › Parent Mode — Chore Card Schedule States › 5.5 Chore with "Anytime" deadline — no "Due by" label, no TOO LATE badge
[1A[2K[175/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-enable-disable.spec.ts:99:3 › Schedule Enable/Disable Toggle › 4.4 Save paused state — persists on reopen
[1A[2K[176/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-days-mode.spec.ts:150:3 › Schedule Modal — Specific Days mode › 2.6 Save with specific days — schedule persists on reopen
[1A[2K[177/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\parent-card-states.spec.ts:122:3 › Parent Mode — Chore Card Schedule States › 5.6 Kebab menu always accessible on grayed-out chores
[1A[2K[178/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-interval-mode.spec.ts:76:3 › Schedule Modal — Every X Days mode › 3.3 Next occurrence preview label updates correctly
[1A[2K[179/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-load.spec.ts:40:3 › Schedule Loading — Backward Compatibility › 11.1 Schedule without "enabled" field defaults to enabled in modal
[1A[2K[180/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\parent-card-states.spec.ts:139:3 › Parent Mode — Chore Card Schedule States › 5.7 Expired chore cannot be triggered by tapping — no confirm dialog
[1A[2K[181/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-days-mode.spec.ts:183:3 › Schedule Modal — Specific Days mode › 2.7 Save with zero days deletes the schedule
[1A[2K[182/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-enable-disable.spec.ts:122:3 › Schedule Enable/Disable Toggle › 4.5 Dirty detection — toggling enabled state enables/disables Save
[1A[2K[183/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-interval-mode.spec.ts:96:3 › Schedule Modal — Every X Days mode › 3.4 Interval deadline "Anytime" toggle works
[1A[2K 1) [chromium-task-modification] › e2e\mode_parent\task-modification\scroll-to-edited-task.spec.ts:135:3 › Scroll to edited task after save › Edited reward card scrolls into viewport after override save
[1A[2K[184/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-interval-mode.spec.ts:122:3 › Schedule Modal — Every X Days mode › 3.5 Save interval schedule — persists on reopen
[1A[2K[185/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-enable-disable.spec.ts:145:3 › Schedule Enable/Disable Toggle › 4.6 Paused schedule in parent mode — chore is visible and not grayed out
[1A[2K[186/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-load.spec.ts:66:3 › Schedule Loading — Backward Compatibility › 11.2 Schedule with interval_has_deadline=false shows "Anytime" in modal
[1A[2K[187/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-sse.spec.ts:40:3 › SSE Real-Time Updates › 10.1 Setting a schedule via API reflects in an already-open parent view
[1A[2K[188/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-days-mode.spec.ts:212:3 › Schedule Modal — Specific Days mode › 2.8 Dirty detection — changing days enables Save
[1A[2K[189/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-enable-disable.spec.ts:162:3 › Schedule Enable/Disable Toggle › 4.7 Paused schedule in child mode — chore is visible
[1A[2K[190/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-modal.spec.ts:38:3 › Schedule Modal — Opening & Structure › 1.1 Schedule option appears in kebab menu
[1A[2K[194/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-load.spec.ts:145:3 › Schedule Loading — Backward Compatibility › 11.4 Interval schedule restores anchor date and interval on reopen
[1A[2K[195/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-sse.spec.ts:58:3 › SSE Real-Time Updates › 10.2 Deleting a schedule via API un-grays the chore in parent view
[1A[2K[197/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-modal.spec.ts:46:3 › Schedule Modal — Opening & Structure › 1.2 Schedule modal opens with correct title and subtitle
[1A[2K[198/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-sse.spec.ts:77:3 › SSE Real-Time Updates › 10.3 Extending time via API reflects in an already-open parent view
[1A[2K[199/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-modal.spec.ts:55:3 › Schedule Modal — Opening & Structure › 1.3 Default state: Specific Days mode, no chips selected, toggle Enabled
[1A[2K[202/287] [chromium-profile-button] › e2e\mode_parent\profile-button\profile-button.spec.ts:14:3 › Parent profile button – permanent parent mode › Menu – shows user name and email
[1A[2K[204/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-modal.spec.ts:78:3 › Schedule Modal — Opening & Structure › 1.4 Mode toggle switches between Specific Days and Every X Days
[1A[2K[206/287] [chromium-profile-button] › e2e\mode_parent\profile-button\profile-button.spec.ts:21:3 › Parent profile button – permanent parent mode › Menu – Profile option navigates to the User Profile page
[1A[2K[207/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-modal.spec.ts:95:3 › Schedule Modal — Opening & Structure › 1.5 Cancel closes the modal without saving
[1A[2K[208/287] [chromium-profile-button] › e2e\mode_parent\profile-button\profile-button.spec.ts:77:3 › Parent profile button – permanent parent mode › Menu – Sign Out navigates to landing page
[1A[2K[209/287] [chromium-user-profile] › e2e\mode_parent\user-profile\profile-editing.spec.ts:48:3 › User Profile – editing › Profile page loads with correct data
[1A[2K[210/287] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:26:3 › User Profile – Change Parent PIN › Change Parent PIN link navigates to PIN setup page
[1A[2K[211/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-modal.spec.ts:120:3 › Schedule Modal — Opening & Structure › 1.6 Save is disabled when form is not dirty
[1A[2K[212/287] [chromium-tasks-rewards] › e2e\example.spec.ts:3:1 › has title
[1A[2K[213/287] [chromium-tasks-rewards] › e2e\example.spec.ts:10:1 › get started link
[1A[2K[214/287] [chromium-tasks-rewards] › e2e\mode_parent\notifications\notification-card-overflow.spec.ts:76:3 › Notification card overflow › Long notification entity name wraps or clips within card
[1A[2K[215/287] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:35:3 › User Profile – Change Parent PIN › Back from PIN setup page returns to profile
[1A[2K[216/287] [chromium-user-profile] › e2e\mode_parent\user-profile\profile-editing.spec.ts:58:3 › User Profile – editing › Back button navigates back
[1A[2K[217/287] [chromium-tasks-rewards] › e2e\mode_parent\notifications\notification-click-scroll.spec.ts:125:3 › Notification click navigates and scrolls to task › Clicking a chore notification navigates and scrolls to the chore card
[1A[2K[218/287] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:46:3 › User Profile – Change Parent PIN › Send Verification Code advances to step 2
[1A[2K[219/287] [chromium-user-profile] › e2e\mode_parent\user-profile\profile-editing.spec.ts:70:3 › User Profile – editing › Save is disabled when form is clean (not dirty)
[1A[2K[220/287] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:60:3 › User Profile – Change Parent PIN › Resend Code button appears after delay
[1A[2K[221/287] [chromium-tasks-rewards] › e2e\mode_parent\notifications\notification-card-overflow.spec.ts:56:3 › Notification card overflow › Notification text does not overflow card boundaries
[1A[2K[222/287] [chromium-user-profile] › e2e\mode_parent\user-profile\profile-editing.spec.ts:76:3 › User Profile – editing › Save is disabled when First Name is empty
[1A[2K[225/287] [chromium-user-profile] › e2e\mode_parent\user-profile\profile-editing.spec.ts:85:3 › User Profile – editing › Save is disabled when Last Name is empty
[1A[2K[226/287] [chromium-tasks-rewards] › e2e\mode_parent\rewards\reward-convert-default.spec.ts:13:3 › Convert default reward › Convert a default reward to a user item
[1A[2K[227/287] [chromium-user-profile] › e2e\mode_parent\user-profile\profile-editing.spec.ts:94:3 › User Profile – editing › Save is disabled when both name fields are empty
[1A[2K[228/287] [chromium-tasks-rewards] › e2e\mode_parent\rewards\reward-create-edit.spec.ts:13:3 › Reward management › Create a new reward
[1A[2K[229/287] [chromium-tasks-rewards] › e2e\mode_parent\rewards\reward-delete-default.spec.ts:13:3 › Default reward cost edit and restore › Edit default cost and verify restoration on delete
[1A[2K[231/287] [chromium-user-profile] › e2e\mode_parent\user-profile\profile-editing.spec.ts:103:3 › User Profile – editing › Save enables when a name is changed
[1A[2K[234/287] [chromium-user-profile] › e2e\mode_parent\user-profile\profile-editing.spec.ts:111:3 › User Profile – editing › Save persists name changes and shows confirmation modal
[1A[2K[239/287] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:81:3 › User Profile – Change Parent PIN › Valid code advances to step 3 (Create PIN)
[1A[2K[240/287] [chromium-user-profile] › e2e\mode_parent\user-profile\profile-editing.spec.ts:141:3 › User Profile – editing › Email field is read-only
[1A[2K[241/287] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:99:3 › User Profile – Change Parent PIN › Set PIN disabled when PINs do not match
[1A[2K[243/287] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:116:3 › User Profile – Change Parent PIN › Set PIN disabled for fewer than 4 digits
[1A[2K[244/287] [chromium-tasks-rewards] › e2e\mode_parent\notifications\notification-click-scroll.spec.ts:149:3 › Notification click navigates and scrolls to task › Clicking a reward notification scrolls reward card into viewport
[1A[2K[245/287] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:133:3 › User Profile – Change Parent PIN › Set PIN succeeds with matching 4-digit PIN – shows success step
[1A[2K[246/287] [chromium-user-profile] › e2e\mode_parent\user-profile\profile-editing.spec.ts:193:3 › User Profile – editing › Upload a custom profile image
[1A[2K[247/287] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:156:3 › User Profile – Change Parent PIN › Back from success step exits parent mode and goes to child selector
[1A[2K[248/287] [chromium-tasks-rewards] › e2e\mode_parent\task-sorting\child-sort-order.spec.ts:214:3 › Child mode sort order › Child reward sort: pending first, then ascending by points needed
[1A[2K[251/287] [chromium-tasks-rewards] › e2e\mode_parent\task-sorting\parent-sort-order.spec.ts:210:3 › Parent mode sort order › Parent reward sort: pending requests appear first
[1A[2K 3) [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:156:3 › User Profile – Change Parent PIN › Back from success step exits parent mode and goes to child selector
[1A[2K[268/287] [chromium-create-child] › e2e\mode_parent\create-child\authorization.spec.ts:9:3 › Create Child › Add Child FAB is hidden when parent auth is expired
[1A[2K[269/287] [chromium-create-child] › e2e\mode_parent\create-child\validation.spec.ts:15:3 › Create Child › Reject submission when Name is empty
[1A[2K[270/287] [chromium-create-child] › e2e\mode_parent\create-child\navigation.spec.ts:6:3 › Create Child › Cancel navigates back without saving
[1A[2K[271/287] [chromium-create-child] › e2e\mode_parent\create-child\sse.spec.ts:9:3 › Create Child › New child appears in list without page reload
[1A[2K[272/287] [chromium-create-child] › e2e\mode_parent\create-child\happy-path.spec.ts:37:3 › Create Child › Create a child with name and age only
[1A[2K[273/287] [chromium-create-child] › e2e\mode_parent\create-child\validation.spec.ts:24:3 › Create Child › Reject submission when Name is whitespace only
[1A[2K[274/287] [chromium-create-child] › e2e\mode_parent\create-child\validation.spec.ts:34:3 › Create Child › Reject submission when Age is empty
[1A[2K[276/287] [chromium-create-child] › e2e\mode_parent\create-child\validation.spec.ts:53:3 › Create Child › Enforce maximum Name length of 64 characters
[1A[2K[277/287] [chromium-create-child] › e2e\mode_parent\create-child\validation.spec.ts:80:3 › Create Child › Reject age greater than 120
[1A[2K[278/287] [chromium-create-child] › e2e\mode_parent\create-child\happy-path.spec.ts:80:3 › Create Child › Create a child via the inline Create button in empty state
[1A[2K[279/287] [chromium-create-child] › e2e\mode_parent\create-child\sse.spec.ts:52:3 › Create Child › New child appears in child mode list without page reload
[1A[2K[280/287] [chromium-user-profile-delete] › e2e\mode_parent\user-profile\delete-account.spec.ts:9:3 › User Profile – Delete Account › Delete My Account opens confirmation dialog
[1A[2K[281/287] [chromium-create-child] › e2e\mode_parent\create-child\happy-path.spec.ts:122:3 › Create Child › Create a child with a custom uploaded image
[1A[2K[282/287] [chromium-user-profile-delete] › e2e\mode_parent\user-profile\delete-account.spec.ts:25:3 › User Profile – Delete Account › Delete button stays disabled for incomplete email
[1A[2K[283/287] [chromium-user-profile-delete] › e2e\mode_parent\user-profile\delete-account.spec.ts:37:3 › User Profile – Delete Account › Delete button enables when matching email is entered
[1A[2K[284/287] [chromium-user-profile-delete] › e2e\mode_parent\user-profile\delete-account.spec.ts:49:3 › User Profile – Delete Account › Cancel closes the dialog without deleting the account
[1A[2K[285/287] [chromium-user-profile-delete] › e2e\mode_parent\user-profile\delete-account.spec.ts:64:3 › User Profile – Delete Account › Backdrop click does NOT close the delete dialog
[1A[2K[286/287] [chromium-user-profile-delete] › e2e\mode_parent\user-profile\delete-account.spec.ts:76:3 › User Profile – Delete Account › Successful deletion: confirmation modal appears then redirects to landing page
[1A[2K[287/287] [chromium-user-profile-delete] › e2e\mode_parent\user-profile\delete-account.spec.ts:97:3 › User Profile – Delete Account › Login after deletion is blocked with an appropriate error
[1A[2K 12 failed
[chromium-task-modification] › e2e\mode_parent\task-modification\scroll-to-edited-task.spec.ts:135:3 › Scroll to edited task after save › Edited reward card scrolls into viewport after override save
[chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:156:3 › User Profile – Change Parent PIN › Back from success step exits parent mode and goes to child selector
[chromium-tasks-rewards] › e2e\mode_parent\notifications\notification-click-scroll.spec.ts:149:3 › Notification click navigates and scrolls to task › Clicking a reward notification scrolls reward card into viewport
[chromium-tasks-rewards] › e2e\mode_parent\task-sorting\child-sort-order.spec.ts:214:3 › Child mode sort order › Child reward sort: pending first, then ascending by points needed
[chromium-tasks-rewards] › e2e\mode_parent\task-sorting\parent-sort-order.spec.ts:210:3 › Parent mode sort order › Parent reward sort: pending requests appear first
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.