live: focus with me / lofi introvert radio
Chapters6
The host welcomes viewers, returns from a break, and outlines that they will cover new engine progress and various topics during the stream.
Nuno Maduro demos a blazing-fast testing engine (Tia) for Past PHP v5 and shares live progress, prizes, and challenges from a busy co-working stream.
Summary
Nuno Maduro hosts a long, caffeinated co-working livestream where he unveils top-secret plans for Past PHP v5, including a new engine called Tia designed to run tests instantly regardless of suite size. He walks viewers through a live demo on Pinkoi, runs composer updates, and showcases how Tia builds a dependency graph to only rerun tests affected by code changes. Along the way, he teases a Laracon US appearance and weighs branding options for the feature (naming it something punchy like 'Lumen' or 'Plash'). The chat buzzes with questions about debugging, multi-stream tooling, and real-world performance, while Nuno toggles Cloud Code flags and documents recurring bugs to fix. He also plugs Pow, Cloud Code, and upcoming YouTube videos, and drops fun updates about PHPVerse 2026 and a TanStack interview next week. The stream blends live coding, product strategy, and community Q&A, creating a candid, behind-the-scenes look at building a cutting-edge PHP testing ecosystem.
Key Takeaways
- Past PHP v5 will feature a new engine named Tia that aims to render test suites instantly by recording a dependency graph and rerunning only the affected tests.
- Early demos show Tia reducing a test run from around 11 seconds to under a second on some baseline scenarios, with the first run rebuilding the graph and later runs being dramatically faster.
- Nuno discusses branding and marketing concerns for the feature, suggesting names like 'Lumen' or 'Plash' to replace the technical term 'test impact analysis' as the marketing hook.
- Cloud Code is used to simulate regressions and validate caching behavior, with live debugging of a failing test and notes on when re-runs should occur (e.g., missing files invalidate the cache).
- Pow is highlighted as a growing package (200k+ downloads) and is being considered for inclusion in the Laravel skeleton, signaling strong ecosystem momentum.
- Nuno teases Laracon US stage demos and a top-secret feature reveal, while also pointing to a suite of new YouTube videos and a PHPVerse 2026 appearance.
Who Is This For?
Essential viewing for Laravel/PHP developers who want to understand next-gen test tooling, live-coding workflows, and how to optimize large test suites. Also valuable for team leads and tooling engineers evaluating Pest, Past PHP, and new engines like Tia for CI efficiency.
Notable Quotes
"Top secret information. Nobody knows about this, and you guys won't share it publicly."
—Nuno introduces the top-secret nature of the Past PHP v5 engine and its Laracon US demo.
"I am about to develop the fastest testing framework in the planet."
—Nuno explains the ambition behind the new testing engine.
"This will basically record the graph from the beginning, I think. And now, it should be instant."
—First live demo of the Tia engine showing instant test runs.
"Top secret information, okay? Literally run instantly, okay?"
—Reiterating the speed promise of the new engine.
"What did you do in Canada?"
—Casual chat detail to personalize the livestream (not technical, but part of the flow).
Questions This Video Answers
- How does the new Tia engine achieve instant test runs in Past PHP v5?
- What is test impact analysis and how does it optimize test suites in Pest?
- Can you share details on how to use Cloud Code to validate caching and regressions in a live coding session?
- What are the branding considerations for the new Pest engine and what are possible marketing names?
- When is PHPVerse 2026 and who is hosting or presenting this year?
Past PHPPast PHP v5Test toolingTest impact analysisTia enginePestLaravel CloudPow (Laravel package)Cloud CodePHPVerse 2026
Full Transcript
What's up, beautiful PHP people? How everyone is feeling today? Welcome back to another live stream. Excited to see you all after literally almost 2 weeks off of live stream. I told you guys, I actually have been in Canada for 2 weeks. How everyone is feeling today? Excited to see you all, man. Today we are going to grind a little bit on past PHP, but excited to see you all. Joshua, what's up? Nice to see you, man. How you doing yourself? Only beautiful people as usual. Joshua Sawatzky, GTC Meg, what's up, dude? Ceddyus, how you doing, man?
SeerVie H HD Marek, how you doing, dude? Nice to see you. Only beautiful people here today. Gulian, what's up from TikTok? How you doing? Today we have exciting news, chat. Exciting news. There's literally a bunch of topics I haven't talked to you already, so we are going to just talk about all of that as well. 2198, what's up, dude? Nice to see you. Welcome to the live stream. Exano, how you doing? My day has been fantastic, dude. It was leg day today, you know. Uh but uh you know, work wise also fantastic. I'm making a lot of progress on this new feature that I want to show you, by the way, okay?
I want to show So, let me actually start with that. Uh ba ba ba ba ba ba ba. I have a bunch of stuff open at the minute. Want to start with that? Yeah, let's actually start with that, okay? So, top secret information, okay? From this point, everything I'm going to tell you, it's like top secret information, okay? I am literally developing a new engine for past V5. This will be demoed at Laracon US on stage, and I'm preparing already the work for Laracon US, okay? Again, top secret information. Nobody knows about this, and you guys won't share it publicly, okay?
Remember, write on the chat. Write on the chat um I promise if you all want to share this uh publicly, okay? Well, but the goal is the following, okay? I am about to develop the fastest testing framework in the planet, okay? So, in the past, we have made already progress with past PHP V3, if I'm not mistaken, by introducing parallel testing built-in, so that we have made that already. Now, with past five, I'm going to actually introduce something that will make your test suite run instantly, no matter how big it is, okay? And I can actually demo that to you real quick.
Let's actually actually go to this Pinkoi project I have, which I'm not even sure it's in Oh, it is, okay. I do need to double-check something first. 1 second. Uh do I have dev tier here? I do, okay. All right, let's just do the following. Let's actually run composer update here to see if I'm using the latest version of past PHP. I should, but just in case. Uh ba ba ba ba ba ba ba. Composer update with this beautiful ignore uh Imagick, cuz I don't have that locally. I have never figured out how to actually install that with Herd.
I don't know if you guys have done that already, but I have not, okay? Riva, what's up, dude? Nice to see you. By the way, chat, I want to hear from you. What are you guys working on today? Today will be a co-working stream, okay? Co-working stream. So, you guys need to share with me what are you guys doing today. Hopefully something interesting. But yeah, I want to demo this to you real quick. Uh ba ba ba ba ba ba ba ba ba ba ba. So, here's the plan. So, if I run vendor been past parallel okay, on pinkoi.com, this should take about, I don't know, 12 seconds, I guess.
Probably 20 seconds. Well, it's okay, 7 seconds, up to 8 seconds, okay? Okay. Now, I'm going to show you this with Tia, which is the new engine, okay? So, we have this running in 10 seconds. Let's type parallel {dash} {dash} Tia, okay? The very first run will be a little bit different from the usual, okay? Because we'll basically record the graph from the beginning, I think. Yep. And now, it should be instant. Here we go. Okay? This is what I'm working on for past five. Top secret information, okay? Literally run instantly, okay? So, this is like no matter how big your testing framework is, your test suite is, it's supposed to be running instant, okay?
Let me know what you think about this. I think it's absolutely fire. Um I have run tests on Laravel Cloud already, so Laravel Cloud test suite is insanely slow, okay? It's insanely slow. It's a super slow locally, super slow on the CI. It's barely you know, people don't like it anymore because it's just so slow. So, the goal with Tia, this new testing engine, is make it like insanely fast, okay? Top secret information, okay? Top secret information. Let me know what you guys think about this in general, okay? Genc Idrizaj is saying the following, "I'm debugging my missing class from class map composer after the PHP 8.5.5 upgrade.
Took me already the whole day, but I found that the issue was under the vendor." Oh my god, I'm sorry, dude. Um you know, I actually don't debug as much like I used to. I feel like in the past, I I used to debug a lot, like constantly, but now, for some reason, I just use Cloud Code, and can it it just finds the reason like instant, you know? So, I don't have to do much, so. [snorts] SeerVie HD is saying the following, "I'm working on a multi-stream tool, which unifies the chat, custom commands, etc." That would be actually very cool, dude.
If you can find a web page that shows me YouTube chat, Twitch chat, Twitter chat, TikTok chat, like all of the streams, because I'm streaming right now to like 10 different platforms, okay? LinkedIn, uh you know, Kick, all these various platforms. And right now, if you can find me something that really just works for everything, I would really appreciate that, okay? Marek is saying the following, "Oh, looks great, dude." Thank you so much, man. What did you do in Canada? Uh I mainly worked, basically, uh but I was also like some personal things uh that I don't I don't want to share on stream.
Nikola Ristic is saying the following, "Hello, Nuno. Hello, everyone. Nice to see you, dude. How you doing?" Super Nuno is saying the following, "What do you think about vibe coding on TikTok?" I think vibe coding is awesome. I'm using vibe coding all the time. Uh so, we are going to vibe code today, too. In fact, so there was you know, everyone uses vibe coding. Everyone, like, okay? Um if you're not vibe coding already, you probably should. [gasps] And you're missing out if you're not using Cloud Code and all those various tools, okay? Yum yum yum yum yum yum yum yum yum.
So good. So good. So good. So good. How did you manage to accomplish that? I mean, in that kind of speed. Okay, that's a very good question. There was a lot of work, I won't lie. Like, the pull request currently, let me just show you. The pull request currently is it's just massive at the minute, like, 66 files changed. And that is like a bunch of stuff. As you can see, 9,000 lines of code, okay? But what it does is that it uses a coverage driver to build um dependency tree of your test suite. So, if you change one line of code, it will only run the to the tests that are affected by that line of code.
But does this in a very smart way, so things like Blade just works, uh Inertia just works, uh you know, even JavaScript [ __ ] works, so. It's awesome, okay? It's absolutely awesome. Nathan Matthis is saying the following, "Hello from Brazil. I'm currently studying Pest Cashier, awesome package." By the way, chat, we need to speak about Brazil, okay? I will be in Brazil next week. Let me actually talk about that real quick. Bam bam bam bam bam bam bam bam bam bam bam. Here we go. PHP Brazil, are you [ __ ] ready? Because on there will be three events in 4 days happening next week.
Literally on May 6th, we have Laravel Day SP. We have May 7th with PHP SP. And May 9th, which is my birthday, by the way, PHP Day SP happening as well with a bunch of speakers. So, if you got Literally these two first these two first events, like, this event right here and this event right here, they are sold out already, okay? May 6th and May 7th, they are sold out. 150 people. This is crazy. Like, for an event that was organized like in 2 weeks, this is insane, by the way, okay? The May 9th event and event is like a few tickets left from sold out.
So, if you guys haven't go already to the to the to the to to the registration, I'm going to send you the link real quick, okay? I don't know if you have any Brazilian people here, but in case we do. Oh [ __ ] I'm sending the Twitter link. What the [ __ ] Was it supposed to? Uh yeah, it also works. Yeah, yeah. Yep yep yep yep yep yep yep yep yep. Beacon Flow, nice to see you, dude. Nice to see you, man. Welcome to the live stream. Nice to see you, okay? All right, so we have a bunch of stuff to to speak about.
Let's actually speak about everything, okay? Let's go all the way down, and let's speak about all of the stuff we have to talk about. All right, so Laravel Pow, basically Pow, which is something I have developed, allows you to have this beautiful token saving experience with Cloud Code. A bunch of news about this package. It's successfully already with 5,500 GitHub stars, which is good, okay? 500 GitHub stars, which is absolutely awesome. Here is the package, chat. Here is the package. Riva is saying the following, "I'm working on the CMS for an organization. Kind of redundant, feels like, but I'm able to convince my colleague to use Laravel." Oh, that's awesome.
I think Laravel also have a bunch of CMS packages, honestly, so. You know. you know, it still feels like Laravel. River Air, what's up, dude? Nice to see you. Welcome to the live stream. Nice to see you. How you doing yourself today? Okay, so Nuno Maduro Pow super successful release so far. So, 200k already downloads. People are using it, which is awesome, okay? And that's why I have proposed it to add Laravel Pow to the framework, okay? So, the scale We already have this on the Starter Kits, but now we are considering adding it to the skeleton itself, okay?
So, here is the pull request in case you guys want to check it out. It's literally new dependency only, okay? Boo boo boo boo boo boo boo boo boo. Is any of you using Nuno Maduro Pow? Type yes on the chat if you are using Pow already, okay? Type yes on the chat, okay? And tell me let me know as well if the music is good. It should be good, but, you know, you guys let me know. Boo boo boo boo boo boo boo boo boo boo boo boo boo boo. What else we have to do?
So, this is already We spoke about this, done. We spoke about Pow, done. We spoke briefly about the live stream today, which is will be about the engine Tia engine, okay? We have new YouTube videos on the channel. I don't know how much you guys have checked already, but my YouTube channel is now with a bunch of new videos already, okay? So, yeah, we have a bunch of stuff on the channel, like literally three new videos in the past week. Um one about Cloud Code commands that are really interesting. I think I I honestly don't understand how this video didn't pop off like huge cuz being able to speak with Cloud Code, I think it's one of the most productivity hacks I have ever found in my life.
So, honestly, if you guys want to just speak with Cloud Code on the terminal, you need to definitely check out this video, okay? Okay? So, this is the video published 10 days ago, but we also have this video that talks about Laravel Streak Forms and Past Flaky Tests. Equally awesome. Check it out if you haven't already. And finally, we have a video about Caveman, which is something I have been using already, which allows me to literally save tokens. So, just like Nuno Maduro Pow, this also allows you to save tokens a little bit in a different way, but you should definitely check this out I love this video as well, okay?
Here we go, the link chat. Here we go. Music Music is perfect. Thank you, man. Thank you for the feedback. Alex, nice to see you, man. Boo boo boo boo boo boo boo. Chat, what are you guys working on at the minute? Let me know. All right, so what we have to do? What else? We have to say thanks to our sponsors. By the way, Code Rabbit.ai literally renewed the renewed the sponsorship. Let's call it that way for the next 12 months, okay? So, Code Rabbit is awesome. You guys already know that. It's super useful to be able to review your code through pull requests, okay?
So, if you haven't checked Code Rabbit, make sure you check Code Rabbit.ai, okay? Make sure you do that, but using my beautiful link all the way down. Where is it? Where is it? Here we go. Here we go. Here we go. Code Rabbit .ai, okay? What the [ __ ] is happening with my YouTube links? Every time I copy-paste something, just the something really weird for some reason. Like, why? The [ __ ] So, I want to copy the text. Can I do that? Oh? What happens if I do this, though? Oh, now it works. Jesus Christ, here you go.
Peak and Flow is saying the following, "I'm working on a Chrome extension to use AI to analyze all my tabs and sort by topic." That's interesting. That's very interesting, actually. I would use that. Dude, when you are done with that, will you just send me the link so I can try it out, okay? Pill River, what's up, dude? Thank you so much for the subscription for 4 months, dude. 4 months already. I appreciate the subscription through Prime. Thank you. Thank you. Thank you. Chico also subscribed tier one. Thank you so much. 70 months already, dude.
70 months in a row. Okay, time absolutely flies. Thank you so much for your support, dude. River is asking what I'm working on today. Today we are going to work actually grinding on this new engine I'm developing for Past V5, okay? To make tests super fast. Peak and Flow subscription tier one already. 70 months as well, dude. You are absolutely awesome. Thank you so much for your support, dude. Nikolav is working on Fitavel. What is that? Native P8 Native PHP app with Laravel for wellness. That's interesting. Fit by Fit person. [laughter] That's awesome, dude. That's absolutely awesome, okay?
All right, chat. So, here's the theory at the minute, okay? So, I'm working on Pinkerly. I need to add Pinkerly on PHP Storm, otherwise this will be difficult to test. Give me a moment, please. I'm going to open Pinkerly on this project. Pinkerly.com, here we go. So, open and attach to this window. Did it work? It did work. Nice. Very nice. Very, very nice. Okay, so we have Peak and Peak Peak Pinkerly Flow, no. Pinkerly.com here, okay? Pinkerly.com. So, this is something The most trivial use case was actually failing at the minute here. So, I'm going to open a new tab by typing command T and then I'm going to type vendor/bin/past --parallel --tia.
So, this will be instant, okay? So, we good. Okay, we absolutely good. However, there was an issue that I've discovered today, which is So, let's make sure like stuff is just working, okay? The normal stuff. So, I'm going to go to this deleted non-email verified users command. I'm going to remove I'm going to do a mistake like this. So, this should literally just run one test or kind of one test, almost. Here we go. We have a failed test. Makes all of sense. It's still super fast. I'm going to revert this. I'm going to click on save.
I'm going to run the test suite and it should be passing. And it's not passing for some reason. Hmm. So, this is the issue I've detected. Typically, this should not happen. So, I'm going to literally tell Cloud Code that this issue happened and I'm going to see what how Cloud Code behaves on detecting the problem, okay? I've sent you on Telegram. Thank you, man. Marek is also developing a native PHP mobile app. That's crazy. A lot of you developing and using native PHP. Let me know if you want to see native PHP here on stream again, man.
I'm up to doing that to bring some more native PHP awesomeness, okay? All right, so we need to fix this. Let's actually go here. Let's open Cloud Code under the dangerous flag, which I literally forget all the time. [music] Danger Cloud Code dangerous. Here we go. Dangerous skip permissions. Let's actually use that as usual. Yes, yes, yes. Yes, yes, yes. Bam. Oops. And continue. Here we go. All right, perfect. And now I'm going to say the following. Just detected a regression. So, basically, on the Pinkerly is codebase, actually, do we need to do Yeah, I think I want to do this.
On Pinkerly's codebase, which is under and then I need to send it. PDW, here we go. Which is under this. I'm using the latest version of this plugin. However, the following thing happened. Went to and then we went to delete non-email verified emails. Here we go. Went to the uh Made [music] a mistake. Test suite fail. Good. Revert the mistake. Test suite still fail. None expected. No good, huh? All right, let's let's let's let's have him cook a little bit, all right? Let's have him cook a little bit. Let's have him cook a little bit.
More native PHP, please. Yeah, I may I may bring a little bit more native PHP. Making Elias. Thank you. That's actually very good suggestion, you know? That's actually very good suggestion. Demonosaurus is saying the following, "No time, no see." Thanks, man. Yeah, I've been out, so I'm back now and hopefully now streams are going to just go like normal. Um there is no reason to not go like normal. So, by the way, chat, I literally forgot to to tell you something insanely important. Next Wednesday, the creator of TanStack will be here on the channel. Isn't this like [ __ ] mind-blowing?
The creator of TanStack, the most popular JavaScript framework. If you don't know TanStack, it's basically like the Laravel of PHP, dude. It's the most, you know, used thing in the planet. So, if you guys want to check this out, make sure to notify yourself about this situation, okay? Very, but like insanely very important, okay? Make sure you do that. All right, let's see what we have here. It's cooking, still cooking for the last minute. Almost done thinking, so let's just trust on his work a little bit, all right? We have Yeah, we have GitHub UI here, so we can just go there if once this is like, you know, figured it out.
But, I kind of know what is the issue, like basically caching validation isn't just not working as expected. Here, what should have happened is that we have a bunch of tests replayed, but like one of them needs to be actually run like fresh. So, that's the that's the original problem, you know what I mean? You know what I mean, chat? What are you guys working on at the minute? A bunch of people watching the live stream, I appreciate you guys always being on that side. If you enjoy this live stream, my name is Nuno Maduro, PHP in Laravel developer, make sure you ship something, and then go all the way down and click on the like button and subscribe to the channel, okay?
Insanely important. Let's thank our sponsor, so-called rabbit.ai, they're absolutely awesome, check them out. They code review your pull request like anyone else, check them out. Road Baddie .international, which recently sent me a sweat uh hoodie, so I need to kind of um try it out. But, yeah, code rabbit.international, they are a a digital agency that focus on view Laravel development, they're absolutely awesome, check them out. We also have Serp API. If you want to have Google as an API, basically, if you want to Google some search results and have them return like JSON output, just check them out, all right?
serpapi.com. And of course, JetBrains. We obviously need to speak about JetBrains. Did you guys know that PHP verse is happening? Yes, sir. PHP verse is happening in 2026, chat. Insanely important, okay? PHP verse. Is anyone going? I don't know if it's even in per- I don't I don't think it's in person. Bop bop Vuki is saying the following, I'm working on Laravel magazine this job board, which I recently launched. Dude, uh I'm kind of curious like how successful developing a job board will be right now. You know what I mean? Um I've been thinking also developing my own job board cuz I feel like I have an audience already, so I potentially I could just do some sort of php.jobs or whatever, but uh I don't know.
So, let me know how that goes for you, man. I'm very curious about that. Dominos are saying the following, W sponsors. Oh, yeah, baby. W sponsors, they're absolutely awesome. Sponsors make everything happen, okay? Let's see what we have from CloudCode. Uh so, he's running the test suite, and apparently the the issue was this one. Let me read this a little bit. Some state same state as last TIA invocation unchanged Some state as last TIA invocation, cached result will still be valid. Okay, this makes sense as they've literally a comment. The first from the snapshot, but may still be a reverted back to the committed version.
Oh. In that In that case, you need to rerun it. Yep, we added to the remaining files to be added. That kind of makes sense, honestly. Yes yes yes, that kind of makes sense. Let's try it out. Bam bam, whip. Let's whip it. Bam. Let's go here, type composer update to fetch that latest change. Please please please. Come composer. How the music is for everyone? You guys enjoying DJ Nuno? Type DJ Nuno, W DJ Nuno if you're having fun. All right, so composer update --ignore-platform-requirements. In case you don't know what this is, it's like if you don't have an extension in PHP, you can literally ignore it, you know what I mean?
That's what I did here. W Nuno. Thank you thank you thank you thank you. You started using parallel starting past test. I know, dude, like it honestly when people say that past PHP is a PHPUnit wrapper, it just breaks my heart, dude, like no framework in the world has that feature, man, sharding, you know? All right, now this should be good, actually. All right, so we are rebuilding the graph because this is a new version, so that makes sense. I wonder if he bumped the He didn't bump. Okay, anyways, let's see how it goes now.
Mhm mhm mhm mhm The The only The only reason the first one is slow is because I don't have the GitHub action which will kind of warm up the cache, okay? That's the only reason. So, the very first run is always slow, but then the subsequent runs will always be fast. Yes, DJ Nuno. Yes yes yes. So, now it's super fast, here we go. So, we go back here, we do this. This will make a test fail in only one test. Yeah, we have four tests affected because there is literally four tests on this test file, hopefully.
Let me just confirm, so we have one, we have two, we have three, and we have four. Here we go, so this is all expected, so it's still failing. Yes yes yes, all of them failing, cool. And now I'm going to go back to the command, I just revert this, and I have a test suite passing as expected. Here C C C C, so good. By the logic, uh Laravel is also a Symfony wrapper. I know, dude, it's crazy, man. Honestly, it's crazy. Marika is saying the following, W G Nuno. Thank you thank you. Valtix official, how you doing, dude?
You still a premium uh a YouTube premium user, man. I appreciate you supporting my channel, man. Thank you so much. All right, so we're chilling here, man. Chat, we're chilling hardcore. This is working as expected. Let's just do a few more tests. I do this, it just fails. Yep, I revert, it just passes once again. Yes, all good and expected. Uh I go here, I change the comment. This shouldn't actually change anything, really. Here we go. Changing a comment doesn't really like rerun the tests, okay? This is how smart this new engine is. Gym today?
Oh, yeah, baby. Dude, I it was leg day, though. Like, I'm super exhausted. All right, so I need to test a few things, okay? This is what I need to do. Test a few things, okay? Test a few things. Um so, I expect that let me just think a little bit, all right? Let me just think a little bit. I expect that if I go here to my app and I change something like this like model, and I change these comments everything will just be replayed, there would be there's nothing new. Okay, just works. I just put it back, same stuff.
Here we go. However, I do some [ __ ] okay? Let's do some [ __ ] here, okay? So, what I will do is I'm going to remove this. Okay, this should actually just make potentially the test suite fail. However, I expect that some tests are going to run, not all of them, okay? Okay, let's see how it goes. Okay, it's going fast but slow at the same time, so I feel like this potentially affect a lot of stuff. Yeah, it affects 127 tests. Okay. And it went close to the 7 seconds we typically have. Yep yep yep. All right, maybe this is not a good example because like button is indeed used a lot.
Well, the panel analytic, though, this is used only on filament, by the way. W filament, everyone, okay? Everyone typing W filament because filament is absolutely awesome, and I love filament. Everyone loves filament, man. Of course, man, supporting you doing awesome content. Thank you, man. Thank you. I'm very happy about the latest YouTube content I've been pushing out, you know what I mean? Uh obviously like, I don't know, I mean, I think I told you already, but like my brother is now joining my YouTube journey, basically, full-time. So, you know, W brother, everyone, okay? Everyone typing W brother.
He's like working on editing my videos, and this is honestly a huge time saver for me, It's such a huge time saver for me right now cuz he can he can literally just take care of everything, okay? Yeah, W brother, exactly, to chat. He's taking care of like all the content. What are you working on today? I'm working on this new engine for past PHP. All right, if you just arrived, chat, if you just arrived, let me tell you what I'm working on right now, okay? I'm working on a new thing for past V5, okay?
Past V5 will be out this summer during Laracon US, and will this will probably the biggest announcement during Laracon US, so keep it quiet. Everyone keep it quiet about this feature. Top secret information that you are not allowed to disclose disclose publicly, okay? Please, do not share this information, okay? And what this does is the following, okay? Is the following. Your typically your test suite takes this time, right? Let's type this. Uh --dash-dash-parallel. I mean, without parallel, it's super slow, but even on parallel, it's supposed to take a few time, okay? So, I'm running --dash-dash-parallel, this is taking about 11 seconds, okay?
11 seconds in parallel, okay? If I run again, will still be 11 seconds, okay? Now, I'm going to show you with a new past V5 engine, which is coming out during Laracon US, top secret information, okay? You guys ready? All right, let me show you. So, this will still take 11 seconds, okay? Now, I'm going to run with {dash}{dash} tia. You guys cannot see it. [ __ ] that's a problem. Let me go all the way at top. Okay, how about now? {dash}{dash} tia, okay? This is the opt-in to the new engine. I'm going to do this and we go from 11 seconds to less than a second.
I cannot wait to be on stage and [ __ ] with demo this, chat. It will be so awesome. People will be like, "What?" You know what I mean? Like, "What?" It's insane, right? Come on, chat. Come on. It's not insane, it must be insane. Dude, nice. This is your answer to a test suite that just became 10 times faster and you answer, "Nice." Come on. Like, imagine a [ __ ] 10-minute test suite going to 5 seconds. Are you serious right now? I like, "What the fuck?" Exactly. Much better answer, man. How this is possible? Oh, yeah, baby.
How come? Oh, yeah, baby. This is what I'm working on today, okay? So, the TLDR of this story is the following, okay? This is again top secret information. I don't want to see a [ __ ] tweet about this, okay? Okay, I I don't want to see a [ __ ] tweet about this until Laracon US. Okay, top secret. So, the way this works is that on the very first run it will build a dependency tree between your test files and your source code. So, if you are testing a controller that controller loads like two models, one controller in the blade view if you change that blade view, it will only affect the test, basically, okay?
That it builds a dependency tree, so it only reruns the stuff it has to, really. Okay? So, let's actually show an example, okay? I'm going to go here and I'm going to change an an email, okay? I'm changing an email, so potentially like, you know, this will affect only one test. So, I'm going to go here and just remove this emoji, okay? Now, I'm going to rerun this. Typically, I expect this to take like to be super fast, basically. All right, 3 seconds. That's not 1 second, but it's still three 3 seconds cuz probably there's a lot of tests around this.
Uh the test is failing because I removed the emoji. I'm going to add it back and now this should be still 3 seconds or close to it, at least. Here we go, 3 seconds. Okay? So, this is like the one of the feature flags coming to Pest 5 and this is currently my work in progress, okay? And today on this live stream, one of our goals is make sure like this is just the all the behavior is just expected on all this stuff, okay? Uh something I did want to see is what happens if I change like a blade view.
So, let's actually test that scenario, So, here I have a email class and I have 23 tests affected. If I go [music] to this blade view, which is under email pending notification, so I'm going to do that. I'm going to go here into resources, views mhm mail pending notification, so I'm going to just go here and do some crap. I'm going to do this, okay? This should actually just blow the [ __ ] out of the test suite, okay? So, what we're going to do is type clear and run this again with tia. It should just huh.
Oh, it did not fail because it returns null. Okay, let's do something a little bit different. Let's type here to subscribe the channel. So, obviously, there's no method called it subscribe the channel, so this should actually blow up. Come on, please blow up. It does. Here we go. [ __ ] yeah. So, it does blow up a little bit. Here we go, call member to a function to subscribe channel on string. Super fast, as you can see, less than a second. Okay, easy peasy. So, now I'm going to just add it back and it should still be super fast.
Here we go. Oh my god, this was this is so good. W true. Yes, yes, yes. Yes, yes, yes, yes. Everyone typing W brother, which is absolutely awesome. Thank you, thank you, thank you. Pinky promise, speed of light. Thank you, thank you. Make the flag warp speed nine. Honestly, now that I'm thinking, light could be speed of light or something like that could be a good name for this. I spoke with Taylor about this stuff because one problem I have with this plugin at the minute, like let's just think a little bit, all right, chat.
Everyone thinking with me, okay? Everyone looking at me right now and think with me, if you don't mind, okay? Let's go here to the pull request, okay? So, obviously, this is called it like the technical term of this feature is test impact analysis, okay? So, I'm going to just rerun the test that impact the given change. That's it. Now, I don't like the name. I think the name is is lame. Okay? So, let me know what you think the name should be, but I would love to just [ __ ] have like a a marketing name here.
You know? So, here would be like blaze or uh I don't know, man, light or whatever or, you know, lumen potentially. We could just [ __ ] call this lumen, but it needs to be something that it's marketing selling, you know? You know what I mean, chat? So, if you got an idea, let me know. By tomorrow, we'll be on Laravel magazine. Don't do that, dude. Come on, man. Come on. Taylor likes Star Trek. He might like warp speed. Warp speed nine. {dash}{dash} Nuno. Oh my god. Come on, chat. Help me out, man. Come up with good names.
We need to do We need to find a name for this. Yeah, that's the TLDR of this story, chat. That's the TLDR of this story. Chat, I literally opened the PHP verse website and I forgot to speak with you about that. Do you guys know that a new PHP verse 2026 is coming? Oh, yeah, baby. PHP verse 2026 and this is like a host of this of this um event, which is like a beautiful host. Here we go. I'm going to be the host of this channel. Flash, I like that one, dude. Oh my [ __ ] god.
Introducing a new Pest engine called it flash. That's actually very good name, you know? Marketing-wise brand, you mean? Plash. Ooh, that would be a good one, man. That would be a good one. Slash plash. Using bold. Oh my god. Anyway, chat, if you haven't checked this out, go. There is Jeffrey Way is coming, Larry Garfield, Fabian Potencier Jonathan Boussac here, Niels [music] Aderman, Elizabeth Baron, and Ashley. Ashley, dude. Ashley's coming. This will be awesome. Why are you using thug life glasses? Because I love this picture. Like, honestly the you know, I don't know if you guys feel this way, but like when you guys look yourself in the mirror, you always think you are super like ugly.
I I think about that myself as well. I think I'm a [ __ ] ugly guy, you know? But for some reason, on this picture, I find myself beautiful, you know? Everything is like perfect on this picture, you know? Including the sunglasses. So, I like this picture. I'm going to keep it. {dash}{dash} please work. Ouch. Ouch. Ouch. It could be like {dash}{dash} coffee or whatever, you know what I mean? Anyway, so this is working for the email. I kind of want to test every single directory, okay? So, if I go here, for example, and I change like this stuff, this shouldn't actually just re rerun the test suite.
Here we go. I'll expect it. I'm going to go to console. We tried this out already. I want to try something interesting, which is delete a file. Yep, deleting a file should actually rerun a few tests a few tests. Please work. Oh, [ __ ] Oh, no. Oh, I need to type composer dump. Yeah, yep, yep, yep, yep. I'm such a I'm such I'm such a bad bad bad guy, huh? Composer dump, okay. Done. And then we run it and it should fail and it didn't. [ __ ] All right. All right, cloud code, we found another issue. Another issue.
So, I deleted a file called it uh let me go here. How was it called? What is this? Huh? All right, let's go here into pinkery. how is it called the file? Delete non-verified users command, okay. So, I deleted a file called it ban which should have caused the test suite to fail but for some reason it did uh use the cached version of the results of the test that should fail. All right, fix this for me, please. Nudge it. What is that, dude? I like plash, though. Plash is cool. Plash is badass. All right.
PHP verse happening, chat. If you guys haven't subscribed already, make sure you go there. Here we go, PHP verse. Oh, [ __ ] I forgot I'm supposed to do a video about PHP version 2026. [ __ ] That's a problem, chat. Let me open Slack here real quick. Oh my God, I forgot about that and I don't have time tomorrow. [sighs and gasps] Hi Nuno, record a short teaser around 30 seconds about your participation on PHP verse. Oh, [ __ ] And you could recap your experience in 2026 and why is worth attending. Okay, let me think. Do I want to do this now?
Maybe want to do this now. I don't even know. Cloud code, are you working? Yes, you are. [ __ ] let's do this now. Okay. Let me turn off the music chat. Basically, I need to record a small like YouTube short about PHP verse, [music] that's it. Let's actually do that right now. All right, [snorts] what I want to say though. PHP verse is coming, blah blah blah. When it's coming though? I don't even June 9th. Okay, June 9th PHP verse 2026 is coming. It's a free online event for PHP developers worldwide. Make sure you attend. Last year was absolutely awesome.
We had Taylor Otwell, blah blah blah blah blah. This year we're going to have Jeffrey Way, Fabien Potencier, the creator of Symphony. This will be awesome. I had a lot of fun last year. I learned a bunch of stuff, blah blah blah blah blah blah blah. Yeah, let's do that. All right. I'm going to move this here real quick. Okay. Bam, I'm going to open it. Here we All right chat, 44 I'm recording real quick a small short for PHP verse or for JetBrains, okay. Is it recording already? No. Now it is. What's up everyone?
PHP verse, yeah. What's up everyone? PHP verse 2026 is happening on June 9th. Make sure you attend this conference is absolutely awesome. Last year I had a blast with people like Taylor Otwell, Povilas, but in this year we're going to have Jeffrey Way, Fabien Potencier, the creator of Symphony. This will be an awesome I think I can do better. Yep, yep, yep, yep, yep. What's up everyone? It's Nuno here. Last year What's up everyone? It's Nuno here. Make sure you attend to PHP verse 2026 happening on June 9th this year. Will be absolutely awesome. Last year was a blast.
I learned a bunch of stuff with the creator of Laravel and more. This year we're going to have Jeffrey Way, Fabien Potencier, the creator of Symphony and I will be hosting this conference together with Brent. This will be awesome. Make sure you register using the link below. Love you all and catch you during the conference. Okay, was this any good chat? What do you guys think? I assume it's going is going fantastic, dude. Literally just recorded a small short about PHP verse. Let me see how it is. sure you attend to PHP verse 2026. Yeah, this is good.
Short done on the first try. That was smooth, thank you. You're so awesome, chat. You're so awesome. Now the cool thing about now having my brother all in on my YouTube channel is that he now just edits this, you know, just make sure that it's perfect. So I just have to save it like it's done. Now I'm going to send to him and he edits out, make sure like the audio is perfect and everything, you know what I mean? You know what I mean, chat? Okay, what do we have? Cloud code, are you done with everything?
No, you're still cooking for some reason. Okay, let's wait a little bit, all right? Let's wait a little bit. You should [snorts] have taken your thug life classes for this one. I don't have thug life classes in real life, dude. It's just a camp Wait, what? You thought it was a real one? No, those like the thug life like these ones. This is like fake stuff, you know, like canvas thing, you know? I do streaming for your channel growth or for fun, dude. I I like for both honestly, you know, I would be lying if I wouldn't like I thought I wouldn't enjoy seeing my channel grow growing, you know?
But I I generally enjoy streaming and bunch of you are there pretty much every single live stream and you guys know like how much fun I have doing these live streams and you know, there's a couple days like I won't like in 400 live streams I have done already. Probably like a dozen, you know, I was just generally super tired, okay? But right now I just, you know, I just stream when I when I'm generally into it, which is happening more and more, especially right now cuz I have so much time. So you know, so I love it.
Yeah, absolutely love it. Thunder. I like that name, dude. Oh my God, thunder is absolutely a good name. Wow, 400 that's nuts, dude. Yeah, I have I don't know how many live streams I have, but a bunch. You know, a hundred I have a bunch. That's perfecto. Yes, yes, yes, yes. Thunder is a good name by the way, okay? I like thunder. Thunder is good. What is he doing right now? Cloud code is so [ __ ] slow right now. Do you guys also have this [ __ ] man? It just feels slower for some reason. It's just slower for some I don't know why.
It's [ __ ] slower right now. Just crazy. Crazy slow, chat, you know? What are you doing even? Like it just takes forever to do stuff. Like 6 minutes since the last time I've asked him to do stump something. Insane, chat. It didn't actually did anything yet, okay? So at the minute we have the problem with the delete file, which is not actually triggering for some reason the thing. Oh, this is a good moment to actually to test something a little bit different. Wait, what? Oh, it just is porting the code now. So this probably will just be fixed right Let me see.
Wait. Wait, what? Okay, let me try to command all to see what he's doing right now. Okay, so he moved the file to actually make sure the issue is reproducible and then we'll do it after This is so slow. It's still here, crazy. Do you want to try code x with GPT 5.5? I may though. Taylor is using code x right now, you know, which model are you guys using at the minute? Okay, to Taylor is using code x, which got me a surprise, honestly. I thought he would, you know, I thought he would be using you know, not code x, cloud code cloud code at least.
Why does this like is cloud code like touching my stuff? I think it is. Mhm. This should not happen. There's a bunch of regressions, which I don't know why, like literally. Like it's like there is a changed file, which is composer.lock. It should run once, actually run the entire test suite because the composer.lock changed dependencies and then it should just replay the test suite literally. Yep, for replay only. This is a bug The bubble is bursting soon. Which bubble? You mean the AI bubble? Today was really slow. It feels slow. Have [snorts] you tried the new chat GPT image It's insane, dude.
It's absolutely nuts. The new GPT image stuff is absolutely nuts. Honestly, I went there like I think it was yesterday. I asked, what do you think about my haircut? Can you give me like five versions of myself with a different haircut? And it gave me like a literally five versions of my haircut with absolutely awesome. That's why it's running slow. It's running out of VC money. You think? Didn't they [ __ ] receive like a billion or whatever recently? I think they did, dude. Okay, this is like insanely slow at the minute. I don't know I don't know what's happening.
Meanwhile, let me actually write it to do of bugs we have found already. We do have a massive test suite on this [ __ ] but for some reason this stuff wasn't caught on the on the test suite. So let me write here a new scratch file. Okay, so we detected that deleting a file didn't affect the cache of the test that was using it. Yes. So we have this. Updating composer.lock did a full refresh of the graph all the time. This is not expected as well. What machine do you have? I have a MacBook M4. Max, I think.
Let me put some music on. Shut up, by the way. Let me know if the music is working right now. Should be good, but let me know. W music, thank you. Reproducing confirmed that deletion path works correctly with the current code. My reproduction blah blah blah blah blah blah blah blah blah blah blah blah. It's like it happened in your case. The bad state was already in the graph from the run made before my last fix. Okay, let me try something. Fresh. Oops. Vendor been passed. Tia.fresh. Okay, let's actually have a fresh run, basically. John Sugar is saying the following.
There is a rumor that Google have offered four 40 million 40 billion for Anthropic. Really? That's insane. That's a lot of money, dude. Oops, mistake. Anyways, let's go fresh SpaceX is going to buy Cursor, by the way. Yeah, I saw that. I honestly, I don't understand how Cursor is so valuable. I'm I mean, I'm sorry if you guys are like a big fans of Cursor, but for me, like VS Code wrapper with a [ __ ] [ __ ] on the right is not worth of whatever SpaceX is paying for it. You know what I mean? They obviously have their own model and everything, but I mean, model like good models are open source at this point.
You know what I mean? Like the good ones are open source and you can just use them if you want to. I don't know, man. I don't think Cursor is that good. And I'm sorry I'm sorry, Cursor, but I've tried Cursor. It It really feels like again, a VS Code wrapper with a [ __ ] box on the right, and that's it. It doesn't feel as good as something like PHP Storm, for example. But But yeah. Stefanos, how you doing, then? Man, welcome to the live stream. Okay, so this is recorded. Let's go again. So now it should be super fast.
It is super fast. Nice. So if I run composer update, the composer.lock will change, which is expected. And then it should do a full Oops. A full run again. Tuakai is saying the following. Them depends how much they will pay they will pay. I think it's already like settled, basically. I think that it's already settled. Basically, I think it's I mean, I I don't want I'm going to I'm actually Google that real quick. Uh Cursor SpaceX. Here we go. So here's the deal. They have it's 60 billion. 60 billion. Okay, 60 billion. I'm going to just [music] put that put that up there.
And I do think, again, I don't think the product is that good, but I don't know. Maybe I'm mistaken. Yeah, it's just a VS Code wrapper, exactly. Anyways. Uh so I've run composer update. Tia, yeah, this is now working. All expected. And we have a change on composer.lock. Expected. Let me just confirm by Yeah, this is working. Never mind. So this is working and I go to app console. I'm going to delete this file. I'm going to run again Tia. This should make the test suite fail, by the way. What the [ __ ] Oh, composer dump.
I'm sorry. Composer dump. Yep, done. And now I should have the test suite fail. Please fail. No, that's not working. Record baseline, delete file, run Tia, shows four affected, all error command not found. Oh, wait. No, I did push. Wait, wait, wait, wait. I'm not this one. Not this one. And meanwhile, let me actually just ask to run this stuff. Run. This is a massive test suite that I have, by the way. Tia tests. Nurgon, I'm late. It's It's all good, dude. Welcome to the live stream. And Microsoft is giving VS Code for free. Yep, it's open source.
Yep, 60 million, dude. That is insane, man. Insane. The value is provided by LLMs. Well, to be fair, they do have one LLM built in on VS Code on on Cursor, I'm sorry. It's called a composer, I think, even. The LLM is called composer. Isn't that based on Kimi 2? Yes, I think that's the one. It was a huge drama, man. I don't want to talk about that drama, but basically Composer V2 apparently was built on top of Kimi V2 and they wasn't they were not open about it, you know? So I think the problem with Kimi V2 was the same problem with me with Laravel Pint.
Do you guys remember when I announced Laravel Pint and I said, "This is a new code formatter for PHP with zero dependencies." In reality, like behind the scenes, it is based on PHP-CS-Fixer, but PHP-CS-Fixer is bundled in using far. So, you know, I probably should have made better comms, basically. I should have said something like "Uh this is Laravel Pint. It's based on PHP-CS-Fixer, but adds this and this and that." You know? So they also missed on that one. Stefanos Club, thanks for the following, man. Appreciate. By the way, I appreciate all the new Twitch subscribers, man.
You guys are absolutely awesome. Gosh, happy to see on stream. Oh, man. Thanks, man. You are awesome. Thank you so much for saying that. Appreciate. Okay, so the issue is absolutely not fixed. I literally just deleted the file. The file is there, And if I run vendor been passed --tia, it just still passes. Like this is so weird. I'm going to say the following. Okay, I'm going to say the following to Cloud Code. Come here. Come here. Go. Oops. Let me just change this. The [ __ ] I thought I did. No, just leave me alone. What the [ __ ] is happening?
Here we go. Go to pinkcurly.com folder. Run this. And see that the test suite is passing, but the command does not exist. Dominos are saying the following, guys. What is the best database client GUI performance UI wise? That's a very good question. That's a very good question. Um let me know, shut What are you guys are using at the minute? I'm using TablePlus. Okay, TablePlus, that's the software I'm using. TablePlus is dope. You never left PHP MyAdmin? Dude. PHP MyAdmin, are you serious, dude? I won't make fun of you, dude, you know? And I go and I'm definitely not hate you for that.
So it's all good. Well, sequel sequel ace used to be good, man. I used to be a very sequel ace user, but so I remember like when I was transitioning to post grass, it just um, you know, started to take some problems, you know? Yeah, sequel ace used to be good though. No, TablePlus is not electron. It's super fast. It feels native, you know? It's native for sure. Sequel ace was my previous thing before Bam bam. It's so slow. It's like [ __ ] impossible to get anything done here, man. It's insane. I may I may change to codex, honestly.
Oh, you find it slow? You mean TablePlus? Interesting. Navicat, I have never heard about Navicat before. Literally. By the way, people on LinkedIn and TikTok, I don't actually follow that much of chat over there. If you guys could just move to YouTube, I would really appreciate that. All right? TikTok is so strict, man. Like every single time I say a bad word, it just basically instantly ban me for discovery. It's insane. Navicat's that Beacon Flow is saying the following, Navicat's diagrams look amazing, but team DB Weaver is my favorite DB app. I have heard that one is good, too.
Okay, it's like debugging uh why this is happening, which is a good thing. I'm going to let him do Meanwhile, I'm going to try to actually ship the documentation of this stuff. Uh so, where do I have that? I need to go to Laravel Cloud and issue a deployment. Let me make sure I do that off off stream. Give me a moment here. All right, let's go to Laravel Cloud. Sign in. Where do I have that? Oh, I have that on the Chrome browser. I have literally three different browsers for three different things. Laravel cloud.com Yes, yes, yes.
Bap bap So, chat, yeah, I'm moving I'm I'm moving, but like traveling to Brazil next Friday already, so it will be dope. Excited to visit Brazil, chat. Five. Oh my god. I hate two-factor authentication. How many like two-factor authentication codes you have repeated? I have like a bazillion, especially when I'm developing. It's [ __ ] insane. I cannot be the only one, right? Like I'm Jesus Christ. All right, pastphp.com, let's issue a deployment so I can see the new documentation I've done already. Well, I haven't committed yet. One second. One second. One second. All right, so this is literally documentation I have to work on.
Yes, yes, yes, yes. So, this will be a whip. Um And now I just issue a deployment, so I'm going to cancel this outgoing deployment and redeploy. All right, here we go. Thank you. Yes, go back to past PHP. Thank you. What is he doing? All right, let's see. If the file does not exist anymore, previously, if the missing now, if the snapshot record is absent, too, sentinel zero, the state is identical to the last run and changed. Otherwise, it was present last run and it got deleted since. If the snapshot, okay, what he says now.
Missing on disk always invalidate here, even when the snapshot was also recorded deleted. No change in last run, cached result was still invalid. I will save the fresh result during the run. Sentinel the previous run that captured the return last run for this, the fresh the cached path failed. The perpetuates the wrong result on every subsequent run. Skipping the evaluation of that state perpetuates the wrong result for subsequent runs. Oh, okay. Treating any missing file as a change caused one rerun per {dash} {dash} TIA, while the file stays deleted. Let me see now. John Sugar is saying the following, I cannot believe how cheap Laravel Cloud is for a side project development.
I'm paying less than a buck a month using hibernation. Yeah, and hibernation is getting better and better, which is crazy. Like I wouldn't be surprised if hibernation will just be a default thing in the future. It's getting really good recently. All right, chat. So, what we need to do? We need to commit this change. Let me just confirm something real quick. So, this is for created files. This is for deleted files. So, if the file is deleted, it needs to be rerun regardless. Yep. Yep. Yep. Yep. Yep. Yep. Yep. Yep. Yep. Yep. Yep. [laughter] Yep.
Yep. Yep. Yep. So, if all of the candidates attached [music] to the test, if one of those candidates does not exist anymore, 100% sure the test needs to run. Yeah. No matter like what we have in the snapshot. Exactly. However, if the test suite was passing, we add a file, we delete a file, then we don't enter here and we don't enter here, either. Okay, makes sense. Makes [ __ ] sense. Let's go here and to pink kitty.com. Composer update once again. Yes, yes, yes, yes, yes. Oh, come on. Come on, composer. Thank you. Thank you. Yes.
Beacon Flow is saying the following, dude, my bill doubled. Dude, my bill doubled on Laravel Cloud. I pay now 35 cents. This is [ __ ] ridiculous, honestly. DGMP, what's up, dude? Welcome to the live stream. Nice to see you all. By the way, chat, this is a co-working stream. I expect you guys to chat on the chat. What are you guys working on at the minute? Let me know what you're doing at the minute. In case you don't know me, my name is Nuno Maduro, PHP and Laravel developer. I love what I do, and today we are streaming about past V5, a new brand feature I'm cooking behind the scenes.
Chat, I think I'm going to fetch some fish for tonight's dinner, man. I'm into some fish tonight. Oh, yeah, baby. Marina is saying the following, I just started using codex and I love it. I I'm going to switch to codex, honestly. I'm going to switch to codex, chat. I'm going to switch to codex, honestly. Not today, but during this week I'm going to absolutely do that. All right? Okay. So, what we have here? So, we have this. I'm going to type get add {dash} {dash} or get add {dash} P get reset ard. Yes, yes. Okay, we do this.
We type composer update because we have to. We have the delete file back. Delete non email verify users command back. Yes, yes, yes. Double codex. Interesting. Is it behind the scenes if you are streaming it? yeah, because my audience keep it safe here, man, you know? My viewers, they know this is top secret, so they don't share with anyone. Well, so far, every single secret I have shared on stream, people didn't actually went to Twitter or LinkedIn or whatever to talk about it. So, I really appreciate you guys being so honest, though. That's really cool.
I think like there were I have re-arched my Laracon India talk here on stream. I have re-arched my Laracon US talk last year here on stream. I have done a bunch of stuff on stream that is like almost secret and never went bad. So, that's good. All right. So, let's run the test suite with Tia. So, this will be a fresh a fresh a fresh rerun. Okay, beautiful. It's doing a fresh rerun. All expected. Come on. So many time, Jesus Christ. Well, this should be like 30 seconds, I think. Come on. Come on. Come on.
Come on. Oh, yeah. 28 seconds. It was slower than expected though for some reason. Okay, now it's just instant. Here we go. And I go here. I delete this file. And this should literally go Oh my god, composer dump once again. E done. And now I run my test suite and this should literally fail. Here we go. [ __ ] four tests failing. Command not found. Beautiful. I run again. It's still failing. Yes, I add it back. Oh, yeah, baby. And now it's working. Oh, yeah, baby. It's your fault, Nuno. What do you mean? About what? Oh, about Cloud X.
What are you talking about? Dino must have been saying the following. I just realized Table Plus have a golden elephant. Oh, oh yeah, the logo. Oh, the logo is beautiful indeed. I need to open all the other chats like literally. I I've closed I don't I I only By the way, chat, I know a bunch of you are speaking like on TikTok and [ __ ] Just move to YouTube, man. I only care about the YouTube chat and the Twitch chat. Okay, I would really appreciate that. Cuz otherwise I cannot follow. It's just difficult. You know what I mean?
Oh my god, there's definitely messages missing. Anyways. Okay, so this one is fixed. The composer.lock is equally fixed, right? So, I have this. Let's do a change on composer.lock, for example. Let's go here. Let's change the framework version from this one to like the version 50 or whatever. So, if I do this, it will actually just pull the latest version of Laravel. Not the latest, but this one. The one I just have pinned. Still using Laravel 12 on this project. I kind of have to migrate at some point. Oh my god. Okay, let's do this.
Okay, this should actually like fresh pull a new Laravel version. Here we go. So, we went two versions below, basically. Which means a new composer.lock So, if I type this, I see a new composer and changes on the composer.json. Nice. It's all expected. I run Tia. This will be a new fresh baseline. Here we go. Cuz the composer.lock is a big structural change. Here we go. All expected. First run, we'll just do it by default. Equally all expected. And from this point, everything should just be fast And bam, instant again. We good. All right. So, uh how about adding a file, which is a good question.
So, if I do this, uh delete email verified users, something really random. So, I just added a file. Okay, I'm curious to see what will happen. It was just [snorts] instant. Nice. Which does make sense cuz this file is not even tested this command. Okay, all makes sense here. So, let's just delete it back. So, on commands folder at least, everything makes sense. Let's go to contracts, for example. We have this interface viewable. Okay. Let's change this contract from array to string, for example. Just like that. This should trigger a rebuild at least on the files on the models that implement this interface, which should be quite a few though.
Let me see. Implements viewable. Only the question model. Okay, cool. So, we should see a few tests being affected by this. Ooh. Yep. I'm going to add it back. Very interesting. What happens if I do this though? What the [ __ ] Okay, this is not expected, I think. If I do this, [ __ ] This is not expected 100%. Okay, we have a bug again. By the way, chat, this is a co-working stream. Let me know what you guys doing at the minute. CV the wearer. View wearer, what's up, dude? Welcome to the live stream. Nice to see you all.
It's beautiful Monday, chat. Monday beautiful coming here. A beautiful week ahead of us, man. Which is very exciting. Have a bunch of people watching, which is awesome, chat. Thank you so much for the support, man. All right. So, let's do this. Uh let's close this stuff. Go back here. So, why do change an interface does not affect anything? So, something I need to test first is the following. If I change this interface to int, for example, if I just run vendor/bin/past without Tia, does it make fail the test suite? It should. It just did, I think.
Yep. So, if I do this, for example, it will just fail. Exactly. So, this is all failing, but not with Tia though. Meaning that changing an interface is not actually impacting anything, which is a problem. So, let's actually do the following. Let's say um let's go back to Cloud Code. I have just changed the interface viewable like having a different return type. This fails on running vendor/bin/past --parallel but not with --parallel --tia on the Pink Gorilla code base. So, chat, I want to ask you something really interesting. What do you guys think about my late my last videos, basically.
Okay? So, obviously like this last three videos, I think is one of the best content I have putted on the channel, basically. Okay? In terms of quality, in terms of production, in terms of thumbnails, like in terms of everything. I think, for example, this video just literally checks all the boxes. Okay? So, I kind of want to know from you guys what you guys think about this video in person. Like if you think the video is good, just let me know that. But if you think the video is not good because of some reason, just also let me know that.
I do think that this video didn't actually performed very well because of the watch time. Basically, the video is small, only 3 minutes. And when the video is 3 minutes, it doesn't give a lot of you know, watch time to the video itself. So, it doesn't get like suggested to other people. And I think that was the issue. But you guys let me know what you think about this video called it Cloud Code 75% less tokens using Caveman. Okay? Okay, chat. Let me know. I like the Cloud one. You Yeah, the Cloud one was equally good, honestly.
I think the Cloud one was equal It was as good as this one. Um also didn't perform crazy, honestly. Like even the Cloud one didn't perform like crazy. I think I What's up, everyone? Apparently, the I think I have like you know, 2K viewers or whatever. Oh, okay. 2.8. Okay. But still, I would expect way more, like 10K at this point. But you guys let me know what you think. All right. What happens what Cloud Code is doing at the minute. Okay, it's still cooking. It's so slow, honestly. Like 100% sure Cloud Code is like insanely slow.
Look at this. It's reading a file like spending almost a minute reading a file. Insane. Many of you have been saying the following. Your videos is getting better and better. Yeah, thank you, man. Thanks, man. I also feel that, you know? Like I generally prefer a thousand times watching my latest videos than the ones I did in the past. Uh so, you know, still feels good to hear from you. You know what I mean? Cuz sometimes [music] we are a little bit blind by our production, so kind of kind of appreciate you saying This is so slow, chat.
This is like [ __ ] ridiculous. I'm like I'm I'm almost done with Cloth Code if this continues. Oh my god, we need to tweet about this. Oh, meanwhile, did we spoke about everything? I think we did. Did you guys saw what happened with Vercel, by the way? The security issue Vercel did. Type on the chat yes if you did. But honestly, I'm going to be honest with you, chat. Everyone does mistakes. Like as a software engineer, something we do is mistakes, you know? And every single time I see a company facing a security issue, I always feel sorry for the developers cuz I know they are doing the best they can, like during the daily, you know?
It's not like they intentionally make a security issue, you know? So, every single time I see something like this, I always try to send good vibes and good energy cuz uh it's horrible, man. Like the ones committing the crime are not like the software engineers, but like the the actual actors. So, you know, you need to think about that sometimes. And some people are mean. Like a lot of people were mean with Vercel when this happened. So, anyways. Level up Brazil, we talked about this. Uh ba ba ba ba ba ba ba ba ba ba ba ba ba ba ba ba ba ba ba ba ba ba ba Maybe try the Sonnet model.
Wasn't the Sonnet model so bad, though? I think it is bad, though. Compared with Cloth Code, though. Oh my god, I saw a tweet on Reddit someone saying that um SQLite is not scaling production. That was insane to watch, though. Here we go. SQLite in production. Like people literally not trusting on SQLite for production when SQLite is so good in production, chat. It's still doing it. This is insane. Like I honestly cannot work with this. It's also like always running the test suite, the entire test suite. Can you please ignore the test suite for now?
It's indeed a huge test suite. Okay, let me see what is he doing at the minute. Oh, I think I know the issue. Uh Okay, the issue is that interfaces were not yet being seen as class dependencies. So, we have traits being seen as class dependencies, but not interfaces yet. Here we go. Returns the project local files named class declarative it depends on implemented interfaces and use traits and entire parent chain. So, we use class reflection to literally get the class name and we cache all of that. Okay. If it's like PHP internal, we don't care.
Makes sense. If the file is on vendor, we don't care, either. If the file is like internal to the project, then we good. This is an optimistic guess where vendor is, by the way, but it works for now. Get interfaces name. Oh, didn't know that interfaces name is like literally now on on PHP. And link symbol will basically add it. Let me just confirm. John Sugar is saying the following, uh is your context too full? Maybe new session is needed. Yeah, I think it's close to being full, though. But I it's like the this project is so like the model needs to have so much context that is kind of difficult to not give it as much context, you know?
Okay, I don't think that fix will work for enums, but let's um move forward for now, okay? By the way, chat, the goal is kind of make it work, like have this full plugin working and then kind of refactoring a little bit with my own conventions, okay? This is something I have learned, especially when live coding, let's put it that way, is that you kind of want to have the proof of concept like really working good and then have a [ __ ] load of tests, like a bunch of tests to make sure every single edge case is covered, and then you refactor to to have the code beautiful, you know what I So, this is the test suite I have already.
I have already a massive test suite in terms of what happens if a model gets edited, what happens if a route gets edited, what happens if a config gets edited, but you know, kind of want to have a even bigger test suite with this stuff. I'm going to have this running. And I'm going to go to pinkery. I'm going to go composer update once again. Oh my god, here we go. Chat, tomorrow night, my goal will be preparing the interview to the creator of TanStack, okay? I don't know how many of you are actually JavaScript people, but the creator of TanStack is coming to the channel next Wednesday, okay?
I'm going to interview the dude. This will be awesome, okay? Here we go. In case you want to get if you want to be notified, this is what we have to do. We just click on the video, then you go here, and you pop you just click on this notify me, okay? Very important. All right, did we Let's type here composer update once again. I think we did it already, but just in case. All right. So, now let's actually run this once again. Fresh build, yep, expected cuz composer.lock is different. Here we go. Outdated. The composer.lock changes always triggers a fresh a fresh rebuild.
And this is expected because minor dependencies or transitive dependencies may actually change the behavior of our code. So, all expected. So, the first time will always be slow. Kind of expected. Yes. Yes. Yes. Yes. Yes. Okay, done. 30 seconds. I'm going to run again. It will be insanely fast. Here we go. Now I'm going to go here. I'm going to change this interface. This should actually make the test suite fail instantly because the model implementing this interface doesn't have that change, I think. Here we go. Just failed. So, this is expected. And if I run Let me just run this without parallel testing, though.
Okay, regardless expected. This is internal PHP error. And if I do this, it would just work again. Let me actually run with Tia. It did trigger a fresh refresh. Why? Reason N N TV is saying the following, have you seen a Povilas video about the new validation package for Laravel? I have not. No. I have not I'm not familiar with any new validation package on Laravel. Can you tell me the name of the package, though? Mourad, hey Nuno, so I was wondering if Cloth is 20 bucks monthly subscription is good to use Cloth Code. I don't know, man.
I don't know if it's enough, you know? I have serious question if it's enough. I think like I would I would end the 20 bucks subscription like instantly in the same day. So, Laravel fluent validation. What this is? Oh, wow. 100 GitHub stars already in less than 3 weeks. Wow. This is very good, by the way. Oh my god, all this stuff should just be on Laravel by default. Like we should be able to do request string and blah blah blah blah blah. Cuz this stuff like when you do this, it has zero static analysis.
Like it's not type safe basically. I could go here and just put whatever what I wanted here and it would still compile, you know? And this offers type safety, which is much better. The good stuff, by the way. I like this. Let's make a tweet about this. This looks very good, by the way. See the benchmarks. What do you mean? It's faster? I would be very surprised if it's faster. There's no reason to be faster, My chat just sent me link to a pack to a GitHub package that adds [music] uh fluent class fluent validation to Laravel.
Looks awesome. Should I do a video about this? What do you guys think, chat? Should we do a video about this or not? Search for speed. Yeah, I think if I do a link to the repo would be nice. Oh, that's a good point. That's a good point. Done. Let's see what Twitter says, but yeah, we probably should do a video about this. Okay, what do we have? Uh do we have a passing test suite? We have one failure, though. And I bet this is because we are using a old version of Laravel. So, let's actually fix that.
It looks good, honestly. If we do I'm going to, you know, potentially when I find the time we do a live stream about the package and we record a video. What do you guys think about that? I think it'll be awesome. But some of you were saying that the package makes things actually faster. I would be very surprised. How is this even possible? Oh, it's possible because behind the scenes they are not using the string version of those rules, but they are using the classes themselves, I think. Let me just confirm that real quick. What is the static method that does this?
public Oh, this is a bad example. Let's actually go to an easier one. Accepted rule, maybe. No, it's not that. Well, I think I'm going to debug that once I do a video about this, potentially. Okay, chat. Okay. Truckinito, what's up, dude? Welcome to the live stream. Nice to see Yum Jabari, nice to see you as well. What were some well-structured open source Laravel repos I can study to learn good Laravel patterns? Go to pinkroccade.com. That's a good one. Reason and N and TV is saying the following. Poopilo has made a test where normal validation makes a hundred a thousand queries and that package makes only two queries.
Oh, so it has like performance improvements, basically. It's not like only like replacing some syntax or whatever. It also makes things faster. Chat, I'm going to use the bathroom real quick. Give me a moment. [sighs] Pa pa pa pa pa pa pa pa pa pa But yeah, we are going to do a video about that package, chat. Okay? All right. So, where we were? So, we were discussing the fact that test suite was failing and then we bumped the framework and hopefully will not be failing anymore. Come on. Come on. It's a little bit slower now that we are using reflection and checking more stuff, but Okay.
So, we're back to having a pet to test suite passing. And we were playing with the contract, which now makes a test suite fail, which is all all expected. Okay? We have this class right here, which is another contract, meaning that if I were to do this, for example, this would make the test suite fail. Yep, all expected. I had it back. Now it's passing it once again. It's issuing an almost a full rebuild because it's an interface used in various places. Apparently in more than 300 tests. Still much faster than before. Okay? I go here, I change a comment, for example, and now it still works as expected because the comment is not the behavior code.
And if I were to remove this interface, though, then it will just fail once Here we go. It's just failing all over the place, basically. Which is expected. I add the interface back. And now it works again, but it has to rebuild everything once again. All's expected. Okay, cool. Uh enums. That was a question that I had before. Uh what happens if I do this? It should run only the affected tests, which are a few, apparently. Test suite is failing. All expected. Yep, 21st 20 tests fail. Only affected a hundred tests. All expected. Okay, I added back and now it will just work as expected.
Yes, sir. I go here. I remove this enum. It will fail the ass off of the test suite. Here we go. All expected. And I add it back. It will work once again. Now, one interesting thing that I forgot to told you, chat, is coverage. Coverage should still work as expected. Meaning that we have less than a second. And if I run dash dash coverage, ooh, it's still be slow on the first run for some reason. No, it's still Yeah, it's still slow and that that's expected. Yeah, never mind. Cuz the coverage just fetch more stuff.
Okay. And now it's instant coverage. 98.6%, which is exactly what we had on the first run. Let me just confirm. Yep. So, if I run vendor been passed {dash} {dash} parallel, I apologize. Uh {dash} {dash} coverage, we should have 98.6% and super slow blah blah blah blah blah just takes forever. Yep, that's seven for some reason. Interesting. In {dash} {dash} tia, that should be instant and get that six. That's interesting. Why is it different though? Oof. I'm going to use uh the {dash} {dash} compact flag, which should remove the hundreds at least. Here we go and I'm going to remove the tia stuff.
Is that background music? Yes, it is. Do you like the background music? Let me know if you like the background music. I love background music. I like music when I'm coding. Bless you. Thank you, man. Appreciate. BJ saying the following, are you using AI while coding on regular basis? All the time, dude. All the time. I don't know if you've seen today, but today we have fixed it three three things with with uh with AI. All right. So, this is without tia, so it will be much slower. But, the compact results will have a few things.
At least four lines. Yep, and I'm going to run with tia, which should be much faster, but apparently it's like 1% of coverage below. Oh, there is an extra file. Wait, what? App livewire questions create 94.4. Uh coverage is not working. Well, it is. 96.5 96.5 77.7 blah blah blah blah blah blah blah blah The livewire stuff is not is not working as expected. Jon Sugar is saying the following, does it ignore? You can make ignore browser test because they can potentially fail even if the code wasn't changed. Example, network. Uh so, currently with browser test, what we are doing is that if you change a CSS file, we'll rerun the entire test the entire browser test suite.
If you change a JavaScript file, we'll rerun only the tests impacted by that JavaScript file even on the browser. Joaquin is saying the following, so just so you know, I installed pow on my recent project and it's working great with Gemini Gemini CLI. That's awesome. By the way, pow was just today proposed to be added to the skeleton of Laravel. So, if I go here into Laravel, we have a pull re Well, we don't anymore. This is a GitHub bug. You want to see this [ __ ] So, here says two. Here says nothing. Okay, so we see two count all the way top.
We see nothing here. I click on refresh. And we still don't see them. Like, what the actual [ __ ] Oh, now they are back, but it's just one. GitHub is so bugged at the minute. Like, honestly. Now it's not working anymore. Like what the [ __ ] GitHub is absolutely broken at the It's kind of insane. And this is insane [ __ ] We need to tweet about this stuff, honestly. It's insane how Microsoft is like breaking GitHub apart like literally. GitHub used to be such a good piece of software and now it's just completely broken. Uh poor GitHub. Jesus Jesus Christ.
Maybe they have live coding so much. I don't know what they are doing, but they are definitely like making the software worse, you know what I mean? It's It's insane. Oh, they are the GitHub status page literally saying that the pull request page is experiencing some degraded availability. Okay. Well, still like I It's not the first time I see this [ __ ] so. I don't know, man. In the past it wasn't he he was not is not used to be broken like this. I can tell you that. Move to GitLab? Not over GitLab used to be bad though in the past.
Competition is always good. Yeah, GitLab is not a good alternative though. Like I I give I think GitLab is bad. I think Bitbucket is back bad too. I don't know. You think it's pretty good? Well, maybe I need to give it like a serious shot again, you know? I remember GitLab from back in the days. That's it. Depending of the features you want. Oh, I see. Okay, so this is all passing, which is Okay, so we know the coverage is broken. Let's add a note here. So, coverage is broken at the moment. Coverage is broken, but you know, the thing is good.
32.4. That's so weird. It says these lines are not covered. Ha! You want me to develop a GitHub myself? You crazy, dude. But, probably with with live coding it wouldn't be that hard today, so. I wonder if I run with fresh, if it will still be broken. Let me see. So, this is without tia gives me 98.7%. And with 98. Refresh. 98.6. And finally, without tia, 98.7. Yeah, okay. There is definitely an issue here somewhere. I'm going to just add coverage is broken at the moment and then I will check that out after. Okay? So, we saw that Okay, let me just remove the coverage.
So, tia and we don't need compact And I'm going to add a new enum. This shouldn't affect anything literally. Just adding a new enum a random enum should just still have a test suite that is passing and fast. It did affect some tests though. That's not expected. 98 tests affected. Why? Huh. Remove them. 98 affected. I'm wondering if this Oh, yeah, baby. We This will affect at least minimum the architectural testing. So, that makes sense. We just confirm that real quick. Yep, all this stuff. I do want to almost remove this test for The [ __ ] Oh, because it's being included on a PHPUnit.xml, I think.
Just remove this. All right, let's go again. So, now we don't have architectural testing, and I'm kind of curious to see if we have Jira's changes while adding an enum and removing an enum. GitHub is working on the ads ads feature. That's why it's broken. What do you mean ads feature? You mean like actual ads? Is GitHub like supposed to have ads in the future? Would be crazy, dude. All right. So, we have a passing test suite. I'm going to go here once again. I'm going to create a random enum. And this should actually just have zero replayed.
I'm so confused. All right, let me check something real Past PHP sources plugins Tia What is the fingerprint thing? Laravel watch defaults So, there is no single reference to the app. What is the fingerprint computing? Here This is so confusing. Joaquin is saying the following, "Dude, I saw the sluggable package. I will be using it so much." Yeah, the sluggable package is probably the best implementation of slugs ever in Laravel. Okay, I'm so confident of that. Cuz I've implemented slug it's up slugs in a bunch of projects. So, you know, we actually didn't talk about that already on stream, but um I have implemented a bunch of slugs in real projects.
So, I am like very confident that the sluggable package you see there is probably the best one out there. And it's like new, but I'm still confident of that. Okay, let's go back to Pinkery. There is something triggering at least a few replays, which is not So, if I go to enums, I have this. If I delete this, it's for some reason triggering a bunch of rebuilds. What the [ __ ] Okay, what I will do is take note. So, enums, so remove add enums is affecting uh tests, and it shouldn't. Um what else? And it shouldn't.
Yes, yes. Yep, that's it. And just to confirm, that was not an issue on interfaces, right? Let me just confirm. Oh, it's also an issue an issue on interfaces. I'm wondering if it's just a default behavior and might actually be Let me just confirm that. Cuz hmm It might actually be just default behavior. I may have to double-check this off stream. So, have add remove any file under app folder is affecting tests and it shouldn't. Maybe. Like, this…
Transcript truncated. Watch the full video for the complete content.
More from nunomaduro
Get daily recaps from
nunomaduro
AI-powered summaries delivered to your inbox. Save hours every week while staying fully informed.

![[LIVE] TANNER LINSLEY: TanStack Start, React, AI Agents, and More thumbnail](https://rewiz.app/images?url=https://i.ytimg.com/vi/AQOPaHHYQFk/maxresdefault.jpg)







