Skip to content

Conversation

@bexelbie
Copy link

Implement two new CLI flags to disable downloading avatars and sticker packs during message reception, following the existing pattern of --ignore-attachments and --ignore-stories flags.

Changes:

  • Add --ignore-avatars and --ignore-stickers flags to ReceiveCommand, DaemonCommand, and JsonRpcDispatcherCommand
  • Extend ReceiveConfig record with ignoreAvatars and ignoreStickers fields
  • Add ReceiveHelper.getReceiveConfig() getter to expose config to other helpers
  • Gate avatar downloads in ProfileHelper (profile avatars), SyncHelper (contact avatars), and GroupHelper (group avatars for V1 and V2)
  • Gate sticker pack downloads in IncomingMessageHandler for both direct sticker messages and sync sticker pack operations
  • Update handleSignalServiceDataMessage and handleSyncMessage to pass full ReceiveConfig instead of individual boolean flags
  • Update man page (signal-cli.1.adoc) with flag documentation
  • Add entries to CHANGELOG.md

When these flags are set, the respective content is not downloaded during message reception. Metadata (avatar paths, sticker pack IDs) is still stored, and existing FileNotFoundException handling will surface if content is later requested but wasn't downloaded.

Fixes #1903

@bexelbie bexelbie force-pushed the feature_ignore_avatars_stickers branch from e272437 to 6a12e3d Compare January 18, 2026 22:12
Copy link
Owner

@AsamK AsamK left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, looks good. I have just one change request.

dependencies.setAllowStories(!receiveConfig.ignoreStories());
}

public ReceiveConfig getReceiveConfig() {
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The ReceiveHelper shouldn't expose the ReceiveConfig. Instead the ProfileHelper, SyncHelper and GroupHelper should get a boolean value for ignoreAvatars

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've pushed a new patch that I believe resolves this.

@bexelbie bexelbie force-pushed the feature_ignore_avatars_stickers branch from 6a12e3d to 4998a05 Compare January 24, 2026 21:27
Implement two new CLI flags to disable downloading avatars and sticker
packs during message reception, following the existing pattern of
--ignore-attachments and --ignore-stories flags.

Changes:
- Add --ignore-avatars and --ignore-stickers flags to ReceiveCommand,
  DaemonCommand, and JsonRpcDispatcherCommand
- Extend ReceiveConfig record with ignoreAvatars and ignoreStickers
  fields
- Pass ignoreAvatars as explicit boolean parameter to ProfileHelper,
  SyncHelper, and GroupHelper methods (per maintainer feedback)
- Gate avatar downloads in ProfileHelper (profile avatars), SyncHelper
  (contact avatars), and GroupHelper (group avatars for V1 and V2)
- Gate sticker pack downloads in IncomingMessageHandler for both
  direct sticker messages and sync sticker pack operations
- Update handleSignalServiceDataMessage and handleSyncMessage to pass
  full ReceiveConfig instead of individual boolean flags
- Update man page (signal-cli.1.adoc) with flag documentation
- Add entries to CHANGELOG.md

When these flags are set, the respective content is not downloaded
during message reception. Metadata (avatar paths, sticker pack IDs)
is still stored, and existing FileNotFoundException handling will
surface if content is later requested but wasn't downloaded.

Fixes AsamK#1903
@bexelbie bexelbie force-pushed the feature_ignore_avatars_stickers branch from 4998a05 to ab7f34b Compare January 24, 2026 21:31
Sign up for free to 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.

Add flags to not download stickers and avatars

2 participants