Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

8328953 : JEditorPane.read throws ChangedCharSetException #17567

Closed
wants to merge 8 commits into from

Conversation

rjolly
Copy link
Contributor

@rjolly rjolly commented Jan 25, 2024

ChangedCharSetException is used to amend the charset during read according to html directives. Currently it causes immediate exit of the method which in turn causes failure to load html documents with charset directives (even if the latter must not change after all). This PR restores the catch operation as it was before the use of try with resources.


Progress

  • Change must be properly reviewed (1 review required, with at least 1 Reviewer)
  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue

Issue

  • JDK-8328953: JEditorPane.read throws ChangedCharSetException (Bug - P3)

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/17567/head:pull/17567
$ git checkout pull/17567

Update a local copy of the PR:
$ git checkout pull/17567
$ git pull https://git.openjdk.org/jdk.git pull/17567/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 17567

View PR using the GUI difftool:
$ git pr show -t 17567

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/17567.diff

Webrev

Link to Webrev Comment

@bridgekeeper bridgekeeper bot added the oca Needs verification of OCA signatory status label Jan 25, 2024
@bridgekeeper
Copy link

bridgekeeper bot commented Jan 25, 2024

Hi @rjolly, welcome to this OpenJDK project and thanks for contributing!

We do not recognize you as Contributor and need to ensure you have signed the Oracle Contributor Agreement (OCA). If you have not signed the OCA, please follow the instructions. Please fill in your GitHub username in the "Username" field of the application. Once you have signed the OCA, please let us know by writing /signed in a comment in this pull request.

If you already are an OpenJDK Author, Committer or Reviewer, please click here to open a new issue so that we can record that fact. Please use "Add GitHub user rjolly" as summary for the issue.

If you are contributing this work on behalf of your employer and your employer has signed the OCA, please let us know by writing /covered in a comment in this pull request.

@openjdk
Copy link

openjdk bot commented Jan 25, 2024

@rjolly The following label will be automatically applied to this pull request:

  • client

When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing list. If you would like to change these labels, use the /label pull request command.

@openjdk openjdk bot added the client client-libs-dev@openjdk.org label Jan 25, 2024
@rjolly
Copy link
Contributor Author

rjolly commented Jan 25, 2024

/signed

@bridgekeeper bridgekeeper bot added the oca-verify Needs verification of OCA signatory status label Jan 25, 2024
@bridgekeeper
Copy link

bridgekeeper bot commented Jan 25, 2024

Thank you! Please allow for up to two weeks to process your OCA, although it is usually done within one to two business days. Also, please note that pull requests that are pending an OCA check will not usually be evaluated, so your patience is appreciated!

@bridgekeeper
Copy link

bridgekeeper bot commented Feb 22, 2024

@rjolly This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!

@rjolly
Copy link
Contributor Author

rjolly commented Feb 22, 2024

Up

@bridgekeeper bridgekeeper bot removed oca Needs verification of OCA signatory status oca-verify Needs verification of OCA signatory status labels Mar 7, 2024
@aivanov-jdk
Copy link
Member

@rjolly Thank you for your contribution. Could you provide more details about the issue? The PR needs to be linked to a JBS issue. I'll create one for you after I get a more detailed description of the problem from you.

A test case is also welcome. And it's needed a regression test for the change anyway, if it's not hard to create. I believe a test case can be written for this issue.

@rjolly
Copy link
Contributor Author

rjolly commented Mar 12, 2024

