ikon_sdk 1.0.5
ikon_sdk: ^1.0.5 copied to clipboard
Official Ikon AI client SDK for native Flutter frontends — connect to an Ikon server and render the server-driven Parallax UI with audio streaming.
Changelog #
1.0.5 #
Breaking Changes #
- The old
ActionKind.ShowNotificationUI action has been removed — show notifications withapp.Notificationsinstead.
New Features #
- Flutter apps can now receive and play live WebRTC audio and video — video streams render in the video canvas and audio continues in the background, matching the web client.
- Flutter apps can now capture and send camera/screen over WebRTC and keep live video in a Picture-in-Picture window when backgrounded.
- Flutter apps can now pick and upload files natively — file upload, drop-zone, and file-picker components work on mobile through the same upload pipeline as the web.
- The Flutter SDK can now capture the microphone and stream it to the server (Opus), powering CaptureButton and push-to-talk.
- Flutter native clients now play server-streamed audio (Opus-decoded) through the device speaker.
- The Flutter SDK now automatically recovers dropped connections through a soft → medium → hard reconnect ladder (reuse tickets, refresh tickets, then full re-auth), and no longer flashes a connecting spinner for brief reconnects.
- Flutter clients render styles consistently with the web: styles merge like the CSS cascade, percent/viewport units and responsive breakpoints work, custom app themes reach native clients, and
dark:follows the app theme toggle. - flex-grow utilities (
grow,flex-1,flex-auto) are now carried through to native clients so flex children can fill their row. - Images respect object-fit, children respect align-self, and dashed/dotted borders render correctly.
- Flutter frontends now render the full Lucide icon set, matching the web renderer, instead of a small curated subset.
- Apps can now show notifications via
app.Notifications(browser and Flutter native, with lazy permission).
Bug Fixes #
- Flutter clients no longer corrupt streamed text on mid-string insertions, and all SDK clients now handle property removal and out-of-order UI updates consistently with the server.
- Flutter apps no longer hit an undismissable popover, get invisible text on light themes, or render charts with the wrong orientation/interactivity.
- Flutter apps now render charts, data tables, submit-on-Enter, password fields, floating popovers, and theme-correct chrome that previously broke or rendered with the wrong colors.
- The Flutter SDK now reports its SDK type correctly and subscribes to all server opcode groups during connection, fixing missed messages from the two most recently added groups.
- The Flutter SDK now opens a dedicated WebSocket channel for audio frames, fixing server-streamed audio that previously never arrived.
- An image (or other fill child) inside a centered aspect-ratio container now fits the box instead of overflowing.
- Containers, grids, wraps, selects, carousels, scroll areas, and tab panels no longer crash with infinite-width/unbounded-height layout errors when nested in rows or scrolling contexts.
flex-wrapcontainers now wrap into a grid instead of stacking, and tooltips render their text (shown on hover or long-press) instead of crashing the surrounding layout.- Legacy and shorthand icon names (home, trash, warning, dashboard, …) now resolve to the same glyph as the web renderer instead of rendering blank.
- The inline Calendar renders a native month-grid date selector instead of an empty box.
- Popover and HoverCard content stays hidden until opened instead of always rendering inline.
- Nested Tabs no longer leak their triggers into an outer Tabs' tab bar; each Tabs renders only its own tabs.
- Fixed two renderer crashes — a tri-state checkbox and baseline-aligned rows/columns — that could blank the entire app UI.
1.0.4 #
Internal improvements and maintenance.
1.0.3 #
Internal improvements and maintenance.
1.0.2 #
Internal improvements and maintenance.