Skip to content

update genui_workshop for I/O Connect#131

Merged
jwill merged 7 commits into
flutter:mainfrom
thatfiredev:rpf/genui-updates
Jun 25, 2026
Merged

update genui_workshop for I/O Connect#131
jwill merged 7 commits into
flutter:mainfrom
thatfiredev:rpf/genui-updates

Conversation

@thatfiredev

Copy link
Copy Markdown
Contributor

This PR should:

  • add all of the workshop instructions to README.md and replace the "functions" section at the end with useful links.
  • delete the .firebaserc file which contains a project ID.
  • add a flutter_run_cloudshell.sh script to make it easier to run the app in Cloud Shell.

Pre-launch Checklist

  • I signed the CLA.

@jwill jwill merged commit 6d92f66 into flutter:main Jun 25, 2026
6 checks passed
filforopen-source added a commit to filforopen-source/demos that referenced this pull request Jul 1, 2026
* Bump js-yaml in /genkit_flutter_agentic_app/genkit_backend

Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.0 to 4.1.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](nodeca/js-yaml@4.1.0...4.1.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump glob in /genkit_flutter_agentic_app/genkit_backend

Bumps [glob](https://github.com/isaacs/node-glob) from 10.4.5 to 10.5.0.
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](isaacs/node-glob@v10.4.5...v10.5.0)

---
updated-dependencies:
- dependency-name: glob
  dependency-version: 10.5.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump node-forge in /genkit_flutter_agentic_app/genkit_backend

Bumps [node-forge](https://github.com/digitalbazaar/forge) from 1.3.1 to 1.3.2.
- [Changelog](https://github.com/digitalbazaar/forge/blob/main/CHANGELOG.md)
- [Commits](digitalbazaar/forge@v1.3.1...v1.3.2)

---
updated-dependencies:
- dependency-name: node-forge
  dependency-version: 1.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* remove redundant function

* human in the loop via modal dialog

* use mime type instead of hardcoding jpeg

* Fix unneccessary full rebuilds when resizing window

* Add back Blaze Warning in Nano banana demo without using the redundant model picker.

* add firebase ai logic logo and divider to navigation rail

* refactor: use Gemini 2.5 Flash Native Audio for Live API demo

* updating the hero image with latest improvements

* Update Live API Demo model: gemini-2.5-flash-native-audio-preview-12-2025'

* Bump @trpc/server and genkit-cli

Bumps [@trpc/server](https://github.com/trpc/trpc/tree/HEAD/packages/server) to 10.45.3 and updates ancestor dependency [genkit-cli](https://github.com/firebase/genkit/tree/HEAD/genkit-tools/cli). These dependencies need to be updated together.


Updates `@trpc/server` from 10.45.0 to 10.45.3
- [Release notes](https://github.com/trpc/trpc/releases)
- [Commits](https://github.com/trpc/trpc/commits/HEAD/packages/server)

Updates `genkit-cli` from 1.5.0 to 1.26.0
- [Release notes](https://github.com/firebase/genkit/releases)
- [Commits](https://github.com/firebase/genkit/commits/genkit-cli@1.26.0/genkit-tools/cli)

---
updated-dependencies:
- dependency-name: "@trpc/server"
  dependency-version: 10.45.3
  dependency-type: indirect
- dependency-name: genkit-cli
  dependency-version: 1.26.0
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump jws in /genkit_flutter_agentic_app/genkit_backend

Bumps  and [jws](https://github.com/brianloveswords/node-jws). These dependencies needed to be updated together.

Updates `jws` from 4.0.0 to 4.0.1
- [Release notes](https://github.com/brianloveswords/node-jws/releases)
- [Changelog](https://github.com/auth0/node-jws/blob/master/CHANGELOG.md)
- [Commits](auth0/node-jws@v4.0.0...v4.0.1)

Updates `jws` from 3.2.2 to 3.2.3
- [Release notes](https://github.com/brianloveswords/node-jws/releases)
- [Changelog](https://github.com/auth0/node-jws/blob/master/CHANGELOG.md)
- [Commits](auth0/node-jws@v4.0.0...v4.0.1)

---
updated-dependencies:
- dependency-name: jws
  dependency-version: 4.0.1
  dependency-type: indirect
- dependency-name: jws
  dependency-version: 3.2.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump hono in /genkit_flutter_agentic_app/genkit_backend

Bumps [hono](https://github.com/honojs/hono) from 4.11.1 to 4.11.4.
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](honojs/hono@v4.11.1...v4.11.4)

---
updated-dependencies:
- dependency-name: hono
  dependency-version: 4.11.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* doc: replace pub run with dart run

* Bump @modelcontextprotocol/sdk

Bumps [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk) from 1.25.1 to 1.26.0.
- [Release notes](https://github.com/modelcontextprotocol/typescript-sdk/releases)
- [Commits](modelcontextprotocol/typescript-sdk@1.25.1...v1.26.0)

---
updated-dependencies:
- dependency-name: "@modelcontextprotocol/sdk"
  dependency-version: 1.26.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Housekeeping of native interop demos

* added Toast demo

* added demo launching an Android Activity from Dart with JNI

* Update build.gradle.kts

* baseline of notifications plugin

* Bump ajv in /genkit_flutter_agentic_app/genkit_backend

Bumps [ajv](https://github.com/ajv-validator/ajv) from 8.17.1 to 8.18.0.
- [Release notes](https://github.com/ajv-validator/ajv/releases)
- [Commits](ajv-validator/ajv@v8.17.1...v8.18.0)

---
updated-dependencies:
- dependency-name: ajv
  dependency-version: 8.18.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* housekeeping

* baseline of permissions plugin

* permissions plugin request flow done

* Updated dart interop example to use jnigen dart api

Removed old jnigen.yaml

* Delete permissions_plugin_method_channel.dart

* Update main.dart

* Update README.md

* Update to Nano Banana 2

* Bump minimatch in /genkit_flutter_agentic_app/genkit_backend

Bumps [minimatch](https://github.com/isaacs/minimatch) from 9.0.5 to 9.0.9.
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](isaacs/minimatch@v9.0.5...v9.0.9)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 9.0.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Add .sh scripts to configure, run and deploy in CLI environments

* Bump hono in /genkit_flutter_agentic_app/genkit_backend

Bumps [hono](https://github.com/honojs/hono) from 4.11.4 to 4.12.7.
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](honojs/hono@v4.11.4...v4.12.7)

---
updated-dependencies:
- dependency-name: hono
  dependency-version: 4.12.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump fast-xml-parser and @google-cloud/storage

Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) and [@google-cloud/storage](https://github.com/googleapis/nodejs-storage). These dependencies needed to be updated together.

Updates `fast-xml-parser` from 4.5.3 to 5.5.7
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](NaturalIntelligence/fast-xml-parser@v4.5.3...v5.5.7)

Updates `@google-cloud/storage` from 7.16.0 to 7.19.0
- [Release notes](https://github.com/googleapis/nodejs-storage/releases)
- [Changelog](https://github.com/googleapis/nodejs-storage/blob/main/CHANGELOG.md)
- [Commits](googleapis/nodejs-storage@v7.16.0...v7.19.0)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-version: 5.5.7
  dependency-type: indirect
- dependency-name: "@google-cloud/storage"
  dependency-version: 7.19.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Add dash_shop app

A sample app that demonstrates a shopping
experience, used for an upcoming talk for
Google I/O 2026.

* Move the DevTools companion app from https://github.com/elliette/devtools_companion

* Bump protobufjs in /genkit_flutter_agentic_app/genkit_backend

Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.4.0 to 7.5.8.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/protobufjs-v7.5.8/CHANGELOG.md)
- [Commits](protobufjs/protobuf.js@protobufjs-v7.4.0...protobufjs-v7.5.8)

---
updated-dependencies:
- dependency-name: protobufjs
  dependency-version: 7.5.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Fix issue with thumbnailer dsependency

* Update gemini 2.5 models with their 3.1 / 3.5 equivalents for firebase_ai_logic_showcase

* checkpoint of genui workshop

* Comment out Live API demo until Appcheck is enforced by default

* Baseline commit

Also added "Privacy - Calendar Full Access Usage Description" (NSCalendarsFullAccessDescription) to both Info.plist files.

This enables usage of the calendar on ios/macos.

* Removed macos dir as it doesn't work with the permissions plugin I'm using.

* Basic UI for requesting permission and simple state storage.

* feat: Add EventKit bindings generator script

This commit introduces the necessary configuration and script to generate
Dart and Swift wrappers for Apple's EventKit framework.

Details:
- Updated pubspec.yaml with ffi, ffigen, objective_c, and swiftgen dependencies.
- Created tool/generate_code.dart to generate wrappers for EKEventStore, EKEvent, and EKCalendar.
- Configured the generator to target macOS to bypass iOS compilation limits on deprecated properties, and added a post-generation step to strip the iOS-unavailable 'birthdayPersonUniqueID' property from the generated Swift code.
- Added generated EventKit wrapper and binding files to .gitignore to keep the repository clean.

* Update .gitignore

* Refactor EventKit integration to use modern FFI Objective-C bindings

- Replaced the swiftgen generator script with a pure FfiGenerator approach directly on Objective-C headers. This eliminates the need for intermediate Swift/Objective-C wrapper classes (like EKEventStoreWrapper), significantly reducing complexity and avoiding Xcode linking crashes (FailedToLoadClassException).
- Updated generate_code.dart to specify exact entry points and headers for EventKit.framework, fetching native EKEventStore, EKEvent, EKCalendar, EKCalendarItem, and EKObject definitions directly.
- Refactored _retrieveEvents in lib/main.dart to use the type-safe, generated Dart APIs (eventsMatchingPredicate, objectAtIndex, etc.) instead of error-prone, manual objc.msgSend invocations and raw pointer casting.
- Fixed an issue where EKEvent.title (which returns an Objective-C NSString reference) incorrectly printed 'Instance of ObjCObject' by safely unwrapping it with package:objective_c's toDartString() method.

* feat: display date and time for calendar events

- Updated event fetching to parse startDate into a Dart DateTime.
- Refactored UI table to have distinct columns for Title, Date, and Time.
- Removed Sample Event boilerplate logic.

* feat: add interactive dialog for creating calendar events

- Extracted CreateEventDialog into its own discrete file create_event_dialog.dart.
- Integrated CreateEventDialog into main.dart to open on the "Create Event" button press.
- Passed calendars explicitly to predicateForEventsWithStartDate to ensure fetching utilizes user's available calendars.
- Cleaned up leftover debugPrint statements and updated AppBar title.

* Update README for ios interop demo

* adds snapshot of genlatte

* adds license headers

* IO Connect updates

* update genui_workshop for I/O Connect (flutter#131)

* Adding ADK skill

* Create npm-publish-github-packages.yml

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Khanh Nguyen <khanhnwin@gmail.com>
Co-authored-by: Chris Sells <csells@sellsbrothers.com>
Co-authored-by: Rosário P. Fernandes <rosariofernandes51@gmail.com>
Co-authored-by: Andrew Peynado <apeynado@google.com>
Co-authored-by: Brett Morgan <brett.morgan@gmail.com>
Co-authored-by: Sigurd Meldgaard <sigurdm@google.com>
Co-authored-by: Eric Windmill <eric@ericwindmill.com>
Co-authored-by: Parker Lougheed <parlough@gmail.com>
Co-authored-by: James Williams <66931+jwill@users.noreply.github.com>
Co-authored-by: Sergei Kotl <kotl@google.com>
Co-authored-by: John Ryan <ryjohn@google.com>
Co-authored-by: Elliott Brooks <21270878+elliette@users.noreply.github.com>
Co-authored-by: Sergei Kotlyachkov <kotl@users.noreply.github.com>
Co-authored-by: Craig Labenz <craig.labenz@gmail.com>
Co-authored-by: Rosário P. Fernandes <rosariopf@google.com>
Co-authored-by: Andrew Brogdon <redbrogdon@google.com>
Co-authored-by: Andrew Brogdon <969662+redbrogdon@users.noreply.github.com>
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.

2 participants