js>JEditorPane=javax.swing.JEditorPane
class javax.swing.JEditorPane
js>e=new JEditorPane()
javax.swing.JEditorPane[,0,0,0x0,invalid,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.basic.BasicBorders$MarginBorder@4ac7e601,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],disabledTextColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],editable=true,margin=javax.swing.plaf.InsetsUIResource[top=3,left=3,bottom=3,right=3],selectedTextColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],selectionColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],kit=javax.swing.JEditorPane$PlainEditorKit@66bddb1f,typeHandlers=]
js>e.setContentType("text/html")
js>kit=e.getEditorKit()
javax.swing.text.html.HTMLEditorKit@3602e8c4
js>doc=kit.createDefaultDocument()
javax.swing.text.html.HTMLDocument@3367e16c
js>e.setDocument(doc)
js>URL=java.net.URL
class java.net.URL
js>u=new URL("https://www.google.com/")
https://www.google.com/
js>is=u.openStream()
sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@754c74c6
js>e.read(is, doc)
org.mozilla.javascript.WrappedException: Wrapped javax.swing.text.ChangedCharSetException (#1) in at line number 1

@openjdk
Copy link

openjdk bot commented Mar 13, 2024

@rjolly This change now passes all automated pre-integration checks.

ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details.

After integration, the commit message for the final commit will be:

8328953: JEditorPane.read throws ChangedCharSetException

Reviewed-by: tr, aivanov

You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed.

At the time when this comment was updated there had been 847 new commits pushed to the master branch:

  • df01cc5: 8323576: [Windows] Fallthrough to ::abort instead of os::infinite_sleep for noreturn methods
  • bf93e77: 8329118: Run MessageFormat additional subformat pattern tests under en_US locale
  • 991e04e: 8327383: Clean up _Stalled and _Spinner fields
  • 4eefda9: 8327779: Remove deprecated internal field sun.security.x509.X509Key.key
  • 341dd57: 8325883: Move Monitor Deflation reporting out of safepoint cleanup
  • 7ac2f91: 8329210: Delete Redundant Printer Dialog Modality Test
  • 85cb4a9: 8247449: Revisit the argument processing logic for MetaspaceShared::disable_optimized_module_handling()
  • aa595db: 8328507: Move StackWatermark code from safepoint cleanup
  • 2af0312: 8328619: sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.java failed with BindException: Address already in use
  • 7c7b961: 8329191: JVMCI compiler warning is truncated
  • ... and 837 more: https://git.openjdk.org/jdk/compare/9d1a6d14846bb1f76ca7258452b3b3f8e3e8b223...master

As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details.

As you do not have Committer status in this project an existing Committer must agree to sponsor your change. Possible candidates are the reviewers of this PR (@TejeshR13, @aivanov-jdk) but any other Committer may sponsor as well.

➡️ To flag this PR as ready for integration with the above commit message, type /integrate in a new comment. (Afterwards, your sponsor types /sponsor in a new comment to perform the integration).

@rjolly
Copy link
Contributor Author

rjolly commented Mar 18, 2024

Hi @aivanov-jdk , thanks for your response. Is there a place where I can put my non-regression test? Thanks!

@aivanov-jdk
Copy link
Member

@rjolly Sorry for my delayed reply. I have submitted JDK-8328953: JEditorPane.read throws ChangedCharSetException for you. The subject may be amended to describe issue better.

I attached the test case. I can reproduce the bug with Java 11 and above. I think it is a regression from JDK-8146319 which added try-with-resources.

@aivanov-jdk
Copy link
Member

Your changeset looks good to me, it resolves the problem, the HTML stream is re-read with the correct charset and displays correctly.

The test that I attached to JBS can be converted to a jtreg regression test and added to your PR.

Copy link
Contributor

@TejeshR13 TejeshR13 left a comment

Choose a reason for hiding this comment

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

Verified the fix with the shared test (regression test from JDK-8146319), its working fine.

@openjdk
Copy link

openjdk bot commented Mar 26, 2024

@rjolly Please do not rebase or force-push to an active PR as it invalidates existing review comments. Note for future reference, the bots always squash all changes into a single commit automatically as part of the integration. See OpenJDK Developers’ Guide for more information.

@aivanov-jdk
Copy link
Member

aivanov-jdk commented Mar 26, 2024

@rjolly You should edit the subject of the PR to 8328953: JEditorPane.read throws ChangedCharSetException. The Skara bot will then mark the PR as ready for review (rfr) and will send announcement of the PR and each comment to the client-libs-dev mailing list.

@rjolly rjolly changed the title Restore catching of ChangedCharSetException 8328953 : JEditorPane.read throws ChangedCharSetException Mar 26, 2024
@aivanov-jdk
Copy link
Member

You should not force-push to a branch that's already on the review. If you want to update to latest master, use git merge to update the branch and then push it.

@openjdk openjdk bot added the rfr Pull request is ready for review label Mar 26, 2024
@mlbridge
Copy link

mlbridge bot commented Mar 26, 2024

Copy link
Contributor

@TejeshR13 TejeshR13 left a comment

Choose a reason for hiding this comment

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

Verified the fix with the shared test, its working fine.

@@ -0,0 +1,75 @@
/*
* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
Copy link
Contributor

Choose a reason for hiding this comment

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

Append Copywrite year.

* questions.
*/

/*
Copy link
Contributor

Choose a reason for hiding this comment

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

We normally place jtreg tags after imports.

private static final String HTML_CYRILLIC =
"<html lang=\"ru\">\n" +
"<head>\n" +
" <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\">\n" +
Copy link
Contributor

Choose a reason for hiding this comment

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

Line exceeds column length which we usually restrict to 80...

Copy link
Member

Choose a reason for hiding this comment

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

It fits into 100-column limit, so not strictly necessary… Could be broken though to fit into 80-column limit.

Copy link
Member

Choose a reason for hiding this comment

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

Please update the copyright year to 1997, 2024. That is you change 2023 to 2024.

@@ -0,0 +1,75 @@
/*
* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.

It's a new file.

Comment on lines 51 to 53
public static void main(String[] args) {
SwingUtilities.invokeLater(EditorPaneCharset::new);
}
Copy link
Member

Choose a reason for hiding this comment

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

It is not a good jtreg regression test.

I believe the test can be headless, you don't need to display the component. It could even create JEditorPane in its main method. The expectation is that editorPane.read does not throw ChangedCharSetException. I propose adding a comment about the fact.

Then, I'd verify that the text in the editor pane is the expected text. So you will take the document root and descend the three of elements to <p>. The text inside the paragraph must match the text in the HTML sample, it should be “Привет, мир!” (it means “Hello World”, I'm not creative). You could move the text into a constant to have the text to compare to and concatenate the constant into the HTML snippet.

Something like that:

main() throws IOException {
    // Shouldn't throw ChangedCharSetException
    editorPane.read(…);

    Element root = document.getDefaultRootElement();
    Element p = /* */;
    String pText = document.getText(p.getStartOffset(),
                                    p.getEndOffset() - p.getStartOffset()));
    if (!CYRILLIC_TEXT.equals(pText)) {
        throw new RuntimeException("Text doesn't match");
    }
}

