Feature/ba 3286 rn delete a comment#381
Conversation
- `__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 -->
- `__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. [](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 --> [](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 --> [](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 --> [](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 -->
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|



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