Surface logged time on meal entries, add fasting-friendly "since last meal" stat#268
Merged
Conversation
Each meal log entry now shows its actual logged clock time as the primary label (with the slot still shown as secondary context), and Today/Nutrition Day surface a live "since last meal" duration for fasting tracking, computed from the most recent meal event.
The lock had drifted from pyproject.toml (e.g. pinned fastapi==0.137.1 while pyproject.toml required ==0.139.0), and pip-audit flags a CVE in the pinned setuptools==82.0.1 (PYSEC-2026-3447). Regenerated via pip-compile --allow-unsafe --extra=dev --generate-hashes against pyproject.toml (pip-tools 7.5.3, Python 3.12, matching CI) to bring setuptools to 83.0.0 and resync all pins with pyproject.toml. Verified locally with the regenerated lock: hash-verified install, ruff, mypy, and pip-audit all pass clean. Could not run the full pytest suite locally (no timescaledb extension available in this sandbox for the hypertable migrations), so CI is the first full signal on that step.
d3mocide
marked this pull request as ready for review
July 19, 2026 22:59
d3mocide
pushed a commit
that referenced
this pull request
Jul 19, 2026
Rebases and combines three stale Dependabot PRs (#265, #266, #267) onto main after the requirements-dev.lock regen in #268: - litellm 1.91.0 -> 1.92.0 - uvicorn[standard] 0.50.1 -> 0.51.0 - tzdata 2025.2 -> 2026.3 Regenerated both requirements.lock and requirements-dev.lock via pip-compile (pip-tools 7.6.0, Python 3.12) to keep locks consistent with pyproject.toml. Verified locally: hash-verified install, ruff, mypy, and pip-audit all pass clean.
5 tasks
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.
Summary
RecentMealsCard, computed from the most recent meal event's timestamp, for tracking time since you last ate (useful for fasting). It refreshes every 30s and only renders when viewing "today" (gated via a newshowTimeSinceLastprop, passedtruefrom the Today page and conditionally from the Nutrition Day page when the selected day is today).fmtElapsedtofrontend/src/lib/format.ts— like the existingfmtMinutesbut omits the hour segment under 60 minutes (so it reads "12m" instead of "0h 12m") for a live elapsed-time display.No backend changes were needed —
MealEvent.ts(the logged timestamp) was already returned by the API and already ordered newest-first.Test plan
pnpm type-checkpassespnpm lintpasses (pre-existing unrelated warning inIngredientBuilder.tsx)pnpm testpasses (130/130)Generated by Claude Code