Skip to content

docs(ui-kit/react-native): add multi attachment and plural media bubble docs for v5#432

Merged
ketanyekale merged 8 commits into
mainfrom
docs/multi-attachment-react-native-uikit-v5
Jul 24, 2026
Merged

docs(ui-kit/react-native): add multi attachment and plural media bubble docs for v5#432
ketanyekale merged 8 commits into
mainfrom
docs/multi-attachment-react-native-uikit-v5

Conversation

@suraj-chauhan-cometchat

@suraj-chauhan-cometchat suraj-chauhan-cometchat commented Jul 17, 2026

Copy link
Copy Markdown
Contributor
  • Add Audios Bubble component documentation with playback cards, seek control, and show-more collapse
  • Add Files Bubble component documentation with download cards and show-more collapse
  • Add Images Bubble component documentation with grid rendering, +N overflow, and full-screen viewer
  • Add Videos Bubble component documentation with thumbnail grid, duration chips, and full-screen playback
  • Add Voice Note Bubble component documentation with waveform player and voice-note routing
  • Update Message Composer guide to document the multi-attachment staging tray (tile states, count/size limits, batch send)
  • Update Message List guide to document multi-attachment batch grouping and the enableMultipleAttachments prop
  • Include AI Integration Quick Reference for each new component
  • Add theme-slice styling tables and prop tables for consistent styling reference
  • Register the five new pages in docs.json under the React Native components group

…le docs for v5

