docs(ui-kit/angular): add scoped Angular v5 LLM docs index (ENG-38204) - #471

Closed
shagundeogharkar wants to merge 1 commit into
mainfrom
docs/angular-v5-llms-index
Closed

docs(ui-kit/angular): add scoped Angular v5 LLM docs index (ENG-38204)#471
shagundeogharkar wants to merge 1 commit into
mainfrom
docs/angular-v5-llms-index

Conversation

@shagundeogharkar

Copy link
Copy Markdown
Contributor

What & why

Part of ENG-38204 (Angular skills — UI Kit + SDK). That ticket's blocking prerequisite is a scoped llms.txt-style index for Angular, because the skills pack is docs-maximal: it builds features from the official task guides and compares its output against them. Without a scoped index there is no way for an agent to discover which guides exist, so it silently falls back to component-wiring and loses the guide-first completeness check.

Adds ui-kit/angular/llms-angular-v5.mdx — a machine-readable, Angular-v5-scoped routing index covering all 91 v5 pages as .md twins, in 13 sections. It mirrors the shape of ui-kit/react/llms-react-v7.mdx (currently on branch docs/react-v7-feature-guides, not yet on main).

No Angular SDK index is needed. The ticket asks for two indexes, but Angular consumes the same @cometchat/chat-sdk-javascript@4 as React, and the existing sdk/javascript/llms-javascript-v4.mdx is framework-agnostic — Angular inherits it unchanged.

Changes

New — ui-kit/angular/llms-angular-v5.mdx

  • Unlisted, NOT hidden. Deliberately omitted from docs.json navigation so it never appears in the human sidebar, but it still builds, serves its .md twin, and stays indexed. hidden: true was not used because Mintlify auto-applies noindex to hidden pages, which would drop this page from search and from the auto-generated global llms.txt — defeating the purpose. docs.json is untouched, so there are no navigation refs to break and no redirects required.
  • Scoped to v5 only. The 2.0/, 3.0/ and v4/ trees are excluded so agents are never routed at dead API surfaces.
  • Angular-specific framing that the React index has no equivalent for: kebab-case selectors in templates (<cometchat-conversations>), @Input() rather than props, content-projection / TemplateRef rather than render props, and environment config in src/environments/environment.ts rather than .env.
  • Section spine: getting started · core & configuration · theming & customization · five component groups · Task guides (recipes) (17 entries) · framework recipes · migration.

Fixes — four content defects surfaced while building the index

Three pages shipped with no frontmatter at all, despite being present in docs.json navigation, so they render untitled on the live site. Added title/description per house style (cf. api-reference/chat-state-service.mdx), and removed the two leading H1s that would now duplicate the frontmatter title:

FileWasNow
api-reference/formatter-config-service.mdxno frontmattertitle: "Formatter Config Service"
api-reference/rich-text-editor-service.mdxno frontmatter, leading # RichTextEditorService API Referencetitle: "Rich Text Editor Service"
guides/rich-text-formatting.mdxno frontmatter, leading # Rich Text Formatting Guidetitle: "Rich Text Formatting"

overview.mdx — "AI Integration Quick Reference" listed incomplete peer deps.

Value
Was@cometchat/chat-sdk-javascript, dompurify
Now@cometchat/chat-sdk-javascript, @cometchat/cards-angular, dompurify

Ground truth (verified against the shipped package)

The peer-dep fix was confirmed against the published package, not inferred:

$ npm view @cometchat/chat-uikit-angular@5.1.0 peerDependencies
{
"dompurify": "^3.0.0",
"@angular/core": ">=17.0.0 <22.0.0",
"@angular/common": ">=17.0.0 <22.0.0",
"@cometchat/cards-angular": "^1.0.0", ← undocumented
"@cometchat/chat-sdk-javascript": "^4.1.13",
"@cometchat/calls-sdk-javascript": "^5.0.3"
}

@cometchat/cards-angular was added between 5.0.3 and 5.1.0 (latest is 5.1.0; there is no v6 line). Anyone following the docs today gets an incomplete install.

Not fixed here — needs an owner decision

The same overview.mdx accordion states:

| Angular | v18, v19, v20, v21, v22 (v22 requires Node.js 24+) |

But the published peer range at 5.1.0 is @angular/core ">=17.0.0 <22.0.0":

  • v22 is excludednpm install @cometchat/chat-uikit-angular@^5 on an Angular 22 project hard-fails with ERESOLVE. The docs currently advertise a version where install is impossible.
  • v17 is supported but undocumented.

So either the docs or the kit's peer range is wrong. That is a support-policy call for the UI Kit owners, not a typo, so this PR leaves the line untouched and flags it instead. It also blocks the Angular core skill, which has to state a supported range.

Checklist

  • Branch name follows the naming convention (docs/angular-v5-llms-index)
  • docs.json untouched — no nav refs changed, no redirects needed
  • All 91 links generated from the actual ui-kit/angular file tree, with page titles read from each file's frontmatter
  • Peer-dep change verified against the published npm package
  • npx mintlify dev not yet run — before merge, please confirm the page builds (a "not in navigation" warning is expected and intended) and that /ui-kit/angular/llms-angular-v5.md resolves as raw Markdown. The design depends on that twin being fetchable.

Follow-ups (not in this PR)

  • Quick Reference accordions on the 43 components/cometchat-*.mdx pages. The index tells agents each .md twin carries input/output names, types and defaults. That holds for guides/ and integration.mdx, but the component pages have no accordion yet, so the promise is currently partial. The React equivalent added these across 56 files in the same branch; for Angular it is deliberately split out as a separate, mechanical PR.
  • React's own indexes are still unmerged (docs/react-v7-feature-guides, docs/js-sdk-llms-index). Merging this one puts Angular's index in production while React's stays on a preview deploy — worth deciding whether those two should land as well, since the React skills pack currently documents .mintlify.site preview URLs as its docs base.

Adds ui-kit/angular/llms-angular-v5.mdx — a machine-readable, Angular-v5-scoped
routing index of all 91 v5 pages as .md twins, for AI coding agents. Mirrors the
shape of ui-kit/react/llms-react-v7.mdx (branch docs/react-v7-feature-guides).
- Unlisted, NOT hidden: omitted from docs.json navigation so it never shows in
the human sidebar, but still built, served as a .md twin, and indexed. Using
`hidden: true` would auto-apply noindex and drop it from search + the global
llms.txt, which defeats the purpose. docs.json is deliberately untouched.
- Scoped to v5 only; the 2.0/, 3.0/ and v4/ trees are excluded so agents are
never routed at dead API surfaces.
- Angular-specific framing the React index has no equivalent for: kebab-case
selectors, @input() rather than props, content-projection/TemplateRef rather
than render props, and env config in src/environments/environment.ts.
Also fixes four content defects surfaced while building the index:
- api-reference/formatter-config-service.mdx, api-reference/
rich-text-editor-service.mdx and guides/rich-text-formatting.mdx shipped with
NO frontmatter at all despite being in docs.json navigation, so they rendered
untitled. Adds title/description per house style (see
api-reference/chat-state-service.mdx) and drops the two leading H1s that would
now duplicate the frontmatter title.
- overview.mdx "AI Integration Quick Reference" listed peer deps as
@cometchat/chat-sdk-javascript + dompurify, missing
@cometchat/cards-angular@^1.0.0 which @cometchat/chat-uikit-angular@5.1.0
added. Verified against the published package.
NOT fixed here, needs an owner decision: the same accordion claims Angular
"v18, v19, v20, v21, v22" but the published peer range at 5.1.0 is
@angular/core ">=17.0.0 <22.0.0" — v22 is excluded (install hard-fails with
ERESOLVE) and v17 is supported but undocumented. Either the docs or the peer
range is wrong; that is a support-policy call, not a typo.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@mintlify

mintlifyBot commented Aug 17, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

ProjectStatusPreviewUpdated (UTC)
cometchat🟢 ReadyView PreviewAug 17, 2026, 1:55 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@shagundeogharkar

Copy link
Copy Markdown
ContributorAuthor

Superseded by #475 — this branch is merged into docs/angular-v5-skills, which carries the same commits plus the remaining Angular docs work (AI Integration Quick Reference accordions across the 43 component pages). Keeping it as one PR gives a single Mintlify preview covering every change. Branch left in place; nothing lost.

