- Duration: 37 min
- Platform: zoom
- Source: Read.ai 01J8JMKHCWMRH9XJR0NM491Y85 (https://app.read.ai/analytics/meetings/01J8JMKHCWMRH9XJR0NM491Y85)
Transcript
[Sid]: Hello guys. [Rizwan Hameed]: What’s up guys. [Rizwan Hameed]: The board. [Michael Houck]: All right, let’s dive in, guys. Another week. So I’ve got the board up. Let me share my screen. There we go. [Michael Houck]: It looks to me like we still got a lot in progress. So I guess, Rafael, you want to kick us off? Let me know where we’re at. [Rafael Bruno]: Sure. I was testing some stuff with Meru regarding the forgot password functionality. It’s working. The reason that in development it was not working, it’s because the emails to reset the password were going to my inbox, not your inbox. Besides that, I was talking with Meru It seems that he just needs to finish some stuff on the onboarding so we can pass for you to test. On my side, I’m working on returning to the front end if the email exists or the user with the email exists or not on the login screen. So we don’t have, we will need to have two steps to log in. Plugin. And besides that, I think we’re, yeah, I think we’re good. The only thing that is breaking some stuff in the application right now is that Sid and I, we were working on the scripts to load data into production. So we are fixing some stuff that are breaking, breaking data, but Besides that, very good. [Rafael Bruno]: Hulk, if you were a doggy, you were… [Michael Houck]: Oh, sorry. So when I look at these tasks that are in progress and then the ones that are still in to-do, we’re on track to finish these. Is what, today, tomorrow? [Rafael Bruno]: The test all endpoints on frontend, I believe we are finished with that. [Rafael Bruno]: Prepping for release, I think this is the one that Sid and I, we are working right now. [Rafael Bruno]: there is one task, the other two tasks, they are with Sid and he’s the one that knows their status. Besides that, I will check the other ones on the to-do list and update that today. [Michael Houck]: Okay, I think that 860 doesn’t need to be completed before launch, because I don’t think that’s related to the new database in particular. It’s just like a bug. [Michael Houck]: But I guess, well, this one we said was going to be part of it. But if we don’t get to it, it’s not the end of the world. [Michael Houck]: But the other three, 848, 864, and think 861, those are all related to this launch of this project. So we need to make sure those are done. OK. [Michael Houck]: Do you want to take a minute to update the test? So we have an up to date list of what’s ready. [Michael Houck]: And then while you’re doing that, Sid, do you want to talk about your stuff? [Sid]: Yeah, sure. So I’ve been working with Rafael on the side mostly. I mean, majority of the stuff is there, but some things like account, I mean, profile photo URL, that is pending, I shared that with Rafael. So the thing is, Airtable has given us links, like when we migrated, we got the profile URL also, but those URLs are not working. So I’ve shared that with Rafael that thing is pending. Apart from that, I have pre populated data for different you for different users, right? I mean, for all users. And even there are some issues with the data with the cost and the amplifier that I fixed and updated. So that the reports should show the actual data. And apart from that, I have added some static data also for the for your user, which we can use to see the reports for the last week and the last month data. So that should also I mean, that was one thing that I did. So mostly those updates on the data side. [Michael Houck]: Okay, how do you feel about where we’re at for for launch? [Sid]: Yeah, pretty good. Pretty solid. I just one thing that before we launch, I would just want to see the end to end flow working on there. But any like about the data migration from editable to here, it is already done. And I’m there if you need anything, but 95% or maybe more than that is completed. There may be some minor changes that we may need, but that won’t block us. We can still proceed with the launch. It’s just that we need to be sure that the whole functionality is working. [Michael Houck]: Okay. Sounds good. Okay. I guess Rizwan, do you want to go next with the scraper stuff? [Rizwan Hameed]: Sure thing. So as you can see, see there’s only one ticket that is in progress. Again, there is no work being done on this. I’m just waiting for the changes to be deployed in the production because the post-engagement confirmation is receiving some like the missing keys in the Kafka event. So hopefully once Phil will give a go ahead, then I’ll update the, make the boards live. To process the updated events accordingly. Other than that, all the bots are working. The followers onboarding bot, that is running in the dev environment. So, because Mehul is testing all the onboarding stuff. So, once they are done with it, I’ll move that to the production as well. So, on my side, to be honest, so far the development, there’s nothing much to do on the development side. It’s just a support thing. If any changes or any bug comes up, then I’ll work on that. [Michael Houck]: OK. Rafael, is that in line with that ticket? It sounds like there’s some dependency on you there. [Rafael Bruno]: Yeah, I worked on adjusting the payloads and adjusting the endpoints to the scraper. But we just need to push things into production. I did some tests here on the environment, and they are all working. But the stuff on production, they are breaking because we had error on production. But since I was working here, I thought that it was better to fix the error here instead of fixing it in both places. So the error is fixed. We just need to push the production to to confirm. [Michael Houck]: Can you make sure to, I guess, move this? I guess I’ll move it to review since it’s technically waiting to be pushed to production. Can you make sure to determine whether we need to make any further changes for this or if we could push it to done before we say we’re fully ready to go? OK. [UNKNOWN_SPEAKER]: Cool. [Michael Houck]: And then Mahua, I know you’ve been like crazy on the front end where I think that right now. [MJ]: Yeah, I was, I finished that entire onboarding flow because there will be like quite a big amount of work which was spending due to the API side. So I have finished it. I see like it’s just working now. So, but just, just one thing to highlight, right. Sometime what happened, let’s say if I, if I use any of the LinkedIn account and try to add the account, it is giving me the null value of it. It’s not fetching the followers count correctly. So I did increase the timeout, timeout like 55 seconds to wait for a single account, but just wanted to call out on that so that, let’s say if user has a two account, it will wait almost like two minutes to move the screen. So I informed the Rafael to look, it’s fine. For now, we’ll deploy it and then we can move on that. [Michael Houck]: Okay, sorry, are we saying that something is taking two minutes to load? I might have misheard. [MJ]: Yeah, I mean, yeah. Let me try to explain. [Rafael Bruno]: The scraper gets about 40 seconds to scrape the follower information of one account. After the scraper does that, it sends the information to the backend. So what I did was to cut the problem that was happening with Kafka. So instead of the frontend waiting for the information of the scraper, it will try to get the information from the backend. And I asked Mehul to put timer between 40 and 60 seconds to query the backend with the account information. Because this is the time that the scraper takes to respond to the frontend. [Michael Houck]: What happens if the scraper takes longer? [Rafael Bruno]: We can put something like try to query again in 10 seconds and stop querying if it tried like more than three times. [Michael Houck]: Yeah. Let’s do that. And then what would happen after the three times that would just move forward without it? [Rafael Bruno]: We will assume that the follower count is zero. Okay. The scraper was not able to get the follower count. [Michael Houck]: Can we, can we, I guess, do that, but also flag an error in Slack somewhere so we can look into it? [Rafael Bruno]: We can do that. [Michael Houck]: Cool. Let’s do that. But OK, so I guess knowing all of this then, what are we thinking in terms of time left before we can go live? [Rafael Bruno]: I think that Mehul can answer that, because regarding the backend, the only thing that is missing is that a seed just needs to adjust the data, and after it does that and Mehul finishes we can pass things to you and you can test. [MJ]: Yeah regarding the onboarding flow I have finished that the end-to-end flow but just wanted to highlight right I still see the data issue that’s I mean like Sid was mentioning that he added the data and last week but I don’t see any data is in populated so just focusing more of it because with the data, if we have full edge data, then only we’ll be able to verify and find the bug. Otherwise it will be like very difficult to find the bug. [Sid]: We have added it. I’ll let you know there are some issues with querying from the API side. So I’m checking that I under feel, but I let you know once the data is back up on the page Yeah, sure. [MJ]: So, I mean, I’m just focusing because frontend will not show anything in case if data was not written and there might be a bug if we, I mean, we might keep the bug behind the data itself. So I was just trying to check on that. Yeah, no problem. Just one more thing, right? So in requests, it’s still, Rafael is still coming as a point value uh you can decimal value so if you can just check really helpful oh sure uh I will check about that okay so do we think today tomorrow what do we think I guess I for my side I guess tomorrow why because uh the data is still uh not ready not sure if that be ready because I need more data to be to be present as a part of the account. [Sid]: That should be ready. Tomorrow itself by mid afternoon our time. I see that. So let’s say 12 hours from now for everyone that should be there already or less than 12 hours to be honest. [Sid]: Okay. Because from my side, from my side, we are we have already fixed that it’s just a couple of other things minor issues that you’re solving so that won’t take 112 hours to be honest yes I mean if it is [MJ]: data will be fixed soon then it will be fine but if you can get get some time uh or you can just test on that onboarding flow to it once and then we’ll hand over to you. [Michael Houck]: Okay, so we don’t think launching today, tonight, my time, we think tomorrow night, my time will be the best time to do it. [MJ]: That’s, that’s my thinking, Rafael, you can, you can give the answer on that. No problem. [Rafael Bruno]: Yeah. If Mehul and Sid say that they just need like two day to finish. This is the last part, because I just think that data and finishing the onboarding is the last part. The rest is done. [Michael Houck]: Okay. So then let’s do that. Let’s plan for that. So tomorrow night, my time. So during the day for some of you guys, but tomorrow night, my time will go live. So when you guys, I guess, wake up tomorrow, tomorrow. Um, well, I guess it’d be two days for you, but yeah, it’s tough with the time zones, but yeah, tomorrow night, my time will go live. Uh, cause no one will be posting stuff at that time anyway. So, um, we should put a banner up in the app today that just says like, or maybe tomorrow morning or something that just says, the megaphone will be offline for our new dashboard launch or maintenance or something, you know, between the hours of, I don’t know, like 11pm Eastern time, or maybe midnight Eastern time till however long we think it’s going to take. What do you guys think about that? [Sid]: Yeah, just one thing. If I’m right, your time now is 2.48pm, right? That’s correct. Tomorrow night, your time means more than 24 hours from now. [UNKNOWN_SPEAKER]: Yes. [Sid]: Okay, cool. So it will be it will be somewhere early morning for us. Maybe roughly you can also translate that way based on us. [Michael Houck]: Oh, I I just pulled up the time zone. It looks like, um, so if we do it at midnight, my time, it’ll be 9 30 India time. [Sid]: Okay. Sure. Do it. [Michael Houck]: Okay. I’m going to put my Rafael. Does that work for you too? Uh, yeah. Okay. I’m going to put that on my calendar. Uh, For that day, make a phone launch. Cool, OK, I will be there. I’ll be available. And we’ll set up a Probably a whole channel in Slack just for the just for the launch so that we can talk through everything in real time and don’t get caught in super long threads. [Michael Houck]: Let me know how it goes. Comes up, no big deal. Just flag it to me as soon as possible. Um, but it’s like, we’re at the finish line finally, which is nice. [MJ]: One thing like, do we need a banner, right? Because, um, as I remember it, a lot when user refresh, they will see the new UI automatically with the word cell itself. [Michael Houck]: Sorry. What, what do you mean? [MJ]: No, no. Do we, do we, do we need a banner on UI side? Because as I remember, right. So when user refresh the page, uh, if The new version is up. It will automatically take care of the new database, a new UI as well. I don’t think so. We require downtime for the replication where. [Michael Houck]: Oh, I see what you’re saying. [MJ]: Yeah. It automatically picked up, right? So we don’t need to. So, because you might get confused again on that part. [Michael Houck]: I mean, I think it’s generally best practice to take stuff offline when we’re changing everything, right? Like the database, the front end, the whole thing is changing. [Rafael Bruno]: Yeah, it would be good to put that because let’s say that someone, I don’t know, at midnight, is trying to create a broadcast. And it’s trying to put data on air table, but we kind of like close the air table. So it’s good to, to like, close, close Megafon for a couple of hours. [Sid]: Don’t expect that there will be any downtime, like for insane for 30, 45 just a five minute build job. So once that is completed, it will be back up again. So five minutes is okay. [Rafael Bruno]: Okay, I don’t think we’ll be just a few minutes because the flow is we need to close megaphone. And we need to take all data from our table and populate the production database. And that could take like one hour, right Sid? [Sid]: No, I mean, I’m thinking a different way. So how I see is that we will populate the data already, that one hour window will start before we merge the PR to production, right. And after that, once we ensure that all the data has been migrated, then we will merge the PR. So from that point onwards, the timer starts, that will be about five to seven minutes for the time. [Rafael Bruno]: need to make a way to we need to close megaphone because we cannot let people populate our table once you started the migration migration job. Yeah, because if they insert a new data, that data will not be transferred to the production data. [Sid]: I mean, that is one of the reasons why we are going with night time, right? I mean, I’m okay with anyways, I’m okay. If we want to take it down for an hour or so. Yeah. [Michael Houck]: Guys, let’s just, let’s just take it down. It’s simpler to just take it down. No one’s using the product that time. Anyway, it’s not going to be a big deal. Let’s just take it down and keep our lives as easy as possible. [Sid]: Sure. [Michael Houck]: Okay, cool. I just sent you guys a calendar invite for that time. I put two hours. I don’t know if it’ll take that long, but just to be safe. Um, but, um, cool. We’ll have a, we’ll have a Slack huddle. If we need to during the whole thing, but cool. I’ll leave you guys be, and let’s touch base tomorrow so that we can be sure that we’re on track beforehand. OK. Cool. I will see you guys later. [Rafael Bruno]: See you. May hope sit. About what we are left. Meru, can you continue to do your job without the data that we are adjusting right now? OK. Rizwan, about, I think you heard the conversation. So tomorrow, we will need to migrate all the bots into a production environment. It will be like, I don’t know, maybe uh 10 10 p.m est you can move all the bots to production okay okay let me check the time 10 p.m est to pkt I think that will be just enough behind for you this one it’s uh it’s just that much uh the gap it’s gonna be a Okay, but no problem, because you can move the bots into production, like, before we make the merge, it will be like, nine, 9am your time, I guess, I don’t know. Okay, but some somewhere, somewhere around that time, we will need to move the Yeah, I guess that is one profile. [MJ]: What I used to do is I used pick up random profile from LinkedIn one of one which has like 15,000 follower one which had like 20,000 follower right so what’s happened right I picked up one of the profile but I’m just trying to find that profile now uh it’s been like I had you said a lot of profile so that’s something uh I guess I I did send the sensor to the to the file uh to the file [Rizwan Hameed]: I can just tag you in that Yeah, just to confirm again, I got an invite from Hawk. So fail, it’s like the day after tomorrow, right? Day after tomorrow, it will be September 26. Yes. Right. That time. So I’m going to enjoy my morning by tomorrow. Day after tomorrow. [Rafael Bruno]: For you guys, it’s okay because it’s tomorrow. For me, it will be from 1 a.m. To 3 a.m. [Rizwan Hameed]: Oh my god. That’s brutal for you. [UNKNOWN_SPEAKER]: Yeah. [Rafael Bruno]: I’ve been working all day, basically. [Rizwan Hameed]: Mehil, did you get the profile? [MJ]: Yeah, I just tagged you in Slack. You can just check that ID has a follower. [Rizwan Hameed]: There are a lot of messages to which one? [MJ]: Rafael, if you can find that based on the ID that which user it was. [Rafael Bruno]: If I can find the what? [Rizwan Hameed]: The profile link. [Rafael Bruno]: Yeah, profile link. No, I don’t have that because you showed me on your screen. [MJ]: Yeah, no, no. I haven’t taken a screenshot. I just tagged you in that. If you can if you can just check like the ID that that we have just tag you know so if we can just check we have that ID which is written by that followers API but I believe I believe [Rizwan Hameed]: I believe if somehow the bot didn’t get the response it should at least say the zero count not with the null okay then I’ll debug just Please, if possible, share that profile URL with me so I can investigate it. [Rafael Bruno]: Could you please send me the ID? You just sent the screenshot. [MJ]: Yeah, in the scene set, we have ID. I am not like… [Rizwan Hameed]: You have to type it manually. Otherwise, I would have to type it manually. [Rizwan Hameed]: That seems to be the only solution right now, because I believe that Mehul only has a screenshot. [Rafael Bruno]: Let me see. [MJ]: check if I will do. [Rizwan Hameed]: I just typed it just to save the time. [Rafael Bruno]: Thank you. [Rafael Bruno]: Okay, I have the question. Account here, what do you guys need? [Rizwan Hameed]: The profile URL of the LinkedIn account for this user. [Rizwan Hameed]: So I can also check the Slack alerts as well to see if it missed or is an exception. [Rafael Bruno]: Oh, I have the initial followers count here. [Rafael Bruno]: It seems that it took a while to reply. 483. [MJ]: So Rafael, do you want me to increase the time? Like we have 55 seconds. [Rizwan Hameed]: I believe, Rafael, the maximum vote can take around 30 or in between the 40 seconds. That’s the maximum execution time. Because I have added the manual delays, just not to get blocked, getting blocked from the LinkedIn. So the total execution time should be there because before closing the bot, I quickly, when I capture the followers count, I quickly send it to the Kafka event. [Rafael Bruno]: I think to do something that Hau suggested before, like getting the followers count sent that information to Kafka, send it to the backend, and then continue doing that manual work. Not manual work, but continue to do random access. [UNKNOWN_SPEAKER]: Yes. [Rizwan Hameed]: Yeah, that’s right now implemented. [UNKNOWN_SPEAKER]: Yeah. [Rafael Bruno]: Oh, OK. Yeah. I think it would make it decrease the waiting time. [Rafael Bruno]: But, okay, Beru, you can work with, I don’t know, 55 seconds per account time and query the backend and do what we discussed on this meeting. If you get the null result, you will wait like 10 seconds and query again three times. If you still get no, then you can assume that the followers count is zero. [MJ]: Makes sense. So I have to implement that. I’ll implement now, and then we can check that on. [UNKNOWN_SPEAKER]: OK. [Rafael Bruno]: Sid, do you need any sort of help to finish the data migration? [Sid]: No, the data migration is already there. We just need to check that broadcast thing. That is one thing. I informed you about that account, that profile URL, right? So those those links, they are not working. I have already written a script which will dump those images in S3. But the target, the source URL has to be valid. The URLs which we have from our table, they are not opening at all. So until we have those accounts, those links working I mean, we can’t have the images in our database and in S3. [Rafael Bruno]: OK. I would like to know how to query that, because all the images that we show now on production, they came from Airtable. So there is a way to get those images, but we would just have to check. But OK. [Sid]: I’m just saying that the data that we have migrated in JSON, that data has everything, but the links, they are not valid. That’s what I’m saying. I also double checked on the links that AWS uses internally. Those links are different than what we got in API. So that’s something we should be checking beforehand. Okay. And can you stay back for that broadcast stuff? I just would like to catch up with you. [Rafael Bruno]: Sure. We can continue the call on Slack. Okay. [Sid]: Yeah. [UNKNOWN_SPEAKER]: Okay. [Rafael Bruno]: Guys, if you guys need anything, just message me. Because I’m getting crazy to push things into production. [Sid]: See you guys.