miracle.fyi Log in →
355 updates and counting.

Still Showing Up

Product updates from miracle.fyi. Small steps, most weeks.

One short email when something meaningful ships. No streaks required.

Mobile stays at normal size

Miracle now stays at its intended size in both installed mobile experiences. Pinching or double-tapping the page no longer enlarges or shrinks the interface.

  • The mobile PWA shell locks its viewport before first paint while public and marketing pages keep browser zoom.
  • The iPhone app locks the WKWebView scale and pinch recognizer before remote content loads, closing the first-gesture race.
  • The native offline fallback uses the same fixed-scale contract.
  • Scrolling, task-sheet gestures, and the Vision image-framing controls remain available.
  • The iPhone app and widget advance together to native build 4.
  • The production live verifier now retries bounded transient network failures instead of forcing a duplicate release cycle.

Stake details stay clean

Opening one Habit Stake now shows the selected enrollment and billing activity as clean detail rows instead of surrounding both records with permanent blue boxes.

  • The page still filters to the exact stake and marks the current record for assistive technology.
  • Unrelated stake and billing records remain hidden.
  • Buttons retain normal browser keyboard focus without making the entire row look selected.
  • No payment, charge, dispute, or stake-ending behavior changed.

Mobile zoom always comes back

The iPhone app now preserves both directions of a pinch gesture. If the screen is enlarged accidentally, pinching out returns Miracle to its normal scale instead of leaving the interface stranded.

  • The native Capacitor shell explicitly enables reversible WKWebView zoom.
  • Browser and PWA accessibility zoom remain available.
  • The app and widget advance together to native build 3.
  • New native contracts prevent the one-way zoom setting or mismatched build numbers from returning.
  • A fresh iPhone simulator build installed and launched successfully.

Superseded by v5.8.22: Installed mobile page zoom is now intentionally disabled in both the PWA and iPhone app.

Screen area capture opens reliably

Area of screen capture now moves directly from Chrome's Share picker into Miracle's local crop editor, including on macOS where minimized capture windows may not present hidden video frames.

  • Miracle freezes one frame directly from the selected screen track instead of waiting for a hidden video element to render.
  • Initially muted screen shares wait safely for Chrome to make pixels available.
  • A decoded-video fallback keeps older or unusual capture devices working without depending on compositor callbacks.
  • Every path still stops screen sharing before the crop window returns, uploads nothing before selection, and releases the frozen bitmap immediately after drawing.
  • New regression tests cover minimized windows, delayed unmute, fallback capture, ended tracks, cleanup, crop interaction, and the packaged extension.

Test accounts open and delete again

Admin onboarding tests now follow one reliable lifecycle from creation through expiry, restart, launch, and deletion. An expired test is labeled clearly, cannot be opened accidentally, and keeps both Start over and Delete available.

  • Cleanup now classifies every current account-linked table as disposable test data, retained immutable evidence, or a hard safety blocker.
  • Billing records, outbound delivery snapshots, AI-cost accounting, and permanent inbox-address reservations are never erased to make cleanup pass.
  • The one historical synthetic Community membership that trapped the expired test is removed only when exact identity, profile, activity, social, and billing checks prove it untouched.
  • Sandbox inbox aliases can no longer be allocated, reconciled, or resolved, including after a test is restarted.
  • Structured errors now explain when protected evidence stops deletion, while preserving every safety boundary.
  • Fresh PostgreSQL tests now exercise the complete production schema and the full expired restart, launch, and delete path.

Focus fits In Progress

The In Progress header now reads as one compact control row. Its item count sits beside the section name, while Focus remains a visible verb on every screen size.

  • Phones now show Focus, Resume, and the live countdown instead of an unexplained play icon.
  • Focus, Add, and disclosure keep separate 44-point targets without changing position between states.
  • The live countdown uses practice gold while ready and paused actions stay blue.
  • Screen readers hear whether the action starts, resumes, or opens focus for the actual task.
  • Home and To-Do share the same reviewed header from 320-pixel iPhones through desktop.

Sign in with the right account

Signing in with the wrong email no longer makes Miracle look unlocked. Public pages now show just Log in until the account is entitled, while members and protected pact users still see Open the app.

  • Pricing is a focused sales page. It no longer displays email identity, data export, or account utilities inside the offer.
  • An unpaid identity cannot enter the private app or create financial pact setup access.
  • Try another email securely ends the restricted session and starts a fresh WorkOS sign-in.
  • A separate private Account recovery page handles starting or restarting membership, Stripe billing, and data export.
  • Stale callback links fail closed and never falsely claim that the visitor is signed out, locked, or entitled.
  • OAuth state expires after ten minutes, native PKCE is required before token exchange, and failed callbacks revoke newly issued sessions.
  • Phone and desktop headers keep one stable action slot: Log in or Open the app.

Forwarded files stay with their tasks

Forward an email to Miracle and every visible attachment now stays with the resulting to-do in its original order. Supported PDFs, images, and text files help Miracle identify the actual company, amount, and next action instead of guessing from the sender alone.

  • Files are encrypted before durable storage and appear as compact tap-to-download rows on the task.
  • Attachment content is treated as untrusted evidence. Instructions embedded inside a file cannot change routing, send messages, run commands, or override your request.
  • Unsupported or unreadable files still stay with the task and are clearly labeled rather than silently dropped.
  • Retries, duplicate files, empty files, account export, storage limits, and retention now share one atomic attachment contract.

Capture any area of your screen

Choose Area of screen, select a monitor in Chrome, then draw a box on a frozen local still.

  • Screen sharing stops before cropping, and only the selected pixels are uploaded after Send selected area.
  • Plain capture labels now distinguish browser tabs, areas within a tab, screens or app windows, and areas of a screen.
  • The crop window stays out of its own still, preserves the chosen task-list destination, supports keyboard selection, and safely handles high-resolution displays.

AI costs become accountable

Miracle now records every billable AI attempt before it reaches a provider, then reconciles completed calls with exact fixed-point pricing. The owner-only AI costs page turns that ledger into a compact financial view without storing prompts, task text, audio, files, or model responses.

  • Compare today, the rolling seven days, and month to date, with app-attributed spend, provider-reported control totals, and request counts.
  • Review 31 days of cost history and break spend down by model, product feature, and account.
  • See month-to-date AI cost in the user directory and daily, weekly, and monthly cost in each account detail.
  • Audit every reviewed AI call site, configured model path, and metered provider family from one place.

Provider reports come from an isolated billing sync and fail closed when a report is incomplete or stale. If provider Admin credentials are not configured, the page says Sync needed instead of inventing a total. Per-user history begins with this release because earlier calls cannot be reconstructed safely.

Stay in the loop

Small steps, most weeks.

Start my 14-day trial →

One short email when something meaningful ships. No streaks required.