where CYRILLIC_TEXT is the constant with the text in the HTML snippet.

You can use this test as an example on how to get to the <p> element in HTMLDocument:

Element root = doc.getDefaultRootElement();
Element body = root.getElement(1);
for (int i = 0; i < body.getElementCount(); i++) {
Element p = body.getElement(i);

Should you have any questions, don't hesitate to ask.

Copy link
Member

Choose a reason for hiding this comment

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

Please, place the test into JEditorPane directly, that is remove 8328953 subfolder. New tests use flat structure unless supporting files are required.

Comment on lines 24 to 30
/*
* @test
* @key headful
* @bug 8328953
* @summary JEditorPane.read throws ChangedCharSetException
* @run main EditorPaneCharset
*/
Copy link
Member

Choose a reason for hiding this comment

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

It hasn't been agreed to, yet I prefer the jtreg placed right before the test class declaration rather than before the imports.

Either way is fine.

Comment on lines 620 to 621
try(Reader r = (charset != null) ? new InputStreamReader(in, charset) :
new InputStreamReader(in)) {
Copy link
Member

Choose a reason for hiding this comment

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

The changeset looks confusing in the diff. It becomes clearer if you disable showing whitespace differences.

You could've elaborated on the fix in the description.

The fix is to add a nested try-block inside try-with-resource; all the exceptions are handled in the nested try; the outer try-with-resouces only closes the input stream.

Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah, I too agree on this point. The fix description has to elaborated, we are not able to make out in diff.

Copy link
Member

Choose a reason for hiding this comment

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

I pulled the change into my local workspace to test it. IDE hides white-space differences and the fix becomes clear. I hid white-space differences in GitHub diff viewer: only two lines are changed. :)

@aivanov-jdk
Copy link
Member

You should not force-push to a branch that's already on the review. If you want to update to latest master, use git merge to update the branch and then push it.

A sample on how to merge master in another PR: #9825 (comment)

Comment on lines 47 to 48
" <meta http-equiv=\"Content-Type\" content=\"text/html; charset=
windows-1251\">\n" +
Copy link
Member

Choose a reason for hiding this comment

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

Is it a valid Java syntax? The file does not compile.

I would prefer wrapping at attribute boundary rather than a value of an attribute.

No tabs are allowed in OpenJDK source code, replace with four spaces.

The fix is to add a nested `try`-block inside `try-with-resource`; all the exceptions are handled in the nested `try`; the outer `try`-with-resouces only closes the input stream.
The fix is to add a nested `try`-block inside `try-with-resource`; all the exceptions are handled in the nested `try`; the outer `try`-with-resouces only closes the input stream.
@openjdk openjdk bot added the rfr Pull request is ready for review label Mar 26, 2024
Element root = document.getDefaultRootElement();
Element body = root.getElement(1);
Element p = body.getElement(0);
String pText = document.getText(p.getStartOffset(),
Copy link
Contributor

Choose a reason for hiding this comment

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

Unhandled exception here (BadLocationException), for getText(). Also extra braces at end.

The fix is to add a nested `try`-block inside `try-with-resource`; all the exceptions are handled in the nested `try`; the outer `try`-with-resouces only closes the input stream.
"<p>" + CYRILLIC_TEXT + "</p>\n" +
"</body></html>\n";

public static void main() throws IOException {
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
public static void main() throws IOException {
public static void main(String[] args)
throws IOException, BadLocationException {

The main function should be like this. In my comment, I referred to it as main() because typing all these in a comment is tedious.

Yes, Java now allows main without arguments but this feature is not supported in previous versions of Java, and tests should not rely on this feature.

Alternatively, you may use throws Exception to allow all kinds of exceptions. Using throws Exception is more common. I don't have a strong preference in this case.

Comment on lines 63 to 65
} catch (IOException e) {
throw new RuntimeException(e);
}
Copy link
Member

Choose a reason for hiding this comment

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

Now that you added throws IOException to main declaration, you can allow it to escape to fail the test. Please do. Remove the try-catch block.

Comment on lines 76 to 78
} catch (BadLocationException e) {
throw new RuntimeException(e);
}
Copy link
Member

Choose a reason for hiding this comment

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

Similarly, remove this try-catch block and allow BadLocationException to escape.

Comment on lines 81 to 82
private EditorPaneCharset() {
}
Copy link
Member

Choose a reason for hiding this comment

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

The constructor is not needed. It used it in my test, but now it's empty.

private static final String HTML_CYRILLIC =
"<html lang=\"ru\">\n" +
"<head>\n" +
" <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\">\n" +
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
" <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\">\n" +
" <meta http-equiv=\"Content-Type\" " +
" content=\"text/html; charset=windows-1251\">\n" +


/*
* @test
* @key headless
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
* @key headless

There's no headless key; only headful tests need to be marked specifically.

* @test
* @key headless
* @bug 8328953
* @summary JEditorPane.read throws ChangedCharSetException
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
* @summary JEditorPane.read throws ChangedCharSetException
* @summary Verifies JEditorPane.read doesn't throw ChangedCharSetException
but handles it and reads HTML in the specified encoding

The fix is to add a nested `try`-block inside `try-with-resource`; all the exceptions are handled in the nested `try`; the outer `try`-with-resouces only closes the input stream.
@openjdk openjdk bot removed the rfr Pull request is ready for review label Mar 27, 2024
Copy link
Member

@aivanov-jdk aivanov-jdk left a comment

Choose a reason for hiding this comment

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

Other than a couple of nits, it looks good to me.

I'll submit a test job to run all the tests with this fix and this test.

"<html lang=\"ru\">\n" +
"<head>\n" +
" <meta http-equiv=\"Content-Type\" " +
" content=\"text/html; charset=windows-1251\">\n" +
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
" content=\"text/html; charset=windows-1251\">\n" +
" content=\"text/html; charset=windows-1251\">\n" +

I suggest moving it by one space to align to the start of the http-equiv attribute.

Comment on lines 67 to 68
String pText = document.getText(p.getStartOffset(),
p.getEndOffset() - p.getStartOffset());
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
String pText = document.getText(p.getStartOffset(),
p.getEndOffset() - p.getStartOffset());
String pText = document.getText(p.getStartOffset(),
p.getEndOffset() - p.getStartOffset());

Let's align the second argument to the opening parenthesis.

Comment on lines 56 to 57
Document document = editorPane.getDocument();
// Shouldn't throw ChangedCharSetException
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
Document document = editorPane.getDocument();
// Shouldn't throw ChangedCharSetException
Document document = editorPane.getDocument();
// Shouldn't throw ChangedCharSetException

I'd add a blank line here too. It starts a new block which is the point of the test.

The fix is to add a nested `try`-block inside `try-with-resource`; all the exceptions are handled in the nested `try`; the outer `try`-with-resouces only closes the input stream.
@openjdk openjdk bot added the rfr Pull request is ready for review label Mar 27, 2024
Copy link
Member

@aivanov-jdk aivanov-jdk left a comment

Choose a reason for hiding this comment

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

Other than the comment below, it looks fine.

Testing results are green. I'll run the tests once again after you update the code.

Comment on lines 68 to 69
String pText = document.getText(p.getStartOffset(),
p.getEndOffset() - p.getStartOffset());
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
String pText = document.getText(p.getStartOffset(),
p.getEndOffset() - p.getStartOffset());
String pText = document.getText(p.getStartOffset(),
p.getEndOffset() - p.getStartOffset() - 1);

The test fails for me without -1 because pText contains \n. It didn't fail when I tested it earlier.

The fix is to add a nested `try`-block inside `try-with-resource`; all the exceptions are handled in the nested `try`; the outer `try`-with-resouces only closes the input stream.
Copy link
Member

@aivanov-jdk aivanov-jdk left a comment

Choose a reason for hiding this comment

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

The tests are green now.

Thank you for your contribution.

@openjdk openjdk bot added the ready Pull request is ready to be integrated label Mar 28, 2024
Copy link
Contributor

@TejeshR13 TejeshR13 left a comment

Choose a reason for hiding this comment

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

Looks good to me.

@aivanov-jdk
Copy link
Member

@rjolly You've got two approvals now. You can issue the /integrate command to integrate your fix into the JDK.

@rjolly
Copy link
Contributor Author

rjolly commented Mar 29, 2024

/integrate

@openjdk openjdk bot added the sponsor Pull request is ready to be sponsored label Mar 29, 2024
@openjdk
Copy link

openjdk bot commented Mar 29, 2024

@rjolly
Your change (at version 69e5ded) is now ready to be sponsored by a Committer.

@aivanov-jdk
Copy link
Member

/sponsor

@openjdk
Copy link

openjdk bot commented Mar 29, 2024

Going to push as commit 245514d.
Since your change was applied there have been 847 commits pushed to the master branch:

  • df01cc5: 8323576: [Windows] Fallthrough to ::abort instead of os::infinite_sleep for noreturn methods
  • bf93e77: 8329118: Run MessageFormat additional subformat pattern tests under en_US locale
  • 991e04e: 8327383: Clean up _Stalled and _Spinner fields
  • 4eefda9: 8327779: Remove deprecated internal field sun.security.x509.X509Key.key
  • 341dd57: 8325883: Move Monitor Deflation reporting out of safepoint cleanup
  • 7ac2f91: 8329210: Delete Redundant Printer Dialog Modality Test
  • 85cb4a9: 8247449: Revisit the argument processing logic for MetaspaceShared::disable_optimized_module_handling()
  • aa595db: 8328507: Move StackWatermark code from safepoint cleanup
  • 2af0312: 8328619: sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.java failed with BindException: Address already in use
  • 7c7b961: 8329191: JVMCI compiler warning is truncated
  • ... and 837 more: https://git.openjdk.org/jdk/compare/9d1a6d14846bb1f76ca7258452b3b3f8e3e8b223...master

Your commit was automatically rebased without conflicts.

@openjdk openjdk bot added the integrated Pull request has been integrated label Mar 29, 2024
@openjdk openjdk bot closed this Mar 29, 2024
@openjdk openjdk bot removed ready Pull request is ready to be integrated rfr Pull request is ready for review sponsor Pull request is ready to be sponsored labels Mar 29, 2024
@openjdk
Copy link

openjdk bot commented Mar 29, 2024

@aivanov-jdk @rjolly Pushed as commit 245514d.

💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

@rjolly rjolly deleted the charset branch March 29, 2024 11:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client client-libs-dev@openjdk.org integrated Pull request has been integrated
Development

Successfully merging this pull request may close these issues.

3 participants