> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Expected browser console noise (dev / staging)

> Use this list when triaging dev.app.encoreos.io or local console output so known third-party and benign messages are not mistaken for Encore regressions.

Use this list when triaging `dev.app.encoreos.io` or local console output so known third-party and benign messages are not mistaken for Encore regressions.

## Third-party embeds (RingCentral)

When the RingCentral Embeddable / Web Phone loads you may see:

* `[DEFAULT]: WARN : Using DEFAULT root logger` — Firebase-style logger from RingCentral scripts (`adapter.js`, `6835.vendors.chunk.js`).
* `[RingCentralExtensions]`, `[WebSocketSubscription]`, `rc-*-notify` lines — normal adapter status traffic.
* `An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing` — browser advisory for RingCentral’s iframe; not actionable from our app code.
* `Uncaught (in promise) Error: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received` — common with extension + cross-origin iframe message passing (e.g. `feedback.html`, `app.html` under RingCentral). Usually harmless.

No change required in Encore OS for these unless a RingCentral upgrade changes behavior.

## PWA install banner (Chrome)

`Banner not shown: beforeinstallpromptevent.preventDefault() was called...`

We intentionally call `preventDefault()` on `beforeinstallprompt` and surface install via our own UI (`PwaInstallPrompt`). Chrome logs this informational message when the default mini-infobar is suppressed. Expected.

## Transitive dependency deprecation (Zustand)

`[DEPRECATED] Default export is deprecated. Instead use import { create } from 'zustand'`

`zustand` is pulled in by `@xyflow/react` (see lockfile), not a direct app dependency. Fixing it requires an upstream `@xyflow/react` / `zustand` bump; no local import change until then.

## PostgREST: RPC exists in Postgres but REST returns 404

If `supabase.rpc('some_function')` returns **404** but the function is present in `pg_proc` with correct grants, PostgREST’s schema cache is likely stale (e.g. after a migration added the function).

On the target database (as a role that can issue notifications), run:

```sql theme={null}
NOTIFY pgrst, 'reload schema';
```

Re-test the client call. Consider running this after migration deploys to remote projects if RPCs are missing from the API until reload.

## Font CDN (Google Fonts static URLs)

Hardcoded `fonts.gstatic.com/.../vN/....woff2` URLs can **404** when Google bumps the font package version. Prefer refreshing URLs from the current `fonts.googleapis.com/css2` response or self-hosting critical assets (see `index.html` inline `@font-face` for Inter / Space Grotesk / DM Mono).
