v1.105.1
Instagram Login exchange, webhooks, and source isolation
Instagram Login now logs Meta errors without secrets, blocks code reuse, stores both account ids, subscribes versioned webhooks with retry, auto-installs the marketplace app once, and disconnects only its own source.
Fixed
- Authorization codes strip a trailing fragment, expire after one use, and exchange with a 15s timeout and no retries. Failed exchanges log Meta error_type, code, and message with tokens redacted, and the Instagram card shows a specific error.
- Webhook subscribe uses the versioned Instagram Graph path, stores the result, marks needs attention when it fails, and can be retried from the card or the token refresh command. A successful connect installs the Instagram marketplace app once if the catalog exists.
- Both Instagram ids are stored and either id routes webhooks. Instagram Login wins for DMs, Facebook Page keeps Messenger, disconnect removes only that source, and duplicate message ids are stored once.