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

# Remote UI issues

> Resolve PNLight Remote UI problems such as missing placements, broken action handlers, locale fallbacks, and incorrect display counts on iOS apps.

Use this page when a Remote UI placement does not render or actions do not work.

## Placement does not render

Check:

* The app requests the same placement ID that exists in **Remote UI**.
* The placement is enabled.
* The requested locale has a config, or the placement has a default locale.
* The config JSON is valid.
* The user has not already seen a placement configured as **Show only once per user**.
* The user matches the placement targeting conditions.
* Capture protection has not blocked this user.

## Requests increase but shown does not

This usually means PNLight received the request but did not return a displayable config.

Common causes:

* Placement disabled.
* Missing locale config.
* Attribution is required but not resolved yet.
* Show-once rules suppress the placement for that user.
* Targeting conditions do not match the user.
* Capture protection blocks the user after capture is detected.

## Config request fails

Recent SDK wrappers separate loading errors from "no UI for this placement".

* In Swift, use `getUIConfigResult` when you fetch configs manually.
* In React Native and Flutter, handle `onError` on `RemoteUiView`.
* During QA, pass `ignoreCache` when you need a fresh server response.

## Actions do not work

Check your app action handler:

* Handle the expected `logId`, path, or action value.
* Read parameters defensively.
* Provide a fallback for unknown actions.

<Tip>
  Use debug mode or a test device while testing display rules. Turn debug mode off before production traffic unless your team intentionally needs it.
</Tip>
