Skip to content

Media viewer: "N of M" counter and message actions (forward, draw, reply, delete, show in chat) #6822

Open

Description

@ToteMeiSter

Is your feature request related to a problem? Please describe.
The swipeable media viewer from #6586 shows the sender and the date. Its overflow menu has only "Share" and "Save", and only after the file is downloaded. To reply to a photo, delete it, forward it or find it in the chat, I must close the viewer and look for the message in the chat. I also do not see where I am in the list of media.

Talk has no way to forward a file at all: "Forward" in the message menu forwards only text.

Describe the solution you'd like
In the media viewer:

  • A counter "N of M" in the top bar. The newest item is "M of M", like in other messengers. A "+" is shown while older media can still be loaded.
  • Overflow menu: "Save to gallery", "Show all media" (opens Shared items), "Show in chat", "Reply", "Share", "Delete".
  • Buttons "Forward" and "Draw". "Draw" is for photos only (not GIF, not SVG).
  • Video gets the same actions, except "Draw".

Visibility rules are not copied. The viewer calls the same buildMessageActionsState as the message menu. Actions that need the message from the local database (reply, delete, forward, draw) are hidden when the item was loaded from the server only.

The chat executes the actions with its existing handlers:

No new dependencies, no new server API.

Describe alternatives you've considered

  1. Only the counter and the extra menu entries, without "Forward" and "Draw".
  2. "Forward" as a separate feature in the message menu first, then in the viewer.

Additional context
Tested by me on a Huawei DEL-LX9 with a fork build. Screenshots will be in the PR.

"Draw" depends on the attachment preview from #6820. The other parts do not.

A working implementation is in the fork. I can open a PR after the approach is agreed.

The analysis and this text were prepared with an AI assistant (Claude Code) and reviewed by me.

Activity

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions