Skip to content

[CLNP-6719] feat: mark-as-unread #244

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
Open

Conversation

OnestarLee
Copy link
Collaborator

@OnestarLee OnestarLee commented Jun 20, 2025

External Contributions

This project is not yet set up to accept pull requests from external contributors.

If you have a pull request that you believe should be accepted, please contact
the Developer Relations team developer-advocates@sendbird.com with details
and we'll evaluate if we can setup a CLA to allow for the contribution.

For Internal Contributors

[CLNP-6719](https://sendbird.atlassian.net/browse/CLNP-6719)

Description Of Changes

  • Feature
    • MarkAsUnread 기능 추가
      • NewLine UI 추가
        image

      • UnreadMessageFloating 추가
        image

      • BottomSheet 에 Mark as unread 메뉴 추가
        image

  • Fix
    • NewMessageButton 에서 새로운 메세지가 1개일때 new messages -> new message 로 문구 수정

Updated @sendbird/chat peerDependencies to v4.19.2

MarkAsUnread 스펙
https://sendbird.atlassian.net/wiki/spaces/SDK/pages/3191373873/MarkAsUnread
MarkAsUnread 기능 on/off 적용 되어있는 대시보드 접속 방법
https://sendbird.slack.com/archives/C08JD964GUS/p1750233883183979

Types Of Changes

What types of changes does your code introduce to this project?
Put an x in the boxes that apply_

  • Bugfix
  • New feature
  • Documentation (correction or otherwise)
  • Cosmetics (whitespace, appearance (ex) Prettier)
  • Build configuration
  • Improvement (refactor code)
  • Test

@codecov-commenter
Copy link

codecov-commenter commented Jun 20, 2025

Codecov Report

Attention: Patch coverage is 0% with 172 lines in your changes missing coverage. Please review.

Project coverage is 11.27%. Comparing base (15ed2fd) to head (9650e6a).
Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
...groupChannel/component/GroupChannelMessageList.tsx 0.00% 101 Missing ⚠️
...ative/src/fragments/createGroupChannelFragment.tsx 0.00% 32 Missing and 1 partial ⚠️
...native/src/components/ChannelMessageList/index.tsx 0.00% 23 Missing ⚠️
...nnelMessageRenderer/GroupChannelMessageNewLine.tsx 0.00% 6 Missing ⚠️
...t-native/src/components/UnreadMessagesFloating.tsx 0.00% 6 Missing ⚠️
...act-native/src/localization/createBaseStringSet.ts 0.00% 2 Missing ⚠️
...c/components/GroupChannelMessageRenderer/index.tsx 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #244      +/-   ##
==========================================
- Coverage   11.49%   11.27%   -0.22%     
==========================================
  Files         358      360       +2     
  Lines        8490     8653     +163     
  Branches     2395     2454      +59     
==========================================
  Hits          976      976              
- Misses       7439     7601     +162     
- Partials       75       76       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@OnestarLee OnestarLee requested a review from Copilot June 20, 2025 12:16
Copilot

This comment was marked as outdated.

@OnestarLee OnestarLee changed the title feat/mark-as-unread [CLNP-6719] mark-as-unread Jun 20, 2025
@OnestarLee OnestarLee changed the title [CLNP-6719] mark-as-unread [CLNP-6719] feat:mark-as-unread Jun 20, 2025
@OnestarLee OnestarLee changed the title [CLNP-6719] feat:mark-as-unread [CLNP-6719] feat: mark-as-unread Jun 20, 2025
@OnestarLee OnestarLee force-pushed the feat/mark-as-unread branch from 20a7656 to 22cd7b3 Compare June 20, 2025 12:35
@OnestarLee OnestarLee requested a review from Copilot June 20, 2025 12:36
Copy link

@Copilot 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

This PR implements the new “mark as unread” feature for group channels while also updating various UI components and localization strings. In addition, the changes refine the Xcode project configuration and update dependencies for consistency.

  • Introduces new UI elements: NewLine indicator and UnreadMessagesFloating.
  • Adds localization string entries and type definitions for “mark as unread.”
  • Updates project signing settings and dependency versions.

Reviewed Changes

Copilot reviewed 17 out of 21 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
sample/ios/SendbirdUIKitSample.xcodeproj/project.pbxproj Added empty input/output paths and modified code signing settings.
packages/uikit-utils/package.json, packages/uikit-testing-tools/package.json, package.json, docs-validation/package.json Updated @sendbird/chat dependency version.
packages/uikit-react-native/src/localization/createBaseStringSet.ts Updated message pluralization and added new localized strings for unread message indicators.
packages/uikit-react-native/src/localization/StringSet.type.ts Extended type definitions for the new mark-as-unread strings.
packages/uikit-react-native/src/fragments/createGroupChannelFragment.tsx Added logic and refs to manage new line visibility and marking messages as unread.
packages/uikit-react-native/src/domain/groupChannel/* Introduced handlers and refs for the mark-as-unread feature in message lists and press actions.
packages/uikit-react-native/src/components/* Added new components for rendering the new line and unread messages floating UI.
packages/uikit-react-native-foundation/src/assets/icon/index.ts Included an icon asset for “mark-as-unread.”
Comments suppressed due to low confidence (3)

packages/uikit-react-native/src/fragments/createGroupChannelFragment.tsx:95

  • [nitpick] Consider adding inline comments or JSDoc annotations to explain the purpose of 'isNewLineExistInChannelRef' and the related refs for new line tracking for clarity and maintainability.
    const isNewLineExistInChannelRef = useRef(false);

packages/uikit-react-native/src/domain/groupChannel/component/GroupChannelMessageList.tsx:163

  • Ensure that all edge cases and interactions related to the new mark-as-unread functionality are adequately covered by unit and integration tests.
  const onPressMarkAsUnreadMessage = useCallback(

sample/ios/SendbirdUIKitSample.xcodeproj/project.pbxproj:583

  • The change from a developer-specific code signing identity to a generic one should be verified against your team's signing strategy to avoid unintended signing issues.
				CODE_SIGN_IDENTITY = "Apple Development";

@@ -365,10 +365,14 @@
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-SendbirdUIKitSample/Pods-SendbirdUIKitSample-frameworks-${CONFIGURATION}-input-files.xcfilelist",
);
Copy link
Preview

Copilot AI Jun 20, 2025

Choose a reason for hiding this comment

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

An empty 'inputPaths' array was added here; please document its intended use to aid future maintainers.

Suggested change
);
);
// The inputPaths array is intentionally left empty because no specific input files are required for this build phase.

Copilot uses AI. Check for mistakes.

@OnestarLee OnestarLee requested a review from bang9 June 20, 2025 12:36
@OnestarLee
Copy link
Collaborator Author

@bang9 sample 배포시에 사용하는 promiseofcake/circleci-trigger-action@v1 이 보안 정책으로 막혀서 curl 이용해서 직접 circleci 호출하도록 변경하였습니다

@OnestarLee OnestarLee force-pushed the feat/mark-as-unread branch from f7d1357 to b65b30b Compare June 30, 2025 02:15
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.

3 participants