Releases: apermo/bodyrefactoring
Releases · apermo/bodyrefactoring
v14.6.8
Added
- Schedule for 2026-04-29: New baseline training schedule
- Bike alternative: Added Fahrrad as alternative to Walkingpad on Tuesdays (3 sessions) and to walking options on Saturdays
Changed
- Reps standardized to 15 across all rep-counter exercises: Butterfly decreased from 18, Latziehen/Brustpresse from 12, Adduktion/Heel Taps/Bird Dog/Woodchoppers from 10
- Monday volume: Added Dumbbell Lateral Raises and Farmer's Carry (both optional) to support calorie goal
- Wednesday volume: Added Dumbbell Lateral Raises and Farmer's Carry to support calorie goal
v14.6.7
Fixed
- Friday schedule: Replace 4 cable/dumbbell exercises with Neolymp band intro exercises to fit time slot (removed Beinbeugen Kabel, Cable Kickbacks, Lateral Raises, Farmer's Carry)
Changed
- PR validation: Remove redundant individual failure comments; summary comment already covers all results
v14.6.6
Added
- Schedules for Mar 6, 9, 15 covering home training, vacation, and return
- Neolymp band intro exercises on Fri/Sat/Sun (Mar 6-8) for equipment familiarization
- Vacation schedule (Mar 9-14) with Neolymp Bands Board, Pull Up Bands, Minibands, Trizepsseil, Blazepods, and yoga mat
- Wattwandern integrated
Fixed
- Speech service voice initialization on first app start
v14.6.5
Added
- Schedule for week of 2026-02-28 with optimized Monday order
Changed
- Monday exercise order: Bizeps Curls after Adduktion for leg rest, Rudern/Latziehen grouped
- Butterfly Reverse: Increased to 3x15 (from 3x12)
- Butterfly: Synced rep timing to 2200ms across Mon/Wed (from 2500ms)
- Beinbeugen Kabel: Synced rep timing to 2250ms across Mon/Fri (from 2500ms)
- Cable Pull-Throughs: Adjusted rep timing to 2400ms (from 3000ms)
- Stalebot: Runs at 10am UTC, exempts all typed/area/priority labels, separate PR timing (14 days)
v14.6.4
Added
- Schedule for week of 2026-02-18 with progressive overload and cooldown variety
- Brustpresse on Friday for 3x/week chest press frequency
- Cooldown alternatives on Mon, Tue, Thu, Fri, Sat (pick based on feel)
Changed
- Bein-Adduktion: Reduced to 4x10, increased to STUFE 2 (weight jump)
- Brustpresse: Reduced to 3x12 for weight progression
- Latziehen: Reduced to 3x12 for STUFE 7 progression
- Butterfly: Increased to 3x18 (endurance before next weight bump)
- Dumbbell Woodchoppers: Slower tempo (3400ms) for control
- Tuesday Walkingpad: Split into 3x 30min sessions
- Mon/Wed chest order: Alternated to reduce machine changes
Removed
- Decline Crunches (MAX) from Friday
v14.6.3
Added
- Schedule for week of 2026-02-09 with Friday and weekend adjustments
Changed
- Friday: Replaced cable woodchoppers with dumbbell woodchoppers (4x10, bilateral)
- Friday: Replaced cable lateral raises with dumbbell lateral raises (both arms, 2kg, 3x15)
- Friday: Reduced heel taps timing to faster rep pace
- Saturday: Swapped to "Endurance & Kondition" with nature walk + rowing intervals
- Sunday: Swapped to "Combat & VR Day" with boxing + Beat Saber
- Weekend swap enables combining Saturday walk with shopping (shops closed Sundays)
v14.6.2
Added
- Schedule for week of 2026-02-02 with exercise refinements
- Face Pulls on Monday (rear delts, external rotators)
- Overhead Face Pulls on Wednesday (lower traps, overhead stability)
- Friday exercises: Knee Plank, Bird Dog for plank progression
- Friday frequency: Latziehen (3x/week), Beinbeugen Kabel (2x/week)
- Saturday: Blazepods reaction drills, rowing intervals
- Sunday: Beat Saber/VR now required (not optional) for 900 kcal target
Changed
- Increased reps from 12 to 15 on most exercises (Butterfly Reverse kept at 12)
- Friday restructured as "Core & Cable Strength" with Mon/Wed exercise overlap
- Saturday restructured as "Combat & Conditioning" (boxing moved from Friday)
- Sunday restructured as "Endurance Day" (walk 45-60 min + VR 30-45 min)
- Beat Saber description: Removed "Expert Level" → "Level nach Gefühl wählen"
- Decline Crunches moved to end of Friday as benchmark exercise
Removed
- Friday: Pallof Press (Christopeit cable height not adjustable)
- Friday: Boxing section (moved to Saturday)
v14.6.1
Changed
- Updated training schedule with bilateral rep counters for unilateral exercises
v14.6.0
Added
-
Password protection for private instances
APP_PASSWORD_HASHenv var for bcrypt password authentication- Dedicated login.php and logout.php pages
- Session management with configurable duration
- Logout button in menu when authenticated
- Graceful fallback to consent flow when no password set
-
Customizable branding via environment variables and config
APP_NAME- Custom app title (default: "Body Refactoring")APP_ICON- Path to custom icon/logo- Dynamic branding in splash screen, header, intro modal
- Color theming via Tailwind config in
app-settings.json
-
Secure schedule API endpoint
- All schedule access now routes through
schedules/index.phpAPI - Direct JSON file access blocked (
.htaccessfor Apache, nginx config for DDEV) - API respects
APP_PASSWORD_HASHauthentication when configured - GET
/schedules/returns list with URLs - GET
/schedules/?file=schedule-*.jsonserves schedule content
- All schedule access now routes through
-
Configurable schedule path
SCHEDULE_PATHenv var (default: "schedules")- Enables separate schedule directories for different instances
Changed
-
Renamed
trainings/directory toschedules/ -
Schedule schema v3 with date-based task filtering
customexercise type withcustomLabelfor user-defined badgesdateConditionfield for conditional task display:once: Show only on specific date (YYYY-MM-DD)weekOfMonth: Show only during specific weeks [1-5]weekParity: Show only in odd or even ISO weeks
dateDescriptionfield displayed as amber badge in UI- Date-filtered tasks excluded from day completion requirements
- Validator updated to support v3 schema
v14.5.0
Added
- Playwright e2e testing infrastructure
- Configured for DDEV local development server
- Default browser: Mobile Safari (iOS viewport)
- Configurable via
BROWSERSenv var (e.g.,BROWSERS=chromium,webkit) - Page Object Model pattern (
tests/pages/AppPage.js) - NPM scripts:
test,test:headed,test:debug,test:ui,test:report,test:all
- Comprehensive e2e test suite (58 tests across 10 spec files)
- App initialization and navigation
- Consent screen and intro modal flow with cookie/localStorage verification
- Exercise completion with localStorage persistence
- Exercise boundaries (day locking, confirmation dialogs)
- Rep counter full flow (2x5 reps @ 1s, 7s cooldown)
- Rep counter timing verification (4 reps @ 1.5s, 15s cooldown)
- Notes/logbook functionality
- Export/import data functionality
- Recovery and sick mode
- Mock schedule for fast, predictable tests
- Test categorization (quick vs slow)
- Quick tests (default): 54 tests, ~27s, suitable for PR checks
- Slow tests (
@slow): 4 tests involving real-time rep counter flows npm testruns quick tests only,npm run test:fullruns all
- Testing documentation (
docs/testing.md)- How to run tests
- Test architecture and file structure
- Adding new tests guide
- Consent/intro screen handling
Changed
- Test reliability improvements
- Replaced silent if blocks with explicit
test.skip()for proper reporting - Replaced XPath selectors with CSS
.filter({ has: })approach - Increased splash screen timeout (15s → 30s) for parallel test stability
- Added visibility assertions before interactions
- Replaced silent if blocks with explicit