Skip to content

Stop reporting a missing configuration on every call - #35

Merged
PetrShtuka merged 1 commit into
mainfrom
petrshtuka/fix-push-before-login
Sep 13, 2026
Merged

PetrShtuka merged 1 commit into
mainfrom
petrshtuka/fix-push-before-login

Conversation

@PetrShtuka

Copy link
Copy Markdown
Owner

Problem

Every incoming call logged an error:

[push] start after VoIP push failed: No configuration. Use -startEngineWithError: followed by -loginWithConfiguration:.

-wakeRegistration runs for each incoming call (from -handleVoIPPushPayload:completion: and from -prepareIncomingCallWithUUID:caller:). With no valid account it went into the full -startWithError: path, which fails with CallWaveErrorNotConfigured while credentials have not arrived — the flow the README and -initWithConfiguration:options:provider: document, where the push itself is what makes the host fetch the account. The call was unaffected, because the host's -loginWithConfiguration: landed a moment later and started the stack itself; only the log was wrong.

Changes

  • -wakeRegistration treats "no configuration yet" as a no-op with one informational line instead of a failed start.
  • In host-owned CallKit mode a push nudges the registration once. -handleVoIPPushPayload:completion: added a second nudge on top of the one -prepareIncomingCallWithUUID:caller: already performs, which meant two REGISTERs per call.
  • Regression coverage in CallWavePushWakeRegistrationTests: no No configuration line for a push before login, and exactly one nudge per push.
  • CHANGELOG and a short README note in "Credentials that change per call".

Testing

./Scripts/run-package-tests.sh — 82 registry tests and 65 package tests, 0 failures.

🤖 Generated with Claude Code

-wakeRegistration runs for every incoming call. With no valid account it
went into the full -startWithError: path, which fails with
CallWaveErrorNotConfigured whenever credentials have not arrived yet --
the documented flow where the push itself is what makes the host call
-loginWithConfiguration:. The call survived, the log did not: every call
carried an error for a supported state. The nudge is now a no-op with one
informational line, and that login starts the stack on its own.

In host-owned CallKit mode the same push also nudged twice, because the
report goes through -prepareIncomingCallWithUUID:caller:, which already
wakes the registration; the second nudge sent a second REGISTER per call.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@PetrShtuka
PetrShtuka merged commit 8363a24 into main Sep 13, 2026
4 checks passed
@PetrShtuka
PetrShtuka deleted the petrshtuka/fix-push-before-login branch September 13, 2026 06:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant