Skip to content

feat(proposals): speakers can see and edit their talk proposals - #276

Merged
harshtandiya merged 1 commit into
mainfrom
backport-274-to-main
Jul 23, 2026
Merged

feat(proposals): speakers can see and edit their talk proposals#276
harshtandiya merged 1 commit into
mainfrom
backport-274-to-main

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Automated backport of #274 to main.

* feat(proposals): let speakers access talk proposals via speaker email
Guest form submissions leave owner/submitted_by as Guest, so speakers
could never see their own proposals. Row-level access now derives from
the speakers child table: permission_query_conditions scopes list
queries and a has_permission hook guards single documents, replacing
the if_owner restriction on Buzz User.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* feat(api): add get_my_proposals endpoint with typed response
Returns proposals where the session user is the submitter or a listed
speaker, so the dashboard list stays personal even for roles that can
read all proposals. Rows are validated through a pydantic model.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* feat(dashboard): list proposals via get_my_proposals API
useList with a submitted_by filter missed guest-submitted proposals and
co-speaker talks; the API scopes rows to submitter-or-speaker
server-side.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* chore(dashboard): drop unused proposals fetch from Account page
The Talk Proposals tab is always shown, so the useList existed only for
a commented-out conditional and needlessly delayed the unknown-tab
redirect settle check.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* chore(dashboard): inline Talk Proposals tab into static tab list
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* fix(proposals): address review findings on speaker access
Speaker email match in has_permission is now case-insensitive: user
emails are stored lowercase while guest-entered speaker emails keep
their casing. The proposals list cache key is scoped to the session
user again so a user switch cannot serve stale rows.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
(cherry picked from commit 45a7887)
@harshtandiyaharshtandiya changed the title [Backport main] feat(proposals): speakers can see and edit their talk proposalsfeat(proposals): speakers can see and edit their talk proposalsJul 23, 2026
@harshtandiya
harshtandiya added this pull request to the merge queueJul 23, 2026
@harshtandiya
harshtandiya removed this pull request from the merge queue due to a manual request Jul 23, 2026
@harshtandiya
harshtandiya merged commit 87a0929 into mainJul 23, 2026
7 of 8 checks passed
@harshtandiya
harshtandiya deleted the backport-274-to-main branch July 23, 2026 06:52
Sign up for freeto 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

@harshtandiya