Athlete tiles

236 views
Skip to first unread message

Paul J

unread,
Jan 24, 2026, 12:09:13 PMJan 24
to golden-cheetah-users
I've been looking at fixing the following with the Athlete view:

1) when athletes are created/deleted the tiles often end up overlapped, they just require dragging to reposition them.
2) placement of new athlete tiles (after initial load) given they can be dragged.
3) Removing planned activities from the last activity summary text
4) making the tiles more functional, I have a prototype with the following appearance (see Athlete after.png) which moves the backup and deletion of athletes from the menu bar "Athlete" tab to the tiles.

I'm happy to create a PR with any combination of 1-4 above, any opinions on whether making the tiles more functional is better (or worse) ?

Athlete before.png
Athlete after.png

Ale Martinez

unread,
Jan 24, 2026, 4:25:27 PMJan 24
to golden-cheetah-users
You remove Athlete > Settings and, paraphrasing Maradona, me cortas las piernas :)

Paul J

unread,
Jan 24, 2026, 6:48:09 PMJan 24
to golden-cheetah-users
:)

The Athlete-> settings can be restored to the menu if you wish, but I think it is clearer which athlete's settings are being edited when the user clicks on the athlete's tile.

Paul J

unread,
Jan 25, 2026, 4:48:23 AMJan 25
to golden-cheetah-users
Looking at the Athlete menu again, I now realise that "Save all modified activities.." also only applies to the selected athlete. So I'm now thinking this should also be moved to the individual athlete tiles as a "Save modified" button which could have red background if there are any modified (unsaved) activities, and green background when there are none, would that be better? All relevant athlete actions would then be through the tiles. 

Ale Martinez

unread,
Jan 25, 2026, 6:59:31 AMJan 25
to golden-cheetah-users
El domingo, 25 de enero de 2026 a la(s) 6:48:23 a.m. UTC-3, paulj...@gmail.com escribió:
Looking at the Athlete menu again, I now realise that "Save all modified activities.." also only applies to the selected athlete. So I'm now thinking this should also be moved to the individual athlete tiles as a "Save modified" button which could have red background if there are any modified (unsaved) activities, and green background when there are none, would that be better? All relevant athlete actions would then be through the tiles.

Sure, and the next time you look at this you will find New belongs to Athlete view and close after config so you can remove the athlete menu… I would really hate this change…
For me Athlete > settings.. is particularly useful because it allows to open the dialog on top of a chart s.t. CP which helps to set zones, you can’t do that using the cog icon in Athletes view, besides I am an old bloke used to menus.

Ale Martinez

unread,
Jan 25, 2026, 3:00:14 PMJan 25
to golden-cheetah-users
El domingo, 25 de enero de 2026 a la(s) 8:59:31 a.m. UTC-3, Ale Martinez escribió:
El domingo, 25 de enero de 2026 a la(s) 6:48:23 a.m. UTC-3, paulj...@gmail.com escribió:
Looking at the Athlete menu again, I now realise that "Save all modified activities.." also only applies to the selected athlete. So I'm now thinking this should also be moved to the individual athlete tiles as a "Save modified" button which could have red background if there are any modified (unsaved) activities, and green background when there are none, would that be better? All relevant athlete actions would then be through the tiles.

Sure, and the next time you look at this you will find New belongs to Athlete view and close after config so you can remove the athlete menu… I would really hate this change…
For me Athlete > settings.. is particularly useful because it allows to open the dialog on top of a chart s.t. CP which helps to set zones, you can’t do that using the cog icon in Athletes view, besides I am an old bloke used to menus.

PS: I am not against making Athletes view more functional and intuitive, I am against to remove the menu options, at least until the new UX proves to be better.

Paul J

unread,
Jan 26, 2026, 2:35:26 AMJan 26
to golden-cheetah-users
I have restored all the athlete menu options, and the athlete tiles will just be more functional, so it can support both ways of working.

Ale Martinez

