DF0077: In-Page Channel Function Not Registered

An in-page channel call names a function that is not registered on its endpoint.

Message

In-page channel function "" is not registered on this endpoint.

Cause

The two endpoints disagree about their channel contract. The calling endpoint names a function that the receiving endpoint did not register in its functions option. This usually means the page script and panel use different protocol declarations or incompatible devframe versions.

Example

import { connectPanelChannel, createPageScriptChannel } from 'devframe/in-page-channel'

interface PanelProtocol {
  functions: {
    pageScript: {
      inspect: () => void
    }
  }
}

const pageScript = createPageScriptChannel({
  name: 'devframes:example',
  functions: {},
})
pageScript.addPanelPort(port1)

const panel = connectPanelChannel<PanelProtocol>({
  name: 'devframes:example',
  functions: {},
})

await panel.call('inspect') // ✗ The page script did not register `inspect`.

Fix

Import one shared protocol declaration into both endpoints, then register every function from the receiving side of that protocol in its functions option.

Source