Skip to content
Back to skills

Cometchat Angular V5 Push

ASecurity

Web push notifications for a CometChat Angular app — the Notifications product, FCM registration, the service worker, and token lifecycle. Docs-first: fetches the current notifications docs rather than baking a version-specific recipe. Triggers: 'add push notifications to my angular app', 'notify users when the app is closed', 'fcm setup', 'register push token'.

  • 126 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 5, 2026
developmentjavascriptgojavaangular

Works with

  • cli

Security analysis

A100/100

Scanned October 5, 2026

npx -y skills add cometchat/cometchat-skills --skill cometchat-angular-v5-push --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cometchat Angular V5 Push?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Cometchat Angular V5 Push
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/cometchat-cometchat-angular-v5-push/badge)](https://www.skillsdirectory.com/skills/cometchat-cometchat-angular-v5-push)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: cometchat-angular-v5-push
description: "Web push notifications for a CometChat Angular app — the Notifications product, FCM registration, the service worker, and token lifecycle. Docs-first: fetches the current notifications docs rather than baking a version-specific recipe. Triggers: 'add push notifications to my angular app', 'notify users when the app is closed', 'fcm setup', 'register push token'."
license: "MIT"
compatibility: "@cometchat/chat-sdk-javascript ^4.1.13; Angular 17-21; requires the CometChat Notifications product"
metadata:
  author: "CometChat"
  version: "1.0.0"
  tags: "cometchat angular push v5 notifications fcm firebase service-worker"
---

> **Ground truth:** push is the CometChat **Notifications** product, not a UI Kit component — this skill is THIN and docs-first. Registration, payload shape and provider setup are FETCHED from the notifications docs via `cometchat-angular-v5-core/references/docs-map.md`; nothing about them is baked here. Live delivery cannot be auto-smoked — say so honestly rather than claiming verification.

## Companion skills (read first)
- `cometchat-angular-v5-core` — install, credentials, `init→login→render`. Assumed.

## Use this skill when
Delivering notifications while the app is closed or backgrounded.

## This skill is deliberately THIN — fetch the docs
Push spans a product (CometChat Notifications), a third-party provider (Firebase/FCM), a service worker, and browser permission rules. Every one of those changes independently, so a baked recipe goes stale fast.

**Start here:** `{SDK_DOCS_BASE}/notifications/overview.md`, then the web push integration page. Discover the current pages from the SDK index (`cometchat-angular-v5-core/references/docs-map.md`). Read before writing.

Angular's own docs cover push only inside `{DOCS_BASE}/ui-kit/angular/campaigns.md` — there is no dedicated Angular push page. That is a **known docs gap**; the product-level notifications docs are the source of truth.

## What is true regardless of version
**1. Push is a separate product.** It must be enabled and configured for the app in the dashboard, with provider credentials added there. No client code substitutes for that step.

**2. It is not the UI Kit.** Registration is SDK-level (`CometChatNotifications`), not a component. There is nothing to render.

**3. It needs a service worker at origin root.** `firebase-messaging-sw.js` must be served from `/`, not from a nested path. In Angular, add it to the app's `assets` in `angular.json` so it lands at the root of `dist/`, and confirm it is reachable at `/firebase-messaging-sw.js` after build — a 404 there is the single most common cause of "push does nothing".

**4. Permission requires a user gesture.** Call the permission request from a click. Browsers block it on load, and repeated silent blocks poison the origin.

**5. Token lifecycle is yours.** Register the FCM token after login; unregister on logout. Skipping the unregister sends the next user's notifications to the previous device.

**6. iOS Safari is PWA-only.** Web push on iOS requires the site installed to the home screen. Not a bug; set expectations.

## Angular specifics
- Register the token **after** `login()` resolves — see core's guarded-login pattern.
- Put registration in a service, not a component, so it does not re-run per route.
- If the app is SSR, guard all of it with `isPlatformBrowser` (`cometchat-angular-v5-patterns`).
- Unregister in the same place you call `CometChatUIKit.logout()`.

## Verify it works
Push cannot be verified in a headless browser: it needs a real device or browser profile, a live provider, and a backgrounded app. Expect to test by hand:
1. Load over HTTPS, grant permission from a click.
2. Confirm `/firebase-messaging-sw.js` returns 200.
3. Background the tab; send a message from a second account.
4. Notification arrives; tapping it focuses the app.
5. Log out; confirm notifications stop.

## Common pitfalls
1. **Notifications not enabled in the dashboard** — nothing works, no error.
2. **Service worker not at origin root** — silent failure.
3. **Permission requested on load** — blocked.
4. **Token registered before login** — no user to attach it to.
5. **No unregister on logout** — notifications follow the wrong user.
6. **Expecting iOS Safari to work outside a PWA.**
7. **Baking a recipe from memory** — fetch the docs; this area moves.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.