tickki_chat_flutter 0.1.3
tickki_chat_flutter: ^0.1.3 copied to clipboard
Tickki Chat SDK for Flutter — embed live agent chat into your app with a drop-in widget or headless primitives.
0.1.3 #
-
Fix drop-in widget stuck on loading spinner after a session-scoped request failed. When
startSessionsucceeded but a subsequentloadHistory/realtime call threw, the widget's catch path set_errorbut never cleared_loading, and the build method short-circuited on the loading state before reading_error. The net effect was an infinite spinner instead of the diagnosable error screen. Now the catch path resets_loading, the error guard no longer requires_session == null, and the bootstrap entry-point wipes prior state so the "Try again" button gets a clean slate.This downstream-bug surfaced after a backend issue where
resolveSession()queried the wrong column onchat_sdk_sessionsand returned 401 for SDK-issued tokens. The backend is fixed separately; this SDK change ensures any future server-side failure shows a real error rather than an unrecoverable spinner.
0.1.2 #
- Fix endless loading: cap the bundle-id auto-detect at 2 seconds.
When
TickkiChat()was constructed beforeWidgetsFlutterBinding.ensureInitialized()ran (e.g. as a top-levelfinaloutsidemain()),PackageInfo.fromPlatform()could hang indefinitely on the platform channel and the first REST call would block waiting for it. We now time out the lookup and fall back to a null bundle id — if the request then fails the key allow-list, the consumer gets a fast, diagnosableorigin_not_allowederror instead of an infinite spinner.
0.1.1 #
- Auto-detect the host app's bundle id via
package_info_plusand send it asX-Tickki-Bundle-Idon every request. Consumers no longer need to passbundleId:manually when their publishable key has an allow-list — the SDK reads the AndroidapplicationId/ iOSCFBundleIdentifierat runtime. PassingbundleId:explicitly still works as an override (useful for tests or when you want to forge a specific identifier). - Fixes a confusing "origin_not_allowed" failure first-time integrators
hit when they followed the docs literally — the example app didn't
pass
bundleId:so the header was never sent and the allow-list rejected the request.
0.1.0 #
- Initial release.
- Headless surface:
TickkiChatclient with session lifecycle, message send/list, typing/heartbeat, attachment upload, and a private-channel realtime subscription. - Drop-in widget:
TickkiChatWidget.show(context, ...)opens a complete branded chat screen, fetching colors and feature flags from/api/v1/chat/config. - Strings are overridable for i18n; colors are dashboard-controlled.