Skip to content

Feature/ba 3286 rn delete a comment#381

Open
davidbermudez-tsl wants to merge 52 commits into
epic/BA-2239-react-native-commentsfrom
feature/BA-3286-rn-delete-a-comment
Open

Feature/ba 3286 rn delete a comment#381
davidbermudez-tsl wants to merge 52 commits into
epic/BA-2239-react-native-commentsfrom
feature/BA-3286-rn-delete-a-comment

Conversation

@davidbermudez-tsl

Copy link
Copy Markdown
Collaborator

As a user who owns a comment or has permission to moderate,
I want to be able to delete a comment in the mobile app,
So that I can manage and clean up content I no longer want to be visible, just like I can on the web.

Description:
This feature enables users to delete their own comments (or comments they have permission to moderate) directly from the mobile app. The delete action should be accessible through an overlay drawer.We already have this functionality on web.

Scenario: Display delete option for a comment in the app

Given the user is viewing a comment in the mobile app, and holds press over it, the overlay drawer displays the message "Delete Comment" in red.

Scenario: Show delete confirmation dialog before deleting comment

Given the user taps the delete action for a comment, when the system triggers the deletion flow, then a confirmation dialog appears with the message “Are you sure you want to delete this comment? This action cannot be undone.”

And the dialog includes two buttons: “Cancel” and “Delete”

And the “Delete” button is styled as a destructive action in red

Scenario: Cancel deletion from confirmation dialog

Given the confirmation dialog is visible, when the user taps “Cancel” or closes the dialog, then the system dismisses the dialog and no changes are made

Scenario: Confirm deletion from confirmation dialog

Given the confirmation dialog is visible, when the user taps “Delete”, then the system deletes the comment and removes it from the thread

And the comment is no longer visible in the comment list

Scenario: Ensure parity with web behavior

Given the delete feature works on web, when the same user attempts to delete a comment in the app, then the app provides the same functionality and confirmation flow as the web version

https://www.figma.com/design/z5ZdVlKEMmGIX4GVnjwfxA/BaseApp---NATIVE?node-id=9612-33758&t=PQHECmyjd8eFKcVb-1

https://www.figma.com/design/z5ZdVlKEMmGIX4GVnjwfxA/BaseApp---NATIVE?node-id=9612-33049&t=PQHECmyjd8eFKcVb-1

Approvd
https://app.approvd.io/silverlogic/BA/stories/44378

Ronan-Fernandes and others added 30 commits January 19, 2026 19:42
- `__package_name__` package update - `v __package_version__`
  - **changelog_info**
  - **changelog_info**


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
  * Group Details page with profile, members, archive and leave actions.
* Leave Group flow: confirmation dialog, leave/remove actions, and
post-action navigation.
  * Mark-as-unread action for chats.

* **UI Components**
  * New circled avatar and group icons (archive, leave).
* Native components: Group Profile, Members view, Options panel, and
shared Leave Group dialog.

* **Hook**
* Centralized leave/remove hook powering dialog text and removal
actions.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- `__package_name__` package update - `v __package_version__`
  - **changelog_info**
  - **changelog_info**


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Group details page now shows a members list with avatars, names, and
admin badges.
* Pagination with a "Load More" button and improved loading indicators
for members.

* **UI Improvements**
* Group header/profile consolidated to display group title, avatar, and
participant count more consistently.
* Archive state handling updated to reflect the group's archived status
in the UI.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Acceptance Criteria 
Create new Group Chat

Given I click on the "Create New Chat" button, when I select the option
to create a new group chat, then I should be navigated to the group
creation screen.

Given I am on the group creation screen and enter a name for the group,
when I save the group, then the group name should be saved and displayed
at the top of the chat.

Given I am on the group creation screen and upload a profile picture for
the group, when the upload is successful, then the picture should appear
as the group’s icon.

Given I have entered a group name , when I confirm and save the group,
then the group should be created and appear in my active chat list.

The Group name is mandatory.

if no profile picture was uploaded then display a placeholder image.

Given I am creating a group chat, when I access the participant
selection section, then I should be able to see a list of all my
contacts.

Given I am creating a group chat and the contact list is displayed, when
I use the search bar, then I should be able to filter the contact list
to find specific contacts.

Reuse the Search bar component we implemented in the Chat Lists.

Use an infinite scroller

We will have 2 different lists:

Members: are your contacts that have will be added to the group.

Contacts: your contacts that could be added to the group.

Given I press the "add" button of a contact, then it should move to the
members section of the list.

Given I have added participants and named the group, when I confirm the
creation, then the group chat should be created and appear in my active
chat list.

The Save button should only be enabled after the Group Name has a value
and at least 1 participant besides myself has been added.

We always want to create a new group chat regardless if we already have
an existing room for the same participants.

Design Link:
https://www.figma.com/design/z5ZdVlKEMmGIX4GVnjwfxA/BaseApp---NATIVE?node-id=7770-220223&t=qZVBT6H3IAyD7hH8-0

Notes 

Small improvement story - for adding the names of the individual in the
group who sent the message if not possible to cover within this story


https://www.figma.com/design/z5ZdVlKEMmGIX4GVnjwfxA/BaseApp---NATIVE?node-id=7829-36894&t=0yeOQaFlNi1pvAzM-0

Approvd 
https://app.approvd.io/silverlogic/BA/stories/41472 

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Create group chats with participant selection, member preview/removal,
and Create Group flow.
* Group details screen: set group name, upload/remove group avatar with
upload progress and feedback.

* **UI Updates**
* New Groups tab in messaging and New Chat flows route to group creation
when active.
  * AppBar close control supports accessible label and disabled state.
  * Added picture and check-mark icons.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
#### Why These Changes Were Needed
Projects using this component library often need to customize specific
inner elements (nav items styling, drawer behavior, toggle button
appearance) to match their design systems. Previously, the only option
was to recreate entire navigation components from scratch. These props
enable granular customization while preserving default behavior.

#### Changes Made
1. VerticalDrawer - Added `DrawerProps` to allow full Drawer
customization with proper PaperProps.sx merging
2. NavVertical - Added `VerticalDrawerProps` and `NavToggleButtonProps`
3. NavMini - Added `VerticalDrawerProps` and `NavToggleButtonProps`,
fixed `LogoIcon` passthrough
4. NavHorizontal - Added `VerticalDrawerProps`
5. NavCentered - Added `VerticalDrawerProps`
6. NavigationLayout - Added `VerticalDrawerProps` and
`NavToggleButtonProps`, exposing them as the public API

#### Usage Examples
```jsx
// Customize the mobile drawer
<NavigationLayout
  navData={navData}
  VerticalDrawerProps={{
    anchor: 'right',
    PaperProps: { sx: { backgroundColor: 'grey.100' } },
  }}
/>

// Customize the toggle button
<NavigationLayout
  navData={navData}
  NavToggleButtonProps={{
    sx: { top: 32 },
    color: 'primary.darker',
  }}
/>

// Customize NavItem styles
<NavigationLayout
  navData={navData}
  slotProps={{
    rootItem: {
      backgroundColor: 'primary.main',
    },
  }}
/>
```

Jira Issue: https://silverlogic.atlassian.net/browse/BA-3028

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Navigation components now support extended customization: pass-through
drawer configuration, slot-based content injection for flexible
layout/content, and toggle-button styling/options for finer control over
appearance and behavior.
* **Chores**
* Package bumped to v1.5.0 and changelog updated to document the minor
release.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Acceptance Criteria 
Currently the settings are under /user/settings and all children pages
are built using a state to identify the current tab, if you are at
members management page and reloads, you get sent back to the edit
profile tab.

To fix that, lets change the implementation:

Convert  the tabs are actual routes

Then lets change the useLazyLoadQuery implementation to make use of
usePreloadedQuery instead.

Lets change the profile settings router to be /profile/:id/settings
instead of /user/settings

Query for `canChange: hasPerm(perm: "change")` and if the user loads the
profile settings and it returns `false` then we should show a permission
required page instead.

Approvd 
https://app.approvd.io/silverlogic/BA/stories/44399 

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Permission-based access control added to profile pages — components
now hide when you lack required permissions.
* Users see a clear "Permission Required" screen with a "Go Back" button
when access is denied.
* Profile loading now respects permission checks to prevent unauthorized
component rendering.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
* **New Features**
* VerticalDrawer component is now available as a public export,
providing an additional navigation option.
Note* This only focuses on the web app, in order to totally remove the
duplicate fragments we need to make some changes for the native app as
well. This will need another story

REQUIRES BE: silverlogic/baseapp-backend#375

Acceptance Criteria 
it seems weird to have MembersListFragment, ProfileSummaryFragment and
RoomTitleFragment, they all have essentially the same fields, I think we
should fully remove ProfileSummaryFragment from the code base, and also
look into removing RoomTitleFragment, we should move this logic to the
backend and treat group and 1-1 room's name and avatar the same way on
the frontend

Sidebar with AP for better understanding. 

Approvd 
https://app.approvd.io/silverlogic/BA/stories/44506 

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Chat rooms now expose an explicit admin flag and a primary participant
field for richer profile details.

* **Refactor**
* Unified title/image hooks across web and native for consistent avatar
and title behavior.
* Profile summary now loads from a chat-focused query, simplifying data
flow without changing UI.
* Reduced coupling to old fragment shapes, improving reliability of chat
header and profile displays.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
* **New Features**
* Added a Groups tab to the chat rooms list so users can view group
conversations separately.
* Demo video: https://www.loom.com/share/2080fc8e4a294890a4c527b7e2e57d7f
* **Improvements**
* Updated chat layout for better responsive behavior and improved
spacing between panes.
- `__package_name__` package update - `v __package_version__`
  - **changelog_info**
  - **changelog_info**


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Single chat details page with Profile summary, About (biography)
section, and Options panel.
  * New UI components: ProfileSummary, About, Options.
  * New "New Group" icon in the design system.

* **Bug Fixes**
* Non-group chat navigation now opens the single chat details page
instead of a placeholder.

* **Improvements**
* Archive action toggles archive state and is disabled while the request
is in flight.

* **Documentation**
  * Changelog entries updated for the new additions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- `__package_name__` package update - `v __package_version__`
  - **changelog_info**
  - **changelog_info**


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Promote/demote group administrators on web and mobile with optimistic
(instant) UI updates.
* Mobile: long-press member cards to open a member options sheet (see
profile, toggle admin, remove/leave).
* Confirmation dialogs for removing admin permissions (web and mobile).

* **Improvements**
  * Labels clarified ("See Profile", "Remove from group").
* Admin actions provide immediate feedback and surface errors via
notifications.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Summary

Introduces a second configurable navbar layout option for BaseApp. This
layout removes the top navigation bar and moves the profile and
notification components into the sidebar, supporting flexible UI
configurations across different projects without requiring one-off
customizations.

### What changed

**New `enableHeader` prop on `NavigationLayout`**
- When `true` (default), the existing top bar layout with profile and
notification icons is rendered — no changes for projects using the
default layout.
- When `false`, the header is hidden on desktop and the profile
(`AccountMenu`) and notification (`NotificationsPopover`) components are
embedded at the bottom of the sidebar (`NavVertical` / `NavMini`).
- On mobile and tablet, the header is always shown regardless of this
setting.

**New navigation components**
- `VerticalFooter`: a dedicated account menu component for vertical/mini
sidebar layouts, displaying the user's avatar, name, and a popover with
profile switching, menu items, and logout.
- `NavAccountSection`: streamlines the composition of `AccountMenu` and
`NotificationsPopover` at the bottom of the sidebar when the header is
disabled.
- `VerticalDrawer`: supports the vertical navigation drawer.

**Notifications in the sidebar**
- `NotificationsPopover` now accepts `showLabel`, `labelComponent`, and
`currentLayout` props, enabling it to render inline with a label (e.g.,
"Notifications") and adapt its styling to vertical and mini layouts.
- Clicking the notification component opens the notifications drawer on
the left side of the screen, adjacent to the navigation sidebar.
- The notification badge displays the count of unread notifications.

**Responsive and consistent behavior**
- The layout remains responsive: mobile/tablet always shows the header;
desktop respects the `enableHeader` setting.
- Sidebar components (mini and vertical) receive `AccountMenu`,
`AccountMenuProps`, `NotificationsPopover`, and
`NotificationsPopoverProps` through `NavigationLayout`, keeping the API
consistent.

### Configuration

The layout option is selected via the `enableHeader` prop on
`NavigationLayout`:

```tsx
<NavigationLayout
  enableHeader={false}
  navData={navData}
  AccountMenu={AccountMenu}
  AccountMenuProps={{ onLoginClick, onRegisterClick }}
  NotificationsPopover={NotificationsPopover}
  NotificationsPopoverProps={{ filters: myFilters }}
>
  {children}
</NavigationLayout>
```

A README has been added to the `navigations` module documenting how to
enable the alternative layout and pass the required components.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added a vertical account footer and NavAccountSection for account +
notifications in side layouts.
* Added enableHeader to toggle header visibility and move
profile/notifications into the sidebar.
* Notifications popover: optional labels, layout-aware rendering, and
responsive drawer anchoring.
* NavMini/NavVertical: accept customizable AccountMenu and
NotificationsPopover components.
  * New utility for merging Tailwind class names.

* **Documentation**
  * Updated navigation docs with header/sidebar configuration examples.

* **Changelog**
  * Bumped package versions and release notes updated.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- `__package_name__` package update - `v __package_version__`
  - **changelog_info**
  - **changelog_info**


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Nav toggle buttons can use a custom chevron icon and pass custom
chevron props.
* Vertical navigation now exposes configurable notifications popover
options.

* **Refactor**
* Improved type consistency across navigation components for better
extensibility.

* **Chores**
  * Package versions and changelogs updated.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- `__package_name__` package update - `v __package_version__`
  - **changelog_info**
  - **changelog_info**


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Header and NavigationLayout now support optional configuration to
customize the application bar’s appearance and behavior while remaining
backward compatible.
* **Documentation**
  * Component package changelog updated for the new patch release.
* **Chores**
  * Package version bumped to 1.5.6.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- `__package_name__` package update - `v __package_version__`
  - **changelog_info**
  - **changelog_info**


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Sidebar footer (account section) is now optional and can be disabled
in navigation layouts. This provides greater flexibility in customizing
navigation appearance and structure based on your application
requirements.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Acceptance Criteria 


Scenario: Edit group details

Given I am on the Group Details page when I tap the pencil icon (edit
button)
then I should be navigated to the Edit Group Details page and I should
be able to:

 

Change the group name

Change or remove the group avatar

Scenario: Add or remove members from group

Given I am on the Group Details page when I tap "Add Member" then I
should be navigated to the Member Settings page and I should see a list
of current members with Checked mark in grey and with and empty Checked
space for the users that aren't in the group.

When I tap "Add" next to a contact then that contact should be marked
for addition in the top as New Members, and when I tap the confirmation
checkmark, then the group should update to reflect the added.


Design Link:
https://www.figma.com/design/z5ZdVlKEMmGIX4GVnjwfxA/BaseApp---NATIVE?node-id=7829-37847&t=qZVBT6H3IAyD7hH8-0


Approvd 
https://app.approvd.io/silverlogic/BA/stories/42178 

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Edit group details screen: change avatar and group name; improved
avatar picker and removal.
* Improved member management: navigate directly to add members;
selection respects existing members.
* Chat rooms now include participant IDs and participant counts for
richer UI.

* **Chores**
  * Reorganized group form configuration and validation defaults.
* Group chat state now tracks existing participants and room ID; exports
and chat-creation components renamed/adjusted.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Acceptance Criteria 
Removing a Member

Given I am an admin of the group, when I select a member from the group
details view, then I should have the option to remove that member from
the group.

We should have already implemented the Remove Member option button in
the Admin Permission story, but not the functionality.

Given I click on remove member, I should see a confirmation dialog, to
make sure I want to do this action.

