Changelog

What’s shipped, written for the Specialist using it — not the engineer who built it.

  1. One morning summary, and delivered visits always reach a bill

    1.0.0-beta.54
    • Specialists no longer get a reminder the day before every visit. Instead, one summary arrives at 6:30 each morning there are visits: how many, when the day starts and ends, and how many families.
    • Pet Parents now get a notice when a visit starts and when it ends, with how long it ran.
    • If a visit has not been started 15 minutes after its time, the Specialist gets a nudge with a Running late option that tells the family the new time. At 45 minutes, PayPaw checks in with the Specialist and asks the Pet Parent whether the Specialist has arrived.
    • Visits that were delivered but never billed are now caught. Each night PayPaw closes visits left running long past their end and prepares the final invoice as a draft for the Specialist to review. Nothing is sent or charged until the Specialist sends it.
    • Lulu can send an invoice that already exists as a draft, after showing it for confirmation, and only for visits that have happened. When a Pet Parent asks her for a visit and something is wrong with the request, she now says what to fix instead of retrying the same thing.

    Two of these changes came straight from Specialists' days. A reminder for every visit had become noise, so it is now one summary in the morning. And a run of visits that were walked but never invoiced, some going back to July, showed that nothing noticed when billing was skipped. That gap is now checked every night. The final invoice it produces is always a draft: the Specialist reviews it, adds anything extra, and sends it. A handful of older reservations whose invoices had already been voided are not re-billed automatically; those are being reviewed one by one.

  2. Recurring drop-ins are the right length

    1.0.0-beta.53
    • Recurring drop-in visits were being scheduled as 30 minutes even though a drop-in is 20. New recurring drop-ins now get the same length as one-off ones, and the calendar, the close-out reminder and the end-of-visit check all use that one number.
    • Lulu uses the same default lengths when she creates a reservation, so she no longer guesses 30 minutes for a drop-in.
    • In the iPhone app (private testing): each item a Pet Parent taps opens its own saved conversation with Lulu, earlier conversations can be found again, and the morning summary leads with anything owed.

    The drop-in length came from two tables that disagreed: the one the reservation form showed and a separate one the server used for recurring visits. There is now one source. Drop-ins already on the calendar from before this release keep their old 30-minute window until they are corrected, and completed visits are left exactly as they happened. Setting a different default length per Specialist is not available yet.

  3. A watch on the stuck Lulu bar, and cards before words

    1.0.0-beta.52
    • On iPhone, the Ask Lulu bar could get stuck partway up the screen with no keyboard showing. PayPaw now notices when that happens and tries to put the screen back. It also records what led up to it, so the cause can be found. The underlying bug is not fixed yet.
    • When Lulu shows a card, such as a reservation or an invoice, it now appears above her reply instead of below it.
    • When Lulu cannot finish something she was asked to do, PayPaw now hears about it automatically instead of relying on someone to report it.
    • In the iPhone app (private testing): a Pet Parent quick-action menu that opens straight into Lulu, photos in chat, live refresh, and dark mode.

    The stuck Lulu bar has been reported several times and has been hard to pin down, because it happens intermittently and nobody can recall exactly what came before it. This release does not claim to fix it. It makes the bug observable: the next time it happens on a phone in the signed-in app, PayPaw tries to recover the screen and reports the sequence of taps and screen changes that led there. The report contains no typed text and no message content.

  4. Smoother Lulu in the iPhone app (private testing)

    1.0.0-beta.51
    • In the PayPaw iPhone app, which is in private testing, Lulu now writes her replies at the same steady pace as on the web and keeps bold text in place as she finishes.
    • Cards Lulu shows stay where they land instead of jumping, and buttons, chips and cards respond to a press.

    This release changed only the PayPaw iPhone app, which is still in private testing and not yet in the App Store. Nothing changed on paypaw.app. It is listed here so the history of every release is complete.

  5. Training sold as a package, and a calmer way into Lulu

    1.0.0-beta.50
    • Training can be sold as a program: one price for the outcome, a deposit the Pet Parent pays on acceptance, and a payment schedule the Specialist sets. Each installment is invoiced automatically on its due date, so the Specialist does not have to remember to send it.
    • Sessions are drawn against the program, so moving one never touches the money. After any session the Specialist can assign homework, and the Pet Parent marks it done and writes back.
    • On an iPhone, tapping Ask Lulu no longer flashes the keyboard on the way into the chat. A related problem, where the Ask Lulu bar could still end up stuck partway up the screen, was not fully fixed by this release (see beta.52).
    • This page. Every production release now has its notes here, starting with beta.46.

    The training program is the first thing in PayPaw priced for an outcome rather than a visit. A Specialist names the program, the result it is for, and the total. The Pet Parent accepts and pays the deposit, and the balance arrives on the schedule the Specialist chose, invoice by invoice, without anyone keeping a calendar of who owes what. Sessions and homework sit inside the program, so the question of what has been paid and the question of what has been done stay separate, which is how a trainer thinks about the work anyway.

    The Lulu change addressed a keyboard that appeared when it was not wanted. It fixed the flash, but the stuck-bar symptom it was also meant to cure came back intermittently afterward, so it is not described here as fixed.

  6. Scrolling restored on the public site

    1.0.0-beta.49
    • Scrolling works again on the public pages. For about a day and a half, a mouse wheel or a swipe did nothing on the home page and the Specialists page. Anyone who opened a PayPaw link in that window and found the page stuck was seeing this bug.
    • Lulu on iPhone: Close returns to the previous screen, and the keyboard no longer pushes the conversation out of view.

    A fix for a mobile layout problem, shipped on September 22, quietly broke scrolling on the public site. Keyboard scrolling still worked, as did every screen inside the app, which is why it took a day and a half to surface — none of PayPaw's automated tests scrolled a page the way a person does. It is fixed, and a test that scrolls the way a person does is now part of the suite.

  7. Local time, intact notes, and the Specialist's name first

    1.0.0-beta.48
    • Agendas show visit times in the Specialist's local time. Several views were rendering UTC, so a visit could read at the wrong hour. Every instance found is fixed.
    • Care and behavioral notes keep their shape. Paragraphs and lists were being flattened into one block; they now render as written across the timeline, the drawers, and the pet profile.
    • Texts to a Pet Parent lead with the Specialist's name instead of PayPaw's.
    • Lulu can create, confirm and change reservations, several at once, and she understands recurring visits — a Pet Parent asking when the next visit on a subscription falls gets a real answer.
    • A first payment no longer depends on one email arriving. An invite can be claimed with an emailed code, a payment email can be resent, and the Specialist can copy the link and send it directly.

    Three of these surfaced during real walks, and they share a theme: PayPaw had the right answer and displayed the wrong one. The agenda held the correct visit time and printed it in UTC. A note typed with paragraphs and lists rendered as one wall. A Pet Parent received a text about their pet with PayPaw's name in front instead of the Specialist's.

    The last one matters more than its size suggests. A message to a Pet Parent comes from the Specialist — PayPaw is the plumbing, and plumbing does not introduce itself.

    On phones, Lulu's chat has been rebuilt on a frame that holds steady as the keyboard opens and closes, and the dashboard no longer drags sideways during a downward scroll.

  8. Dose reminders that arrive on time

    1.0.0-beta.47
    • Medication reminders follow the Specialist's own clock. For anyone working outside UTC, dose reminders had been landing hours off — or not arriving at all. That is fixed.
    • Every email PayPaw sends on a Specialist's behalf carries their business branding, and subject lines lead with the pet, then the time, then the amount.
    • Reminder notices name the real visit time instead of a generic "in 2 hours".
    • Payout amounts appear in the right currency, and a covered visit credits the Specialist who covered it.

    The dose reminder fix is the one worth knowing about. Reminder windows were being built in UTC rather than in the Specialist's own time zone, so for any Specialist working outside UTC a dose-due or dose-missed reminder could land hours late or never arrive. Reminders are now built against the pet's Specialist time zone.

    Alongside it, a full pass over every notice PayPaw sends. More than thirty emails that used to go out as plain text now carry the Specialist's branding, subjects follow one consistent shape — pet, then when, then how much — and push titles say what happened rather than who is sending the notice.

  9. Notifications that repair themselves, and a steadier Lulu

    1.0.0-beta.46
    • Push notifications repair themselves. When a browser or phone quietly drops its subscription, PayPaw re-subscribes the next time the app opens — and notifications a Specialist turned off on purpose stay off.
    • Cancelling a visit on an invoice that has not been sent yet now edits the draft instead of creating a credit.
    • Lulu opens full screen on mobile instead of in a cramped panel.
    • Lulu conversations survive a reload or a dropped connection, a reply can be stopped mid-sentence, and older messages scroll back.

    Most of this release is about notifications Specialists were supposed to be getting and might not have been. Browsers and phones drop push subscriptions on their own — after an update, after a long stretch with the app closed — and until now nothing signaled that it had happened. PayPaw now notices and reconnects on its own, while leaving a deliberate opt-out alone.

    The rest is Lulu, steadier in the places she was least steady: on a phone, and across a dropped connection.