Skip to content

v0.9.5

Choose a tag to compare

@rosshanmohapatra rosshanmohapatra released this 18 May 17:23

What's new

iOS PWA

  • Safe area fix — bottom navigation no longer overlaps the home indicator / gesture pill
  • Top bar fix — mobile topbar no longer hides behind the Dynamic Island or Android status bar; height accounts for env(safe-area-inset-top)
  • Install prompt — first-time iOS Safari visitors see a medium-detent bottom sheet with a 3-step "Add to Home Screen" guide. App icon shown in header. Dismissed state saved to localStorage
  • viewport-fit=cover — both pages render edge-to-edge in standalone mode

Content gap fix

The blank gap below the topbar on all three screens (Overview, Dashboard, Settings) is fixed. Root cause: #appWrap padding-top was creating dead space in the layout flow (~84px total). Fixed by zeroing the page top padding on mobile.

Favicons & icons

  • Login/signup page was missing all favicon and PWA meta tags — now fixed
  • Theme-aware favicon swap wired into applyTheme() on the login page
  • All favicon and apple-touch-icon links use root-relative paths
  • Replaced SVG apple-touch-icon with a real 180×180 PNG raster

Sign-in loader

  • Fixed: success screen showed "Signed in!" and "Signing in with Google" simultaneously
  • OAuth sub-text now correctly reads "Signed in with {provider}"

Notification system

  • Added Forgot to stop tracking — fires 90 min past daily target while still logged in
  • Added Early leave achieved — fires on checkout when target is hit before 4 PM
  • Added Morning reminder — fires at 9 AM on workdays if no login yet that day
  • Updated notification banner copy: "Notifications are disabled." / "You may miss work hour alerts."

Node.js

  • Pinned to 20.x in package.json to prevent auto-upgrades on Vercel