Skip to content

Conversation

@andokalled-spec
Copy link
Contributor

Summary of Changes Made Today

  1. Analytics Dashboard: Average Total Load Chart Line
    File: analytics-dashboard.js
    Change: Added a dashed cyan line to the analytics dashboard chart to plot average total load values
    Details:
    Modified ensureChart() to add a 4th data series with label "Avg Total Load (${unit})" using a dashed line style (dash: [6, 6])
    Updated buildChartData() to compute and return per-day averages
    Modified chart initialization to support 4 data arrays instead of 3
  2. Per-Day Average Calculations
    File: analytics-dashboard.js
    Change: Implemented per-day average load calculations for each exercise
    Details:
    buildSeriesForExercise() now accumulates per-workout averages by day
    For each day, computes the mean of all per-workout averages (rather than a global average)
    Tracks separate sums and counts for total, left, and right averages independently
    Prefers stored JSON fields (averageLoad, averageLoadLeft, averageLoadRight) when available; falls back to rep-derived calculations when absent
  3. Update Averages for Old Workouts Feature
    Files: index.html, app.js
    Changes: Added new UI button and backend logic to backfill missing average fields in Dropbox workout files
    Details:
    Added "Update Avgs to Old Workouts" button in the Connection panel (below "Rebuild PRs to Dropbox")
    requestUpdateAveragesOldWorkouts(): User-facing method with confirmation prompt
    updateAveragesOldWorkouts(): Main logic that:
    Loads all workouts from Dropbox
    Checks for missing averageLoad, averageLoadLeft, averageLoadRight fields
    Calculates missing averages using calculateAverageLoadForWorkout()
    Uploads updated workouts back to Dropbox with status messages
  4. Overwrite Existing Workout Files
    Files: dropbox.js, app.js
    Changes: Added method to overwrite existing Dropbox files instead of creating duplicates
    Details:
    Added overwriteWorkout() method in dropbox.js that:
    Uses _dropboxMetadata.path to identify original file location
    Uses mode: { ".tag": "overwrite" } to replace the existing file
    Preserves original filenames and Dropbox paths
    Updated updateAveragesOldWorkouts() to call overwriteWorkout() instead of saveWorkout() when updating old workouts
  5. Average Calculation Logic
    File: app.js (existing completeWorkout())
    Note: Already computes and stores averageLoad, averageLoadLeft, averageLoadRight in new workouts via calculateAverageLoadForWorkout() between warmup end time and workout end time (excluding warmup 3 reps)
image [averages are plotted for echo files] image

@chatgpt-codex-connector
Copy link

The account who enabled Codex for this repo no longer has access to Codex. Please contact the admins of this repo to enable Codex again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant