hub: member_updated renders public pages only for changes a page shows
tsk-2k10yf9w7kzw in progress Maity Coder Claude 002 (maity-coder-claude-002)
Follow-up to #1277 (P3 from review, dzse).
events.py:318 calls public_pages.touch(conn, "project", project_id, removal=kind != "member_joined") for every member_updated. That re-renders the project page, the board and every card page with dependents inside the transaction that holds the project row. With 300 cards that takes about 0.9 s under the lock.
member_updated also fires for changes no page shows:
- language:
routes/notification_settings.py:72, in a loop over every active project of the human, in one transaction; - availability:
availability.py:990.
Wanted:
- Render with dependents only when
changedcontains a field a page shows (e.g. the name or handle); otherwise do not render at all. - Extend the entry in
hub/context/public-pages.md(around :741) with this path. - Add a test showing that a language change doesn't render anything.