Skip to content

Conversation

mosuem
Copy link
Member

@mosuem mosuem commented Sep 30, 2025

Due to some JS interop change.


  • I’ve reviewed the contributor guide and applied the relevant portions to this PR.
Contribution guidelines:

Note that many Dart repos have a weekly cadence for reviewing PRs - please allow for some latency before initial review feedback.

Copy link

Summary of Changes

Hello @mosuem, 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 addresses a critical casemapping bug affecting the intl4x package on the web, which arose due to recent JavaScript interop modifications. The changes include a fix for this behavior, updates to package versions and SDK constraints, and a refinement of the JavaScript interop declarations for string case conversion methods.

Highlights

  • Web Casemapping Fix: Corrected an issue with casemapping functionality on the web platform, likely stemming from recent JavaScript interop changes.
  • Dependency and SDK Updates: The intl4x package and its example project had their Dart SDK constraints and several dependencies updated to newer versions.
  • JS Interop Refinement: Explicit @JS annotations were removed from toLocaleUpperCase and toLocaleLowerCase methods in the JSString extension, streamlining JavaScript interop declarations.
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

Package publishing

Package Version Status Publish tag (post-merge)
package:intl 0.20.3-wip WIP (no publish necessary)
package:intl4x 0.13.1 ready to publish intl4x-v0.13.1
package:intl_translation 0.21.0 already published at pub.dev
package:messages_shrinker 0.2.2-wip WIP (no publish necessary)

Documentation at https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.

Copy link

@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 effectively fixes case mapping on the web by removing incorrect @JS annotations in case_mapping_ecma.dart. This change, prompted by an update in JS interop behavior, simplifies the code and improves maintainability. The accompanying version bumps for the package, SDK, and dependencies are appropriate for this fix, and the changelog has been updated accordingly. The changes are correct and well-contained. The PR looks good to merge.

Copy link

PR Health

Breaking changes ✔️
Package Change Current Version New Version Needed Version Looking good?
intl4x Non-Breaking 0.13.0 0.13.1 0.13.1 ✔️

This check can be disabled by tagging the PR with skip-breaking-check.

Changelog Entry ✔️
Package Changed Files

Changes to files need to be accounted for in their respective changelogs.

This check can be disabled by tagging the PR with skip-changelog-check.

Coverage ⚠️
File Coverage
pkgs/intl4x/lib/src/case_mapping/case_mapping_ecma.dart 💔 Not covered

This check for test coverage is informational (issues shown here will not fail the PR).

This check can be disabled by tagging the PR with skip-coverage-check.

API leaks ✔️

The following packages contain symbols visible in the public API, but not exported by the library. Export these symbols or remove them from your publicly visible API.

Package Leaked API symbol Leaking sources

This check can be disabled by tagging the PR with skip-leaking-check.

License Headers ✔️
// Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
Files
no missing headers

All source files should start with a license header.

This check can be disabled by tagging the PR with skip-license-check.

Copy link
Collaborator

@robertbastian robertbastian left a comment

Choose a reason for hiding this comment

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

sure

@mosuem mosuem merged commit 34d1832 into main Oct 1, 2025
15 checks passed
@mosuem mosuem deleted the fixCasemappingWeb branch October 1, 2025 11:13
copybara-service bot pushed a commit to dart-lang/sdk that referenced this pull request Oct 1, 2025
…it_inspection_protocol

Revisions updated by `dart tools/rev_sdk_deps.dart`.

ai (https://github.com/dart-lang/ai/compare/901e2ce..ec5d6aa):
  ec5d6aa  2025-10-01  dependabot[bot]  Bump the github-actions group with 2 updates (dart-lang/ai#288)

http (https://github.com/dart-lang/http/compare/e0dadd1..2c53fa3):
  2c53fa3  2025-10-01  dependabot[bot]  Bump the github-actions group with 3 updates (dart-lang/http#1828)
  1b5103f  2025-10-01  Alex Li  [cronet_http] Upgrade `cronet-embedded` dependency version to support 16 KB page sizes (dart-lang/http#1824)
  f701e93  2025-09-29  Brian Quinlan  Remove obsolete TODO comment (dart-lang/http#1816)

i18n (https://github.com/dart-lang/i18n/compare/09627d2..34d1832):
  34d1832b  2025-10-01  Moritz  Fix casemapping on web (dart-lang/i18n#1013)
  914b0178  2025-10-01  dependabot[bot]  Bump actions/labeler from 5.0.0 to 6.0.1 in the github-actions group (dart-lang/i18n#1014)
  f171926e  2025-09-19  Moritz  Upgrade SDK in package:intl_translation (dart-lang/i18n#983)

shelf (https://github.com/dart-lang/shelf/compare/de91a5b..f30d650):
  f30d650  2025-10-01  dependabot[bot]  Bump the github-actions group with 3 updates (dart-lang/shelf#483)

test (https://github.com/dart-lang/test/compare/b99d556..a16f149):
  a16f1497  2025-10-01  dependabot[bot]  Bump the github-actions group with 5 updates (dart-lang/test#2547)

tools (https://github.com/dart-lang/tools/compare/2ef298e..19f91a0):
  19f91a03  2025-10-01  Morgan :)  Run file watcher symlink tests. (dart-lang/tools#2189)
  7929379b  2025-10-01  Morgan :)  Add test coverage for file watcher and symlinks. (dart-lang/tools#2178)
  d0e3edd1  2025-09-30  Morgan :)  Fix file watcher startup race on MacOS (dart-lang/tools#2176)
  36cefcee  2025-10-01  dependabot[bot]  Bump the github-actions group with 5 updates (dart-lang/tools#2188)
  08db1688  2025-10-01  Aleksey Garbarev  Fixing structure issue of nested lists indented by tabs (`#2172`) (dart-lang/tools#2173)
  16276f53  2025-09-30  Parker Lougheed  [markdown] Simplify deindentation logic for fenced code block lines (dart-lang/tools#2187)

vector_math (https://github.com/google/vector_math.dart/compare/3939545..a7b7e9c):
  a7b7e9c  2025-10-01  dependabot[bot]  Bump the github-actions group with 2 updates (google/vector_math.dart#352)

web (https://github.com/dart-lang/web/compare/0baaea4..816abcc):
  816abcc  2025-10-01  dependabot[bot]  Bump the github-actions group with 2 updates (dart-lang/web#473)

webkit_inspection_protocol (https://github.com/google/webkit_inspection_protocol.dart/compare/effa752..0f76858):
  0f76858  2025-10-01  dependabot[bot]  Bump the github-actions group across 1 directory with 3 updates (google/webkit_inspection_protocol.dart#135)

Change-Id: Id2cf6c1142aece53d531ca46122bb36a0fa2a34b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/452902
Commit-Queue: Devon Carew <[email protected]>
Reviewed-by: Konstantin Shcheglov <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants