Problem/Motivation

Today CKEditor released a security advisory that required us update the private LTS branches in a private repository.

Releases were made for 11.4, 11.3, and 10.6. An MR was also made for 11.x but the performance tests need to be updated.

However, no MR was made for main since main can just update to the latest public version of CKE.

Proposed resolution

Update CKEditor to the latest version on main and 11.x.

Remaining tasks

MR needed.

Release notes snippet

Issue fork drupal-3623708

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

xjm created an issue. See original summary.

catch’s picture

Issue tags: +12.0.0 beta blocker
longwave’s picture

Title: Update main to latest CKE release » Update main and 11.x to latest CKE release
Issue tags: +11.5.0 beta blocker

The 11.x MR is failing performance tests and I cannot update them locally without Chrome crashing and failing the test, so will upload here.

longwave’s picture

Issue summary: View changes

godotislate made their first commit to this issue’s fork.

godotislate’s picture

godotislate’s picture

Status: Active » Needs review

Both MRs are green now.

godotislate’s picture

Status: Needs review » Needs work

main MR has merge conflicts

godotislate’s picture

Status: Needs work » Needs review

Rebased.

quietone’s picture

ironnuts’s picture

Have read through this issue and viewed the MR's.

The IS states

An MR was also made for 11.x but the performance tests need to be updated.

Then at #3 seems to update that. Can that text be removed from the IS. I notice the 11.x MR is 11 commits behind. A rebase is needed, i think. Otherwise ready for RTBTC.

ironnuts’s picture

The IS is fine actually. Just rebase 11.x.

ironnuts’s picture

Re: #14

e469de20 - Update CKEditor.

Could that commit from yesterday have triggered the test error in 11.x pipeline?

ironnuts’s picture

Status: Needs review » Needs work
nicxvan’s picture

Status: Needs work » Needs review

No, it looks like it's a random failure: ThemeSettingsForm

godotislate’s picture

For reference, documenting how I generated the MR for the main branch update. It's basically these steps:

  1. Increase the package constraints for the CKEditor 5 dependencies as needed in core/package.json (all packages with the @ckeditor namespace).
  2. Perform a clean installation of core's yarn dependencies:
    cd core
    rm -rf node_modules
    yarn install
    
  3. Update the vendor assets: yarn run vendor-update.
  4. Run the CKEditor 5 build: yarn run build:ckeditor5.
  5. Run yarn run build:ckeditor5-types (this step is needed for compiling a map of CKEditor 5 JSDoc types in a format that is compatible with IDEs).

Also ran a selected couple of these other steps for good measure:

  1. yarn vendor-update
  2. yarn build
  3. yarn lint:css
  4. yarn lint:core-js-passing

Then I compared the result to #3587182: Update CKEditor 5 to 48.0.1 to make sure I was in the ballpark of being correct.
Then searched the codebase to make sure there were no other relevant 48.0.1 references.

@nicxvan requested some guidance on how to test, so I think the best way would be reproduce steps locally and confirm the same output.

ironnuts’s picture

Thank you nicxvan and godotislate read #18 with interest. LGTM.

ironnuts’s picture

Status: Needs review » Reviewed & tested by the community
nicxvan’s picture

I ran through those steps on main, my changes are slightly different, I'm not sure why: https://git.drupalcode.org/issue/drupal-3623708/-/compare/main...compare...

First difference is I did not update the performance test so that is expected, the other differences is the core.libraries.yml.
My version only updated two lines, the MR updated 26.

I'm checking 11.x now.

nicxvan changed the visibility of the branch compareCKEDITOR48.5.1 to hidden.

godotislate’s picture

My version only updated two lines, the MR updated 26.

Yeah, I had to clean those up manually when I searched for 48.0.1. IIRC, that doesn't happen automatically anymore via scripts since we switched to the UMD instead of the DLL.

nicxvan changed the visibility of the branch compareCKEDITOR48.5.1-11x to hidden.

nicxvan changed the visibility of the branch compareCKEDITOR47.7.4-11x to hidden.

nicxvan’s picture

Status: Reviewed & tested by the community » Needs review

Ok I updated the libraries manually and now they match except the perf test which I'm not running.

+1 RTBC for main only.

11.x needs review still.

nicxvan’s picture

Status: Needs review » Reviewed & tested by the community

Whoops. RTBC for main only.

quietone’s picture

The docs for updating CKEditor should be updated per #18.

godotislate’s picture

Adding tag per #28.

ironnuts’s picture

Re: #18

@nicxvan requested some guidance on how to test, so I think the best way would be reproduce steps locally and confirm the same output.

Sorry guys! I missed that. Was going to do those steps on 11.x branch but my Ubuntu Desktop stopped working.

ironnuts’s picture

Re: #28, thanks for updating the docs quietone. I notice you have changed the steps in #18. Let's remove the Needs docs tag and merge unless someone wants to review the docs first.

needs-review-queue-bot’s picture

Status: Reviewed & tested by the community » Needs work
StatusFileSize
new91 bytes

The Needs Review Queue Bot tested this issue. It no longer applies to Drupal core. Therefore, this issue status is now "Needs work".

