Skip to content

Messages: Push (repost) and Quote (pushedMessageId) #20

Description

@Adron

Part of #17 — Message composer & feed parity gaps

Two ways to re-share someone else's message on the web:

  • Push (repost) — re-shares the original as-is, no added comment.
  • Quote — re-shares the original with the user's own note; a banner confirms the post will
    be public before sending.

Both are always public. Neither exists on Android; pushedMessageId is never sent.

  • Add Push and Quote actions to the message action bar.
  • Render pushed/quoted messages in the feed with the embedded original.
  • Quote composition reuses the normal composer with the quoted message attached.

Tests: push sends pushedMessageId with no content; quote sends both; feed renders the
embedded original.


Filed from the parity review of feature/parity-wip @ 14d7795 against interlinedlist.com (OpenAPI /api/openapi.json, 233 paths) and the public help centre.

Activity

  1. added
    parityClosing a gap against interlinedlist.com
    P1Big hole in a shipped feature
    area:messagesSocial messages feed & composer
    on Sep 15, 2026
  2. Adron commented on Sep 16, 2026

    @Adron
    MemberAuthor

    Implemented in the PR above (branch issue/20-push-quote). Closing here — review and any follow-up happens on the PR.

    The always-public rule is consumed from #18's MessageVisibility.PUSH_OR_QUOTE rather than restated, and it is enforced in the repository so a call site cannot bypass it — the composer just reflects it.

    The pushability rules are derived from the docs, not guessed: a message can be pushed only if it is not yours (the help centre describes re-sharing "someone else's" message), is publicly visible (the API says "repost this public message ID"), and is not itself a re-share — no page documents a push-of-a-push, so nesting was not invented. If any of those is wrong, Message.canBePushed is the single place to change it.

  3. added a commit that references this issue on Sep 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1Big hole in a shipped featurearea:messagesSocial messages feed & composerparityClosing a gap against interlinedlist.com

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions