Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

fix: ListTask's statusTimestampAfter only accept ISO 8601 format#640

Merged
jmesnil merged 1 commit intoa2aproject:maina2aproject/a2a-java:mainfrom
jmesnil:639_statusTimestampAfter_ISO-8601jmesnil/a2a-java:639_statusTimestampAfter_ISO-8601Copy head branch name to clipboard
Feb 11, 2026
Merged

fix: ListTask's statusTimestampAfter only accept ISO 8601 format#640
jmesnil merged 1 commit intoa2aproject:maina2aproject/a2a-java:mainfrom
jmesnil:639_statusTimestampAfter_ISO-8601jmesnil/a2a-java:639_statusTimestampAfter_ISO-8601Copy head branch name to clipboard

Conversation

@jmesnil
Copy link
Collaborator

@jmesnil jmesnil commented Feb 11, 2026

Fixes #639 🦕

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @jmesnil, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request refines the handling of timestamp parameters within the ListTasks functionality by standardizing the statusTimestampAfter field to accept only ISO 8601 formatted strings. This change streamlines date-time parsing, improves the clarity of error messages for invalid inputs, and ensures consistent data handling across the API.

Highlights

  • Timestamp Format Enforcement: The ListTasks endpoint's statusTimestampAfter parameter now strictly enforces the ISO 8601 format, removing previous support for Unix milliseconds.
  • Error Handling Improvement: Error message parsing logic was enhanced to better identify and report issues related to failed parsing, specifically for invalid timestamp formats.
  • Test Coverage Update: New and modified tests confirm that numerical (Unix milliseconds) timestamps are correctly rejected for statusTimestampAfter, returning appropriate error responses.
Changelog
  • spec-grpc/src/main/java/io/a2a/grpc/utils/JSONRPCUtils.java
    • Updated error message prefixes to include 'Failed to parse' for improved error context.
  • spec-grpc/src/test/java/io/a2a/grpc/utils/JSONRPCUtilsTest.java
    • Added a new test case to verify that numerical timestamps for statusTimestampAfter are correctly rejected with an InvalidParamsJsonMappingException.
    • Imported the fail assertion for test utility.
  • transport/rest/src/main/java/io/a2a/transport/rest/handler/RestHandler.java
    • Removed the logic that attempted to parse statusTimestampAfter as Unix milliseconds.
    • Modified the parsing logic to exclusively use Instant.parse for statusTimestampAfter, enforcing ISO 8601 format.
    • Updated the error message for DateTimeParseException to explicitly state that statusTimestampAfter must be an ISO 8601 timestamp.
  • transport/rest/src/test/java/io/a2a/transport/rest/handler/RestHandlerTest.java
    • Modified testListTasksUnixMillisecondsTimestamp to assert that providing a Unix milliseconds timestamp for statusTimestampAfter now results in a 422 HTTP status code, confirming its rejection.
Activity
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

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

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 correctly enforces that the statusTimestampAfter parameter for ListTasks only accepts the ISO 8601 format, removing the previous support for Unix timestamps. The change is implemented for both the REST and gRPC-JSON transports, with corresponding test updates to validate the new behavior. The implementation is solid, and the minor suggestion to improve a user-facing error message remains valid.

This fixes a2aproject#639

Signed-off-by: Jeff Mesnil <jmesnil@ibm.com>
@jmesnil jmesnil force-pushed the 639_statusTimestampAfter_ISO-8601 branch from 32fea5c to a2e89f8 Compare February 11, 2026 08:55
@jmesnil jmesnil requested a review from ehsavoie February 11, 2026 08:56
@jmesnil jmesnil merged commit b9bdf15 into a2aproject:main Feb 11, 2026
8 checks passed
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.

[Bug]: ListTask's statusTimestampAfter only accept ISO 8601 format

2 participants

Comments

Close sidebar
Morty Proxy This is a proxified and sanitized view of the page, visit original site.