TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: Time travel debugger for web development

681 pointsby jasonlaster11over 3 years ago

51 comments

jasonlaster11over 3 years ago
Co-founder here. It feels incredible to be sharing Replay with all of you. It&#x27;s been a labor of love the past five years!<p>Replay started off as a simple experiment in what would happen if we added a step back button and rewind button to the Debugger. We quickly realized two things. First, nobody uses breakpoints. Second, being able to share is so much more powerful than being able to rewind.<p>Here’s how Replay works today. Somebody on the team records a bug with the Replay Browser and shares the replay url with the team. From there, developers jump in and add print statements. The logs appear in the Console immediately so you don’t need to refresh and reproduce a thing.<p>Over the past year we’ve talked to hundreds of users, recorded 2.5 million replays, and worked incredibly hard to ensure Replay would be fast, secure, and robust from the get go.<p>Want to check it out? You can download Replay today. Can’t wait to hear what you think!<p>Interested in learning more, here is our announcement blog post <a href="https:&#x2F;&#x2F;medium.com&#x2F;replay-io&#x2F;launching-replay-the-time-travel-debugger-for-the-web-f886f0897d38" rel="nofollow">https:&#x2F;&#x2F;medium.com&#x2F;replay-io&#x2F;launching-replay-the-time-trave...</a>
评论 #28539981 未加载
评论 #28540516 未加载
评论 #28541862 未加载
评论 #28542235 未加载
评论 #28542065 未加载
评论 #28540527 未加载
评论 #28540503 未加载
评论 #28550663 未加载
评论 #28548406 未加载
评论 #28540217 未加载
评论 #28543509 未加载
评论 #28545142 未加载
评论 #28540480 未加载
评论 #28539947 未加载
评论 #28542713 未加载
评论 #28539955 未加载
LeonidBugaevover 3 years ago
For those who are looking to similar tooling in back end space, check<p>- <a href="https:&#x2F;&#x2F;undo.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;undo.io&#x2F;</a> (It can also support Golang <a href="https:&#x2F;&#x2F;docs.undo.io&#x2F;GoDelve.html" rel="nofollow">https:&#x2F;&#x2F;docs.undo.io&#x2F;GoDelve.html</a>)<p>- Mozilla RR <a href="https:&#x2F;&#x2F;rr-project.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;rr-project.org&#x2F;</a><p>- GDB <a href="https:&#x2F;&#x2F;www.gnu.org&#x2F;software&#x2F;gdb&#x2F;news&#x2F;reversible.html" rel="nofollow">https:&#x2F;&#x2F;www.gnu.org&#x2F;software&#x2F;gdb&#x2F;news&#x2F;reversible.html</a><p>Unfortunately, works only in Linux.<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Time_travel_debugging" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Time_travel_debugging</a>
评论 #28541166 未加载
评论 #28540731 未加载
评论 #28544748 未加载
评论 #28542325 未加载
评论 #28548146 未加载
ryansolidover 3 years ago
I am a JavaScript framework author, and was one of those fortunate to get early access and honestly it is the most useful tool I&#x27;ve ever used in the debugging space.<p>Sometimes things are complicated. Often there is a need to do digging to uncover the issue. Being able to move forward and backwards and even jumping between seemingly disjoint parts of the timeline are all at your disposal with Replay.<p>Replay has saved me hours of time. And that isn&#x27;t hyperbolee. On a couple occasions due to laziness and familiarity I&#x27;d do stuff the traditional way and be stuck still after hours (sometimes days) on the same bug. With Replay I was able to shorten that time to about an hour on even the trickiest of bugs.<p>So stoked to now have Replay available to others to help record reproductions of their bugs.
评论 #28540879 未加载
评论 #28543346 未加载
评论 #28540613 未加载
swyxover 3 years ago
That landing page looks right out of Bret Victor&#x27;s time travel demos (<a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=EGqwXt90ZqA" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=EGqwXt90ZqA</a>, or <a href="http:&#x2F;&#x2F;worrydream.com&#x2F;LearnableProgramming&#x2F;" rel="nofollow">http:&#x2F;&#x2F;worrydream.com&#x2F;LearnableProgramming&#x2F;</a>). Communicates the value instantly. Incredibly well done!<p>IMO the most time consuming issue in triaging bug reports is reproducing them. Replay definitively solves the &quot;can&#x27;t repro this&quot; problem.
评论 #28540261 未加载
评论 #28542549 未加载
theryanjduffyover 3 years ago
Engineer @ Replay here - If you&#x27;re a console.log kind of developer (isn&#x27;t everyone at least some of the time?), you should check this out. Imagine being able to add console.log() statements to code that already ran and seeing the results immediately! It&#x27;s a bit mind blowing the first time you use it.
评论 #28540245 未加载
评论 #28543847 未加载
georgewsingerover 3 years ago
If you&#x27;re interested in non-Javascript time travel debugging: pernos.co (which is layered over Mozilla&#x27;s rr time-tracking debugger) is an absolutely amazing tool which will save you days and days of wasted development time.<p>Pernosco&#x27;s tool is described pretty well on their website, but basically it allows you to view a program inside and out, forwards &#x2F;and&#x2F; backwards, with zero replay lag. Everything from stack traces to variable displays (at any point in time in your code execution) is extremely easy to view and understand. The best part is the lightning fast search functionality (again: zero lag).<p>On top of this: extraordinary customer service if anything breaks (in my experience, they fix bugs within 24 hours and are highly communicative).
gavinrayover 3 years ago
Through $DAYJOB, I happened to have a meeting with one of the founders of this company some time ago -- not about Replay, but about a &quot;How do you do this&quot; sort of question.<p>After prying for technical details, Replay came up, and I asked to see it out of curiosity.<p>Really blew my mind. Every once in a while a piece of technology comes around that doesn&#x27;t quite have an equivalent.<p>I could immediately see where being able to have your users or coworkers record bug reproductions or features and submit them in issues or PR&#x27;s would save monumental amounts of time.<p>Wishing Replay team best of luck, I was thoroughly impressed.
评论 #28540159 未加载
freediverover 3 years ago
Congrats on launching!<p>The good: I checked out the tool and seems to work as advertised. Also nice to see Replay browser based on a Firefox fork.<p>The bad (and this is more your marketing&#x2F;PR&#x2F;branding, not product):<p>- You require an account signup, OK. It&#x27;s a Google only signup, OK step over that. But it did not clearly mention that you this put me on a mailing list and surely 5 minutes after I signup, I get a random email to support a launch on product hunt.<p>- With the amount of engineering that went into it, I would expect you to be proud of the craftsmanship and your team. Instead the top of your website states you are proud of getting money from investors. This is more a vote against this trend, than your particular behavior.<p>- I was able to find the post &quot;How Replay works&quot; [1] which is the actual content addressing your target market. The post conveys 2000 characters of information and uses 4.3MB of data to do that for a signal&#x2F;noise ratio of 0.04%. It is the type of web obesity [2] that we are used to nowadays, so nothing new. Mentioning this only because you are a web engineering-centric company. Promoting the right values of web performance and engineering attention to detail is IMO important for a product talking to web engineers.<p>I realize this may come as unpopular&#x2F;beyond conventional wisdom but getting a different perspective is what HN is good for. Use the feedback at your discretion.<p>Props for making an innovative product and good luck!<p>[1] <a href="https:&#x2F;&#x2F;medium.com&#x2F;replay-io&#x2F;how-replay-works-5c9c29580c58" rel="nofollow">https:&#x2F;&#x2F;medium.com&#x2F;replay-io&#x2F;how-replay-works-5c9c29580c58</a><p>[2] <a href="https:&#x2F;&#x2F;idlewords.com&#x2F;talks&#x2F;website_obesity.htm" rel="nofollow">https:&#x2F;&#x2F;idlewords.com&#x2F;talks&#x2F;website_obesity.htm</a>
评论 #28543322 未加载
评论 #28545064 未加载
glass_of_waterover 3 years ago
I read the medium post (<a href="https:&#x2F;&#x2F;medium.com&#x2F;replay-io&#x2F;how-replay-works-5c9c29580c58" rel="nofollow">https:&#x2F;&#x2F;medium.com&#x2F;replay-io&#x2F;how-replay-works-5c9c29580c58</a>), which gives an overview of how Replay works, but there are a few things I still don&#x27;t understand.<p>1) How does the step backward functionality work? Do you take snapshots every so often of the Javascript environment? How do you handle destructive assignments?<p>2) Does Replay record actual syscalls made by the browser, or is it recording calls to the browser APIs by the javascript code (which I guess are effectively syscalls from the javascript code&#x27;s perspective)?<p>3) The ordered lock technique described in <a href="https:&#x2F;&#x2F;medium.com&#x2F;replay-io&#x2F;recording-and-replaying-d6102afee273" rel="nofollow">https:&#x2F;&#x2F;medium.com&#x2F;replay-io&#x2F;recording-and-replaying-d6102af...</a> makes sure that threads access a given resource in the same order, but what about threads accessing different resources in the same order? e.g. when recording, thread 1 accesses resource A before thread 2 accesses resource B. It seems like the ordered lock technique doesn&#x27;t help you maintain that ordering in the replay. Is maintaining that kind of ordering across resources not actually necessary most of the time?
评论 #28544578 未加载
评论 #28544461 未加载
jarilover 3 years ago
Replay employee here. Personally, I&#x27;m excited to see maintainers slowly phase out &quot;Please include steps to reproduce&quot; in issues, and replace it with &quot;Can you make a replay&quot;?<p>Partly because I want to see the product do well, but also selfishly as an engineer, because we&#x27;ve been dogfooding replay and it&#x27;s made squashing bugs 10x easier. Having somebody attach a replay to an issue makes that issue immediately better than an expertly-written one, which as an engineer, I can start debugging in seconds with minimal back-and-forth.
gregsadetskyover 3 years ago
I just learned about it here and tried it out on a small to medium-sized TypeScript React app. It worked right out of the gate! The original TypeScript files appeared in the Source browser. Time travel works. And the video replay too of course.<p>Really impressive. Will keep it around for sure to try debugging a real issue next time. Congrats on the launch and the great app!
billtiover 3 years ago
Looks very cool. When I&#x27;ve been working on native code on Windows, the WinDbg time-travel feature has been a magical experience that&#x27;s saved countless hours (<a href="https:&#x2F;&#x2F;docs.microsoft.com&#x2F;en-us&#x2F;windows-hardware&#x2F;drivers&#x2F;debugger&#x2F;time-travel-debugging-overview" rel="nofollow">https:&#x2F;&#x2F;docs.microsoft.com&#x2F;en-us&#x2F;windows-hardware&#x2F;drivers&#x2F;de...</a>). I expect and hope this will do the same for web development.<p>p.s. On some pages (e.g. <a href="https:&#x2F;&#x2F;www.replay.io&#x2F;pricing" rel="nofollow">https:&#x2F;&#x2F;www.replay.io&#x2F;pricing</a>), I only see the Mac download button, even though I&#x27;m running Edge on Windows.
评论 #28541364 未加载
jassmith87over 3 years ago
We&#x27;ve been using Replay heavily here for the past 6-7 months and it&#x27;s rapidly become the preferred way to do any form of debugging. Training our support staff to capture replays and submit them in tickets has made turn around time on bugs significantly faster.
frant1cover 3 years ago
I&#x27;m an engineer at replit and I&#x27;ve been using this to find and fix a bunch of nasty bugs. I love the sense of confidence this gives me. When I have the recording captured — I know for sure I can get to the root cause of the problem.<p>Replay also makes it easier to jump into a new codebase, I can see how things work.
CompuIvesover 3 years ago
Replay has been amazing for me to debug hard to reproduce issues like live collaboration issues. You just record the bug, share it with others, place some console.logs (after the fact!) and scrub through the recording to see where things went wrong.<p>Also nice side-effect is that it&#x27;s amazing to explore other code-bases, just being able to put a console.log somewhere to see how often it&#x27;s run when using an application is a lot of fun.
jalopyover 3 years ago
This looks fantastic. Can&#x27;t wait to try it out.<p>I want this to succeed, so I want the company to succeed. On that note I think you guys should change up your pricing.<p>Seems like there&#x27;s too big a gap b&#x2F;w the free forever (individual) and $20&#x2F;mo&#x2F;user for team.<p>I&#x27;d love to pay for this as an individual at a smaller amount - like $10&#x2F;mo - for a few extra features. Or maybe reduce the functionality of free forever.
评论 #28540742 未加载
parksyover 3 years ago
In my line of work I&#x27;ve found the most difficult issues to debug are asynchronous dependencies on API actions. How nicely does replay work with POST data, if I scrub back and forth will I retrigger POSTs or is the request&#x2F;response captured and emulated in the replays? If replay handles this nicely then I&#x27;m very very interested in adding it to our workflows.
评论 #28540446 未加载
评论 #28540062 未加载
评论 #28540042 未加载
alin23over 3 years ago
Man, I wish I could use something like this for my Swift macOS app [1]<p>I’ve got tons of crash reports in Sentry that I have no idea what to do about.<p>On things like:<p><pre><code> CFRelease() called with NULL </code></pre> replay could help me find where the heck that NULL came from as I don’t have any CFRelease call in my code<p>Or the more annoying<p><pre><code> BUG IN CLIENT OF LIBDISPATCH: Assertion failed: Block was expected to execute on queue [com.apple.main-thread] </code></pre> Like, how does that specific line run perfectly fine thousands of times and then every once in a while it decides it needs the main thread. I wish I could replay that traceback to see why the main thread is suddenly needed.<p>[1] <a href="https:&#x2F;&#x2F;lunar.fyi" rel="nofollow">https:&#x2F;&#x2F;lunar.fyi</a>
bichiliadover 3 years ago
Having played with Replay already, I have to say it feels nothing short of magic. I can&#x27;t tell you how much something like it would have made debugging weird issues in the depths of something like Webpack a whole lot easier.
Waterluvianover 3 years ago
This looks exciting and I’m going to give it a try.<p>For what it’s worth, if it helps with marketing: I am immediately skeptical that it’s going to be some mix of tedious to get working with my specific webpack dev server setup, be slow or unreliable, or never actually keep the state I need.<p>I’m hoping to be wrong on all of that. But when I scrolled the (beautiful) website, I would have loved to see some really nasty example in addition to the very elegant introductory “show don’t tell” example.<p>I want to see the first and think “okay I get it” and then be shown something really complicated to illustrate just how durable the tool is.
varroa_over 3 years ago
Can the creators describe this product&#x27;s advantage over FullStory and LogRocket? Also, it seems challenging to get this to work in production, since users wouldn&#x27;t consent to this level of monitoring.
评论 #28542094 未加载
z3j4eover 3 years ago
I would like to try it but sadly the only way to register an account is by using google. Thanks no.
评论 #28542404 未加载
slaymaker1907over 3 years ago
One thing I&#x27;ve thought would be useful to have is a combined debugger&#x2F;logging system. I work on SQL Server and we rely heavily on dumps to figure out what happened when something goes wrong. However, that only tells you what happened at a given point of time. Obviously recording all the system state over time would be too expensive and logs can be difficult to decipher due to their volume and lack of (explicit) connection with source code.<p>What I&#x27;d love to see is a logging framework which records the values of program specified variables while running as well as the current stack trace plus a monotonic time so you can piece together what happens through a thread of execution over time. However, unlike traditional logging, it would be connected to the source code like how a debugger works so you could mouse over a variable to see its state over time.<p>Honestly it&#x27;d be really cool with a tracing system like this to be configurable without modifying source as well. Maybe trace specific functions by noting the stack trace and arguments when invoked as well as the return value.
mellosoulsover 3 years ago
I love this, and apart from its intended purpose it seems like a potentially valuable learning tool for devs new to a language.<p>Years ago I used Adobe LiveCycle, a horrible &quot;low code&quot; enterprise framework foisted on us from far above.<p>One thing I always did like about it though was its replay tool which this reminds me of. I was always surprised it wasn&#x27;t more of a thing in the dev space, it seems very useful.
hibbeligover 3 years ago
At my job, we do Java, and it would be wonderful to have something like this. I litter System.err.println around the code then run it so I can better understand the behavior, so the idea of doing the equivalent in a recording would be awesome! I don&#x27;t know how my colleagues manage with a regular debugger, it&#x27;s like looking through a pinhole, you only see a tiny part of reality.
评论 #28542739 未加载
评论 #28555300 未加载
Rapzidover 3 years ago
It&#x27;s a shame Chakra was abandoned with old-Edge. Time travel debugging was baked in, and I believe VS Code had UI support for it.
otrahuevadaover 3 years ago
While I both love it and need exactly what it provides, I have to say I felt very disappointed when I clicked the CTA with a windows icon only to be greeted by a notice that it just isn&#x27;t there yet.<p>Would it be possible to communicate this by disabling the button and adding some kind of &quot;coming soon&quot; messaging straight to its right?
yaklyakover 3 years ago
VERY impressive. I downloaded it this morning and took it for a spin on my current project. I love how much you pack into this tool and make everything work seamlessly together. If those source files in the DevTools view are editable, I won&#x27;t need my IDE anymore! Thank you for bringing us this tool.
seelsover 3 years ago
Happy Replay user here. One of the most time consuming parts of bug triage and resolution is often just reproducing the bug in the first place. Replay helps us reproduce customer bugs and find their root cause much faster. I wish I had it in past roles.
desi_ninjaover 3 years ago
Windows has this for time travel debugging : <a href="https:&#x2F;&#x2F;docs.microsoft.com&#x2F;en-us&#x2F;windows-hardware&#x2F;drivers&#x2F;debugger&#x2F;time-travel-debugging-overview" rel="nofollow">https:&#x2F;&#x2F;docs.microsoft.com&#x2F;en-us&#x2F;windows-hardware&#x2F;drivers&#x2F;de...</a>. Visual studio also supports TTD <a href="https:&#x2F;&#x2F;devblogs.microsoft.com&#x2F;visualstudio&#x2F;introducing-time-travel-debugging-for-visual-studio-enterprise-2019&#x2F;" rel="nofollow">https:&#x2F;&#x2F;devblogs.microsoft.com&#x2F;visualstudio&#x2F;introducing-time...</a>
评论 #28543203 未加载
NiceWayToDoITover 3 years ago
Dan Abramov 2015 <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=xsSnOQynTHs" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=xsSnOQynTHs</a><p>But there was one earlier presentation I cannot find it, guy was showing live debugging of the video game. Not sure is it TED or one of conferences ...<p>Edit:<p>This is it:<p>Bred Victor: <a href="https:&#x2F;&#x2F;youtu.be&#x2F;EGqwXt90ZqA?t=1006" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;EGqwXt90ZqA?t=1006</a><p>2013 Future of programming <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=8pTEmbeENF4" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=8pTEmbeENF4</a>
评论 #28546648 未加载
ronyehover 3 years ago
Wonderful product! I do use debugger; statements a lot, but I&#x27;m also somewhat ashamed to admit that I love console.log()! :-)<p>Replay debugging is a huge step forward, and gives console.log() much more power.<p>Thank you!
exabrialover 3 years ago
Side note:<p>There used to be a product called &quot;Chronon&quot; back 10-12 years ago... The blog spammed Dzone and a lot of other websites and refused to pay for advertising. Their CEO encouraged people to stop writing log statements out and just run their debugger all the time. Looks like it&#x27;s defunct now: <a href="http:&#x2F;&#x2F;www.chrononsystems.com" rel="nofollow">http:&#x2F;&#x2F;www.chrononsystems.com</a>
评论 #28542430 未加载
rubyn00bieover 3 years ago
Isn’t this what was in Firefox for a while before it was ripped out and I guess made into a private company? I’m pretty damn bummed by this thing.
评论 #28542372 未加载
评论 #28551361 未加载
评论 #28541706 未加载
ShaneMcGowanover 3 years ago
How well does this play with something like Angular or React? I know there is a lot of internal logic going on in those apps
评论 #28540242 未加载
loganfsmythover 3 years ago
Very excited to see what folks here think. Replay has been a wonderful project to work on so far.
elwellover 3 years ago
Surely not as fully featured, but the general idea has been possible for ClojureScript Re-frame with: <a href="https:&#x2F;&#x2F;github.com&#x2F;day8&#x2F;re-frame-10x" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;day8&#x2F;re-frame-10x</a>
mrVenturesover 3 years ago
What are the differences from perforce&#x27;s time-lapse view? Or is it incomparable?
dorianmariefrover 3 years ago
I logged in then I couldn&#x27;t load my website, then it couldn&#x27;t show me a recording (not sure if it saved it), then it crashed.<p>IMHO having Firefox as a base is not a great idea, Chrome would be better and closer to what users use.
评论 #28543250 未加载
ggerganovover 3 years ago
What are the limits for the recordings in terms of time and input data size?<p>Edit: on Ubuntu 18.04 I get the following error:<p>$ .&#x2F;replay<p>.&#x2F;replay: &#x2F;lib&#x2F;x86_64-linux-gnu&#x2F;libm.so.6: version `GLIBC_2.29&#x27; not found (required by .&#x2F;replay)
评论 #28540635 未加载
yregover 3 years ago
Is it correct that to use this I need to download their app and then enter my Google password inside it?<p>How do I know it&#x27;s safe? Is there any other way to try it out?
dcdc123over 3 years ago
Hmm it seems I am required to sign up for an account before I can try it out. Either that or for some other reason I am missing the Record button.
评论 #28542125 未加载
edelhansover 3 years ago
This looks very cool! How well does this play together with browser APIs, specifically anything that uses the media source extension?
tiborsaasover 3 years ago
Today I spent maybe more than an hour tracing a bug that a screen I created turned inaccessible after a merge, tests died suddenly.<p>It turned out to be multiple cases, one was that a colleague changed a default export to a named one which excluded my screen. Another was an in an unrelated test which missed a React context wrapper so I needed to refactor her tests.<p>I don&#x27;t know what kind of magic debugging tool would help with these kinds of things.
评论 #28543327 未加载
jahewsonover 3 years ago
If this works in CI with Cypress then it’s a game changer. No more chasing down flaky tests that pass locally.<p>Genuinely excited!
评论 #28542397 未加载
ospiderover 3 years ago
It&#x27;s disgusting that I saw a captcha instead of video on the front page. Please consider not to use vimeo
jack_rimintonover 3 years ago
Perhaps a stupid question but is this only really useful if you console.log everything?
评论 #28540492 未加载
username3over 3 years ago
Can this show code coverage like WebStorm’s spy-js to show which code was executed?
评论 #28552061 未加载
junonover 3 years ago
I just get &quot;Replay has been updated - please refresh&quot; in an endless loop.
评论 #28541369 未加载
评论 #28540794 未加载
slugiscool99over 3 years ago
This is brilliant!
throwaway59553over 3 years ago
You guys have a download button for Mac OS X (apple logo), and you have a button with the Windows logo. But there isn&#x27;t a windows version yet as the pop-up tells me. And why isn&#x27;t there a linux button, if you actually have a linux version?
评论 #28540288 未加载