Skip to content

fix(firestore-genai-chatbot): restore the extension's 540s timeout - #2986

Open
CorieW wants to merge 1 commit into
kitsfrom
fix/kits-genai-chatbot-timeout
Open

fix(firestore-genai-chatbot): restore the extension's 540s timeout#2986
CorieW wants to merge 1 commit into
kitsfrom
fix/kits-genai-chatbot-timeout

Conversation

@CorieW

@CorieW CorieW commented Aug 26, 2026

Copy link
Copy Markdown
Member

Summary

  • Restores the extension's timeout: 540s on generateMessage, tracked as the kit's highest-priority gap in Kits parity issues #2974: the kit set no timeoutSeconds, so the function took the 60s default and long generations timed out mid-stream.
  • The timeout is declared in envDeployOptions() / DeployTimeOptions rather than inline, so library consumers get it too and the deploy-options suite asserts it.

Testing

  • New deploy-options assertion: timeoutSeconds === 540.
  • tsc --noEmit clean; all 22 tests pass.
  • End-to-end against a consumer project: kit rebuilt from this branch, npm packed, re-vendored into its function-kits source; discovery endpoint spec carries timeoutSeconds: 540 (with the API_KEY secret binding intact).
  • Live deploy of all three genai codebases (a91f6c2e, overrides, vertex) — successful updates, 0 failures.
  • Cloud-side verification via firebase functions:list: all three deployed generateMessage functions report timeoutSeconds: 540.

extension.yaml sets `timeout: 540s` on generateMessage; the kit set no
timeoutSeconds, so the function took the 60s default and long
generations timed out mid-stream. #2974 ranks this the kit's
highest-priority gap.

The timeout rides on envDeployOptions() so library consumers see it in
DeployTimeOptions and the deploy-options suite covers it.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request configures the Firestore GenAI Chatbot function's timeout to 540 seconds to align with the extension.yaml specification, preventing long generations from timing out under the default 60-second limit. The changes update the deployment options configuration, interface definitions, function trigger setup, and include a corresponding unit test. There are no review comments, and I have no feedback to provide.

@IzaakGough IzaakGough left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm with one nit:

On the "library consumers get it too" line in the description: the 540 lives in envDeployOptions(), which index.ts imports but does not re-export, and lib.ts does not export it either. So someone following the README's "import from ./lib" path for their own trigger does not pick it up.

Adding envDeployOptions to the lib.ts re-exports would cover it.

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.

3 participants