This does not mean that the patch necessarily needs to be re-rolled or the MR rebased. Read the Issue Summary, the issue tags and the latest discussion here to determine what needs to be done.

Consult the Drupal Contributor Guide to find step-by-step guides for working with issues.

godotislate’s picture

Status: Needs work » Reviewed & tested by the community

Rebased main MR for merge conflict in performance tests.

I did not work on the 11.x MR, so for review, I compared the 11.x MR diff to the 11.4.x commit for the recent CKEditor SA, and they are the same other than the performance numbers. Confirming RTBC for 11.x.

@nicxvan confirmed RTBC for main in #27, so we should be all good here.

ironnuts’s picture

Thank you godoislate. Have you reviewed quietone's changes to the documentation? His last edit was 17 hours ago. I think he is done. If you can approve and remove the tag, please.

  • catch committed 3d214398 on main
    fix: #3623708 Update main and 11.x to latest CKE release
    
    By: xjm
    By:...
ironnuts’s picture

Thank you catch. You left me out of the contribution. I appreciate being credited as I deserve with expending a lof of time and care reading and reviewing issues such as these. If this is not welcome maybe a new tag should be be created similar to 'Novice'. As 'Superstars only' or something?

  • catch committed 89ca930a on 11.x
    fix: #3623708 Update main and 11.x to latest CKE release
    
    By: xjm
    By:...
catch’s picture

Version: main » 11.x-dev
Status: Reviewed & tested by the community » Fixed

Committed/pushed to main and 11.x, thanks! Needed a rebase for performance test changes, but I think it was only diff context not even a real change.

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

longwave’s picture

@oily Please read the core credit guidelines at https://www.drupal.org/about/core/policies/maintainers/how-credit-is-gra... - I have read each of your comments in this issue and to me none of them meet the criteria for receiving credit, so I agree with @catch's assessment here.

ironnuts’s picture

Status: Fixed » Reviewed & tested by the community

Thank you in advance for adding me to the contribution record, catch! : ). I reviewed the issue as you can see.

longwave’s picture

Status: Reviewed & tested by the community » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

godotislate’s picture

For documentation, I re-ran the process from #18 step by step, and found that several of the additional steps I noted there were unnecessary. So I've updated the CKEditor documentation to add just the one step of searching the codebase and replacing instances of the previous version string.

I am also not sure that the notes on how to generate unminified CKEditor5 build assets are current after the change to UMD: https://www.drupal.org/about/core/policies/core-dependency-policies-and-.... On one hand, the need for this is mitigated somewhat because the UMD ships a .map file now, but that does not meet all developer use cases.

Leaving tag for now for that part to be verified (later).

ironnuts’s picture

Status: Fixed » Needs work

Re: #40 Thank you, much appreciated longwave. I am very keen to keep learning and improving. I make errors but it is not from lack of effort. I will carefully review the docs and get back to you and catch on this. Would you both mind if we review this matter by drupal.org personal email to take it offline? I am open to advice and ideas.

However, it seems that at #44 godotislate has followed up on my comment #34. It appears you both were a little premature in moving the issue to fixed? Had I not made comment #34 is it likely godotislate would have checked the docs? Notice that he at #33 he had changed to RTBTC and. had forgotten about the tag. I also carried out a review earlier.

There is more work to do so Needs work!

catch’s picture

Status: Needs work » Fixed

This issue is for updating to a security release, it's not for an in-depth review of our ckeditor documentation. If you think there's more to do, open a follow-up issue.

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

longwave’s picture

I think all documentation is up to date.

https://www.drupal.org/about/core/policies/core-dependency-policies-and-... is the documentation page.

"Updating CKEditor 5" is correct and the procedure I've followed before when updating CKEditor.

"Reviewing changes to CKEditor 5 build files" I just tested locally and it builds the core plugins as unminified scripts, so to me that works as expected too. I've never actually needed to use this.

As we install CKEditor itself from npm I don't think there is an easy way of getting unminified source and actually running it, although I might be wrong - again I've never needed this so far anyway.

Removing the tag as I don't think there's anything else to do here. I also just closed another issue about CKEditor development docs that turned out to be years out of date because it was talking about the CKEditor 4 build process (which required Java!)

ironnuts’s picture

If you think there's more to do, open a follow-up issue.

catch, when we were at RTBTC I wanted to remove the tag since quietone ahd made his last edit to the docs 17 hours previously (seem my comment) so we could get this thing landed. I'm on your side! I thought I had better ask godotislate if he was cool with that, but he might want to check quietone's docs. godotislate created the tag so i thought it best if he decide it is done. If godotislate should not have created the tag and quietone should not have taken on the task then that is something they can comment on.

xjm’s picture

@oily, you are the only person commenting on this issue who is not a Drupal core release manager. Unfortunately, all you are doing here is adding noise and confusion to a critical security followup.

If you're unfamiliar with the Drupal core governance, release managers are, among other things, decision-makers for things like issue process, so our recommendations on that front are definitive.

So, in my role as a release manager of Drupal core, I'd like to request that you stop commenting on this issue.

Also, don't assume that all web developers are men, please.

ironnuts’s picture

@xjm I have no idea what you are talking about.