Repository navigation
feat(scheduled): edit a queued post content and destinations, not just its time #55
Description
Activity
- addedenhancementNew feature or requestNew feature or requestparityWeb-parity gap with the InterlinedList web appWeb-parity gap with the InterlinedList web app
on Sep 7, 2026 Re-scoped 2026-09-13
PR #71 (merged to
devas6f9a99d) shipped the buildable half: a queued post's destinations are now shown, and its time can be edited. It also fixed a defect found on the way — the optimistic reschedule copy was hand-built and droppedcrossPostResults,crossPostLocationsandlinkPreviews, so rescheduling visibly wiped a row's previews and cross-post pills until the next refresh.This issue cannot be closed as originally written, and the reason is upstream.
The acceptance criterion was "everything the web lets you change about a queued post can be changed on the Mac." That is now met — in the only sense available:
- The deployed web client issues no
PATCH /api/messages/{id}anywhere in its bundles. Its only PATCHes are/api/user/updateand/api/notifications/*. - The scheduled-post content/destination editor described on the help page is not shipped on the web either.
So editing a queued post's content and destinations is an upstream API gap, not a macOS one. Filed as its own upstream request; this issue now tracks only the macOS side, which is complete.
Remaining macOS scope: none. This stays open purely as the anchor for the upstream ask and should close when that lands or is declined.
One adjacent gap was found and is tracked separately: the web's create body sends
linkedInTargetsandlinkedInLinkAsFirstComment, andCreateMessageRequestmodels neither.- The deployed web client issues no
- addedblockedCannot proceed — backend-gated or spike-firstCannot proceed — backend-gated or spike-first
on Sep 13, 2026 Closing: the macOS side is complete, and the remainder is not a macOS issue.
Per the 2026-09-13 re-scope on this thread, PR #71 shipped everything that is buildable — a queued post's destinations are shown and its time can be edited — and also fixed a defect found on the way (the optimistic reschedule copy dropped
crossPostResults,crossPostLocationsandlinkPreviews, so rescheduling visibly wiped a row's previews until the next refresh).Editing a queued post's content and destinations is an upstream gap:
- the deployed web client issues *no
PATCH /api/messages/{id}anywhere in its bundles* - the scheduled-post content editor described on the help page is not shipped on the web either
That ask is tracked by #74, which is the right anchor for it — keeping this one open as a second anchor for the same upstream request just means two issues describing one wait.
The adjacent gap found during the re-scope (
linkedInTargets/linkedInLinkAsFirstCommentmissing fromCreateMessageRequest) is tracked separately as #79.- the deployed web client issues *no
Summary
macOS can cancel and reschedule a queued post. The web can edit its content and its destinations too. And the schedule dialog itself differs: the web picks per-network destinations at schedule time, the Mac does not.
What the web does (
/help/messages▸ Scheduled posts)Scheduling flow:
Managing them:
What macOS ships today
ScheduledPostsViewModel(App/Features/Scheduled/ScheduledPostsViewModel.swift) exposes:load()cancel(post:)reschedule(post:to:)No content edit. No destination edit. No destination display.
The composer (
ComposerWindowView.swift:298scheduleSection,:161crossPostSection) has schedule and cross-post as two independent sections rather than the web's combined schedule-with-destinations dialog. Verify whether cross-post selections made in the composer are actually carried onto a scheduled post — if they are dropped, that is a second defect hiding inside this one and should be called out in the PR.Division of labor
Kit
scheduledAt, cross-post flags). Message edit isPATCH /api/messages/{id}since PR fix(api): correct seven live-verb defects and repoint the GitHub issue routes #24 — confirm a scheduled message edits the same way and that cross-post flags are mutable post-scheduling. Probe before building.Domain
updateScheduled(...)covering time, content, and destinations, replacing the narrowreschedule.App
ScheduledPostsRootView: show each post's destinations; an edit sheet covering time, content, and destinations, including the LinkedIn destination picker.Tests
Acceptance criteria
Notes
New finding from the 2026-09-07 parity sweep. Size S–M. Touches the same LinkedIn destination model as the Integrations and Organizations issues — sequence it after at least one of them so the projection exists.