- Add Audios Bubble component documentation with playback cards, seek control, and show-more collapse
- Add Files Bubble component documentation with download cards and show-more collapse
- Add Images Bubble component documentation with grid rendering, +N overflow, and full-screen viewer
- Add Videos Bubble component documentation with thumbnail grid, duration chips, and full-screen playback
- Add Voice Note Bubble component documentation with waveform player and voice-note routing
- Update Message Composer guide with the multi-attachment staging tray (tile states, limits, batch send)
- Update Message List guide with multi-attachment batch grouping and the enableMultipleAttachments prop
- Include AI Integration Quick Reference and theme-slice styling tables for each new component
- Register the five new pages in docs.json under the React Native components group

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rewrite the React Native "Upload Files" guide to the request-object upload
API the RN SDK actually ships (CometChat.createUploadFileRequest ->
UploadFileRequest), mirroring the JS SDK guide (PR #427) section-for-section.
The previous draft documented a functional CometChat.uploadFiles() surface
that does not exist in @cometchat/chat-sdk-react-native.

- upload-files.mdx: createUploadFileRequest + UploadFileRequest, caller-
  supplied fileId, UploadFileListener.onFileProgress, UploadResult.batchId,
  getAttachments/getAttachmentsByType/getStatus (IN_PROGRESS/IDLE),
  addUploadListener, removeAttachment, clearAll, getMaxAttachmentCount().
  Retry documented as re-upload of the same fileId (RN has no
  retryAttachment()); RN-specific error codes added (ERR_UNAUTHENTICATED,
  ERR_PRESIGN_REJECTED, ERR_PRESIGN_FETCH_FAILED).
- send-message.mdx: fix phantom-API references — getFileUploadLimits() ->
  getMaxAttachmentCount(), uploadFiles() -> UploadFileRequest.
- docs.json: add the upload-files page to RN Messaging nav.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
suraj-chauhan-cometchat and others added 4 commits July 23, 2026 12:02
…haring

Add the multi_attachments_mobile.png screenshot (shared with the Android
multi-attachment docs, PR #430) and reference it in the core-features
Media Sharing section, replacing the older single-media image.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…setMuid

Match the Android multi-attachment guide (PR #430): call
mediaMessage.setMuid(request.getBatchId()) in the upload-then-send example
so the sent MediaMessage is tied to its upload batch. setMuid() is inherited
from BaseMessage in @cometchat/chat-sdk-react-native.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Verified against uikit-react-native PR #1415 (ENG-36732): the compact
composer's native editor fires onPasteMedia and stages pasted images/files
into the attachment tray (with the same count/size guards) — not "into the
input". Fix the wording accordingly.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…es MDX

Two leftover XML tags (</content>, </invoke>) were accidentally written at
the end of the file, causing an MDX parse error ("Unexpected closing slash
in tag") that dropped the page route in the Mintlify build. Remove them.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
suraj-chauhan-cometchat and others added 2 commits July 24, 2026 15:24
…lign Media Sharing with Android

- audios-bubble: document expandButtonTextStyle (now exposed by audiosBubbleStyles)
- images/videos-bubble: CometChatMediaViewer as plain text (no MediaViewer page to link)
- images-bubble: drop mislinked "Image Bubble" -> message-bubble-styling, plain text like siblings
- all bubble/composer/list pages: remove 7 empty screenshot TODO comment markers
- core-features Media Sharing: mirror Android PR #430 copy, table anchors, and split/grouping note

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…message-bubble-styling

Match the Android single-page approach: document the multi-attachment bubbles
inside message-bubble-styling instead of separate pages.

- message-bubble-styling: rewrite Image/Video/Audio/File Bubble sections to
  describe the multi-attachment bubbles (grid + overflow, stacked cards, show-more),
  swap in new screenshots, point styling at mediaGridBubbleStyles/audiosBubbleStyles/filesBubbleStyles
- remove the 5 standalone bubble pages (images/videos/audios/voice-note/files-bubble)
  and their docs.json nav entries
- repoint inbound links in message-list and message-composer to message-bubble-styling

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jitvarpatil

Copy link
Copy Markdown
Contributor

Docs review — ✅ Approve

RN multi-attachment docs — the React Native counterpart of #428 (iOS) / #430 (Android), with a new 354-line upload-files.mdx and 5 images. I verified the entire API against the RN SDK's published type definitions. This is the most platform-precise of the three: it correctly handles two RN-specific differences that a copy-paste from Android would have gotten wrong.

✅ API — verified against the RN SDK dist/CometChat.d.ts

  • createUploadFileRequest(receiverId: string, receiverType: string): UploadFileRequest
  • UploadFileRequest — the .d.ts itself notes "Not constructible directly — obtain an instance via CometChat.createUploadFileRequest()", matching the doc's pattern
  • uploadAttachments(files: { fileId, file }[], listener) · addUploadListener(listener) / removeUploadListener() (no-arg) · getAttachments() / getAttachmentsByType(type)
  • UploadFileListener: onFileProgress(fileId, loaded, total, percent), onFileUploaded(fileId, attachment), onFileError, onFileFailure, onComplete(result: UploadResult) — all exact, and the .d.ts carries the same retryable semantics the docs describe (onFileError = rejected/not retryable, onFileFailure = transfer failed/retryable)
  • MediaMessage.getAttachments() / setAttachments(Array<Attachment>)

Platform precision 👏

  • getMaxAttachmentCount() returns Promise<number> in RN (Android returns int synchronously) — the doc correctly writes const max = await CometChat.getMaxAttachmentCount();
  • getMaxFileSize does not exist in the RN SDK — and the doc correctly omits it rather than carrying it over from the Android page.

✅ Structure

New sdk/react-native/upload-files wired into nav; 0 nav breaks, 0 orphans, 0 broken links, redirects +0. All 5 added images are referenced (rn_*_bubble.png in message-bubble-styling.mdx, multi_attachments_mobile.png in core-features.mdx). No placeholders/TODOs.

🟡 Cross-PR coordination note (not a defect in this PR)

Both this PR and #430 (Android) add the identical binary images/multi_attachments_mobile.png. Here it's properly referenced; in #430 it is unreferenced. If both merge you may hit a duplicate/conflicting binary add — cleanest fix is to drop it from #430 and let this PR own the asset. Heads-up for whoever merges second.

Excellent, precisely-sourced PR. Ready to merge. 🚀

🤖 Automated docs review (Mintlify link/redirect/content checks + API verification against @cometchat/chat-sdk-react-native type definitions).

@jitvarpatil jitvarpatil left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Docs review — ✅ Approve

RN multi-attachment docs — the React Native counterpart of #428 (iOS) / #430 (Android), with a new 354-line upload-files.mdx and 5 images. I verified the entire API against the RN SDK's published type definitions. This is the most platform-precise of the three: it correctly handles two RN-specific differences that a copy-paste from Android would have gotten wrong.

✅ API — verified against the RN SDK dist/CometChat.d.ts

  • createUploadFileRequest(receiverId: string, receiverType: string): UploadFileRequest
  • UploadFileRequest — the .d.ts itself notes "Not constructible directly — obtain an instance via CometChat.createUploadFileRequest()", matching the doc's pattern
  • uploadAttachments(files: { fileId, file }[], listener) · addUploadListener(listener) / removeUploadListener() (no-arg) · getAttachments() / getAttachmentsByType(type)
  • UploadFileListener: onFileProgress(fileId, loaded, total, percent), onFileUploaded(fileId, attachment), onFileError, onFileFailure, onComplete(result: UploadResult) — all exact, and the .d.ts carries the same retryable semantics the docs describe (onFileError = rejected/not retryable, onFileFailure = transfer failed/retryable)
  • MediaMessage.getAttachments() / setAttachments(Array<Attachment>)

Platform precision 👏

  • getMaxAttachmentCount() returns Promise<number> in RN (Android returns int synchronously) — the doc correctly writes const max = await CometChat.getMaxAttachmentCount();
  • getMaxFileSize does not exist in the RN SDK — and the doc correctly omits it rather than carrying it over from the Android page.

✅ Structure

New sdk/react-native/upload-files wired into nav; 0 nav breaks, 0 orphans, 0 broken links, redirects +0. All 5 added images are referenced (rn_*_bubble.png in message-bubble-styling.mdx, multi_attachments_mobile.png in core-features.mdx). No placeholders/TODOs.

🟡 Cross-PR coordination note (not a defect in this PR)

Both this PR and #430 (Android) add the identical binary images/multi_attachments_mobile.png. Here it's properly referenced; in #430 it is unreferenced. If both merge you may hit a duplicate/conflicting binary add — cleanest fix is to drop it from #430 and let this PR own the asset. Heads-up for whoever merges second.

Excellent, precisely-sourced PR. Ready to merge. 🚀

🤖 Automated docs review (Mintlify link/redirect/content checks + API verification against @cometchat/chat-sdk-react-native type definitions).

@ketanyekale
ketanyekale merged commit 64559e9 into main Jul 24, 2026
2 checks passed
aanshisingh-cometchat added a commit that referenced this pull request Jul 24, 2026
…ge-bubble-styling

Align Angular with the merged React Native structure (PR #432): the five per-bubble pages are folded into message-bubble-styling.mdx as Image, Video, Audio, File, and Voice Note Bubble sections, each with a description, screenshot, and CSS selectors. Removes the five pages and their nav entries, and rewrites all inbound links to anchors. The pages were new on this branch and never published, so no live URLs change.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants