Skip to content

merge stage into main#97

Merged
aditya-arcot merged 43 commits intomainfrom
stage
Mar 16, 2026
Merged

merge stage into main#97
aditya-arcot merged 43 commits intomainfrom
stage

Conversation

@aditya-arcot
Copy link
Member

No description provided.

aditya-arcot and others added 30 commits March 14, 2026 00:01
Bumps the root-dependencies group with 1 update: [lint-staged](https://github.com/lint-staged/lint-staged).


Updates `lint-staged` from 16.3.3 to 16.4.0
- [Release notes](https://github.com/lint-staged/lint-staged/releases)
- [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md)
- [Commits](lint-staged/lint-staged@v16.3.3...v16.4.0)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-version: 16.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: root-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps the client-dependencies group in /client with 1 update: [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react).


Updates `@vitejs/plugin-react` from 5.1.4 to 5.2.0
- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/plugin-react@5.2.0/packages/plugin-react/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-react/commits/plugin-react@5.2.0/packages/plugin-react)

---
updated-dependencies:
- dependency-name: "@vitejs/plugin-react"
  dependency-version: 5.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: client-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps the server-dependencies group in /server with 2 updates: [pyjwt](https://github.com/jpadilla/pyjwt) and [ruff](https://github.com/astral-sh/ruff).


Updates `pyjwt` from 2.11.0 to 2.12.1
- [Release notes](https://github.com/jpadilla/pyjwt/releases)
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst)
- [Commits](jpadilla/pyjwt@2.11.0...2.12.1)

Updates `ruff` from 0.15.5 to 0.15.6
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.15.5...0.15.6)

---
updated-dependencies:
- dependency-name: pyjwt
  dependency-version: 2.12.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: server-dependencies
- dependency-name: ruff
  dependency-version: 0.15.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: server-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
…root-dependencies-ea50e8be12

Bump lint-staged from 16.3.3 to 16.4.0 in the root-dependencies group
…ver-dependencies-cb6512cf48

Bump the server-dependencies group in /server with 2 updates
…/stage/client-dependencies-407d757ee9

Bump @vitejs/plugin-react from 5.1.4 to 5.2.0 in /client in the client-dependencies group
@github-advanced-security
Copy link

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR merges “stage” into “main”, bringing in the exercises CRUD UI/flow, updated muscle-group seed data, and various client UI/data-table improvements alongside dependency and infra tweaks.

Changes:

  • Add an Exercises page with a data-table UI, create/edit/delete dialogs, and related UI utilities (tooltips, truncation, column view labels).
  • Reseed muscle groups via Alembic migration, update server-side exercise serialization ordering, and adjust tests accordingly.
  • Introduce shadcn UI override conventions (notably Button) and update tooling/dependencies (ruff/pyjwt, lint-staged, vite plugin), plus local act support.

Reviewed changes

Copilot reviewed 60 out of 63 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
server/uv.lock Bumps Python deps (pyjwt, ruff) in lockfile.
server/makefile Adds an alembic downgrade -1 make target.
server/app/tests/services/muscle_group/test_get_muscle_groups_ordered_by_name.py Updates assertions to match reseeded muscle-group data/order.
server/app/tests/services/muscle_group/test_get_muscle_groups_by_ids.py Updates muscle-group ID expectations (now hard-coded).
server/app/tests/services/exercise/utilities.py Adds clear_exercises helper for test isolation.
server/app/tests/services/exercise/test_to_exercise_public.py Adds test ensuring muscle groups are sorted in API output.
server/app/tests/services/exercise/test_get_exercises_with_muscle_groups.py Uses clear_exercises to avoid interference from existing rows.
server/app/tests/services/exercise/test_get_exercises.py Uses clear_exercises to avoid interference from existing rows.
server/app/tests/services/exercise/test_delete_exercise.py Verifies cascade deletion of ExerciseMuscleGroup rows.
server/app/tests/api/exercises/test_update_exercise.py Adjusts muscle-group name used in update test.
server/app/services/exercise.py Sorts muscle groups by name in _to_exercise_public.
server/app/models/database/exercise_muscle_group.py Adds exercise relationship/back-population.
server/app/models/database/exercise.py Configures relationship cascade/back_populates/passive deletes.
server/app/migrations/versions/2026_03_16_0438-3fd5430b243e_reseed_muscle_groups.py New migration reseeding muscle groups and remapping exercise links.
package.json Bumps root dev dependency lint-staged.
package-lock.json Updates root lockfile for lint-staged and transitive deps.
config/infra/docker-compose.yml Makes some env vars optional depending on backend; adds comments.
config/infra/docker-compose.override.yml Removes local override env settings (expects .env/compose env).
client/src/pages/ResetPassword.tsx Switches to override Button import.
client/src/pages/RequestAccess.tsx Switches to override Button import.
client/src/pages/Register.tsx Switches to override Button import.
client/src/pages/Login.tsx Switches to override Button import.
client/src/pages/ForgotPassword.tsx Switches to override Button import.
client/src/pages/Exercises.tsx New Exercises page fetching exercises + muscle groups.
client/src/pages/Admin.tsx Renames loading state vars to isLoading*.
client/src/models/session.ts Renames loading to isLoading in session context type.
client/src/models/data-table.ts Makes row-action label optional.
client/src/main.tsx Wraps app with TooltipProvider.
client/src/lib/text.ts Adds identifier formatting helpers (capitalizeWords, formatIdentifier).
client/src/lib/styles.ts Removes unused background/hover style constants.
client/src/layout/AppLayout.tsx Adds Exercises nav link; renames Feedback component; switches to override Button.
client/src/components/ui/tooltip.tsx Adds tooltip component wrapper.
client/src/components/ui/overrides/button.tsx Adds app-level Button override supporting success + destructive tweaks.
client/src/components/ui/dropdown-menu.tsx Updates destructive SVG styling selector.
client/src/components/ui/button.tsx Tweaks button variant class ordering and sizing classes.
client/src/components/ui/badge.tsx Tweaks badge variant class ordering.
client/src/components/exercises/ExercisesTable.tsx New exercises data-table with filters and row actions.
client/src/components/exercises/ExerciseFormDialog.tsx New create/edit dialog with muscle-group selection.
client/src/components/data-table/README.md Documents meta.viewLabel and meta.filterOnly.
client/src/components/data-table/DataTableViewOptions.tsx Adds column label formatting and filterOnly support.
client/src/components/data-table/DataTableTruncatedCell.tsx New truncated-cell component with tooltip on overflow.
client/src/components/data-table/DataTableToolbar.tsx Improves search handling; uses override Button; icon spacing tweak.
client/src/components/data-table/DataTableRowActions.tsx Uses override Button; icon spacing tweak.
client/src/components/data-table/DataTablePagination.tsx Uses override Button.
client/src/components/data-table/DataTableInlineRowActions.tsx Uses override Button.
client/src/components/data-table/DataTableFacetedFilter.tsx Uses override Button.
client/src/components/data-table/DataTableColumnHeader.tsx Uses override Button.
client/src/components/data-table/DataTable.tsx Adds initial column visibility and edge padding options.
client/src/components/UsersTable.tsx Removes select-column usage.
client/src/components/ModeToggle.tsx Uses override Button.
client/src/components/Loading.tsx Uses override Button.
client/src/components/FeedbackFormDialog.tsx Renames component; improves labels/ids; uses success button variant.
client/src/components/AccessRequestsTable.tsx Removes select-column; refactors confirm dialog; uses override Button variants.
client/src/auth/SessionProvider.tsx Renames session loading state to isLoading.
client/src/auth/RequireGuest.tsx Renames session loading usage to isLoading.
client/src/auth/RequireAuth.tsx Renames session loading usage to isLoading.
client/src/AppRoutes.tsx Adds /exercises route.
client/package.json Updates update-components script; bumps @vitejs/plugin-react.
client/package-lock.json Updates lockfile for plugin bump and transitive deps.
client/eslint.config.js Enforces using @/components/ui/overrides/button over generated button.
README.md Adds project title, act usage notes, DB/shadcn conventions.
PROJECT_OVERVIEW.md Notes current feature status (exercise flow implemented).
.actrc Adds config for local act workflow runs.
Files not reviewed (1)
  • client/package-lock.json: Language not supported
Comments suppressed due to low confidence (2)

server/app/tests/services/muscle_group/test_get_muscle_groups_by_ids.py:19

  • This test also assumes muscle group ID 1 exists. After reseeding or if the PK sequence differs, 1 may not exist and the test can fail for reasons unrelated to get_muscle_groups_by_ids. Consider deriving an existing ID via a name lookup or inserting a known test record first.
    client/src/models/data-table.ts:46
  • label was made optional, but both DataTableRowActions and DataTableInlineRowActions render item.label as visible text. Allowing label to be omitted makes it easy to introduce icon-only actions with no accessible name and blank menu/button content. Either keep label required, or update the rendering code to require an aria-label/fallback label when label is absent.

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.

2 participants