Repository navigation
Conversation
… all owned photos
…e workout details panel
…y and protected backup controls
…p export with synthetic data
…recovery safeguards
…ouching saved records
…verall rates and streaks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
User goal
Make Workout Tracker useful on a phone while preserving existing live Hostinger workout data. Add authenticated workout details/photo viewing and a safe way to export records with private photos.
Features
?photo=<24-char entry id>: central user-management authorization, per-user JsonStore lookup, exact saved photo reference, filename/path restriction, MIME and image validation, symlink rejection, no caching, and no client-supplied storage path.Live data protection
No live workout records were read or modified. No database migration or schema change. Existing user JSON, photos, record IDs, sessions, notes, timestamps and history remain untouched. Only application PHP/JS/CSS, tests and docs are in the branch. Existing edits remain locked and revision-checked.
Validation
Release and merge
GitHub Actions must pass. Use regular merge commit, not squash. Do not merge without explicit approval.
Follow-up: heart rate (BPM), added in v1.5.1
1 hr 15 minuteswith BPM or interpretingat 145 bpmas a treadmill speed.heart_rate_bpm(1–300) in manual entry, parsed review, edit, authenticated details, history summary, and exercise-specific trend charts. Treadmill/cardio display it by default; strength can use Show other measurements.Attendance and weekday streaks (v1.6.0)
67288d2f.