Given I confirm the removal of the member, then the removed member
should no longer see the group in their chat list or have access to its
messages.

We are doing a hard delete of the group chat for that user.

It should be implemented the same behavior as the web version. 

Design Link:
https://www.figma.com/design/z5ZdVlKEMmGIX4GVnjwfxA/BaseApp---NATIVE?node-id=3324-255017&t=TlbSP8vPOBBG6fwE-0

Approvd 
https://app.approvd.io/silverlogic/BA/stories/41475 

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Initiate member removal directly from the members list; selecting a
member opens the removal dialog targeting that member.

* **Bug Fixes**
* Removal flow and redirect behavior corrected to ensure the correct
participant is identified and handled.

* **Other**
* Removal dialog button now shows "Leave Group" when removing yourself
and "Remove Member" for others.
  * Admin dialog title updated to "Remove group member?".
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* TextareaField component now features resizable functionality, enabling
users to customize textarea dimensions. Includes styling and spacing
improvements for enhanced usability.

* **Chores**
* Updated package versions and dependencies across multiple packages to
ensure compatibility and consistency.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- Fixes infinite loop call to `__nextjs_original-stack-frames` when
accessing the profile page
- Allows editing border properties on `AvatarWithPlaceholder` component

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
  * Avatar supports customizable border style and width.
  * Image component now provides a default banner fallback.

* **Bug Fixes**
  * Profile banner fallback updated to always supply a valid image URL.

* **Refactor**
* Profile menu options consolidated into a stable, centrally managed
list with conditional entries.
  * Profile prop changed to be required to simplify component usage.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
❌ RN - Change Email in Settings
Key details
Description

Acceptance Criteria 

Given that I am on the Login & Security settings page, when I tap on the
"Change Email" option, then the section should expand to reveal a "New
Email" input field

When I enter a valid email address in the "New Email" input field, then
the "Change Email" button should be enabled.

        If we don't input a valid email address display an error alert

Given that I have entered a valid email and the "Change Email" button is
enabled, when I tap on the "Change Email" button, then the system should
validate the email and send a verification link to the new email
address.

Given the verification link has been sent, then display a message
informing the user and also display a resend button in case there is
trouble receiving the email.

Given that the system has sent a verification link to my new email, when
I click on that link then it should open the app and show that I have
successfully verified my email.

Given that I am in the process of changing my email , when I tap the
"Cancel" button, then the section should collapse, any entered data
should be cleared, and I should return to the default Login & Security
settings view.

Design Link:
https://www.figma.com/design/z5ZdVlKEMmGIX4GVnjwfxA/BaseApp---NATIVE?node-id=6107-19479&t=ZYZocuoVLM11VrtX-0

Notes 
Check the web app flow, so that the designs match the flow. 

Approvd 
https://app.approvd.io/silverlogic/BA/stories/39019 

Demo: 
https://www.loom.com/share/7bca8ccba1ce43e78c8a597d556cff5c 

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Email-change workflow: request, resend, verify, confirm, and cancel
operations plus a new hook with form support, validation defaults, and
related types.

* **Design**
* Added Info icon and two illustrations (newsletter, error) for UI use.

* **Tests**
* Comprehensive tests for email-change flows covering success, error,
validation, customization, and resend behavior.

* **Bug Fixes**
* Improved extraction of API error messages for clearer client-facing
errors.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Lúcio BJ <lb@tsl.io>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated React and React DOM type definitions to newer versions for
improved type safety and compatibility.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Lúcio BJ <lb@tsl.io>
- `__package_name__` package update - `v __package_version__`
  - **changelog_info**
  - **changelog_info**


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added `formatFollowCount` utility for compact display of follower
counts using K/M/B suffixes.
* Added `useFollowToggle` hook to streamline follow/unfollow
functionality with improved error handling.
  * Added `getImageUrl` utility for consistent image source handling.

* **Refactor**
* Simplified follow toggle component architecture using new hook-based
pattern.
* Updated GraphQL schema for flexible profile creation and improved type
definitions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- `__package_name__` package update - `v __package_version__`
  - **changelog_info**
  - **changelog_info**


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
  * Added BaseComments for advanced comments integration
  * Added opt-in comment sharing control

