Skip to content

invite reflection when an activity closes - #1121

Open
vyagh wants to merge 1 commit into
journal-entry-pagefrom
journal-close-invite
Open

vyagh wants to merge 1 commit into
journal-entry-pagefrom
journal-close-invite

Conversation

@vyagh

@vyagh vyagh commented Aug 17, 2026

Copy link
Copy Markdown
Member

When a child closes an activity, Jo offers to talk about what they just made. An offer, never a gate: one note at a time, it slips away if ignored, and it never blocks the close. It's earned a real payload plus a minute of focused time (the toolkit's spent-times). Accepting opens the entry with the rail revealed.

Top of the stack: imports timeline and the shared style, calls show_object(reveal_reflection=True) from #1120.

  • _InviteNote skips NotificationWindow by choice (different shape, drift-dismiss, thumbnail). No keyboard path yet, an a11y gap I'm naming now. last CssProvider.
  • MIN_ACTIVE_SECONDS is tunable; FIND_PROPERTIES is pinned by a test; no network on the close path; shutdown dismisses a live note.
  • Upstream bug: sugar3 DSObject.destroy() never removes its 'Updated' match, so the object leaks and later edits block on it.
    Worked around by clearing object_id first; real fix belongs in sugar-toolkit-gtk3,happy to send it.
  • Accepted corners: a close right after a crash can fire one spurious note, an in-flight save at Stop can only under-count, and no file written means no note.

256 journal tests, 18 new.
VM Test: 28s resume-and-quit → no note, ~75s of drawing → note with thumbnail and buttons.

New file in Makefile.am and POTFILES.in; main.py starts the trigger.
Series notes in #1111.

An offer, never a gate: one note at a time, it slips away on
its own if ignored, and never blocks the close. The note is
earned, not automatic: a real payload plus a minute of the
session's own focused seconds, read from the entry the
toolkit already keeps.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant