Skip to content

feat: ✨ Implement consecutive message grouping.#445

Open
japanshah-simform wants to merge 1 commit into
mainfrom
feature/group-messages
Open

feat: ✨ Implement consecutive message grouping.#445
japanshah-simform wants to merge 1 commit into
mainfrom
feature/group-messages

Conversation

@japanshah-simform
Copy link
Copy Markdown
Contributor

Description

Grouping is Off.
Simulator Screenshot - iPhone 16 Pro - 2026-05-20 at 11 33 38

Grouping is On.
Simulator Screenshot - iPhone 16 Pro - 2026-05-20 at 11 33 49

Checklist

  • The title of my PR starts with a Conventional Commit prefix (fix:, feat:, docs: etc).
  • I have followed the Contributor Guide when preparing my PR.
  • I have updated/added tests for ALL new/updated/fixed functionality.
  • I have updated/added relevant documentation in docs and added dartdoc comments with ///.
  • I have updated/added relevant examples in examples or docs.

Breaking Change?

  • Yes, this PR is a breaking change.
  • No, this PR is not a breaking change.

Related Issues

Closes #128

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds an opt-in “consecutive message grouping” feature to make chat threads more compact by grouping adjacent messages from the same sender on the same day (hiding repeated sender names/avatars and tightening spacing). This directly addresses the requested behavior in issue #128.

Changes:

  • Added enableConsecutiveMessageGrouping to FeatureActiveConfig (default false).
  • Computed isFirstInGroup / isLastInGroup at the list-item level and passed them into ChatBubbleWidget.
  • Updated bubble UI to conditionally show sender name/avatar and adjust bottom spacing; added documentation and changelog entry.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
lib/src/widgets/chat_groupedlist_widget.dart Computes grouping boundaries (isFirstInGroup / isLastInGroup) via adjacent message comparison.
lib/src/widgets/chat_bubble_widget.dart Applies grouping UI behavior (hide repeated sender name/avatar, tighten margins).
lib/src/models/config_models/feature_active_config.dart Introduces enableConsecutiveMessageGrouping feature flag.
doc/documentation.md Documents how to enable and what changes visually when grouping is on.
CHANGELOG.md Adds an unreleased entry for the new feature (currently with formatting/link issues).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 154 to +159
if (!isMessageBySender &&
(featureActiveConfig?.enableOtherUserProfileAvatar ?? true))
profileCircle(messagedUser),
Opacity(
opacity: isLastInGroup ? 1 : 0,
child: profileCircle(messagedUser),
),
Comment on lines 164 to +169
if (isMessageBySender &&
(featureActiveConfig?.enableCurrentUserProfileAvatar ?? true))
profileCircle(messagedUser),
Opacity(
opacity: isLastInGroup ? 1 : 0,
child: profileCircle(messagedUser),
),
Comment thread CHANGELOG.md
Rendering issue in attached image preview when sending message on web.
* **Feat**: [420](https://github.com/SimformSolutionsPvtLtd/chatview/pull/420) Added support for
`playerMode` in `VoiceMessageConfiguration` with `single` and `multi`.
* * **Feat**: [440](https://github.com/SimformSolutionsPvtLtd/chatview/pull/420) feat: :sparkles: Implement consecutive message grouping.
Comment thread doc/documentation.md Outdated
lastSeenAgoBuilderVisibility: false,
receiptsBuilderVisibility: false,
enableTextSelection: true,
enableTextSelection: true,
@japanshah-simform japanshah-simform force-pushed the feature/group-messages branch from 8f04002 to 53fbc67 Compare May 20, 2026 06:46
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.

Group Messages by time/sender

3 participants