* **Documentation**
* Clarified provider usage to avoid double-wrapping; when to use
BaseComments

* **Refactor**
* Made comment and input UI components more customizable (overridable
form/container, per-reply prop passthrough, profile-ID toggle)

* **Style**
* Switched comment/input backgrounds to use theme default background for
better theming consistency

* **Tests**
* Simplified comments delete test flow (removed prior negative
assertion)
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- `__package_name__` package update - `v __package_version__`
  - **changelog_info**
  - **changelog_info**


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Reaction buttons across comments and posts can now accept optional
click handlers that receive mouse event information, enabling custom
behavior, analytics, and richer user interactions when users tap
reaction controls.

* **Chores**
  * Package changelog and version were updated to record this patch.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- `__package_name__` package update - `v __package_version__`
  - **changelog_info**
  - **changelog_info**


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Notifications now support consumer-provided subcomponents and prop
bags (avatars, header, body, root, content, per-verb renderers, and
empty-state).
* Individual notification pieces (Avatar, Header, Body) are exported for
standalone use.

* **Improvements**
  * Empty state and list containers are customizable and theme-aware.
* Layout and typography refinements for headers, timestamps, and body
visuals for clearer hierarchy and better truncation handling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- `__package_name__` package update - `v __package_version__`
  - **changelog_info**
  - **changelog_info**


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Added automated dependency vulnerability scanning to CI that reports
and fails on high-severity findings.
* Hardened workspace dependency policies to block risky transitive
upgrades and enforce minimum release age.
* Upgraded shared dependency catalog and development packages
(Storybook, Next.js, Axios, Lodash, qs, etc.).
  * Bumped a YAML dev dependency to a newer version.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
anicioalexandre and others added 22 commits April 14, 2026 08:53
- `__package_name__` package update - `v __package_version__`
  - **changelog_info**
  - **changelog_info**


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Notification UI components (Mark All As Read button and Empty State)
are now available in the public UI library.
* **Chores**
  * Published package bumped to v1.5.17.
* **Documentation**
  * Changelog updated to record the new public components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- `__package_name__` package update - `v __package_version__`
  - **changelog_info**
  - **changelog_info**


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added a Markdown renderer with GitHub-flavored support, safe external
links, and image lazy-loading
* Added a LazyLoadImage with configurable aspect ratios and overlay
options

* **Improvements**
  * Comments, messages, posts, and chat previews now render Markdown
* Editor supports max-height, label background color, optional helper
text, and exposes an input ref
  * Social input now defaults to rich-text

* **Style**
  * Adjusted input/chat spacing and comment list bottom padding
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- `__package_name__` package update - `v __package_version__`
  - **changelog_info**
  - **changelog_info**


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Refactor**
* Reorganized how notification updates are handled to centralize refetch
behavior for list items and improve update flow.

* **New Features**
* Added an optional hook point to customize notification subscription
behavior.

* **Bug Fixes**
* Fixes duplicate "Older" divider when marking notifications as read and
ensures the list refreshes smoothly after read actions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Updated package manifest to enforce minimum versions for certain
transitive dependencies to improve installation stability.
* Applied a local patch to a bundled testing/request dependency to
replace an external UUID implementation with a runtime-native UUID
generator for more reliable ID creation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- `__package_name__` package update - `v __package_version__`
  - **changelog_info**
  - **changelog_info**


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated PostCSS dependency to version 8.5.10 across the project for
enhanced stability and compatibility.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- `__package_name__` package update - `v __package_version__`
  - **changelog_info**
  - **changelog_info**


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
  * Updated minimum Node.js version requirement to `>=22.11.0`
  * Updated pnpm package manager to version `10.28.2`
  * Updated Node.js LTS version reference

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- `__package_name__` package update - `v __package_version__`
  - **changelog_info**
  - **changelog_info**


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Headers now support an optional centered content area. Render custom
content (e.g., search, branding, or controls) in the header center
alongside the account menu.
* All navigation layouts (centered, horizontal, mini, vertical) forward
this center region and preserve account menu alignment so the account
area does not shrink when center content is present.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
* Add proper identation for bullet and numbered lists inside the
MarkdownEditorField

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Style**
* Improved left padding for ordered and unordered lists in markdown
editors and rendered markdown for clearer indentation and readability.

