WPB-26704: add full conversation to POST /meetings (create) and PUT /meetings/{domain}/{id} - #5301
Merged
blackheaven merged 7 commits intoJul 7, 2026
Conversation
supersven
reviewed
Jul 1, 2026
supersven
reviewed
Jul 1, 2026
supersven
reviewed
Jul 1, 2026
supersven
reviewed
Jul 1, 2026
supersven
reviewed
Jul 1, 2026
supersven
reviewed
Jul 1, 2026
supersven
reviewed
Jul 1, 2026
supersven
requested changes
Jul 1, 2026
blackheaven
force-pushed
the
gdifolco/WPB-26704-meeting-full-conversation
branch
5 times, most recently
from
July 2, 2026 20:51
e104a72 to
a4b5a10
Compare
supersven
reviewed
Jul 6, 2026
supersven
reviewed
Jul 6, 2026
supersven
reviewed
Jul 6, 2026
supersven
reviewed
Jul 6, 2026
supersven
reviewed
Jul 6, 2026
supersven
reviewed
Jul 6, 2026
…PUT /meetings/{domain}/{id}`
Wrap MeetingWithConversation around Meeting + Conversation instead of duplicating Meeting's fields. Reuse a shared meetingObject schema so the flattened JSON (and OpenAPI) output is unchanged. Also simplify storedMeetingToMeetingWithConversation to delegate to storedMeetingToMeeting, drop a redundant comment, and move test helpers after their first call.
- Log a warning when a meeting's conversation is missing in updateMeetingImpl/deleteMeetingImpl (previously failed silently, indistinguishable from a missing meeting for callers) - Restore full-equality assertion in the create-and-retrieve test (compare fetched against meeting.meeting) - Document the non-federation invariant on storedMeetingToMeetingWithConversation
Contributor
Author
|
Heads-up: while restoring the recurrence tests I noticed recurrence-aware expiry had been dropped vs |
…6704 review) Review feedback (supersven): - getMeetingConversationOrFail now returns 'Sem r (Maybe StoredConversation)' instead of 'MaybeT (Sem r)'; the MaybeT wrapping is pushed into the two callers (updateMeetingImpl, deleteMeetingImpl). - Add a unit test for the data-inconsistency case where a meeting's conversation is missing -> updateMeeting returns Nothing. - Assert conversationId is preserved in the 'applies valid update' property. Restore recurrence-aware expiry (accidental regression vs develop): - Reinstate Store.effectiveEndTime and the 'isAlive' helper; replace the 6 endTime-only cutoff guards with 'isAlive' across get/update/delete and add/remove/replace invited emails. - Restore recurrence-aware WHERE clauses in the Postgres queries (listMeetingsByUser, listMeetingsByConversation, getOldMeetings) and the matching in-memory store interpreter filters. - Re-add the 'recurrence vs expiry' test suite (migrated to the MeetingWithConversation record) that had been dropped.
blackheaven
force-pushed
the
gdifolco/WPB-26704-meeting-full-conversation
branch
from
July 6, 2026 11:30
a020395 to
8c71bc8
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
https://wearezeta.atlassian.net/browse/WPB-26704
Checklist
changelog.d