pipecat_flutter_ios 3.0.4
pipecat_flutter_ios: ^3.0.4 copied to clipboard
iOS implementation of the pipecat_flutter plugin
3.0.4 #
- fix: Replace the previous microphone reconcile logic with a listener-driven state machine that treats Daily
inputs.microphonepluspublishing.microphoneas the only source of truth. - fix: Observe Daily state through transport delegate fan-out instead of direct
CallClientstate observation, avoiding drift between mute commands and native callbacks. - fix: Align the vendored
DailyCocoaPods dependency to0.37.0. - test: Add native controller tests covering ordered transitions, rapid retoggles, drift recovery, and polling fallback.
- docs: Pin the example app
Podfileto the vendoredPipecatClientIOSandPipecatClientIOSDailypods so the local transport copy and Daily0.37.0are actually used.
3.0.3 #
- fix: Compile the pod in Swift 5.0 language mode (
s.swift_version = '5.0') instead of 6.1. The pigeon-generatedPipecatApi.g.swiftreferences Flutter framework globals (the method codec andFlutterEndOfEventStream) that are notSendable; Swift 6 strict concurrency rejects them as hard errors. Reverted the generated-file post-processing from 3.0.1/3.0.2 since Swift 5 mode compiles pigeon's output as-is, keeping the generated file pristine. This mirrors the language mode the vendoredPipecatClientIOSpod uses.
3.0.2 #
- fix (superseded by 3.0.3): annotated the codec as
nonisolated(unsafe) letto satisfy Swift 6 strict concurrency. Insufficient — the pigeon event channel code also references the non-SendableFlutterEndOfEventStream.
3.0.1 #
- fix (superseded by 3.0.3): post-processed the pigeon-generated codec from
vartolet. Incomplete —FlutterStandardMethodCodecis notSendable. - docs: Replace the hardcoded sibling-checkout
Podfilesnippet in the README with one that uses Flutter's portable.symlinks/plugins/pipecat_flutter_iospath. The previous snippet only worked on the package author's machine.
3.0.0 #
- BREAKING: Drop
LlmFunctionCallEventemission. Apps should migrate to the newLlmFunctionCall{Started,InProgress,Stopped}Eventlifecycle exposed bypipecat_flutter3.0.0. - feat: Vendor a patched
PipecatClientIOS1.2.0 fork underios/vendored/PipecatClientIOSthat adds inbound switch cases forllm-function-call-started/-in-progress/-stopped, plus matchingPipecatClientDelegatecallbacks.PipecatClientIOSDaily1.2.0 is shipped verbatim underios/vendored/PipecatClientIOSDailyto keep CocoaPods resolution pinned. Consuming apps must add two local-pathpodlines to theirPodfile— see this package's README for the exact snippet. - feat: Plugin implements the three new delegate methods on
PipecatClientDelegateand forwards them as the corresponding Flutter lifecycle events. The legacyonLLMFunctionCallcallback is a no-op now.
2.4.1 #
- fix: Make local microphone mute state authoritative and self-healing against Daily input and publishing state.
- fix: Observe Daily input and publishing changes directly to prevent mute-state drift.
- fix: Force local audio levels and user-speaking events to silence while the local microphone is muted.
2.4.0 #
- fix: Store bot participant ID on
onBotConnectedinstead of fragileremote.keys.firstlookup at mute time. - fix: Pass stored participant ID to
DailyHelper.muteRemoteParticipantAudioinstead of re-querying. - fix: Return
BOT_NOT_CONNECTEDerror ifmuteBotAudiocalled before bot joins. - fix: Clear
botDailyParticipantIdin all session cleanup and epoch reset paths.
2.3.1 #
- fix: Pigeon errors.
2.3.0 #
- feat: Add transport diagnostics.
- feat: Add sub-phases connection statuses.
2.2.0 #
- chore: Bump package version to
2.2.0.
2.1.0 #
- feat: Implement
client-message
2.0.2 #
- feat: send LLM tool call result
- fix: missing argument for parameter
2.0.0 #
- Refactor: single canonical stream
0.2.0+3 #
- Update
pipecat_flutter_platform_interfacedependency constraint to^0.2.0.
0.2.0+2 #
- Integrate
sendText
0.1.0+1 #
- Swift 6
- Integrates
PipecatClientIOSversion 1.2 - Integrates
PipecatClientIOSDailyversion 1.2