Intervals.icu library update complete!

The huge Intervals.icu library update is finally complete. It would not have been possible without @Eva joining the team (thanks!). We had to edit just about every file in the project and make many changes.

The good news is that the app is faster and we fixed many issues on phones. The other good news is that we will be able to get back to building new things as soon as this is live for everyone.

If you would like to try the new version and help test please visit: https://v3.intervals.icu/

We have done a lot of testing but obviously there will be things we have missed. Please report any issues you find on this thread. We need to focus on things that are working on the old version and not in the new.

Some stats:

  • 608 files changed
  • 460 commits
  • 31,437 lines added
  • 56,116 lines deleted

For the software developers here: We migrated from Vue.js 2.6 to 3.5 (not too bad), from Vuetify 1.5 to 3.8 (they broke everything!) and converted lot of Javascript to Typescript.

64 Likes

Thank you very much for the work! V3 feels much snappier. I have found one issue that is only present in the new version. In the Routes section af an activity, when there are many recorded rides on a route (this is my daily commute), there is some overlapping when you scroll down the list.

1 Like

I had a great time updating pretty much the entire project! It provided a really good and fast way to learn the codebase and Vue, neither of which I was familiar with before, given my background with other JavaScript libraries.

Now, I’m looking forward to your input and enhancing the user experience, beginning with the more obvious, smaller improvements and later addressing larger UX/UI changes.

I gathered some more stats to the ones who are interested:

Measure Vue 2 Vue 3
First contentful paint 0.57 sec 0.36 sec
Calendarview load time 3,71 sec 2,40 sec
Bundle size (data transfered) 4.9 MB transferred 2.1 MB transferred
Lighthouse performance points (0-100) 44 77
Production build time 1 min 23 sec 25 sec
Development build time 1 min 11 sec 0,9 sec
32 Likes

Feels faster than before :slight_smile:

Found only some minor issues on a first fast look:

Search activity Charts is empty for me by default:

And the circles of the gears are not filled
v3


Before:

Can’t click on the activities button or routes button

Some overlapping of title and panel

Device

1 Like

I’ll have a look this weekend. I’m not a fan of the mobile view for analysis purposes due to the small screen. I like the option to update my personal info (feel, RPE, wellness data, etc.).

Restin
g

1 Like

There are still errors in the translation of the components English<>German
grafik


Just FYI - nothing serious :sweat_smile:
Otherwise, great work as always - thanks
Update: wellness data cannot be entered
grafik

the mood emoji doesn’t compare on calendar

That and the other issues in your post (mostly making stuff fit) should be fixed.

1 Like

great work! :+1:t2:

some tiny little CSS Bugs - some overlappings in the field data list above activities:

image

and on POWER and HR Page a few px:


image

And on the Fitness Page:
Old:
image
vs new
image

This is the best metric of how good this change is to the codebase.

4 Likes

I have fixed this. Custom field input was partially broken. There was also a bug adding new wellness fields to the dialog.

Could you please post a screenshot. I am not sure what you mean.

That is actually due to the icon changing. Vuetify changed the names of all the icons. I remapped the top 30 or so manually but there wasn’t always a good match. You need to edit the field and choose a new icon. The good news is that there are now many more icons to choose from.

I moved the pencil button for the histograms to the top right and added a border. Always looked horrible on the bottom left.

I cleaned up the fitness chart labels a bit but that section definitely needs some css grid work.

1 Like

Looks good.

But some rounding problem with steps taken, moving average

@david
immagine
this one…
immagine
as you see there isn’t in the new update

Histogram scaling seems to crop off the top of the chart based on height selected.

HR should have 16, Power should have 8 and Cadence should also have 16.

Shows correctly in current version.

Coach tick box too close now
Screenshot_20250607_135018

Tx everyone for testing. I fixed some bugs with multisport grouping, not yet reported here.

I think if you delete that steps moving average plot and add it back, that problem will go away.

Tx. I fixed the missing mood indicators.

I have fixed this. The bug was actually with the Plotly charts not respecting the height setting and covering up the histograms.

Fixed.

4 Likes

Well done. On both mobile and desktop the pages load significantly faster.

1 Like

good job!

1 Like

in the merge route page is not present the swap button

1 Like