DocumentationDocumentation
FAQ/Operations and data

The button responds but nothing happens

Distinguish the control's own response from an action actually reaching Python.

Button animation does not prove Python execution

Observe each stage separately: click receipt, page request, Python return, correct business result, and UI refresh. The failing stage determines what to inspect next.

Check the page and connection first

  1. If the button cannot be clicked at all, check Hit regions before changing action registration.
  2. Ordinary browsers, development servers, and remote pages have no trusted local bridge. Test integration in the add-on's local page.
  3. Await readiness and inspect the original rejection. An SDK object does not prove successful connection.
  4. After navigation, reload, or closure, the old document is no longer a valid caller. Prevent stale asynchronous callbacks from triggering work.

Check registration, arguments, and handling

Observation Diagnosis and response
Mismatched name or missing registration Use exactly matching names and verify registration on the current client. Do not edit another add-on's registry.
Invalid arguments Check JSON structure and business validation, preserving errors. Raw Blender objects and file handles are not allowed.
Resource writeback rejected Check resource-write declarations, actual targets, and current guard snapshots. Do not remove permission or revision checks.
Handler exception Use existing diagnostics to find and fix the application cause. A generic Operation failed message does not establish a framework-version conflict.

Return values, refresh, and retries are separate

A resolved Promise may contain {ok:false}. Conversely, if Python changed data but the UI did not, check State refresh instead of repeating the action.

A timeout means the page did not receive a result, not that execution never happened or was cancelled. Check actual results before retrying side effects to avoid duplicate creation or writes. See Core page API.

Run once and verify the actual result

  • One click produces the intended single operation.
  • Both success and failure receive accurate feedback.
  • The interface reflects actual state and remains consistent after reopening.

If the issue is a callback registration or page code, fix that part without changing internal framework APIs.

If unresolved, follow Provide useful diagnostic information to prepare a minimal reproduction and original messages for the add-on author.

Back to FAQ · All topics