anshuman-cometchat added a commit to anshuman-cometchat/docs that referenced this pull request Aug 25, 2026
Flutter was the only platform with none. On the skills-v5-temp base, react has
128 Quick References and 3 llms indexes, android 112/2, angular 81/1,
react-native 56/2, ios 34/2 - and flutter 0 and 0. This closes the index half.
Structure and conventions follow the reference PRs for the same feature:
cometchat#446 (React v7), cometchat#466 (JS SDK), cometchat#471 (Angular v5), cometchat#476 (React
Native). Unlisted rather than hidden, for the reason those PRs give: in Mintlify
hidden auto-applies noindex, which would drop the page from search and from the
auto global llms.txt - and the whole point is that an agent can discover it. Not
registered in docs.json, same as every prior index.
ui-kit/flutter/llms-flutter-v6.mdx 70 links, all 54 UI Kit pages
sdk/flutter/llms-flutter-v5.mdx 58 links, all 52 SDK pages
Both are 100 percent page coverage with zero dead links, verified by resolving
every href against the tree.
The Platform rules section is the part that carries real weight, and every claim
in it was verified against cometchat_chat_uikit 6.1.0 rather than recalled:
- TWO barrels with different surfaces. Chat widgets do not resolve from the
calls barrel and vice versa, so a screen showing both imports both. This is
the most common Flutter-specific compile failure.
- Lists need a bounded box or layout throws at render, not at build.
- Kit widgets paint their own surface; the app ThemeData does not reach inside.
- Theming is ThemeExtension, and registering on only one of light/dark silently
leaves the other on kit defaults.
- v5's CometChatUIKit.getDataSource() is gone; v6 uses MessageTemplateUtils.
- Custom message types need addTemplate, not templates - templates only
registers the bubble and the message is filtered out before it can render,
with no error. A hand-rolled MessagesRequestBuilder does not help because the
list always overrides uid/guid/types/categories on it.
- Messages sent with CometChat.send*Message must emit ccMessageSent or a
mounted list never shows them.
- SDK: onSuccess AND onError are both required - compile-checked, omitting
onError is missing_required_argument.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
anshuman-cometchat added a commit to anshuman-cometchat/docs that referenced this pull request Aug 25, 2026
…ent pages
Flutter had 0 of these while react has 128, android 112, angular 81,
react-native 56 and ios 34. This closes the UI Kit half.
Format follows the reference PRs (cometchat#446, cometchat#466, cometchat#471, cometchat#476): an
Accordion straight after the frontmatter, a Field/Value table, and rows that let
an agent decide whether the page is worth opening at all.
Generated from the compiler-verified prop tables rather than hand-written, so
every prop named here provably exists on the widget and the row cannot drift
from the kit on the next release. 35 in-page anchors, all resolving.
Two rows are Flutter-specific and are the reason a generic template would not
have done:
- Import carries the RIGHT BARREL per widget. Calling widgets resolve only from
cometchat_calls_uikit.dart, so call-buttons, incoming-call, outgoing-call and
call-logs also get an explicit Barrel row saying so. Importing a calling
widget from the chat barrel is the most common Flutter compile failure and no
other platform has this split.
- Layout warns that list widgets fill their parent and need an Expanded or a
sized box, because the failure is an unbounded-height throw at render rather
than a build error.
Plus the two traps found by building on the kit: message-list carries the
addTemplate-not-templates rule, and message-composer carries the ccMessageSent
requirement for messages sent outside it.
Classification is by TYPE, not name, after three passes got it wrong:
messagesRequestBuilder ends in Builder but is data, hideThreadView ends in View
but is a bool toggle, headerView is a HeaderFooterBuilder typedef with neither
Widget nor Function in its name, and onError is typed OnError? so only the
on-plus-capital convention identifies it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for freeto 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.

1 participant

@shagundeogharkar
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

docs(ui-kit/angular): add scoped Angular v5 LLM docs index (ENG-38204) - #471

Closed
shagundeogharkar wants to merge 1 commit into
mainfrom
docs/angular-v5-llms-index
Closed

docs(ui-kit/angular): add scoped Angular v5 LLM docs index (ENG-38204)#471
shagundeogharkar wants to merge 1 commit into
mainfrom
docs/angular-v5-llms-index

Conversation

@shagundeogharkar

Copy link
Copy Markdown
Contributor

What & why

Part of ENG-38204 (Angular skills — UI Kit + SDK). That ticket's blocking prerequisite is a scoped llms.txt-style index for Angular, because the skills pack is docs-maximal: it builds features from the official task guides and compares its output against them. Without a scoped index there is no way for an agent to discover which guides exist, so it silently falls back to component-wiring and loses the guide-first completeness check.

Adds ui-kit/angular/llms-angular-v5.mdx — a machine-readable, Angular-v5-scoped routing index covering all 91 v5 pages as .md twins, in 13 sections. It mirrors the shape of ui-kit/react/llms-react-v7.mdx (currently on branch docs/react-v7-feature-guides, not yet on main).

No Angular SDK index is needed. The ticket asks for two indexes, but Angular consumes the same @cometchat/chat-sdk-javascript@4 as React, and the existing sdk/javascript/llms-javascript-v4.mdx is framework-agnostic — Angular inherits it unchanged.

Changes

New — ui-kit/angular/llms-angular-v5.mdx

  • Unlisted, NOT hidden. Deliberately omitted from docs.json navigation so it never appears in the human sidebar, but it still builds, serves its .md twin, and stays indexed. hidden: true was not used because Mintlify auto-applies noindex to hidden pages, which would drop this page from search and from the auto-generated global llms.txt — defeating the purpose. docs.json is untouched, so there are no navigation refs to break and no redirects required.
  • Scoped to v5 only. The 2.0/, 3.0/ and v4/ trees are excluded so agents are never routed at dead API surfaces.
  • Angular-specific framing that the React index has no equivalent for: kebab-case selectors in templates (<cometchat-conversations>), @Input() rather than props, content-projection / TemplateRef rather than render props, and environment config in src/environments/environment.ts rather than .env.
  • Section spine: getting started · core & configuration · theming & customization · five component groups · Task guides (recipes) (17 entries) · framework recipes · migration.

Fixes — four content defects surfaced while building the index

Three pages shipped with no frontmatter at all, despite being present in docs.json navigation, so they render untitled on the live site. Added title/description per house style (cf. api-reference/chat-state-service.mdx), and removed the two leading H1s that would now duplicate the frontmatter title:

FileWasNow
api-reference/formatter-config-service.mdxno frontmattertitle: "Formatter Config Service"
api-reference/rich-text-editor-service.mdxno frontmatter, leading # RichTextEditorService API Referencetitle: "Rich Text Editor Service"
guides/rich-text-formatting.mdxno frontmatter, leading # Rich Text Formatting Guidetitle: "Rich Text Formatting"

overview.mdx — "AI Integration Quick Reference" listed incomplete peer deps.

Value
Was@cometchat/chat-sdk-javascript, dompurify
Now@cometchat/chat-sdk-javascript, @cometchat/cards-angular, dompurify

Ground truth (verified against the shipped package)

The peer-dep fix was confirmed against the published package, not inferred:

$ npm view @cometchat/chat-uikit-angular@5.1.0 peerDependencies
{
"dompurify": "^3.0.0",
"@angular/core": ">=17.0.0 <22.0.0",
"@angular/common": ">=17.0.0 <22.0.0",
"@cometchat/cards-angular": "^1.0.0", ← undocumented
"@cometchat/chat-sdk-javascript": "^4.1.13",
"@cometchat/calls-sdk-javascript": "^5.0.3"
}

@cometchat/cards-angular was added between 5.0.3 and 5.1.0 (latest is 5.1.0; there is no v6 line). Anyone following the docs today gets an incomplete install.

Not fixed here — needs an owner decision

The same overview.mdx accordion states:

| Angular | v18, v19, v20, v21, v22 (v22 requires Node.js 24+) |

But the published peer range at 5.1.0 is @angular/core ">=17.0.0 <22.0.0":

  • v22 is excludednpm install @cometchat/chat-uikit-angular@^5 on an Angular 22 project hard-fails with ERESOLVE. The docs currently advertise a version where install is impossible.
  • v17 is supported but undocumented.

So either the docs or the kit's peer range is wrong. That is a support-policy call for the UI Kit owners, not a typo, so this PR leaves the line untouched and flags it instead. It also blocks the Angular core skill, which has to state a supported range.

Checklist

  • Branch name follows the naming convention (docs/angular-v5-llms-index)
  • docs.json untouched — no nav refs changed, no redirects needed
  • All 91 links generated from the actual ui-kit/angular file tree, with page titles read from each file's frontmatter
  • Peer-dep change verified against the published npm package
  • npx mintlify dev not yet run — before merge, please confirm the page builds (a "not in navigation" warning is expected and intended) and that /ui-kit/angular/llms-angular-v5.md resolves as raw Markdown. The design depends on that twin being fetchable.

Follow-ups (not in this PR)

  • Quick Reference accordions on the 43 components/cometchat-*.mdx pages. The index tells agents each .md twin carries input/output names, types and defaults. That holds for guides/ and integration.mdx, but the component pages have no accordion yet, so the promise is currently partial. The React equivalent added these across 56 files in the same branch; for Angular it is deliberately split out as a separate, mechanical PR.
  • React's own indexes are still unmerged (docs/react-v7-feature-guides, docs/js-sdk-llms-index). Merging this one puts Angular's index in production while React's stays on a preview deploy — worth deciding whether those two should land as well, since the React skills pack currently documents .mintlify.site preview URLs as its docs base.

Adds ui-kit/angular/llms-angular-v5.mdx — a machine-readable, Angular-v5-scoped
routing index of all 91 v5 pages as .md twins, for AI coding agents. Mirrors the
shape of ui-kit/react/llms-react-v7.mdx (branch docs/react-v7-feature-guides).
- Unlisted, NOT hidden: omitted from docs.json navigation so it never shows in
the human sidebar, but still built, served as a .md twin, and indexed. Using
`hidden: true` would auto-apply noindex and drop it from search + the global
llms.txt, which defeats the purpose. docs.json is deliberately untouched.
- Scoped to v5 only; the 2.0/, 3.0/ and v4/ trees are excluded so agents are
never routed at dead API surfaces.
- Angular-specific framing the React index has no equivalent for: kebab-case
selectors, @input() rather than props, content-projection/TemplateRef rather
than render props, and env config in src/environments/environment.ts.
Also fixes four content defects surfaced while building the index:
- api-reference/formatter-config-service.mdx, api-reference/
rich-text-editor-service.mdx and guides/rich-text-formatting.mdx shipped with
NO frontmatter at all despite being in docs.json navigation, so they rendered
untitled. Adds title/description per house style (see
api-reference/chat-state-service.mdx) and drops the two leading H1s that would
now duplicate the frontmatter title.
- overview.mdx "AI Integration Quick Reference" listed peer deps as
@cometchat/chat-sdk-javascript + dompurify, missing
@cometchat/cards-angular@^1.0.0 which @cometchat/chat-uikit-angular@5.1.0
added. Verified against the published package.
NOT fixed here, needs an owner decision: the same accordion claims Angular
"v18, v19, v20, v21, v22" but the published peer range at 5.1.0 is
@angular/core ">=17.0.0 <22.0.0" — v22 is excluded (install hard-fails with
ERESOLVE) and v17 is supported but undocumented. Either the docs or the peer
range is wrong; that is a support-policy call, not a typo.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@mintlify

mintlifyBot commented Aug 17, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

ProjectStatusPreviewUpdated (UTC)
cometchat🟢 ReadyView PreviewAug 17, 2026, 1:55 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@shagundeogharkar

Copy link
Copy Markdown
ContributorAuthor

Superseded by #475 — this branch is merged into docs/angular-v5-skills, which carries the same commits plus the remaining Angular docs work (AI Integration Quick Reference accordions across the 43 component pages). Keeping it as one PR gives a single Mintlify preview covering every change. Branch left in place; nothing lost.

anshuman-cometchat added a commit to anshuman-cometchat/docs that referenced this pull request Aug 25, 2026
Flutter was the only platform with none. On the skills-v5-temp base, react has
128 Quick References and 3 llms indexes, android 112/2, angular 81/1,
react-native 56/2, ios 34/2 - and flutter 0 and 0. This closes the index half.
Structure and conventions follow the reference PRs for the same feature:
cometchat#446 (React v7), cometchat#466 (JS SDK), cometchat#471 (Angular v5), cometchat#476 (React
Native). Unlisted rather than hidden, for the reason those PRs give: in Mintlify
hidden auto-applies noindex, which would drop the page from search and from the
auto global llms.txt - and the whole point is that an agent can discover it. Not
registered in docs.json, same as every prior index.
ui-kit/flutter/llms-flutter-v6.mdx 70 links, all 54 UI Kit pages
sdk/flutter/llms-flutter-v5.mdx 58 links, all 52 SDK pages
Both are 100 percent page coverage with zero dead links, verified by resolving
every href against the tree.
The Platform rules section is the part that carries real weight, and every claim
in it was verified against cometchat_chat_uikit 6.1.0 rather than recalled:
- TWO barrels with different surfaces. Chat widgets do not resolve from the
calls barrel and vice versa, so a screen showing both imports both. This is
the most common Flutter-specific compile failure.
- Lists need a bounded box or layout throws at render, not at build.
- Kit widgets paint their own surface; the app ThemeData does not reach inside.
- Theming is ThemeExtension, and registering on only one of light/dark silently
leaves the other on kit defaults.
- v5's CometChatUIKit.getDataSource() is gone; v6 uses MessageTemplateUtils.
- Custom message types need addTemplate, not templates - templates only
registers the bubble and the message is filtered out before it can render,
with no error. A hand-rolled MessagesRequestBuilder does not help because the
list always overrides uid/guid/types/categories on it.
- Messages sent with CometChat.send*Message must emit ccMessageSent or a
mounted list never shows them.
- SDK: onSuccess AND onError are both required - compile-checked, omitting
onError is missing_required_argument.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
anshuman-cometchat added a commit to anshuman-cometchat/docs that referenced this pull request Aug 25, 2026
…ent pages
Flutter had 0 of these while react has 128, android 112, angular 81,
react-native 56 and ios 34. This closes the UI Kit half.
Format follows the reference PRs (cometchat#446, cometchat#466, cometchat#471, cometchat#476): an
Accordion straight after the frontmatter, a Field/Value table, and rows that let
an agent decide whether the page is worth opening at all.
Generated from the compiler-verified prop tables rather than hand-written, so
every prop named here provably exists on the widget and the row cannot drift
from the kit on the next release. 35 in-page anchors, all resolving.
Two rows are Flutter-specific and are the reason a generic template would not
have done:
- Import carries the RIGHT BARREL per widget. Calling widgets resolve only from
cometchat_calls_uikit.dart, so call-buttons, incoming-call, outgoing-call and
call-logs also get an explicit Barrel row saying so. Importing a calling
widget from the chat barrel is the most common Flutter compile failure and no
other platform has this split.
- Layout warns that list widgets fill their parent and need an Expanded or a
sized box, because the failure is an unbounded-height throw at render rather
than a build error.
Plus the two traps found by building on the kit: message-list carries the
addTemplate-not-templates rule, and message-composer carries the ccMessageSent
requirement for messages sent outside it.
Classification is by TYPE, not name, after three passes got it wrong:
messagesRequestBuilder ends in Builder but is data, hideThreadView ends in View
but is a bool toggle, headerView is a HeaderFooterBuilder typedef with neither
Widget nor Function in its name, and onError is typed OnError? so only the
on-plus-capital convention identifies it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for freeto 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.

1 participant

@shagundeogharkar
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

docs(ui-kit/angular): add scoped Angular v5 LLM docs index (ENG-38204) - #471

Closed
shagundeogharkar wants to merge 1 commit into
mainfrom
docs/angular-v5-llms-index
Closed

docs(ui-kit/angular): add scoped Angular v5 LLM docs index (ENG-38204)#471
shagundeogharkar wants to merge 1 commit into
mainfrom
docs/angular-v5-llms-index

Conversation

@shagundeogharkar

Copy link
Copy Markdown
Contributor

What & why

Part of ENG-38204 (Angular skills — UI Kit + SDK). That ticket's blocking prerequisite is a scoped llms.txt-style index for Angular, because the skills pack is docs-maximal: it builds features from the official task guides and compares its output against them. Without a scoped index there is no way for an agent to discover which guides exist, so it silently falls back to component-wiring and loses the guide-first completeness check.

Adds ui-kit/angular/llms-angular-v5.mdx — a machine-readable, Angular-v5-scoped routing index covering all 91 v5 pages as .md twins, in 13 sections. It mirrors the shape of ui-kit/react/llms-react-v7.mdx (currently on branch docs/react-v7-feature-guides, not yet on main).

No Angular SDK index is needed. The ticket asks for two indexes, but Angular consumes the same @cometchat/chat-sdk-javascript@4 as React, and the existing sdk/javascript/llms-javascript-v4.mdx is framework-agnostic — Angular inherits it unchanged.

Changes

New — ui-kit/angular/llms-angular-v5.mdx

  • Unlisted, NOT hidden. Deliberately omitted from docs.json navigation so it never appears in the human sidebar, but it still builds, serves its .md twin, and stays indexed. hidden: true was not used because Mintlify auto-applies noindex to hidden pages, which would drop this page from search and from the auto-generated global llms.txt — defeating the purpose. docs.json is untouched, so there are no navigation refs to break and no redirects required.
  • Scoped to v5 only. The 2.0/, 3.0/ and v4/ trees are excluded so agents are never routed at dead API surfaces.
  • Angular-specific framing that the React index has no equivalent for: kebab-case selectors in templates (<cometchat-conversations>), @Input() rather than props, content-projection / TemplateRef rather than render props, and environment config in src/environments/environment.ts rather than .env.
  • Section spine: getting started · core & configuration · theming & customization · five component groups · Task guides (recipes) (17 entries) · framework recipes · migration.

Fixes — four content defects surfaced while building the index

Three pages shipped with no frontmatter at all, despite being present in docs.json navigation, so they render untitled on the live site. Added title/description per house style (cf. api-reference/chat-state-service.mdx), and removed the two leading H1s that would now duplicate the frontmatter title:

FileWasNow
api-reference/formatter-config-service.mdxno frontmattertitle: "Formatter Config Service"
api-reference/rich-text-editor-service.mdxno frontmatter, leading # RichTextEditorService API Referencetitle: "Rich Text Editor Service"
guides/rich-text-formatting.mdxno frontmatter, leading # Rich Text Formatting Guidetitle: "Rich Text Formatting"

overview.mdx — "AI Integration Quick Reference" listed incomplete peer deps.

Value
Was@cometchat/chat-sdk-javascript, dompurify
Now@cometchat/chat-sdk-javascript, @cometchat/cards-angular, dompurify

Ground truth (verified against the shipped package)

The peer-dep fix was confirmed against the published package, not inferred:

$ npm view @cometchat/chat-uikit-angular@5.1.0 peerDependencies
{
"dompurify": "^3.0.0",
"@angular/core": ">=17.0.0 <22.0.0",
"@angular/common": ">=17.0.0 <22.0.0",
"@cometchat/cards-angular": "^1.0.0", ← undocumented
"@cometchat/chat-sdk-javascript": "^4.1.13",
"@cometchat/calls-sdk-javascript": "^5.0.3"
}

@cometchat/cards-angular was added between 5.0.3 and 5.1.0 (latest is 5.1.0; there is no v6 line). Anyone following the docs today gets an incomplete install.

Not fixed here — needs an owner decision

The same overview.mdx accordion states:

| Angular | v18, v19, v20, v21, v22 (v22 requires Node.js 24+) |

But the published peer range at 5.1.0 is @angular/core ">=17.0.0 <22.0.0":

  • v22 is excludednpm install @cometchat/chat-uikit-angular@^5 on an Angular 22 project hard-fails with ERESOLVE. The docs currently advertise a version where install is impossible.
  • v17 is supported but undocumented.

So either the docs or the kit's peer range is wrong. That is a support-policy call for the UI Kit owners, not a typo, so this PR leaves the line untouched and flags it instead. It also blocks the Angular core skill, which has to state a supported range.

Checklist

  • Branch name follows the naming convention (docs/angular-v5-llms-index)
  • docs.json untouched — no nav refs changed, no redirects needed
  • All 91 links generated from the actual ui-kit/angular file tree, with page titles read from each file's frontmatter
  • Peer-dep change verified against the published npm package
  • npx mintlify dev not yet run — before merge, please confirm the page builds (a "not in navigation" warning is expected and intended) and that /ui-kit/angular/llms-angular-v5.md resolves as raw Markdown. The design depends on that twin being fetchable.

Follow-ups (not in this PR)

  • Quick Reference accordions on the 43 components/cometchat-*.mdx pages. The index tells agents each .md twin carries input/output names, types and defaults. That holds for guides/ and integration.mdx, but the component pages have no accordion yet, so the promise is currently partial. The React equivalent added these across 56 files in the same branch; for Angular it is deliberately split out as a separate, mechanical PR.
  • React's own indexes are still unmerged (docs/react-v7-feature-guides, docs/js-sdk-llms-index). Merging this one puts Angular's index in production while React's stays on a preview deploy — worth deciding whether those two should land as well, since the React skills pack currently documents .mintlify.site preview URLs as its docs base.

Adds ui-kit/angular/llms-angular-v5.mdx — a machine-readable, Angular-v5-scoped
routing index of all 91 v5 pages as .md twins, for AI coding agents. Mirrors the
shape of ui-kit/react/llms-react-v7.mdx (branch docs/react-v7-feature-guides).
- Unlisted, NOT hidden: omitted from docs.json navigation so it never shows in
the human sidebar, but still built, served as a .md twin, and indexed. Using
`hidden: true` would auto-apply noindex and drop it from search + the global
llms.txt, which defeats the purpose. docs.json is deliberately untouched.
- Scoped to v5 only; the 2.0/, 3.0/ and v4/ trees are excluded so agents are
never routed at dead API surfaces.
- Angular-specific framing the React index has no equivalent for: kebab-case
selectors, @input() rather than props, content-projection/TemplateRef rather
than render props, and env config in src/environments/environment.ts.
Also fixes four content defects surfaced while building the index:
- api-reference/formatter-config-service.mdx, api-reference/
rich-text-editor-service.mdx and guides/rich-text-formatting.mdx shipped with
NO frontmatter at all despite being in docs.json navigation, so they rendered
untitled. Adds title/description per house style (see
api-reference/chat-state-service.mdx) and drops the two leading H1s that would
now duplicate the frontmatter title.
- overview.mdx "AI Integration Quick Reference" listed peer deps as
@cometchat/chat-sdk-javascript + dompurify, missing
@cometchat/cards-angular@^1.0.0 which @cometchat/chat-uikit-angular@5.1.0
added. Verified against the published package.
NOT fixed here, needs an owner decision: the same accordion claims Angular
"v18, v19, v20, v21, v22" but the published peer range at 5.1.0 is
@angular/core ">=17.0.0 <22.0.0" — v22 is excluded (install hard-fails with
ERESOLVE) and v17 is supported but undocumented. Either the docs or the peer
range is wrong; that is a support-policy call, not a typo.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@mintlify

mintlifyBot commented Aug 17, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

ProjectStatusPreviewUpdated (UTC)
cometchat🟢 ReadyView PreviewAug 17, 2026, 1:55 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@shagundeogharkar

Copy link
Copy Markdown
ContributorAuthor

Superseded by #475 — this branch is merged into docs/angular-v5-skills, which carries the same commits plus the remaining Angular docs work (AI Integration Quick Reference accordions across the 43 component pages). Keeping it as one PR gives a single Mintlify preview covering every change. Branch left in place; nothing lost.

anshuman-cometchat added a commit to anshuman-cometchat/docs that referenced this pull request Aug 25, 2026
Flutter was the only platform with none. On the skills-v5-temp base, react has
128 Quick References and 3 llms indexes, android 112/2, angular 81/1,
react-native 56/2, ios 34/2 - and flutter 0 and 0. This closes the index half.
Structure and conventions follow the reference PRs for the same feature:
cometchat#446 (React v7), cometchat#466 (JS SDK), cometchat#471 (Angular v5), cometchat#476 (React
Native). Unlisted rather than hidden, for the reason those PRs give: in Mintlify
hidden auto-applies noindex, which would drop the page from search and from the
auto global llms.txt - and the whole point is that an agent can discover it. Not
registered in docs.json, same as every prior index.
ui-kit/flutter/llms-flutter-v6.mdx 70 links, all 54 UI Kit pages
sdk/flutter/llms-flutter-v5.mdx 58 links, all 52 SDK pages
Both are 100 percent page coverage with zero dead links, verified by resolving
every href against the tree.
The Platform rules section is the part that carries real weight, and every claim
in it was verified against cometchat_chat_uikit 6.1.0 rather than recalled:
- TWO barrels with different surfaces. Chat widgets do not resolve from the
calls barrel and vice versa, so a screen showing both imports both. This is
the most common Flutter-specific compile failure.
- Lists need a bounded box or layout throws at render, not at build.
- Kit widgets paint their own surface; the app ThemeData does not reach inside.
- Theming is ThemeExtension, and registering on only one of light/dark silently
leaves the other on kit defaults.
- v5's CometChatUIKit.getDataSource() is gone; v6 uses MessageTemplateUtils.
- Custom message types need addTemplate, not templates - templates only
registers the bubble and the message is filtered out before it can render,
with no error. A hand-rolled MessagesRequestBuilder does not help because the
list always overrides uid/guid/types/categories on it.
- Messages sent with CometChat.send*Message must emit ccMessageSent or a
mounted list never shows them.
- SDK: onSuccess AND onError are both required - compile-checked, omitting
onError is missing_required_argument.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
anshuman-cometchat added a commit to anshuman-cometchat/docs that referenced this pull request Aug 25, 2026
…ent pages
Flutter had 0 of these while react has 128, android 112, angular 81,
react-native 56 and ios 34. This closes the UI Kit half.
Format follows the reference PRs (cometchat#446, cometchat#466, cometchat#471, cometchat#476): an
Accordion straight after the frontmatter, a Field/Value table, and rows that let
an agent decide whether the page is worth opening at all.
Generated from the compiler-verified prop tables rather than hand-written, so
every prop named here provably exists on the widget and the row cannot drift
from the kit on the next release. 35 in-page anchors, all resolving.
Two rows are Flutter-specific and are the reason a generic template would not
have done:
- Import carries the RIGHT BARREL per widget. Calling widgets resolve only from
cometchat_calls_uikit.dart, so call-buttons, incoming-call, outgoing-call and
call-logs also get an explicit Barrel row saying so. Importing a calling
widget from the chat barrel is the most common Flutter compile failure and no
other platform has this split.
- Layout warns that list widgets fill their parent and need an Expanded or a
sized box, because the failure is an unbounded-height throw at render rather
than a build error.
Plus the two traps found by building on the kit: message-list carries the
addTemplate-not-templates rule, and message-composer carries the ccMessageSent
requirement for messages sent outside it.
Classification is by TYPE, not name, after three passes got it wrong:
messagesRequestBuilder ends in Builder but is data, hideThreadView ends in View
but is a bool toggle, headerView is a HeaderFooterBuilder typedef with neither
Widget nor Function in its name, and onError is typed OnError? so only the
on-plus-capital convention identifies it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for freeto 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.

1 participant

@shagundeogharkar
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

docs(ui-kit/angular): add scoped Angular v5 LLM docs index (ENG-38204) - #471

Closed
shagundeogharkar wants to merge 1 commit into
mainfrom
docs/angular-v5-llms-index
Closed

docs(ui-kit/angular): add scoped Angular v5 LLM docs index (ENG-38204)#471
shagundeogharkar wants to merge 1 commit into
mainfrom
docs/angular-v5-llms-index

Conversation

@shagundeogharkar

Copy link
Copy Markdown
Contributor

What & why

Part of ENG-38204 (Angular skills — UI Kit + SDK). That ticket's blocking prerequisite is a scoped llms.txt-style index for Angular, because the skills pack is docs-maximal: it builds features from the official task guides and compares its output against them. Without a scoped index there is no way for an agent to discover which guides exist, so it silently falls back to component-wiring and loses the guide-first completeness check.

Adds ui-kit/angular/llms-angular-v5.mdx — a machine-readable, Angular-v5-scoped routing index covering all 91 v5 pages as .md twins, in 13 sections. It mirrors the shape of ui-kit/react/llms-react-v7.mdx (currently on branch docs/react-v7-feature-guides, not yet on main).

No Angular SDK index is needed. The ticket asks for two indexes, but Angular consumes the same @cometchat/chat-sdk-javascript@4 as React, and the existing sdk/javascript/llms-javascript-v4.mdx is framework-agnostic — Angular inherits it unchanged.

Changes

New — ui-kit/angular/llms-angular-v5.mdx

  • Unlisted, NOT hidden. Deliberately omitted from docs.json navigation so it never appears in the human sidebar, but it still builds, serves its .md twin, and stays indexed. hidden: true was not used because Mintlify auto-applies noindex to hidden pages, which would drop this page from search and from the auto-generated global llms.txt — defeating the purpose. docs.json is untouched, so there are no navigation refs to break and no redirects required.
  • Scoped to v5 only. The 2.0/, 3.0/ and v4/ trees are excluded so agents are never routed at dead API surfaces.
  • Angular-specific framing that the React index has no equivalent for: kebab-case selectors in templates (<cometchat-conversations>), @Input() rather than props, content-projection / TemplateRef rather than render props, and environment config in src/environments/environment.ts rather than .env.
  • Section spine: getting started · core & configuration · theming & customization · five component groups · Task guides (recipes) (17 entries) · framework recipes · migration.

Fixes — four content defects surfaced while building the index

Three pages shipped with no frontmatter at all, despite being present in docs.json navigation, so they render untitled on the live site. Added title/description per house style (cf. api-reference/chat-state-service.mdx), and removed the two leading H1s that would now duplicate the frontmatter title:

FileWasNow
api-reference/formatter-config-service.mdxno frontmattertitle: "Formatter Config Service"
api-reference/rich-text-editor-service.mdxno frontmatter, leading # RichTextEditorService API Referencetitle: "Rich Text Editor Service"
guides/rich-text-formatting.mdxno frontmatter, leading # Rich Text Formatting Guidetitle: "Rich Text Formatting"

overview.mdx — "AI Integration Quick Reference" listed incomplete peer deps.

Value
Was@cometchat/chat-sdk-javascript, dompurify
Now@cometchat/chat-sdk-javascript, @cometchat/cards-angular, dompurify

Ground truth (verified against the shipped package)

The peer-dep fix was confirmed against the published package, not inferred:

$ npm view @cometchat/chat-uikit-angular@5.1.0 peerDependencies
{
"dompurify": "^3.0.0",
"@angular/core": ">=17.0.0 <22.0.0",
"@angular/common": ">=17.0.0 <22.0.0",
"@cometchat/cards-angular": "^1.0.0", ← undocumented
"@cometchat/chat-sdk-javascript": "^4.1.13",
"@cometchat/calls-sdk-javascript": "^5.0.3"
}

@cometchat/cards-angular was added between 5.0.3 and 5.1.0 (latest is 5.1.0; there is no v6 line). Anyone following the docs today gets an incomplete install.

Not fixed here — needs an owner decision

The same overview.mdx accordion states:

| Angular | v18, v19, v20, v21, v22 (v22 requires Node.js 24+) |

But the published peer range at 5.1.0 is @angular/core ">=17.0.0 <22.0.0":

  • v22 is excludednpm install @cometchat/chat-uikit-angular@^5 on an Angular 22 project hard-fails with ERESOLVE. The docs currently advertise a version where install is impossible.
  • v17 is supported but undocumented.

So either the docs or the kit's peer range is wrong. That is a support-policy call for the UI Kit owners, not a typo, so this PR leaves the line untouched and flags it instead. It also blocks the Angular core skill, which has to state a supported range.

Checklist

  • Branch name follows the naming convention (docs/angular-v5-llms-index)
  • docs.json untouched — no nav refs changed, no redirects needed
  • All 91 links generated from the actual ui-kit/angular file tree, with page titles read from each file's frontmatter
  • Peer-dep change verified against the published npm package
  • npx mintlify dev not yet run — before merge, please confirm the page builds (a "not in navigation" warning is expected and intended) and that /ui-kit/angular/llms-angular-v5.md resolves as raw Markdown. The design depends on that twin being fetchable.

Follow-ups (not in this PR)

  • Quick Reference accordions on the 43 components/cometchat-*.mdx pages. The index tells agents each .md twin carries input/output names, types and defaults. That holds for guides/ and integration.mdx, but the component pages have no accordion yet, so the promise is currently partial. The React equivalent added these across 56 files in the same branch; for Angular it is deliberately split out as a separate, mechanical PR.
  • React's own indexes are still unmerged (docs/react-v7-feature-guides, docs/js-sdk-llms-index). Merging this one puts Angular's index in production while React's stays on a preview deploy — worth deciding whether those two should land as well, since the React skills pack currently documents .mintlify.site preview URLs as its docs base.

Adds ui-kit/angular/llms-angular-v5.mdx — a machine-readable, Angular-v5-scoped
routing index of all 91 v5 pages as .md twins, for AI coding agents. Mirrors the
shape of ui-kit/react/llms-react-v7.mdx (branch docs/react-v7-feature-guides).
- Unlisted, NOT hidden: omitted from docs.json navigation so it never shows in
the human sidebar, but still built, served as a .md twin, and indexed. Using
`hidden: true` would auto-apply noindex and drop it from search + the global
llms.txt, which defeats the purpose. docs.json is deliberately untouched.
- Scoped to v5 only; the 2.0/, 3.0/ and v4/ trees are excluded so agents are
never routed at dead API surfaces.
- Angular-specific framing the React index has no equivalent for: kebab-case
selectors, @input() rather than props, content-projection/TemplateRef rather
than render props, and env config in src/environments/environment.ts.
Also fixes four content defects surfaced while building the index:
- api-reference/formatter-config-service.mdx, api-reference/
rich-text-editor-service.mdx and guides/rich-text-formatting.mdx shipped with
NO frontmatter at all despite being in docs.json navigation, so they rendered
untitled. Adds title/description per house style (see
api-reference/chat-state-service.mdx) and drops the two leading H1s that would
now duplicate the frontmatter title.
- overview.mdx "AI Integration Quick Reference" listed peer deps as
@cometchat/chat-sdk-javascript + dompurify, missing
@cometchat/cards-angular@^1.0.0 which @cometchat/chat-uikit-angular@5.1.0
added. Verified against the published package.
NOT fixed here, needs an owner decision: the same accordion claims Angular
"v18, v19, v20, v21, v22" but the published peer range at 5.1.0 is
@angular/core ">=17.0.0 <22.0.0" — v22 is excluded (install hard-fails with
ERESOLVE) and v17 is supported but undocumented. Either the docs or the peer
range is wrong; that is a support-policy call, not a typo.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@mintlify

mintlifyBot commented Aug 17, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

ProjectStatusPreviewUpdated (UTC)
cometchat🟢 ReadyView PreviewAug 17, 2026, 1:55 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@shagundeogharkar

Copy link
Copy Markdown
ContributorAuthor

Superseded by #475 — this branch is merged into docs/angular-v5-skills, which carries the same commits plus the remaining Angular docs work (AI Integration Quick Reference accordions across the 43 component pages). Keeping it as one PR gives a single Mintlify preview covering every change. Branch left in place; nothing lost.

anshuman-cometchat added a commit to anshuman-cometchat/docs that referenced this pull request Aug 25, 2026
Flutter was the only platform with none. On the skills-v5-temp base, react has
128 Quick References and 3 llms indexes, android 112/2, angular 81/1,
react-native 56/2, ios 34/2 - and flutter 0 and 0. This closes the index half.
Structure and conventions follow the reference PRs for the same feature:
cometchat#446 (React v7), cometchat#466 (JS SDK), cometchat#471 (Angular v5), cometchat#476 (React
Native). Unlisted rather than hidden, for the reason those PRs give: in Mintlify
hidden auto-applies noindex, which would drop the page from search and from the
auto global llms.txt - and the whole point is that an agent can discover it. Not
registered in docs.json, same as every prior index.
ui-kit/flutter/llms-flutter-v6.mdx 70 links, all 54 UI Kit pages
sdk/flutter/llms-flutter-v5.mdx 58 links, all 52 SDK pages
Both are 100 percent page coverage with zero dead links, verified by resolving
every href against the tree.
The Platform rules section is the part that carries real weight, and every claim
in it was verified against cometchat_chat_uikit 6.1.0 rather than recalled:
- TWO barrels with different surfaces. Chat widgets do not resolve from the
calls barrel and vice versa, so a screen showing both imports both. This is
the most common Flutter-specific compile failure.
- Lists need a bounded box or layout throws at render, not at build.
- Kit widgets paint their own surface; the app ThemeData does not reach inside.
- Theming is ThemeExtension, and registering on only one of light/dark silently
leaves the other on kit defaults.
- v5's CometChatUIKit.getDataSource() is gone; v6 uses MessageTemplateUtils.
- Custom message types need addTemplate, not templates - templates only
registers the bubble and the message is filtered out before it can render,
with no error. A hand-rolled MessagesRequestBuilder does not help because the
list always overrides uid/guid/types/categories on it.
- Messages sent with CometChat.send*Message must emit ccMessageSent or a
mounted list never shows them.
- SDK: onSuccess AND onError are both required - compile-checked, omitting
onError is missing_required_argument.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
anshuman-cometchat added a commit to anshuman-cometchat/docs that referenced this pull request Aug 25, 2026
…ent pages
Flutter had 0 of these while react has 128, android 112, angular 81,
react-native 56 and ios 34. This closes the UI Kit half.
Format follows the reference PRs (cometchat#446, cometchat#466, cometchat#471, cometchat#476): an
Accordion straight after the frontmatter, a Field/Value table, and rows that let
an agent decide whether the page is worth opening at all.
Generated from the compiler-verified prop tables rather than hand-written, so
every prop named here provably exists on the widget and the row cannot drift
from the kit on the next release. 35 in-page anchors, all resolving.
Two rows are Flutter-specific and are the reason a generic template would not
have done:
- Import carries the RIGHT BARREL per widget. Calling widgets resolve only from
cometchat_calls_uikit.dart, so call-buttons, incoming-call, outgoing-call and
call-logs also get an explicit Barrel row saying so. Importing a calling
widget from the chat barrel is the most common Flutter compile failure and no
other platform has this split.
- Layout warns that list widgets fill their parent and need an Expanded or a
sized box, because the failure is an unbounded-height throw at render rather
than a build error.
Plus the two traps found by building on the kit: message-list carries the
addTemplate-not-templates rule, and message-composer carries the ccMessageSent
requirement for messages sent outside it.
Classification is by TYPE, not name, after three passes got it wrong:
messagesRequestBuilder ends in Builder but is data, hideThreadView ends in View
but is a bool toggle, headerView is a HeaderFooterBuilder typedef with neither
Widget nor Function in its name, and onError is typed OnError? so only the
on-plus-capital convention identifies it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for freeto 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.

1 participant

@shagundeogharkar
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

docs(ui-kit/angular): add scoped Angular v5 LLM docs index (ENG-38204) - #471

Closed
shagundeogharkar wants to merge 1 commit into
mainfrom
docs/angular-v5-llms-index
Closed

docs(ui-kit/angular): add scoped Angular v5 LLM docs index (ENG-38204)#471
shagundeogharkar wants to merge 1 commit into
mainfrom
docs/angular-v5-llms-index

Conversation

@shagundeogharkar

Copy link
Copy Markdown
Contributor

What & why

Part of ENG-38204 (Angular skills — UI Kit + SDK). That ticket's blocking prerequisite is a scoped llms.txt-style index for Angular, because the skills pack is docs-maximal: it builds features from the official task guides and compares its output against them. Without a scoped index there is no way for an agent to discover which guides exist, so it silently falls back to component-wiring and loses the guide-first completeness check.

Adds ui-kit/angular/llms-angular-v5.mdx — a machine-readable, Angular-v5-scoped routing index covering all 91 v5 pages as .md twins, in 13 sections. It mirrors the shape of ui-kit/react/llms-react-v7.mdx (currently on branch docs/react-v7-feature-guides, not yet on main).

No Angular SDK index is needed. The ticket asks for two indexes, but Angular consumes the same @cometchat/chat-sdk-javascript@4 as React, and the existing sdk/javascript/llms-javascript-v4.mdx is framework-agnostic — Angular inherits it unchanged.

Changes

New — ui-kit/angular/llms-angular-v5.mdx

  • Unlisted, NOT hidden. Deliberately omitted from docs.json navigation so it never appears in the human sidebar, but it still builds, serves its .md twin, and stays indexed. hidden: true was not used because Mintlify auto-applies noindex to hidden pages, which would drop this page from search and from the auto-generated global llms.txt — defeating the purpose. docs.json is untouched, so there are no navigation refs to break and no redirects required.
  • Scoped to v5 only. The 2.0/, 3.0/ and v4/ trees are excluded so agents are never routed at dead API surfaces.
  • Angular-specific framing that the React index has no equivalent for: kebab-case selectors in templates (<cometchat-conversations>), @Input() rather than props, content-projection / TemplateRef rather than render props, and environment config in src/environments/environment.ts rather than .env.
  • Section spine: getting started · core & configuration · theming & customization · five component groups · Task guides (recipes) (17 entries) · framework recipes · migration.

Fixes — four content defects surfaced while building the index

Three pages shipped with no frontmatter at all, despite being present in docs.json navigation, so they render untitled on the live site. Added title/description per house style (cf. api-reference/chat-state-service.mdx), and removed the two leading H1s that would now duplicate the frontmatter title:

FileWasNow
api-reference/formatter-config-service.mdxno frontmattertitle: "Formatter Config Service"
api-reference/rich-text-editor-service.mdxno frontmatter, leading # RichTextEditorService API Referencetitle: "Rich Text Editor Service"
guides/rich-text-formatting.mdxno frontmatter, leading # Rich Text Formatting Guidetitle: "Rich Text Formatting"

overview.mdx — "AI Integration Quick Reference" listed incomplete peer deps.

Value
Was@cometchat/chat-sdk-javascript, dompurify
Now@cometchat/chat-sdk-javascript, @cometchat/cards-angular, dompurify

Ground truth (verified against the shipped package)

The peer-dep fix was confirmed against the published package, not inferred:

$ npm view @cometchat/chat-uikit-angular@5.1.0 peerDependencies
{
"dompurify": "^3.0.0",
"@angular/core": ">=17.0.0 <22.0.0",
"@angular/common": ">=17.0.0 <22.0.0",
"@cometchat/cards-angular": "^1.0.0", ← undocumented
"@cometchat/chat-sdk-javascript": "^4.1.13",
"@cometchat/calls-sdk-javascript": "^5.0.3"
}

@cometchat/cards-angular was added between 5.0.3 and 5.1.0 (latest is 5.1.0; there is no v6 line). Anyone following the docs today gets an incomplete install.

Not fixed here — needs an owner decision

The same overview.mdx accordion states:

| Angular | v18, v19, v20, v21, v22 (v22 requires Node.js 24+) |

But the published peer range at 5.1.0 is @angular/core ">=17.0.0 <22.0.0":

  • v22 is excludednpm install @cometchat/chat-uikit-angular@^5 on an Angular 22 project hard-fails with ERESOLVE. The docs currently advertise a version where install is impossible.
  • v17 is supported but undocumented.

So either the docs or the kit's peer range is wrong. That is a support-policy call for the UI Kit owners, not a typo, so this PR leaves the line untouched and flags it instead. It also blocks the Angular core skill, which has to state a supported range.

Checklist

  • Branch name follows the naming convention (docs/angular-v5-llms-index)
  • docs.json untouched — no nav refs changed, no redirects needed
  • All 91 links generated from the actual ui-kit/angular file tree, with page titles read from each file's frontmatter
  • Peer-dep change verified against the published npm package
  • npx mintlify dev not yet run — before merge, please confirm the page builds (a "not in navigation" warning is expected and intended) and that /ui-kit/angular/llms-angular-v5.md resolves as raw Markdown. The design depends on that twin being fetchable.

Follow-ups (not in this PR)

  • Quick Reference accordions on the 43 components/cometchat-*.mdx pages. The index tells agents each .md twin carries input/output names, types and defaults. That holds for guides/ and integration.mdx, but the component pages have no accordion yet, so the promise is currently partial. The React equivalent added these across 56 files in the same branch; for Angular it is deliberately split out as a separate, mechanical PR.
  • React's own indexes are still unmerged (docs/react-v7-feature-guides, docs/js-sdk-llms-index). Merging this one puts Angular's index in production while React's stays on a preview deploy — worth deciding whether those two should land as well, since the React skills pack currently documents .mintlify.site preview URLs as its docs base.

Adds ui-kit/angular/llms-angular-v5.mdx — a machine-readable, Angular-v5-scoped
routing index of all 91 v5 pages as .md twins, for AI coding agents. Mirrors the
shape of ui-kit/react/llms-react-v7.mdx (branch docs/react-v7-feature-guides).
- Unlisted, NOT hidden: omitted from docs.json navigation so it never shows in
the human sidebar, but still built, served as a .md twin, and indexed. Using
`hidden: true` would auto-apply noindex and drop it from search + the global
llms.txt, which defeats the purpose. docs.json is deliberately untouched.
- Scoped to v5 only; the 2.0/, 3.0/ and v4/ trees are excluded so agents are
never routed at dead API surfaces.
- Angular-specific framing the React index has no equivalent for: kebab-case
selectors, @input() rather than props, content-projection/TemplateRef rather
than render props, and env config in src/environments/environment.ts.
Also fixes four content defects surfaced while building the index:
- api-reference/formatter-config-service.mdx, api-reference/
rich-text-editor-service.mdx and guides/rich-text-formatting.mdx shipped with
NO frontmatter at all despite being in docs.json navigation, so they rendered
untitled. Adds title/description per house style (see
api-reference/chat-state-service.mdx) and drops the two leading H1s that would
now duplicate the frontmatter title.
- overview.mdx "AI Integration Quick Reference" listed peer deps as
@cometchat/chat-sdk-javascript + dompurify, missing
@cometchat/cards-angular@^1.0.0 which @cometchat/chat-uikit-angular@5.1.0
added. Verified against the published package.
NOT fixed here, needs an owner decision: the same accordion claims Angular
"v18, v19, v20, v21, v22" but the published peer range at 5.1.0 is
@angular/core ">=17.0.0 <22.0.0" — v22 is excluded (install hard-fails with
ERESOLVE) and v17 is supported but undocumented. Either the docs or the peer
range is wrong; that is a support-policy call, not a typo.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@mintlify

mintlifyBot commented Aug 17, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

ProjectStatusPreviewUpdated (UTC)
cometchat🟢 ReadyView PreviewAug 17, 2026, 1:55 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@shagundeogharkar

Copy link
Copy Markdown
ContributorAuthor

Superseded by #475 — this branch is merged into docs/angular-v5-skills, which carries the same commits plus the remaining Angular docs work (AI Integration Quick Reference accordions across the 43 component pages). Keeping it as one PR gives a single Mintlify preview covering every change. Branch left in place; nothing lost.

anshuman-cometchat added a commit to anshuman-cometchat/docs that referenced this pull request Aug 25, 2026
Flutter was the only platform with none. On the skills-v5-temp base, react has
128 Quick References and 3 llms indexes, android 112/2, angular 81/1,
react-native 56/2, ios 34/2 - and flutter 0 and 0. This closes the index half.
Structure and conventions follow the reference PRs for the same feature:
cometchat#446 (React v7), cometchat#466 (JS SDK), cometchat#471 (Angular v5), cometchat#476 (React
Native). Unlisted rather than hidden, for the reason those PRs give: in Mintlify
hidden auto-applies noindex, which would drop the page from search and from the
auto global llms.txt - and the whole point is that an agent can discover it. Not
registered in docs.json, same as every prior index.
ui-kit/flutter/llms-flutter-v6.mdx 70 links, all 54 UI Kit pages
sdk/flutter/llms-flutter-v5.mdx 58 links, all 52 SDK pages
Both are 100 percent page coverage with zero dead links, verified by resolving
every href against the tree.
The Platform rules section is the part that carries real weight, and every claim
in it was verified against cometchat_chat_uikit 6.1.0 rather than recalled:
- TWO barrels with different surfaces. Chat widgets do not resolve from the
calls barrel and vice versa, so a screen showing both imports both. This is
the most common Flutter-specific compile failure.
- Lists need a bounded box or layout throws at render, not at build.
- Kit widgets paint their own surface; the app ThemeData does not reach inside.
- Theming is ThemeExtension, and registering on only one of light/dark silently
leaves the other on kit defaults.
- v5's CometChatUIKit.getDataSource() is gone; v6 uses MessageTemplateUtils.
- Custom message types need addTemplate, not templates - templates only
registers the bubble and the message is filtered out before it can render,
with no error. A hand-rolled MessagesRequestBuilder does not help because the
list always overrides uid/guid/types/categories on it.
- Messages sent with CometChat.send*Message must emit ccMessageSent or a
mounted list never shows them.
- SDK: onSuccess AND onError are both required - compile-checked, omitting
onError is missing_required_argument.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
anshuman-cometchat added a commit to anshuman-cometchat/docs that referenced this pull request Aug 25, 2026
…ent pages
Flutter had 0 of these while react has 128, android 112, angular 81,
react-native 56 and ios 34. This closes the UI Kit half.
Format follows the reference PRs (cometchat#446, cometchat#466, cometchat#471, cometchat#476): an
Accordion straight after the frontmatter, a Field/Value table, and rows that let
an agent decide whether the page is worth opening at all.
Generated from the compiler-verified prop tables rather than hand-written, so
every prop named here provably exists on the widget and the row cannot drift
from the kit on the next release. 35 in-page anchors, all resolving.
Two rows are Flutter-specific and are the reason a generic template would not
have done:
- Import carries the RIGHT BARREL per widget. Calling widgets resolve only from
cometchat_calls_uikit.dart, so call-buttons, incoming-call, outgoing-call and
call-logs also get an explicit Barrel row saying so. Importing a calling
widget from the chat barrel is the most common Flutter compile failure and no
other platform has this split.
- Layout warns that list widgets fill their parent and need an Expanded or a
sized box, because the failure is an unbounded-height throw at render rather
than a build error.
Plus the two traps found by building on the kit: message-list carries the
addTemplate-not-templates rule, and message-composer carries the ccMessageSent
requirement for messages sent outside it.
Classification is by TYPE, not name, after three passes got it wrong:
messagesRequestBuilder ends in Builder but is data, hideThreadView ends in View
but is a bool toggle, headerView is a HeaderFooterBuilder typedef with neither
Widget nor Function in its name, and onError is typed OnError? so only the
on-plus-capital convention identifies it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for freeto 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.

1 participant

@shagundeogharkar
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

docs(ui-kit/angular): add scoped Angular v5 LLM docs index (ENG-38204) - #471

Closed
shagundeogharkar wants to merge 1 commit into
mainfrom
docs/angular-v5-llms-index
Closed

docs(ui-kit/angular): add scoped Angular v5 LLM docs index (ENG-38204)#471
shagundeogharkar wants to merge 1 commit into
mainfrom
docs/angular-v5-llms-index

Conversation

@shagundeogharkar

Copy link
Copy Markdown
Contributor

What & why

Part of ENG-38204 (Angular skills — UI Kit + SDK). That ticket's blocking prerequisite is a scoped llms.txt-style index for Angular, because the skills pack is docs-maximal: it builds features from the official task guides and compares its output against them. Without a scoped index there is no way for an agent to discover which guides exist, so it silently falls back to component-wiring and loses the guide-first completeness check.

Adds ui-kit/angular/llms-angular-v5.mdx — a machine-readable, Angular-v5-scoped routing index covering all 91 v5 pages as .md twins, in 13 sections. It mirrors the shape of ui-kit/react/llms-react-v7.mdx (currently on branch docs/react-v7-feature-guides, not yet on main).

No Angular SDK index is needed. The ticket asks for two indexes, but Angular consumes the same @cometchat/chat-sdk-javascript@4 as React, and the existing sdk/javascript/llms-javascript-v4.mdx is framework-agnostic — Angular inherits it unchanged.

Changes

New — ui-kit/angular/llms-angular-v5.mdx

  • Unlisted, NOT hidden. Deliberately omitted from docs.json navigation so it never appears in the human sidebar, but it still builds, serves its .md twin, and stays indexed. hidden: true was not used because Mintlify auto-applies noindex to hidden pages, which would drop this page from search and from the auto-generated global llms.txt — defeating the purpose. docs.json is untouched, so there are no navigation refs to break and no redirects required.
  • Scoped to v5 only. The 2.0/, 3.0/ and v4/ trees are excluded so agents are never routed at dead API surfaces.
  • Angular-specific framing that the React index has no equivalent for: kebab-case selectors in templates (<cometchat-conversations>), @Input() rather than props, content-projection / TemplateRef rather than render props, and environment config in src/environments/environment.ts rather than .env.
  • Section spine: getting started · core & configuration · theming & customization · five component groups · Task guides (recipes) (17 entries) · framework recipes · migration.

Fixes — four content defects surfaced while building the index

Three pages shipped with no frontmatter at all, despite being present in docs.json navigation, so they render untitled on the live site. Added title/description per house style (cf. api-reference/chat-state-service.mdx), and removed the two leading H1s that would now duplicate the frontmatter title:

FileWasNow
api-reference/formatter-config-service.mdxno frontmattertitle: "Formatter Config Service"
api-reference/rich-text-editor-service.mdxno frontmatter, leading # RichTextEditorService API Referencetitle: "Rich Text Editor Service"
guides/rich-text-formatting.mdxno frontmatter, leading # Rich Text Formatting Guidetitle: "Rich Text Formatting"

overview.mdx — "AI Integration Quick Reference" listed incomplete peer deps.

Value
Was@cometchat/chat-sdk-javascript, dompurify
Now@cometchat/chat-sdk-javascript, @cometchat/cards-angular, dompurify

Ground truth (verified against the shipped package)

The peer-dep fix was confirmed against the published package, not inferred:

$ npm view @cometchat/chat-uikit-angular@5.1.0 peerDependencies
{
"dompurify": "^3.0.0",
"@angular/core": ">=17.0.0 <22.0.0",
"@angular/common": ">=17.0.0 <22.0.0",
"@cometchat/cards-angular": "^1.0.0", ← undocumented
"@cometchat/chat-sdk-javascript": "^4.1.13",
"@cometchat/calls-sdk-javascript": "^5.0.3"
}

@cometchat/cards-angular was added between 5.0.3 and 5.1.0 (latest is 5.1.0; there is no v6 line). Anyone following the docs today gets an incomplete install.

Not fixed here — needs an owner decision

The same overview.mdx accordion states:

| Angular | v18, v19, v20, v21, v22 (v22 requires Node.js 24+) |

But the published peer range at 5.1.0 is @angular/core ">=17.0.0 <22.0.0":

  • v22 is excludednpm install @cometchat/chat-uikit-angular@^5 on an Angular 22 project hard-fails with ERESOLVE. The docs currently advertise a version where install is impossible.
  • v17 is supported but undocumented.

So either the docs or the kit's peer range is wrong. That is a support-policy call for the UI Kit owners, not a typo, so this PR leaves the line untouched and flags it instead. It also blocks the Angular core skill, which has to state a supported range.

Checklist

  • Branch name follows the naming convention (docs/angular-v5-llms-index)
  • docs.json untouched — no nav refs changed, no redirects needed
  • All 91 links generated from the actual ui-kit/angular file tree, with page titles read from each file's frontmatter
  • Peer-dep change verified against the published npm package
  • npx mintlify dev not yet run — before merge, please confirm the page builds (a "not in navigation" warning is expected and intended) and that /ui-kit/angular/llms-angular-v5.md resolves as raw Markdown. The design depends on that twin being fetchable.

Follow-ups (not in this PR)

  • Quick Reference accordions on the 43 components/cometchat-*.mdx pages. The index tells agents each .md twin carries input/output names, types and defaults. That holds for guides/ and integration.mdx, but the component pages have no accordion yet, so the promise is currently partial. The React equivalent added these across 56 files in the same branch; for Angular it is deliberately split out as a separate, mechanical PR.
  • React's own indexes are still unmerged (docs/react-v7-feature-guides, docs/js-sdk-llms-index). Merging this one puts Angular's index in production while React's stays on a preview deploy — worth deciding whether those two should land as well, since the React skills pack currently documents .mintlify.site preview URLs as its docs base.

Adds ui-kit/angular/llms-angular-v5.mdx — a machine-readable, Angular-v5-scoped
routing index of all 91 v5 pages as .md twins, for AI coding agents. Mirrors the
shape of ui-kit/react/llms-react-v7.mdx (branch docs/react-v7-feature-guides).
- Unlisted, NOT hidden: omitted from docs.json navigation so it never shows in
the human sidebar, but still built, served as a .md twin, and indexed. Using
`hidden: true` would auto-apply noindex and drop it from search + the global
llms.txt, which defeats the purpose. docs.json is deliberately untouched.
- Scoped to v5 only; the 2.0/, 3.0/ and v4/ trees are excluded so agents are
never routed at dead API surfaces.
- Angular-specific framing the React index has no equivalent for: kebab-case
selectors, @input() rather than props, content-projection/TemplateRef rather
than render props, and env config in src/environments/environment.ts.
Also fixes four content defects surfaced while building the index:
- api-reference/formatter-config-service.mdx, api-reference/
rich-text-editor-service.mdx and guides/rich-text-formatting.mdx shipped with
NO frontmatter at all despite being in docs.json navigation, so they rendered
untitled. Adds title/description per house style (see
api-reference/chat-state-service.mdx) and drops the two leading H1s that would
now duplicate the frontmatter title.
- overview.mdx "AI Integration Quick Reference" listed peer deps as
@cometchat/chat-sdk-javascript + dompurify, missing
@cometchat/cards-angular@^1.0.0 which @cometchat/chat-uikit-angular@5.1.0
added. Verified against the published package.
NOT fixed here, needs an owner decision: the same accordion claims Angular
"v18, v19, v20, v21, v22" but the published peer range at 5.1.0 is
@angular/core ">=17.0.0 <22.0.0" — v22 is excluded (install hard-fails with
ERESOLVE) and v17 is supported but undocumented. Either the docs or the peer
range is wrong; that is a support-policy call, not a typo.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@mintlify

mintlifyBot commented Aug 17, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

ProjectStatusPreviewUpdated (UTC)
cometchat🟢 ReadyView PreviewAug 17, 2026, 1:55 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@shagundeogharkar

Copy link
Copy Markdown
ContributorAuthor

Superseded by #475 — this branch is merged into docs/angular-v5-skills, which carries the same commits plus the remaining Angular docs work (AI Integration Quick Reference accordions across the 43 component pages). Keeping it as one PR gives a single Mintlify preview covering every change. Branch left in place; nothing lost.

anshuman-cometchat added a commit to anshuman-cometchat/docs that referenced this pull request Aug 25, 2026
Flutter was the only platform with none. On the skills-v5-temp base, react has
128 Quick References and 3 llms indexes, android 112/2, angular 81/1,
react-native 56/2, ios 34/2 - and flutter 0 and 0. This closes the index half.
Structure and conventions follow the reference PRs for the same feature:
cometchat#446 (React v7), cometchat#466 (JS SDK), cometchat#471 (Angular v5), cometchat#476 (React
Native). Unlisted rather than hidden, for the reason those PRs give: in Mintlify
hidden auto-applies noindex, which would drop the page from search and from the
auto global llms.txt - and the whole point is that an agent can discover it. Not
registered in docs.json, same as every prior index.
ui-kit/flutter/llms-flutter-v6.mdx 70 links, all 54 UI Kit pages
sdk/flutter/llms-flutter-v5.mdx 58 links, all 52 SDK pages
Both are 100 percent page coverage with zero dead links, verified by resolving
every href against the tree.
The Platform rules section is the part that carries real weight, and every claim
in it was verified against cometchat_chat_uikit 6.1.0 rather than recalled:
- TWO barrels with different surfaces. Chat widgets do not resolve from the
calls barrel and vice versa, so a screen showing both imports both. This is
the most common Flutter-specific compile failure.
- Lists need a bounded box or layout throws at render, not at build.
- Kit widgets paint their own surface; the app ThemeData does not reach inside.
- Theming is ThemeExtension, and registering on only one of light/dark silently
leaves the other on kit defaults.
- v5's CometChatUIKit.getDataSource() is gone; v6 uses MessageTemplateUtils.
- Custom message types need addTemplate, not templates - templates only
registers the bubble and the message is filtered out before it can render,
with no error. A hand-rolled MessagesRequestBuilder does not help because the
list always overrides uid/guid/types/categories on it.
- Messages sent with CometChat.send*Message must emit ccMessageSent or a
mounted list never shows them.
- SDK: onSuccess AND onError are both required - compile-checked, omitting
onError is missing_required_argument.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
anshuman-cometchat added a commit to anshuman-cometchat/docs that referenced this pull request Aug 25, 2026
…ent pages
Flutter had 0 of these while react has 128, android 112, angular 81,
react-native 56 and ios 34. This closes the UI Kit half.
Format follows the reference PRs (cometchat#446, cometchat#466, cometchat#471, cometchat#476): an
Accordion straight after the frontmatter, a Field/Value table, and rows that let
an agent decide whether the page is worth opening at all.
Generated from the compiler-verified prop tables rather than hand-written, so
every prop named here provably exists on the widget and the row cannot drift
from the kit on the next release. 35 in-page anchors, all resolving.
Two rows are Flutter-specific and are the reason a generic template would not
have done:
- Import carries the RIGHT BARREL per widget. Calling widgets resolve only from
cometchat_calls_uikit.dart, so call-buttons, incoming-call, outgoing-call and
call-logs also get an explicit Barrel row saying so. Importing a calling
widget from the chat barrel is the most common Flutter compile failure and no
other platform has this split.
- Layout warns that list widgets fill their parent and need an Expanded or a
sized box, because the failure is an unbounded-height throw at render rather
than a build error.
Plus the two traps found by building on the kit: message-list carries the
addTemplate-not-templates rule, and message-composer carries the ccMessageSent
requirement for messages sent outside it.
Classification is by TYPE, not name, after three passes got it wrong:
messagesRequestBuilder ends in Builder but is data, hideThreadView ends in View
but is a bool toggle, headerView is a HeaderFooterBuilder typedef with neither
Widget nor Function in its name, and onError is typed OnError? so only the
on-plus-capital convention identifies it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for freeto 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.

1 participant

@shagundeogharkar
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

docs(ui-kit/angular): add scoped Angular v5 LLM docs index (ENG-38204) - #471

Closed
shagundeogharkar wants to merge 1 commit into
mainfrom
docs/angular-v5-llms-index
Closed

docs(ui-kit/angular): add scoped Angular v5 LLM docs index (ENG-38204)#471
shagundeogharkar wants to merge 1 commit into
mainfrom
docs/angular-v5-llms-index

Conversation

@shagundeogharkar

Copy link
Copy Markdown
Contributor

What & why

Part of ENG-38204 (Angular skills — UI Kit + SDK). That ticket's blocking prerequisite is a scoped llms.txt-style index for Angular, because the skills pack is docs-maximal: it builds features from the official task guides and compares its output against them. Without a scoped index there is no way for an agent to discover which guides exist, so it silently falls back to component-wiring and loses the guide-first completeness check.

Adds ui-kit/angular/llms-angular-v5.mdx — a machine-readable, Angular-v5-scoped routing index covering all 91 v5 pages as .md twins, in 13 sections. It mirrors the shape of ui-kit/react/llms-react-v7.mdx (currently on branch docs/react-v7-feature-guides, not yet on main).

No Angular SDK index is needed. The ticket asks for two indexes, but Angular consumes the same @cometchat/chat-sdk-javascript@4 as React, and the existing sdk/javascript/llms-javascript-v4.mdx is framework-agnostic — Angular inherits it unchanged.

Changes

New — ui-kit/angular/llms-angular-v5.mdx

  • Unlisted, NOT hidden. Deliberately omitted from docs.json navigation so it never appears in the human sidebar, but it still builds, serves its .md twin, and stays indexed. hidden: true was not used because Mintlify auto-applies noindex to hidden pages, which would drop this page from search and from the auto-generated global llms.txt — defeating the purpose. docs.json is untouched, so there are no navigation refs to break and no redirects required.
  • Scoped to v5 only. The 2.0/, 3.0/ and v4/ trees are excluded so agents are never routed at dead API surfaces.
  • Angular-specific framing that the React index has no equivalent for: kebab-case selectors in templates (<cometchat-conversations>), @Input() rather than props, content-projection / TemplateRef rather than render props, and environment config in src/environments/environment.ts rather than .env.
  • Section spine: getting started · core & configuration · theming & customization · five component groups · Task guides (recipes) (17 entries) · framework recipes · migration.

Fixes — four content defects surfaced while building the index

Three pages shipped with no frontmatter at all, despite being present in docs.json navigation, so they render untitled on the live site. Added title/description per house style (cf. api-reference/chat-state-service.mdx), and removed the two leading H1s that would now duplicate the frontmatter title:

FileWasNow
api-reference/formatter-config-service.mdxno frontmattertitle: "Formatter Config Service"
api-reference/rich-text-editor-service.mdxno frontmatter, leading # RichTextEditorService API Referencetitle: "Rich Text Editor Service"
guides/rich-text-formatting.mdxno frontmatter, leading # Rich Text Formatting Guidetitle: "Rich Text Formatting"

overview.mdx — "AI Integration Quick Reference" listed incomplete peer deps.

Value
Was@cometchat/chat-sdk-javascript, dompurify
Now@cometchat/chat-sdk-javascript, @cometchat/cards-angular, dompurify

Ground truth (verified against the shipped package)

The peer-dep fix was confirmed against the published package, not inferred:

$ npm view @cometchat/chat-uikit-angular@5.1.0 peerDependencies
{
"dompurify": "^3.0.0",
"@angular/core": ">=17.0.0 <22.0.0",
"@angular/common": ">=17.0.0 <22.0.0",
"@cometchat/cards-angular": "^1.0.0", ← undocumented
"@cometchat/chat-sdk-javascript": "^4.1.13",
"@cometchat/calls-sdk-javascript": "^5.0.3"
}

@cometchat/cards-angular was added between 5.0.3 and 5.1.0 (latest is 5.1.0; there is no v6 line). Anyone following the docs today gets an incomplete install.

Not fixed here — needs an owner decision

The same overview.mdx accordion states:

| Angular | v18, v19, v20, v21, v22 (v22 requires Node.js 24+) |

But the published peer range at 5.1.0 is @angular/core ">=17.0.0 <22.0.0":

  • v22 is excludednpm install @cometchat/chat-uikit-angular@^5 on an Angular 22 project hard-fails with ERESOLVE. The docs currently advertise a version where install is impossible.
  • v17 is supported but undocumented.

So either the docs or the kit's peer range is wrong. That is a support-policy call for the UI Kit owners, not a typo, so this PR leaves the line untouched and flags it instead. It also blocks the Angular core skill, which has to state a supported range.

Checklist

  • Branch name follows the naming convention (docs/angular-v5-llms-index)
  • docs.json untouched — no nav refs changed, no redirects needed
  • All 91 links generated from the actual ui-kit/angular file tree, with page titles read from each file's frontmatter
  • Peer-dep change verified against the published npm package
  • npx mintlify dev not yet run — before merge, please confirm the page builds (a "not in navigation" warning is expected and intended) and that /ui-kit/angular/llms-angular-v5.md resolves as raw Markdown. The design depends on that twin being fetchable.

Follow-ups (not in this PR)

  • Quick Reference accordions on the 43 components/cometchat-*.mdx pages. The index tells agents each .md twin carries input/output names, types and defaults. That holds for guides/ and integration.mdx, but the component pages have no accordion yet, so the promise is currently partial. The React equivalent added these across 56 files in the same branch; for Angular it is deliberately split out as a separate, mechanical PR.
  • React's own indexes are still unmerged (docs/react-v7-feature-guides, docs/js-sdk-llms-index). Merging this one puts Angular's index in production while React's stays on a preview deploy — worth deciding whether those two should land as well, since the React skills pack currently documents .mintlify.site preview URLs as its docs base.

Adds ui-kit/angular/llms-angular-v5.mdx — a machine-readable, Angular-v5-scoped
routing index of all 91 v5 pages as .md twins, for AI coding agents. Mirrors the
shape of ui-kit/react/llms-react-v7.mdx (branch docs/react-v7-feature-guides).
- Unlisted, NOT hidden: omitted from docs.json navigation so it never shows in
the human sidebar, but still built, served as a .md twin, and indexed. Using
`hidden: true` would auto-apply noindex and drop it from search + the global
llms.txt, which defeats the purpose. docs.json is deliberately untouched.
- Scoped to v5 only; the 2.0/, 3.0/ and v4/ trees are excluded so agents are
never routed at dead API surfaces.
- Angular-specific framing the React index has no equivalent for: kebab-case
selectors, @input() rather than props, content-projection/TemplateRef rather
than render props, and env config in src/environments/environment.ts.
Also fixes four content defects surfaced while building the index:
- api-reference/formatter-config-service.mdx, api-reference/
rich-text-editor-service.mdx and guides/rich-text-formatting.mdx shipped with
NO frontmatter at all despite being in docs.json navigation, so they rendered
untitled. Adds title/description per house style (see
api-reference/chat-state-service.mdx) and drops the two leading H1s that would
now duplicate the frontmatter title.
- overview.mdx "AI Integration Quick Reference" listed peer deps as
@cometchat/chat-sdk-javascript + dompurify, missing
@cometchat/cards-angular@^1.0.0 which @cometchat/chat-uikit-angular@5.1.0
added. Verified against the published package.
NOT fixed here, needs an owner decision: the same accordion claims Angular
"v18, v19, v20, v21, v22" but the published peer range at 5.1.0 is
@angular/core ">=17.0.0 <22.0.0" — v22 is excluded (install hard-fails with
ERESOLVE) and v17 is supported but undocumented. Either the docs or the peer
range is wrong; that is a support-policy call, not a typo.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@mintlify

mintlifyBot commented Aug 17, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

ProjectStatusPreviewUpdated (UTC)
cometchat🟢 ReadyView PreviewAug 17, 2026, 1:55 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@shagundeogharkar

Copy link
Copy Markdown
ContributorAuthor

Superseded by #475 — this branch is merged into docs/angular-v5-skills, which carries the same commits plus the remaining Angular docs work (AI Integration Quick Reference accordions across the 43 component pages). Keeping it as one PR gives a single Mintlify preview covering every change. Branch left in place; nothing lost.

anshuman-cometchat added a commit to anshuman-cometchat/docs that referenced this pull request Aug 25, 2026
Flutter was the only platform with none. On the skills-v5-temp base, react has
128 Quick References and 3 llms indexes, android 112/2, angular 81/1,
react-native 56/2, ios 34/2 - and flutter 0 and 0. This closes the index half.
Structure and conventions follow the reference PRs for the same feature:
cometchat#446 (React v7), cometchat#466 (JS SDK), cometchat#471 (Angular v5), cometchat#476 (React
Native). Unlisted rather than hidden, for the reason those PRs give: in Mintlify
hidden auto-applies noindex, which would drop the page from search and from the
auto global llms.txt - and the whole point is that an agent can discover it. Not
registered in docs.json, same as every prior index.
ui-kit/flutter/llms-flutter-v6.mdx 70 links, all 54 UI Kit pages
sdk/flutter/llms-flutter-v5.mdx 58 links, all 52 SDK pages
Both are 100 percent page coverage with zero dead links, verified by resolving
every href against the tree.
The Platform rules section is the part that carries real weight, and every claim
in it was verified against cometchat_chat_uikit 6.1.0 rather than recalled:
- TWO barrels with different surfaces. Chat widgets do not resolve from the
calls barrel and vice versa, so a screen showing both imports both. This is
the most common Flutter-specific compile failure.
- Lists need a bounded box or layout throws at render, not at build.
- Kit widgets paint their own surface; the app ThemeData does not reach inside.
- Theming is ThemeExtension, and registering on only one of light/dark silently
leaves the other on kit defaults.
- v5's CometChatUIKit.getDataSource() is gone; v6 uses MessageTemplateUtils.
- Custom message types need addTemplate, not templates - templates only
registers the bubble and the message is filtered out before it can render,
with no error. A hand-rolled MessagesRequestBuilder does not help because the
list always overrides uid/guid/types/categories on it.
- Messages sent with CometChat.send*Message must emit ccMessageSent or a
mounted list never shows them.
- SDK: onSuccess AND onError are both required - compile-checked, omitting
onError is missing_required_argument.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
anshuman-cometchat added a commit to anshuman-cometchat/docs that referenced this pull request Aug 25, 2026
…ent pages
Flutter had 0 of these while react has 128, android 112, angular 81,
react-native 56 and ios 34. This closes the UI Kit half.
Format follows the reference PRs (cometchat#446, cometchat#466, cometchat#471, cometchat#476): an
Accordion straight after the frontmatter, a Field/Value table, and rows that let
an agent decide whether the page is worth opening at all.
Generated from the compiler-verified prop tables rather than hand-written, so
every prop named here provably exists on the widget and the row cannot drift
from the kit on the next release. 35 in-page anchors, all resolving.
Two rows are Flutter-specific and are the reason a generic template would not
have done:
- Import carries the RIGHT BARREL per widget. Calling widgets resolve only from
cometchat_calls_uikit.dart, so call-buttons, incoming-call, outgoing-call and
call-logs also get an explicit Barrel row saying so. Importing a calling
widget from the chat barrel is the most common Flutter compile failure and no
other platform has this split.
- Layout warns that list widgets fill their parent and need an Expanded or a
sized box, because the failure is an unbounded-height throw at render rather
than a build error.
Plus the two traps found by building on the kit: message-list carries the
addTemplate-not-templates rule, and message-composer carries the ccMessageSent
requirement for messages sent outside it.
Classification is by TYPE, not name, after three passes got it wrong:
messagesRequestBuilder ends in Builder but is data, hideThreadView ends in View
but is a bool toggle, headerView is a HeaderFooterBuilder typedef with neither
Widget nor Function in its name, and onError is typed OnError? so only the
on-plus-capital convention identifies it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for freeto 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.

1 participant

@shagundeogharkar
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

docs(ui-kit/angular): add scoped Angular v5 LLM docs index (ENG-38204) - #471

Closed
shagundeogharkar wants to merge 1 commit into
mainfrom
docs/angular-v5-llms-index
Closed

docs(ui-kit/angular): add scoped Angular v5 LLM docs index (ENG-38204)#471
shagundeogharkar wants to merge 1 commit into
mainfrom
docs/angular-v5-llms-index

Conversation

@shagundeogharkar

Copy link
Copy Markdown
Contributor

What & why

Part of ENG-38204 (Angular skills — UI Kit + SDK). That ticket's blocking prerequisite is a scoped llms.txt-style index for Angular, because the skills pack is docs-maximal: it builds features from the official task guides and compares its output against them. Without a scoped index there is no way for an agent to discover which guides exist, so it silently falls back to component-wiring and loses the guide-first completeness check.

Adds ui-kit/angular/llms-angular-v5.mdx — a machine-readable, Angular-v5-scoped routing index covering all 91 v5 pages as .md twins, in 13 sections. It mirrors the shape of ui-kit/react/llms-react-v7.mdx (currently on branch docs/react-v7-feature-guides, not yet on main).

No Angular SDK index is needed. The ticket asks for two indexes, but Angular consumes the same @cometchat/chat-sdk-javascript@4 as React, and the existing sdk/javascript/llms-javascript-v4.mdx is framework-agnostic — Angular inherits it unchanged.

Changes

New — ui-kit/angular/llms-angular-v5.mdx

  • Unlisted, NOT hidden. Deliberately omitted from docs.json navigation so it never appears in the human sidebar, but it still builds, serves its .md twin, and stays indexed. hidden: true was not used because Mintlify auto-applies noindex to hidden pages, which would drop this page from search and from the auto-generated global llms.txt — defeating the purpose. docs.json is untouched, so there are no navigation refs to break and no redirects required.
  • Scoped to v5 only. The 2.0/, 3.0/ and v4/ trees are excluded so agents are never routed at dead API surfaces.
  • Angular-specific framing that the React index has no equivalent for: kebab-case selectors in templates (<cometchat-conversations>), @Input() rather than props, content-projection / TemplateRef rather than render props, and environment config in src/environments/environment.ts rather than .env.
  • Section spine: getting started · core & configuration · theming & customization · five component groups · Task guides (recipes) (17 entries) · framework recipes · migration.

Fixes — four content defects surfaced while building the index

Three pages shipped with no frontmatter at all, despite being present in docs.json navigation, so they render untitled on the live site. Added title/description per house style (cf. api-reference/chat-state-service.mdx), and removed the two leading H1s that would now duplicate the frontmatter title:

FileWasNow
api-reference/formatter-config-service.mdxno frontmattertitle: "Formatter Config Service"
api-reference/rich-text-editor-service.mdxno frontmatter, leading # RichTextEditorService API Referencetitle: "Rich Text Editor Service"
guides/rich-text-formatting.mdxno frontmatter, leading # Rich Text Formatting Guidetitle: "Rich Text Formatting"

overview.mdx — "AI Integration Quick Reference" listed incomplete peer deps.

Value
Was@cometchat/chat-sdk-javascript, dompurify
Now@cometchat/chat-sdk-javascript, @cometchat/cards-angular, dompurify

Ground truth (verified against the shipped package)

The peer-dep fix was confirmed against the published package, not inferred:

$ npm view @cometchat/chat-uikit-angular@5.1.0 peerDependencies
{
"dompurify": "^3.0.0",
"@angular/core": ">=17.0.0 <22.0.0",
"@angular/common": ">=17.0.0 <22.0.0",
"@cometchat/cards-angular": "^1.0.0", ← undocumented
"@cometchat/chat-sdk-javascript": "^4.1.13",
"@cometchat/calls-sdk-javascript": "^5.0.3"
}

@cometchat/cards-angular was added between 5.0.3 and 5.1.0 (latest is 5.1.0; there is no v6 line). Anyone following the docs today gets an incomplete install.

Not fixed here — needs an owner decision

The same overview.mdx accordion states:

| Angular | v18, v19, v20, v21, v22 (v22 requires Node.js 24+) |

But the published peer range at 5.1.0 is @angular/core ">=17.0.0 <22.0.0":

  • v22 is excludednpm install @cometchat/chat-uikit-angular@^5 on an Angular 22 project hard-fails with ERESOLVE. The docs currently advertise a version where install is impossible.
  • v17 is supported but undocumented.

So either the docs or the kit's peer range is wrong. That is a support-policy call for the UI Kit owners, not a typo, so this PR leaves the line untouched and flags it instead. It also blocks the Angular core skill, which has to state a supported range.

Checklist

  • Branch name follows the naming convention (docs/angular-v5-llms-index)
  • docs.json untouched — no nav refs changed, no redirects needed
  • All 91 links generated from the actual ui-kit/angular file tree, with page titles read from each file's frontmatter
  • Peer-dep change verified against the published npm package
  • npx mintlify dev not yet run — before merge, please confirm the page builds (a "not in navigation" warning is expected and intended) and that /ui-kit/angular/llms-angular-v5.md resolves as raw Markdown. The design depends on that twin being fetchable.

Follow-ups (not in this PR)

  • Quick Reference accordions on the 43 components/cometchat-*.mdx pages. The index tells agents each .md twin carries input/output names, types and defaults. That holds for guides/ and integration.mdx, but the component pages have no accordion yet, so the promise is currently partial. The React equivalent added these across 56 files in the same branch; for Angular it is deliberately split out as a separate, mechanical PR.
  • React's own indexes are still unmerged (docs/react-v7-feature-guides, docs/js-sdk-llms-index). Merging this one puts Angular's index in production while React's stays on a preview deploy — worth deciding whether those two should land as well, since the React skills pack currently documents .mintlify.site preview URLs as its docs base.

Adds ui-kit/angular/llms-angular-v5.mdx — a machine-readable, Angular-v5-scoped
routing index of all 91 v5 pages as .md twins, for AI coding agents. Mirrors the
shape of ui-kit/react/llms-react-v7.mdx (branch docs/react-v7-feature-guides).
- Unlisted, NOT hidden: omitted from docs.json navigation so it never shows in
the human sidebar, but still built, served as a .md twin, and indexed. Using
`hidden: true` would auto-apply noindex and drop it from search + the global
llms.txt, which defeats the purpose. docs.json is deliberately untouched.
- Scoped to v5 only; the 2.0/, 3.0/ and v4/ trees are excluded so agents are
never routed at dead API surfaces.
- Angular-specific framing the React index has no equivalent for: kebab-case
selectors, @input() rather than props, content-projection/TemplateRef rather
than render props, and env config in src/environments/environment.ts.
Also fixes four content defects surfaced while building the index:
- api-reference/formatter-config-service.mdx, api-reference/
rich-text-editor-service.mdx and guides/rich-text-formatting.mdx shipped with
NO frontmatter at all despite being in docs.json navigation, so they rendered
untitled. Adds title/description per house style (see
api-reference/chat-state-service.mdx) and drops the two leading H1s that would
now duplicate the frontmatter title.
- overview.mdx "AI Integration Quick Reference" listed peer deps as
@cometchat/chat-sdk-javascript + dompurify, missing
@cometchat/cards-angular@^1.0.0 which @cometchat/chat-uikit-angular@5.1.0
added. Verified against the published package.
NOT fixed here, needs an owner decision: the same accordion claims Angular
"v18, v19, v20, v21, v22" but the published peer range at 5.1.0 is
@angular/core ">=17.0.0 <22.0.0" — v22 is excluded (install hard-fails with
ERESOLVE) and v17 is supported but undocumented. Either the docs or the peer
range is wrong; that is a support-policy call, not a typo.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@mintlify

mintlifyBot commented Aug 17, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

ProjectStatusPreviewUpdated (UTC)
cometchat🟢 ReadyView PreviewAug 17, 2026, 1:55 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@shagundeogharkar

Copy link
Copy Markdown
ContributorAuthor

Superseded by #475 — this branch is merged into docs/angular-v5-skills, which carries the same commits plus the remaining Angular docs work (AI Integration Quick Reference accordions across the 43 component pages). Keeping it as one PR gives a single Mintlify preview covering every change. Branch left in place; nothing lost.

anshuman-cometchat added a commit to anshuman-cometchat/docs that referenced this pull request Aug 25, 2026
Flutter was the only platform with none. On the skills-v5-temp base, react has
128 Quick References and 3 llms indexes, android 112/2, angular 81/1,
react-native 56/2, ios 34/2 - and flutter 0 and 0. This closes the index half.
Structure and conventions follow the reference PRs for the same feature:
cometchat#446 (React v7), cometchat#466 (JS SDK), cometchat#471 (Angular v5), cometchat#476 (React
Native). Unlisted rather than hidden, for the reason those PRs give: in Mintlify
hidden auto-applies noindex, which would drop the page from search and from the
auto global llms.txt - and the whole point is that an agent can discover it. Not
registered in docs.json, same as every prior index.
ui-kit/flutter/llms-flutter-v6.mdx 70 links, all 54 UI Kit pages
sdk/flutter/llms-flutter-v5.mdx 58 links, all 52 SDK pages
Both are 100 percent page coverage with zero dead links, verified by resolving
every href against the tree.
The Platform rules section is the part that carries real weight, and every claim
in it was verified against cometchat_chat_uikit 6.1.0 rather than recalled:
- TWO barrels with different surfaces. Chat widgets do not resolve from the
calls barrel and vice versa, so a screen showing both imports both. This is
the most common Flutter-specific compile failure.
- Lists need a bounded box or layout throws at render, not at build.
- Kit widgets paint their own surface; the app ThemeData does not reach inside.
- Theming is ThemeExtension, and registering on only one of light/dark silently
leaves the other on kit defaults.
- v5's CometChatUIKit.getDataSource() is gone; v6 uses MessageTemplateUtils.
- Custom message types need addTemplate, not templates - templates only
registers the bubble and the message is filtered out before it can render,
with no error. A hand-rolled MessagesRequestBuilder does not help because the
list always overrides uid/guid/types/categories on it.
- Messages sent with CometChat.send*Message must emit ccMessageSent or a
mounted list never shows them.
- SDK: onSuccess AND onError are both required - compile-checked, omitting
onError is missing_required_argument.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
anshuman-cometchat added a commit to anshuman-cometchat/docs that referenced this pull request Aug 25, 2026
…ent pages
Flutter had 0 of these while react has 128, android 112, angular 81,
react-native 56 and ios 34. This closes the UI Kit half.
Format follows the reference PRs (cometchat#446, cometchat#466, cometchat#471, cometchat#476): an
Accordion straight after the frontmatter, a Field/Value table, and rows that let
an agent decide whether the page is worth opening at all.
Generated from the compiler-verified prop tables rather than hand-written, so
every prop named here provably exists on the widget and the row cannot drift
from the kit on the next release. 35 in-page anchors, all resolving.
Two rows are Flutter-specific and are the reason a generic template would not
have done:
- Import carries the RIGHT BARREL per widget. Calling widgets resolve only from
cometchat_calls_uikit.dart, so call-buttons, incoming-call, outgoing-call and
call-logs also get an explicit Barrel row saying so. Importing a calling
widget from the chat barrel is the most common Flutter compile failure and no
other platform has this split.
- Layout warns that list widgets fill their parent and need an Expanded or a
sized box, because the failure is an unbounded-height throw at render rather
than a build error.
Plus the two traps found by building on the kit: message-list carries the
addTemplate-not-templates rule, and message-composer carries the ccMessageSent
requirement for messages sent outside it.
Classification is by TYPE, not name, after three passes got it wrong:
messagesRequestBuilder ends in Builder but is data, hideThreadView ends in View
but is a bool toggle, headerView is a HeaderFooterBuilder typedef with neither
Widget nor Function in its name, and onError is typed OnError? so only the
on-plus-capital convention identifies it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for freeto 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.

1 participant

@shagundeogharkar