Bugs
Open and resolved bugs across all Ridgeway products
Card Freeze LagSupport deskFour customers so far, all on an iPhone 11 or older. First tap animates but the card stays active until they tap it again.Ben Ito A control that animates without doing anything is worse than one that looks dead, because people believe the animation. Testing on the older handsets now.Keys Look IdenticalA platform engineerBoth are 32 characters starting lk. I've pasted the wrong one into production more than once and I won't be the last.Ben Ito Clear enough to act on, and it is our design rather than your carelessness: two keys that look the same and do very different things will be confused, reliably, by careful people. Looking at a visible prefix on the test key now.Rate Limit HeadersPlatform engineerDocs say 1,000 a minute. X-RateLimit-Reset comes back about 47 seconds out, so our backoff fires early or late and we can't tell which until it's too late.Dmitri Novak A backoff that can't trust the reset header is worse than no header at all. I'm checking whether the window is sliding where the docs call it fixed. One of the two is wrong and we'll tell you which.Signature Pad SmallDepot managerOn the smaller handsets the signature box is about a third of the screen and drivers are being told their signature is unreadable. In gloves, in the rain, it is not really a fair ask.Photos Look Washed OutA studio ownerClass photographs upload noticeably paler than the originals. It is subtle on a phone and obvious on a decent screen, which is unfortunate for a ceramics studio.Carmen Ruiz That usually means the colour profile is being dropped when we resize, which would explain why it is subtle rather than dramatic. Checking.Depot Filter SlowPlanning deskSwitching depots on the run list takes about twelve seconds on our Hamburg depot, which has roughly 400 active runs. The smaller depots are instant.Dmitri Novak Twelve seconds against instant on a smaller depot points at something that grows with the number of runs rather than at the network. Profiling it against a copy of your Hamburg data.Search Misses PayeesSupport deskSearching a payee by their reference finds nothing. It only matches the name, which is the half customers are least likely to remember for a utility company.Dmitri Novak Fair point that the reference is often the memorable half. Checking what the search actually covers rather than assuming.No Cancel EmailsA customerI cancelled Tuesday evening and three people turned up anyway. I now message everyone by hand to be safe.Chart Ignores TimezoneA customerOur account is set to Europe/Madrid and the daily chart clearly breaks at midnight UTC. Every Monday morning looks like a Sunday evening.Dmitri Novak A chart that buckets on a different day boundary from the account is quietly wrong in a way people plan around, so thank you for pinning down which midnight it is using. Checking whether the export does the same.Catalogue Search SlowAn imagerTyping a target name takes about two seconds a keystroke once the full catalogue is loaded. On a cold night with gloves on that is genuinely painful.Ben Ito Two seconds a keystroke means we are searching the whole catalogue on every letter rather than narrowing what we already have. Looking at it now, and gloves on a cold night is exactly the context we should be designing for.Timestamps Lack ZonePlatform engineerStop times come back as 2026-08-11T14:30:00 with no zone and no Z. We have assumed UTC for a year and I have never been able to confirm it from the docs.Ada Whitfield You should not have had to assume, and the fact that you have been right for a year does not make it safe. Confirming what the field actually holds before we answer, because the honest answer might be that it varies by endpoint.Filters Reset on BackSupport deskSet a date range and a category on the statement screen, open a transaction, press back, and both are gone. Reported by three customers this week, all of whom were reconciling something.Ferry Legs IgnoredPlanning deskAny route with a ferry crossing is costed as if the lorry drove it. Dover to Calais comes back as ninety minutes of driving, so the whole day's plan is wrong from that point on. We run four crossings a week.Dmitri Novak Four crossings a week means this is not an edge case for you, it is Tuesday. Reproduced immediately with Dover to Calais.Export Times OutA finance managerA full year export fails after about ninety seconds with nothing on screen except a spinner that stops. Quarterly works. We need the year for our audit.Ben Ito A spinner that stops is the worst possible failure message, because you cannot tell it from a slow one. Two things to fix here and we will do both.Lost After FlipA customerIt re-acquires eventually but the exposure is ruined, so a two-hour sequence loses about twenty minutes.Photos Upload TwiceDepot managerProof-of-delivery photographs taken while offline appear twice once the phone finds signal. Our back office is deleting duplicates by hand every afternoon.Ben Ito Somebody deleting duplicates by hand every afternoon is a cost we can put a number on. Straight into this sprint.Signed Out Mid-PaymentSupport deskIf a customer takes more than about eight minutes over a new payee, they are signed out on the confirm step and lose everything they typed. Older customers hit this constantly because they check the account number against a letter twice.Carmen Ruiz A timeout that punishes people for being careful with an account number has it exactly backwards. On it.Dark Mode Too BrightAn observatory volunteerDark mode is dark grey, not red. Any light at all costs me my night vision for twenty minutes, so I end up covering the screen with a cloth.Dmitri Novak Covering the screen with a cloth is a strong sign the dark mode is not doing the job it exists to do. Agreed.Refunds Hold SeatsA customerRefunded two tickets and the show still showed sold out, so we turned away walk-ups for seats we had.Basket Holds Too LongA box office managerSomeone puts four tickets in a basket, wanders off, and those seats are gone for twenty minutes. On an on-sale that is the difference between selling out and not, and we cannot see who is holding what.Carmen Ruiz Twenty minutes is far too long for a busy on-sale, and not being able to see the holds is arguably the bigger half.Wrong Order DatesSupport deskCustomers ring thinking a payment has gone out twice. It hasn't. The date label is just stale until the app restarts. About forty calls last week.Ben Ito Forty calls is the cost, so this goes to the front. Reproduced by leaving a build open past midnight.Optimiser Times OutOperationsPast roughly 60 stops it spins for two minutes and returns a 504. We plan a 90-stop run every Monday, so we're doing it in halves and stitching them together, which is worse than not optimising at all.Dmitri Novak That threshold is exactly what we needed. Reproduced at 64 stops here.Printed QR FailsA customerPhone tickets are fine. Printed ones under our foyer lights take three or four goes, and on a full house that builds a queue out of the door.Ben Ito Fixed. Printed codes render at higher contrast with a wider quiet zone, which is what your scanners were struggling with under warm light. Anything printed from today scans first time.Double BookingsA customerTwice this month now. Both get a confirmation, both turn up, one goes home.Ben Ito Someone travelling to a class that isn't happening is the worst version of this, so it goes above the queue. Sounds like the availability check and the write aren't in one transaction. Looking now.Webhook Retry StormA customerA 3-second response gets six retries inside a minute, which turns a slow endpoint into a dead one.Dmitri Novak Fair, and it's our own doing. Retrying hard is exactly the wrong response when the signal is slowness rather than failure, so we're turning a slow endpoint into a dead one for you. Moving to exponential backoff with a longer first wait.Balance Lags PaymentsSupport deskA customer pays someone, the payment appears in the list, and the balance at the top still shows the old figure for anything up to a minute. Several have told us they thought the payment had failed and sent it again.Ben Ito People sending a payment twice because we showed them a stale number is the expensive version of this, and it will be in the duplicate-payment figures your team already tracks. Treating it as urgent.Totals Miss RefundsA finance managerThe figure on the dashboard and the figure in the export disagree by exactly our refund total for the period. I have had to explain the difference to our auditor.Ben Ito Two numbers that should agree and do not is the worst kind of bug on anything financial, because the wrong one still looks right. Straight to the front.Battery Gone by TwoDepot managerDrivers on a full day arrive back with a flat phone. It started with the version before last. They are now carrying power banks, which they should not have to.Carmen Ruiz Drivers buying their own power banks to work around us is the same shape as the photographs on personal phones. We will treat it the same way.Webhooks Arrive TwicePlatform engineerRoughly one delivery in two hundred fires twice with the same event id. We have made our side idempotent so nothing is broken, but we found out the hard way.Ada Whitfield You should not have had to find that out the hard way, and our documentation should have said at-least-once rather than implying exactly-once. Both parts are being fixed.Times Wrong AbroadA studio ownerA student in New York booked our 7pm Wednesday and arrived for what she thought was 7pm her time. The confirmation email showed our time with no timezone on it at all.Carmen Ruiz A time with no timezone beside it is not a time, and this is the second report of somebody travelling on the strength of one. Fixing it properly rather than adding a label.Sequences Stop OvernightAn imagerSix-hour sequence, machine on mains, and I come down to find it stopped at about two in the morning with the screen asleep. Caffeinate keeps it going, which rather suggests the app should be asking for that itself.Ben Ito You should not have to know what caffeinate is to leave a sequence running, and the fact that it works tells us exactly what is wrong.