* **Chores**
* Updated package versions and corresponding changelogs to record the
patch release across relevant packages.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* @-mention support in editors with autocomplete menu, keyboard
navigation, profile suggestions, and clickable mention chips in rendered
markdown
* Bookmarks: bookmark content, bookmark counts, and bookmark toggle
support across profiles and posts

* **Enhancements**
* Mentions wired into comment, message, and content post
create/edit/send flows
* Improved mention UX: avatar list items, loading skeletons, paste
handling, and debounced suggestion search
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Improvements**
* Optimized data refresh behavior to render pages instantly from cache
while automatically fetching fresh data in parallel, ensuring externally
updated data becomes visible on navigation without requiring a manual
page reload.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Prevented cross-request data leakage by creating isolated per-mount
stores.
  * Improved robustness in HTTP header handling.

* **New Features**
* Authentication now reads access tokens from cookies (CookieProvider
required).
* Added cookie-change and cross-tab broadcast events for real-time sync.
* GraphQL: added mentions support (query fields and counters) across
several types.

* **Chores**
  * Bumped package versions and streamlined internal exports.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
  * Updated Next.js framework to version 15.5.18.
* Updated dependency management configuration and internal UUID
generation handling.

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/silverlogic/baseapp-frontend/pull/372)

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Upgrade all the mobile app dependencies


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Bumped platform/tooling and library versions (TypeScript, React 19,
React Native/Expo ecosystem) and updated package pins; package versions
and changelogs updated.

* **New Features**
* Added a cross-platform cookie-change emitter, a provider-safe NOOP
cookie store, and a new hook to read cookies outside the provider.

* **Bug Fixes**
  * Color mode now reliably returns 'light' or 'dark'.
  * Token set/remove now immediately notifies mobile consumers.

* **Tests**
  * Added tests covering providerless cookie and JWT user scenarios.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/silverlogic/baseapp-frontend/pull/360?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Priscilla de Roode <pr@tsl.io>
Co-authored-by: Matheus Domingos <md@tsl.io>
Co-authored-by: Alexandre Anício <aa@tsl.io>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
  * Updated project dependencies for improved stability and maintenance.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/silverlogic/baseapp-frontend/pull/376?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
…pinner and last message preview (#377)

- Drop `defaultValue: false` on `isGroup` in `RoomsListFragment` so
unset means "no filter" (returns both group and non-group rooms).
- In `AllChatRoomsList`, send `isGroup: true` only on the Groups tab and
`null` on Active / Unread / Archived, so groups also appear in those
tabs.
- Update `useRoomListSubscription` connection matcher to treat a `null`,
`isGroup` on a stored connection as "match any room", so newly arrived
group rooms slot into Active / Unread / Archived connections.
- Render the tab loading `CircularProgress` overlaid on top of the tab
label (LoadingButton-style) instead of pushing it to the side, keeping
the tab width stable while refetching.
- Render chat room last message as clear text preview




<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Group rooms now correctly appear when filtering Active, Unread, and
Archived tabs.
* Message previews simplified for cleaner, capped text shown in room
list.

* **Bug Fixes**
* Tab loading spinner now overlays the tab label without shifting width.

* **Documentation**
  * Components package updated to v1.6.0 and changelog entry added.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/silverlogic/baseapp-frontend/pull/377?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
  * Updated axios HTTP client library to version 1.16.0

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
@changeset-bot

changeset-bot Bot commented Jun 5, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 3abb942

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai

coderabbitai Bot commented Jun 5, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 8351f4a3-0cf5-46dc-b366-fc63b6e194e0

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/BA-3286-rn-delete-a-comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@sonarqubecloud

sonarqubecloud Bot commented Jun 5, 2026

Copy link
Copy Markdown

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.

10 participants