unread,
Feb 10, 2026, 8:07:16 AMFeb 10
to golden-cheetah-users
Paul's work is available for review and testing on https://github.com/GoldenCheetah/GoldenCheetah/pull/4815, binaries for testing are available from https://ci.appveyor.com/project/Joern-R/goldencheetah-knhd8/builds/53513479 selecting your Operating System then Artifacts.
It would be interesting some coach or other people regularly using multiple athletes can give it a try and provide feedback.
Thanks in advance, Ale.

Ale Martinez

unread,
Mar 1, 2026, 10:10:53 AM (6 days ago) Mar 1
to golden-cheetah-users
Not that we are getting too much feedback from users on new features but, just in case someone wants to collaborate with testing, there is a new version for Paul's PR (https://github.com/GoldenCheetah/GoldenCheetah/pull/4827) which removes the restriction to close the first opened athlete besides the new functionality in Athletes view, binaries for testing are available from https://ci.appveyor.com/project/Joern-R/goldencheetah-knhd8/builds/53619213, choose your platform then Artifacts.
Cheers, Ale.

marcen

unread,
Mar 4, 2026, 8:59:27 AM (3 days ago) Mar 4
to golden-cheetah-users
Hello,

I’ve been testing this version. Here are the issues I’ve encountered so far on Arch Linux:
  •     Menu Bar: The dropdown menu does not open when clicking on "Athlete". In the "Activity" (Aktivität) menu, it only opens if you specifically click on the "ä" in the German translation.
  •     Crash when closing tabs: A crash occurs when a second athlete is loaded and switched to the Activity view and then import an activity (without saving it) and then close the athlete tab via the "X", the GC crashes. 
    • Attached file is: Estimator::calculate().txt and for import 2026_03_03_19_02_42.json
  •     Secondary Crash: If GC doesn't crash during the steps mentioned above, it usually happens when the previously closed athlete is reloaded and the imported activity is subsequently deleted.
    •  Attached file is:Segmentation fault.txt
  •     Suggested Improvement: It would be helpful to have a warning prompt when closing an athlete tab, reminding the user to save unsaved activities first.

I have also attached a close icon designed to match the style of the title bar icons.
close.svg
2026_03_03_19_02_42.json
Estimator::calculate().txt
Segmentation fault.txt

Paul J

unread,
Mar 4, 2026, 7:21:53 PM (2 days ago) Mar 4
to golden-cheetah-users
Hi Marcen,

Thank you for the testing, although I cannot repeat the crash on my Windows version, using your back traces I now understand the problem, the athlete is deleted whilst the file import process is still referencing the athlete, I have a fix which I'm testing.

Paul.

marcen

unread,
Mar 5, 2026, 12:54:16 PM (2 days ago) Mar 5
to golden-cheetah-users
Hi Paul, thanks for taking a look at this.
I'll be happy to test the new version.

Paul J

unread,
Mar 5, 2026, 1:22:00 PM (2 days ago) Mar 5
to golden-cheetah-users
Hi Marcen,

   Please see the latest commit to PR https://github.com/GoldenCheetah/GoldenCheetah/pull/4827, this should hopefully resolve the athlete closure whilst an activity import is in progress.

   I suspect that the Estimator might possibly still be an issue, if it is then the fix is likely to be the same as for the CloudService.cpp, which was using the athlete's context after ( as it runs in a separate thread) the athlete has been closed.

Paul.

Joachim Kohlhammer

unread,
Mar 5, 2026, 2:43:21 PM (2 days ago) Mar 5
to golden-cheetah-users
marcen schrieb am Mittwoch, 4. März 2026 um 14:59:27 UTC+1:
  •     Menu Bar: The dropdown menu does not open when clicking on "Athlete". In the "Activity" (Aktivität) menu, it only opens if you specifically click on the "ä" in the German translation.
I have seen this effect now for quite some time - can't tell exactly when it started. So it should not be caused by Pauls PR. The effects shows on my machine only with the Breeze QStyle, not with Fusion or Adwaita. Which style do you use?

marcen

unread,
Mar 5, 2026, 4:13:20 PM (2 days ago) Mar 5
to golden-cheetah-users
Hi Paul, As soon as I am authorized to download again, I will test the version.

Hi Joachim, I do indeed use the dark Breeze QStyle under KDE. However, I do not have the problem described with the snapshot build from February 27, 2026. Only with the version in which the changes to the athlete were made.
I then downloaded the Windows version and installed it on Windows 11. There, I have the same behavior where I cannot click on “Athlete” and “Activity.”

marcen

unread,
Mar 6, 2026, 2:30:37 PM (12 hours ago) Mar 6
to golden-cheetah-users
Hi Paul, Unfortunately, GC still crashes even with the fix.
It still happens when a session is imported for the second athlete.
The import works, but when the second athlete is closed and then restarted and the view is switched to Activity, GC crashes.
Regarding the menu bar: I set the language to English, but the same effect occurs there as well.

Here is the backtrace:
Thread 1 "AppRun" received signal SIGSEGV, Segmentation fault.
0x0000555556085b10 in Estimator::calculate() ()

#0  0x0000555556085b10 in Estimator::calculate() ()
#1  0x00007fffe97de5f3 in ?? () from /tmp/.mount_GoldenNdAmkB/lib/libQt6Core.so.6
#2  0x00007fffe97ed20e in QTimer::timeout(QTimer::QPrivateSignal) () from /tmp/.mount_GoldenNdAmkB/lib/libQt6Core.so.6
#3  0x00007fffe97d223f in QObject::event(QEvent*) () from /tmp/.mount_GoldenNdAmkB/lib/libQt6Core.so.6
#4  0x00007ffff67907b6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /tmp/.mount_GoldenNdAmkB/lib/libQt6Widgets.so.6
#5  0x00007fffe977c9e2 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /tmp/.mount_GoldenNdAmkB/lib/libQt6Core.so.6
#6  0x00007fffe992b03a in QTimerInfoList::activateTimers() () from /tmp/.mount_GoldenNdAmkB/lib/libQt6Core.so.6
#7  0x00007fffe9a5a3fc in ?? () from /tmp/.mount_GoldenNdAmkB/lib/libQt6Core.so.6
#8  0x00007fffe72bdd3b in g_main_context_dispatch () from /tmp/.mount_GoldenNdAmkB/lib/libglib-2.0.so.0
#9  0x00007fffe73132b8 in ?? () from /tmp/.mount_GoldenNdAmkB/lib/libglib-2.0.so.0
#10 0x00007fffe72bb3e3 in g_main_context_iteration () from /tmp/.mount_GoldenNdAmkB/lib/libglib-2.0.so.0
#11 0x00007fffe9a5a60e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /tmp/.mount_GoldenNdAmkB/lib/libQt6Core.so.6
#12 0x00007fffe97890bb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /tmp/.mount_GoldenNdAmkB/lib/libQt6Core.so.6
#13 0x00007fffe97850a6 in QCoreApplication::exec() () from /tmp/.mount_GoldenNdAmkB/lib/libQt6Core.so.6
#14 0x000055555580320f in main ()


Ale Martinez

unread,
Mar 6, 2026, 3:27:11 PM (11 hours ago) Mar 6
to golden-cheetah-users
El jueves, 5 de marzo de 2026 a la(s) 6:13:20 p.m. UTC-3, marcen escribió:
Hi Joachim, I do indeed use the dark Breeze QStyle under KDE. However, I do not have the problem described with the snapshot build from February 27, 2026. Only with the version in which the changes to the athlete were made.
I then downloaded the Windows version and installed it on Windows 11. There, I have the same behavior where I cannot click on “Athlete” and “Activity.”

I am experimenting the same behavior on Windows 11: Athlete and Activity menu can not be clicked, you need to click on Edit/Tools/Help and then goto the left to activate these menus, and this doesn't happen on latest snapshot, so it looks like it is related to the changes in this PR. 
Reply all
Reply to author
Forward
0 new messages