Skip to content

Chore: Migrate Tubolinks to Turbo #2953

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

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

arkirchner
Copy link
Contributor

Trubolinks has been replaced by Turbo. The Turbolinks library has been achieved.

Resolves #2952

@arkirchner arkirchner self-assigned this Jun 6, 2025
@arkirchner arkirchner added enhancement dependencies Pull requests that update a dependency file labels Jun 6, 2025
Copy link

codecov bot commented Jun 6, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 69.57%. Comparing base (df3ae19) to head (d656bd8).
Report is 6 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2953      +/-   ##
==========================================
- Coverage   69.60%   69.57%   -0.03%     
==========================================
  Files         214      214              
  Lines        6820     6820              
==========================================
- Hits         4747     4745       -2     
- Misses       2073     2075       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@arkirchner arkirchner force-pushed the ak/chore-turbolinks-to-turbo branch 2 times, most recently from a19087f to da9610e Compare June 6, 2025 14:58
@@ -13,7 +13,7 @@ $(document).on('turbolinks:load', function(event) {
CodeOceanEditorRequestForComments
);

if ($('#editor').isPresent() && CodeOceanEditor && event.originalEvent.data.url.includes("/implement")) {
if ($('#editor').isPresent() && CodeOceanEditor && event.originalEvent.detail.url.includes("/implement")) {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

detail is the data popery that is used in CustomeEvent. The original Turbolinks used none standard custom events to support IE. With Turbo.js the standard for events is used.

@@ -0,0 +1,25 @@
const tooltipMap = new WeakMap();
Copy link
Contributor Author

@arkirchner arkirchner Jun 10, 2025

Choose a reason for hiding this comment

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

When moving Turbo.js into the application JS managed by webpack, some timing issues with the Bootstrap JQuery plugin accrued. The plugin was not loaded the first time turbo:load fires.

The pervious version had two event listeners for the tooltips. This version is capable of collecting garbage and operating on a global scale.

Trubolinks has been replaced by Turbo. The Turbolinks library has been
achieved.

Resolves #2952
@arkirchner arkirchner force-pushed the ak/chore-turbolinks-to-turbo branch from 704ecdd to d656bd8 Compare June 10, 2025 11:33
@arkirchner arkirchner marked this pull request as ready for review June 10, 2025 11:38
Copy link
Contributor

@kkoehn kkoehn left a comment

Choose a reason for hiding this comment

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

I noticed a few things:

  • new errors in console:
    image
    image

  • some things broke in exercise/edit
    before:
    image
    image

after:
image

image

Also when searching for turbolinks in the project, there are still a few hits, that we might want to look into.

@arkirchner arkirchner marked this pull request as draft June 13, 2025 08:30
@arkirchner
Copy link
Contributor Author

I think there are still some order dependent issues. I am considering what to do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Migrate to Turbo.js
2 participants