I'm being ratatouillied

Streamed

Back from inadvertent summer break. Skim of PRs closed since last stream. Search pagination layout fixes. Semantic html for tag lists. Draft for better page titles. Textarea placeholder. Refactor site header. Per-user comments feed. Align comments in mobile. Fix title shortword search. Can’t let GH bug reporters use labels. RSS feed validation wontfix. Year 2038 problem. CSS baseline widely available compliance test, time bomb tests for new CSS features. SQLite migration. Open source sustainability. Lobsters is 14.

scratch


topics
  back from summer break
  don't put .woff files in your linux font dir, fc-cache can't handle them
  qutebrowser has old user-agent a bot used
  cat cam!
  PRs
    search pagination layout fixes https://github.com/lobsters/lobsters/pull/2107
    semantic html for tag lists https://github.com/lobsters/lobsters/pull/2114
    draft for better page titles https://github.com/lobsters/lobsters/pull/2120
    textarea placeholder https://github.com/lobsters/lobsters/pull/2110
    refactor site header https://github.com/lobsters/lobsters/pull/2103
    per-user comments feed https://github.com/lobsters/lobsters/pull/2102
    align comments in mobile https://github.com/lobsters/lobsters/pull/2092
    fix title shortword search https://github.com/lobsters/lobsters/pull/2053
  let issue reporters use bug/design/more tags
  bug report on feed validation, wontfix https://github.com/lobsters/lobsters/issues/1923
    but a call to arms to help the next version of rss/atom



title

post-stream
  re-review sqlite PR + conversations
  email td about sqlite on saturday
    

Transcripts are generated with whisperx, so they mistranscribe basically every username and technical term. They're OK but not great, advice appreciated.

Recording



06:21graefchen hewu do~ limesHi
brainwane Hi! Hope your week has been going ok
ChaelCodes Hello! πŸ™Œ
pushcx Hey, I'm grabbing some water, give me 2m and I'll get rolling :)
In a second. Hey, folks. graefchen Hello Peter limesHi
All right. Where was I? Nice to see familiar names in the chat already. Thanks for saying hi. So for anybody new, this is Lobster's office hours. pushcx Welcome (back) to Lobsters office hours, ask questions anytime!
Let's put a message in.

...49Let's take the message correctly. Yeah. Is this font weirdly small? Can't remember. So I was just wrestling with the, Linux font size for a minute there.

07:13Summer break. Don't put WAF files in. Linux Fonder FC cache. Handle them. So yeah, apparently I unzipped a font like two years ago when it appeared on lobsters called Victor Mono. Where'd that go?

...52pushcx https://rubjo.github.io/victor-…
Here we go. It's a nice looking font. You know, I always like to play with a new monospace. And it's got some clever... What are they called where the two characters connect? Ligatures. So, you know, fun to play with. And I just unzipped the distribution of it, which was just a zip file, and included .wav, which is web fonts versions of it. And apparently, the current version of the Linux font stack, as in whatever version just came out in the last week or two, looks at .waff files and thinks that they are corrupt TTF or OTF files, and then just segfaults programs that try to use that font. Yeah, that was really not my favorite thing to debug.

09:13graefchen ligeratures ... always reminds me of an article where someone argues against it, because unicode already got em. limesSit
So let's see. I am, we have a few PRs. pushcx https://github.com/lobsters/lob…
So I have been, even though I haven't been streaming, have been maintaining the site. And you can look through the list of closed PRs. It's long enough, I'm not going to go through them all here. I guess the highlights are that FedEmp has continued his

...46Just giant streak of front-end fixes. He's especially... Yeah, and the... You know, I didn't link the Lobster's discussion of Victor mono but i think the only criticism of it was someone really didn't like the couple of haskell specific ligatures it had in there you know they're a love them or hate them thing and honestly i look i guess i'm both i like looking at them like i really appreciate the novelty and there's some beautiful stuff but on a day-to-day basis i never want to see them

10:28pushcx https://github.com/lobsters/lob…
So yeah, FedEmp has been doing a ton of front end stuff, especially focused on accessibility and less common browsers. One particular fun one is pull request 2125 for browsers that do not support CSS. So this is my profile in Dillo, which has very limited support for CSS. Maybe none. Here is another test profile after, where he rebuilt this using the DLDT dictionary list HTML tags. And so its default styling is totally appropriate. I think if you went pixel by pixel on the user profile in a browser that does support CSS, you would see very tiny differences. But it's literally like a pixel or two of padding. Yeah, and so this text mode browser went from this kind of confusing run-on to this very clear view. I think this is, was this Elinks W3M? I can't remember if he named it. Anyway, just kind of fun. More semantic HTML. Man, I lived through the semantic HTML fight in the 90s, so great to see. Another fun one was Hugo Arnall, in his first Rails commit, added the option to load your avatar from GitHub. So if you don't have an avatar on the site because Gravatar is not so popular anymore, link your GitHub account and Bob's your uncle. Oh, this one was funny. This is a sister site. This happens once or twice a year, a sister site forks the repo and then like accidentally opens a pull request back to lobsters instead of back to their own parent repo. So they, I think in this commit, they were expanding the rainbow flag on the logo from just June 28 to the whole month of June. And they sent that to us and then kind of went, whoops. Oh, and somebody just started an Indonesian site. I cannot read the language, but Firefox can translate the language. And it looks like it's a... brainwane I'm like 1-quarter listening to your dulcet tones as I work on preparing a weekly events flyer btw I love Firefox's in-browser translation!
The focus is local politics and culture, which is really starting on hard mode for moderation. Good luck to them. My dulcet tones. Ooh, you know what? This is gonna be a delightful stream, because the cat just settled up in the supervisor's spot. Anyways, yeah, good luck with your flyer. If it's a programming event, share it if you finish it here on stream. All right, so we got that. Hey, big guy. Yeah, I know. I'm reaching near you. You don't have to be unsettled. Everything is peaceful. All right, here. Bam, there's the boss. brainwane sorry no, not a programming event! I prepare a weekly "stuff going on in the neighborhood" leaflet I distribute
ChaelCodes chaelcSmug
Usually I put a light on him, but he's a little bit unsettled, so maybe in a few minutes. I know everybody likes seeing, like, ChaelCodes Le Cat
Oh, mate. I know everybody likes seeing the actual streamer here, which is clearly Raz. Yeah. So what else has happened in the last couple of weeks here? Yeah, FedEmp has been just crushing it. Oh, there was a security bug fix where we were leaking emails. to logged in users the checkbox for i want to show my email to other logged in users was not being checked correctly if you checked the box you could see everyone's email rather than reveal yours it was a bug in the original pr a couple of years ago i think that's graefchen I love cats limesOmg
All of the stuff that really jumps out at me, all of this stuff is really useful fixes. And I mean, you can see FedEmp over and over and over. All right, settle down. Let's try the light so you can see him. One sec. Is this OK?

15:49Okay. You're okay. He was not so sure about the light, but he's stuck around. That's honestly not much better. Maybe I should get him one of those ring lights.

16:08Part of the hassle is he's like five feet back from the camera, and I think these webcams are really built for folks who are like two feet back and just blasted with light. And then he's solid black. Actually, he's got a ton of gray in him now. All right, so... If anybody has any pressing questions that they have been saving up the last couple weeks I haven't been streaming, now is a great time to type. But otherwise, I'm just going to roll into PRs and... Oh, yeah. So somebody in the... Lobster's chat room running Qt Browser, which apparently has an old user agent bot used. So I wanted to check on that. Where am I here? Oh, yeah, this was another caching fix.

17:11So I want to look at... caddy file it's in pre yeah so we had this bot hit us with 470 000 distinct ips and all of them hit us every day over and over the short links for comments don't hit the cache and they have to hit the database RuggMatt hi
So they're not free in the way cached pages are.

...53And I guess they really thought those 302s were very temporary. And so they just hit us over and over and over. At a rate of 480,000 a day, you could check all of those in...

18:12All of the comments we have in two and a half days, three days, they were just hitting us continually for days and days. So how long ago was this? Yeah, this has been seven months. I think it's probably safe to delete. They've probably moved on. We'll see. And howdy, rugmat. How do you have a NASA logo? And it says NASA Artemis II? RuggMatt i watched the nasa stream on twitch
Are you in space?

...51RuggMatt during the artemis mission
Ah.

19:02Let me.

...15ChaelCodes Nope, RuggMatt is an astronaut. That's officially canon.
So I try to find a link off screen here for somebody in the IRC channel.

...51ChaelCodes Hi @ruggmatt !
RuggMatt @ChaelCodes news to me
graefchen It is that Badge-thingey Twitch does sometimes. limesSit
Yeah, I've only ever seen the badges for like, this person is a moderator or is an employee of Twitch or is a VIP. Oh. Now you have one, Gravechen. What is that? Raging Wolfhelm? That's got to be a video game reference, right? Either that or Heavy Metal Band has made their own programming language.

21:00graefchen Yeah. There are Global Badges, Channel Badges and some more. limesSit
graefchen Thats the Β»Elden RingΒ« Badge. limesSit
RuggMatt how about a cat badge instead
ChaelCodes Yeah!!
Oh, these are great. A cat badge? Sure. Does Final Fantasy actually have cats, as opposed to... Don't they have a cat people? Maybe I'm just confusing ostriches and chocobos. The last one I played was 6, and it was called 3, so... Oh, recap, you got a year? Neat. I wonder if I have any badges. I'm not going to go dink around off screen looking for that.

...56ChaelCodes I wish I had a 2019 one. That'd be fun.
Why 2019? ChaelCodes That's when I started streaming!
Did something special happen at Twitch Recap in 2019? Was there drama? Oh, neat. Yeah, you've been at this a minute. ChaelCodes Instead, I just have a random year I was on twitch. :/
pushcx https://www.rubyevents.org/
If anybody doesn't know Chael Code, she wrote the modmail feature for lobsters and is now a maintainer of Ruby events. Is it.org? Yeah. This is there's a jump scare. graefchen I am unsure if the got them recaps 2019 limesHmm
This site has a giant database where they are attempting to catalog every talk somebody has given about Ruby or at a Ruby conference. And they're just it's a big lift and there is man there is golden salt in them our hills.

23:06Let's see if they got their caps 2019. All right.

...38Yeah, so these bottom two items are my not so secret shame. There are a couple of PRs that have been hanging out. Why can I not just remove this label? Am I just logged out? Surprised I was able to load like 10 pages on GitHub while logged out. Let's do this off stream.

24:27AnakimLuke IT IS A CAT CAM!!!!
I'm just going to open a bunch of these I know I can look at bottom up. Although I am probably going to go through these in a different order. AnakimLuke yaay!!
Yeah, so that's Raz. He is the actual streamer here. I'm just the hands. I'm being ratatouillied, liking everything everywhere all at once.

25:04ChaelCodes We have 6 talks from pushcx on rubyevents!!
AnakimLuke or... in Ratatouille
AnakimLuke πŸ˜…
ChaelCodes @graefchen I think that's it.
Have I given six talks? Oh, you have every version of the talks I've given then. AnakimLuke @ChaelCodes juliegoHeart smixelBusiness
Because, like, there's one or two of those that I gave a couple of times, yeah. Yeah, it's funny. I went and I looked back at my RailsConf 2016 talk, and...

...34I was trying to bring attention to a real problem in Active Record, and I'm still mad about it a decade later. ChaelCodes Hi @anakimluke !
And I end with like, well, we can either fix this library, which is hard, but I guess we could do it. And no one was interested in that. Spoilers. I never attracted any attention. Or we could try and find these problems after the fact. ChaelCodes lol
And like now, literally a decade later, I'm working on Recheck, which is... The tool I described in there for finding these kind of things. ghost_user_1984 Didn't Sean (sp?) fix it in diesl.rs?
That stuff has been... I have been care mad for a long time. It's the short version of that. twitchtd pushcx hi, oh you got a cat cam?
All right.

26:23So let's go look at...

...32ChaelCodes Correction: 5 talks - Chicago Ruby gets counted twice.
I don't need this buff or whatever you're mad about. Come here. Five talks. Oh, is it counted twice because they do the recordings that are the one giant stream? And then RubyTalks models it both as the one thing and then each individual talk that's in there? ChaelCodes Yeah..... Meetups are weird. We need to fix them.
God, the amount of labor that must go into finding those.

27:02It's one of those sites that I can tell folks really care about because it shows just a ridiculous amount of polish. Oh, hey, Thomas. ChaelCodes Marco's been working on the refractor since March.
I was just taking the stale tag off of your SQLite PR and describing that PR as my not-so-secret chain that I haven't been able to make time to land that. Data refactors are hard. ChaelCodes ~~March~~ December
You end up hitting so many assumptions. Do you have like a separate recording model?

...55Perhaps search element in the nav. Use a list for links. Add vertical spacing. twitchtd hi ChaelCodes !
What is this bug? I wish I could just let people add these tags. ghost_user_1984 Do you want me to update it so they can?
Okay, that's... Fine. I mean, they're touching. ChaelCodes Hey @twitchtd !!
Okay, that is a little tacky. ghost_user_1984 It's a thing we can go and do with the issue template stuff.
Yeah. There should be something below the page. No, that is the bottom thing. ChaelCodes Team mtg
But it would be better if these were indented. Let's see what Federico came up with. He's got good taste now.

28:56ChaelCodes see y'all in a bit
ghost_user_1984 See: https://docs.github.com/en/comm…
oh all right hunter let's let's put that on the to-do list then all right so let me let me finish with this pr and get it on the list later chill and then we will say that we are going to let Two reporters use. Design. Tags. Thank you. I started on this PR, so I want to finish it before I jump over there, but. Yeah. Well.

29:58GitHub is kind of wildly aggressive with the time limitations on the signed image loading. ghost_user_1984 That's because people are using it as a free file sharing system.
Page link buttons. Yeah, fair.

30:46Yeah, I was already logged in when I loaded that PR, so it's right. I honestly don't know if I was or if these headers refresh to notice that I'm logged in. OK. I guess he's going through a semantic HTML phase. I guess I'm old because flex seems a little bit fancy as opposed to just the typical flow layout. But, you know, I'm not going to argue with something that works. Cool. Let's merge it.

31:31All right. So there's that bug is closed. I'm going to pull up settings off screen because I don't remember if it throws stuff up. Where is the.

...54ghost_user_1984 (I'm going to wander off and find lunch, but I'm glad the stream is back)
Is it on the issues page?

32:07It's good to see you too under.

...17Kind of see settings, settings, features, issues.

...28OK. So all users are allowed to create issues. And then there's a templates link. OK, here we go.

...50We can add labels. I was hoping to make it.

33:07was hoping to give people the option to choose things like bug or design and honestly good first issue because i'm tagging but i can explain in a sentence that that's just if it doesn't relate to moderation or enforcing rules it is probably a good first issue because we're not that complicated at rails app i'm not doing this to hide away expert rails features i'm just doing it for ones that you really want to have like a year or two of understanding how the community works where did where did this come from pull requests that update i wonder if that's dependabot i don't know All right. Yeah, that's where I can add a template. And again, yeah, all right. Not quite what I wanted. Too bad.

34:22So speaking of using lists, I noticed this one.

...34Okay, I'm happy to... Oh, I didn't say thanks on that PR. Where'd that go?

35:36Let's get back to this one. This one is HTML for tag lists.

...58Is this on the individual story display?

36:12Home index. Yeah. Yeah. So this repeated code is heinous inline partial for anyone who wants to see the ugliest feature in the code base. But this is the original, and then it's replicated into those other templates for performance is the very short story.

...39I worry this is going to break stuff. Inline block, no padding. That should be the default style.

...52I would hesitate a lot more if it wasn't someone who's made so many excellent front end fixes, but this is probably safe. All right. And if it breaks, it's going to be very obvious, because it's going to be on the home page, and then we'll sort it out.

37:55What's the term? I want to say speech-to-text browsers. Readers, that's right. I had peeked at this one the other day and clicked on all these links. But this is my streaming browser profile, not my personal one, so they're still blue. Normally, I would click through and kind of poke around a bit.

39:07Just to make it clear, I'm talking about an actual CSS reset rather than rewriting all our CSS from scratch, which, wow, do I not want to do.

40:01It's having its own ally, isn't it?

...22All right. So he's got a... How's that? What is this with? Let's peek at it as long as I'm going through everything.

...40Site sections don't have specific title pages. OK. Not you.

...58Why are these my favorites? I don't think these are my favorites.

41:12I need them to be able to understand where they landed. It's also important so they can understand if activating a link took them to another subsection and not just the homepage again. Yeah, that is a real thing. Okay.

...32yeah all right hidden stories each one single and multi-category oh nice

42:04What is this Boolean? Oh, it's whether to render the title as an H1. Oh man, this is going to be a big PR if he's working through everything. Yeah, content for title.

...25I always get, it's the right call here. But I'm always a little nervous about anything dynamic on error pages, because I've had the situation where the error page has a bug that masks your actual bug. This one is such a core Rails feature at this point. That's probably OK, and it's got a fallback. All right.

43:01A multi tag. This is really. Yeah. If the title is present.

...29twitchtd what's your cat's name?
pushcx Erasmas, Raz
let's make a blank string oh yeah this the way this one template gets reused the cat is erasmus spelled with an a so he's

...59But at this point, we've shortened down his name to just Raz. pushcx https://en.wikipedia.org/wiki/A…
He is not named, I mean, not directly named after the Christian saint. He is named after the narrator in Anathem. Might be a sci-fi nerd.

45:06twitchtd Mr. Raz!
Mr. Raz. Yeah, there's not really a better way to handle this without breaking these up into separate templates, and I don't want to give... You know, I've been annoyed at it for a decade. I can probably leave it for another minute.

...31That's one of those things. This is the kind of thing that I've become fairly comfortable throwing clawed at, where it's like there's this weird thing I am refactoring to a very well-established pattern, especially if there's at least a smoke test on it. All right. And you can tell that Raz is the supervisor of the stream because he's such an active, hard worker. Oh, he's slipped out of frame. Come here, sir. There you go. AnakimLuke i remember i did ask for a cat cam a while ago :D
And as an executive, I mean, you can see how efficient he is. That's why his salary is 10 times higher than the developer he is supervising, me. yeah you know honestly the cat cam is up to him when but i've learned that he likes sleeping up on top of this file cabinet in the summer when it's warm but in the winter i think either there's a draft from the window nearby or just something he doesn't like about it maybe the window is radiating cold But he pretty much only sleeps up there in the summer.

47:15Okay.

...22This is

49:08What's the third thing? GitHub. I swear there was one more thing.

...33Oh, this title h1 coupling was weird.

51:05you you

52:11Let's put this one in the notes. So for page titles, repeat text area. It's just while I'm thinking about it.

...38Oh, another one for alternative browsers. Most do not support. Oh, I didn't realize most didn't support placeholder. I knew it was. Newer. But you know, I've been making. Websites for like 30 years, so my personal definition of newer is pretty skewed. Suggesting P hidden.

53:17That's never going to keep those two things in sync.

...47I've seen hidden as an attribute like that before either. Speaking of newer features, yeah. So this one is only, I mean, if it became widely available in July 2015, then 30 months beforehand it was created. So yeah, this one's only like 15 years old, it looks like.

55:55at the same browsers workplace folder so also don't support

57:14Man, that's a... You know, I'd have to dig back through the pull requests. And Channels, if you're listening, please don't take this one on. But I can't really think of the last time I actually had to ask for changes from FedEmp. Like, he's really doing a great job of clearly describing his changes and... making exactly the fix that makes a lot of sense. And he's picked up a lot of my style stuff. So I almost can just look at his PRs and run it on a list and hit merge. Without reading. I don't do that, but it's a little tempting. Hmm. guess there's a deep agreement between dangerously skip permissions to Claude and giving somebody a commit bit. Accessibility. Okay. New and current. I mean, sure.

58:40dillo not perfect not horrible yeah sure i guess this is i guess i'm thinking because they're all one word except for the karma display it doesn't feel like this is a big win where

59:11On the user profile, the field descriptions and the contents of those fields were all multiple words, which makes it a puzzle to figure out where one ends and one begins, both the labels and the contents. Let's look at all these. All right. There's a slight difference.

...42GitHub, come on. Even when I'm logged in and the maintainer of the repo, you got to give me the five minute expiring link.

...59OK. ever so slightly tighter together because the A in active is fading at the same point but the S in threads is different that's fine I don't have real strong feelings about whitespace which is not how you know I'm not really a typographer so then we've got recent newest top

01:00:39Oh, I do actually like, it was deliberate that this was a little wider.

...52Let's look at the CSS, because if he switched to flex, and he probably did, that's kind of a pain in the butt to replicate. Yeah. So we have the body.

01:01:15No.

01:02:06Huh. Why is that safe to remove? Why is that there in the first place?

...37Oh. What is the date on you? Oh, yeah. Saturday, June 30, 2012. So that is a notable commit to pop up in a blame because...

01:03:01pushcx https://lobste.rs/s/zwz0wh/four…
June 30 is before July three we just turned 14 last week. So it's always interesting to see. A commit turn up in a blame that is from before the site launched at this point they're pretty uncommon.

...28This is probably here because. The original upvoters were using A tags, and this is about voting. Yeah. That's a deep cut.

01:04:24h1 yeah that's redundant and even if it's not redundant i would rather just lean on the browser style sr only okay i mean that's got to be screen reader only but that's a new one site header that's an improvement i struggle to fix this nav if you want to see Peter Hasling with Frontend, you can go back to the PR where I put in this nav a couple of years ago, and it was a big project to audit what we had and all of the site things and what we could put up there and make something that worked on mobile and on desktop.

01:05:23That's

...42Is there any traffic helper? Yeah. dhruv2038 helllo
Let's grab that file name. Can I not?

...58Hey, Drew. Looking forward to the 2038 problem.

01:06:20dhruv2038 2038 problem??
ChaelCodes Is there a 2038 problem?
Probably click forward. Yeah. dhruv2038 https://en.wikipedia.org/wiki/Y…
dhruv2038 oh I see
So there was the year 2000 problem when two-digit decimal dates in old COBOL programs rolled over. Ah, you beat me on the link. Yeah, and we're going to have the equivalent happen in... God, we're down to 12 years now? How weird. This has been in my head as a... a very far off thing for like a very long time. I want to say I learned about this around the same time as Y2K. And in like 1997, everybody went like, I mean, it's a problem, but we won't be still using 32-bit integers, right? Because we could see 64-bit systems on the horizon at that point. But boy, there's a lot more code written for 32-bit systems than there ever was for two decimal column dates in COBOL.

01:07:40Well, if I know humans, we'll start working on it about six months out. And we'll probably make it under the wire.

01:08:22ChaelCodes Yay, humans!
What's that called? RuggMatt storybook
What's that standard tool that folks use with React that's like a lookbook for all of their components that shows them in various states? I swear it has book in the name. React components library storybook. Thank you. rotated8 Debian has started updating packages- https://www.phoronix.com/news/D…
Yes, I knew somebody would know.

01:09:00Oh, neat. Rotated 8. Thank you. That is a deep cut.

...10Yeah, that's great. Do you want to submit that to the site? That's genuinely a neat fact. If it hasn't shown up before, please do.

...42rotated8 I don't have an account
rotated8 Happy to be a lurker
Can you DM me your email address here on Twitch? I can't reply to Twitch DMs, but I don't know. rotated8 Haha, sure!
If you want to stay a lurker, fine. Let me grab this.

01:10:09ChaelCodes Wait!
ChaelCodes Can I do it?
DMs are now called whispers. Wait. rotated8 Go for it
Yeah. Chill. Sure. twitchtd looks like debian trixie (13) is already included with the time64 change?
That saves me a distraction while I'm coding. Honestly. Thank you.

...42ChaelCodes I NEVER get to share stories! :3
Oh, Chael, I thought you were volunteering to invite Rotated8. Can I ask you to invite Rotated8? Because, you know, someone friendly who pops up with deep cut knowledge is pretty welcome. And then you can share the story by proxy instead of sniping them.

01:11:11ChaelCodes You have an email rotated8?
Oh, the username just clicked. rotated8 Yep!
RotatedApe is an infinity symbol, right?

...24ChaelCodes Hmmmm
rotated8 @ChaelCodes I'll dm you
RotatedApe, please send it by DM to Chael, if possible. That saves me censoring it out of the stream archive. ChaelCodes Thanks
I mean, if you're not able to, because I don't remember how Twitch's restrictions are. then just paste it and i'll go edit it it'll just save me a chore you know all right so

01:12:18He moved it down here. That might be safe. I want to say I fought with this. And the reason there's an A inside the div is because it was originally on the logo. And then having the A on top made it hard to align. ChaelCodes Invite sent!
The novelty logo code has actually gotten just a ton of work for how little it does. It's very fiddly. rotated8 Thanks!
So even just adding it to the cabinet for quick visual inspection would be a win regardless of this PR. Thanks for stepping up on that, Chew. rotated8 Yes, it is!
Rotate8, you didn't say, is your username because a reference to the infinity symbol?

01:13:25Nice. The nav. Wait, why does the nav become... You know, for semantic HTML, I don't love losing the nav. Where is the actual HTML? So the sub nav... Oh, it's gaining nav elements.

01:14:07Why are these different?

...13These should be shoved. The wrapper should be shoved up. Yeah.

...23Oh, it is.

...34So this is the. Where's the default? Some messages. Oh, look at that. A main tag. That's very semantic. So then if content for sub nav.

01:15:36Oh, goodbye, sir. So I guess he's going to wander off for a snack. So let's turn Cat Cam off.

...49There we go. I do not have a fancy stream deck, so...

01:16:07I can just check this. Let's look at that.

...30This one shows in a little style. Yeah, the mod one is weird. But again, these are the... Ever since I spent a few minutes with... What was that templating library? It was written by Joel Draper, but it has a builder style for HTML. And I kind of went, oh, well, this is obviously how all these should be. ChaelCodes Phlex?
Because I'm kind of thinking about the difference between, is this a list of links? Are we passing a list of items up to become nav items? Can we separate out the knowledge of HTML? Flex, yes, thank you. That's exactly what I was thinking of. of the html structure from the contents and it doesn't feel like a big win here but it is a little bit of win because we're being explicit that what we are logically doing is giving lists of things we're kind of breaking it with this style tag but i bet he deletes that And as long as your language is syntactically expressive enough to keep it small, you get a bunch of benefits out of that, like testability. And all of that kind of disappears into ERB because it's string soup.

01:18:25And it's not that I want to spend a lot of time thinking about, am I rendering a subtemplate or am I passing a list of items? But this stuff adds up, and when you can see it in lobsters, it really adds up on big sites.

01:19:17so that was a mod sub nav oh he did not delete it i'm genuinely surprised we've been changing over the mod dashboards very slowly so that these top dashboards of most flagged stories and most flagged comments and commenters are not much used anymore.

01:20:06We are not quite to the point where we can start dropping those or reducing them even further. Yeah, I'm going to leave that. So what else changed in the CSS? Where did the inbox count go? We got to turn here. If you are not using DiffTastic yet, it is a great, great tool for doing semantically aware diffs. So what that means is rather than compare the exact text that changed, so especially in Ruby or CSS, I have to hide white space to avoid a lot of noise. It compares the two ASTs, and then it goes back and diffs the text of ASTs that have semantically meaningful changes, so that things like fixing whitespace just literally don't show a diff, but then also things like... Where are we?

01:21:33Yeah, things like this edit get linked up better because part of why this isn't recognized as the same thing is because this part got indented and had a line inserted, not just direct edits. So anyways, DiffTastic is indeed fantastic.

01:22:12Oh, yeah, and it avoids this kind of thing where you tweak one line and your whole diff jumps around. I love this stuff.

...30Put the other stuff up in the global. I saw it up there.

...39Where do we use radio group container?

...49Only in the settings. Why delete that?

01:23:06He's reorganizing. I bet this is for checkbox controls. OK. That makes sense. He's putting it with other form stuff.

...33a the text underline

01:24:05OK, so we moved this up to, sure, that's fine.

...14I didn't know there was an actual subnav element.

...23This is a very educational day going through his PRs. Options class equals class names.

...39RuggMatt github down for me!?
Wait, how are you marking the current one then? Is that dead code?

...58RuggMatt ok now it works
Yeah, it's dead code. Good catch.

01:25:05Looks like it's up for me. Yeah, who knows with distributed systems.

...16So he must have tested these novelty logos if he caught this. OK. And we've got a header. Yeah, I was hoping to avoid some of this churn by turning off whitespace, even though it meant I lost my place, but... SR only.

01:26:03Huh.

...13I guess it won't read the title on there if it has. I don't understand this one.

...39twitchtd wfm
Oh, I'm taking screen reader versus Hovering, okay. Yeah, that's fine.

...52Then we have a nav, aria-label is the menu. Sure. And then this is the same code, but it doesn't know that.

01:27:11These... These are missing the slash LIs.

01:28:02Are we going to push anything else right? That's fine.

...13Make sure to keep these two B in the same line.

01:29:18I don't see how he's handling the fade. It was visibly there on his screenshots. So I'm a little surprised to see the corner element disappear there. OK.

...45Maybe I'm misremembering. I thought it was the corner that was the little fade effect, but apparently not. All right.

01:32:09He knows what I call it. I don't need to restate it. Zertar. Oh, this is another, not another regular contributor. I need to say a new contributor who just had their first PR merged a week or two ago.

...44Yeah, so I reviewed this one off stream. I had a couple of small comments and it looks like it hasn't been touched yet.

01:33:03Unless there was a force push, but I would see that below, not above, right? Yeah. This is one of those risks. I got so swamped that it took me 10 days, 11 days to get to this PR. And when you're slow turning them around, people don't make changes as fast because it's falling out of their head.

...39I really do wonder So we've had just a huge sustained increase in contribution to the code base over the, I don't know, year and a half, two years that I've been streaming. And I honestly don't know if it's Twitch visibility or just the fact that I'm now more reliably reviewing pull requests every couple of days instead of my old schedule of once a week on Wednesdays.

01:34:22But they're currently going to go out of the screen if story previews are enabled. And oh, that's interesting.

...37Yeah. Who was forcing it?

...49Is there a? I mean, that's, that's totally clear. And it aligns with the second line of each entry.

01:35:31But it doesn't. It's down to the third here. And it's the second on this one. Where am I seeing it?

...48Padding top is always too round. Why do those appear different?

01:36:17Like this one is very much, it's a line with a second line of text, and this one is not.

...51All right.

01:37:16Thank you.

01:38:33plorglewurzle Hi Peter! Sorry for intruding so bad... The lobste.rs rss feed is broken currently, if you use the w3c validator it explains an invalid email is stopping it from being a valid feed
Oh, hey, plurigal worzel. So that's not intruding. That is exactly what office hours are for. And we have an issue for that. plorglewurzle Thank you <3
Give me a second to finish my sentence here, and I will find you that issue. Yeah, that was...

01:39:032114. Here we go.

...12So I got that. So let me grab my my scratch up.

...26So this one is sort of deliberately invalid. Which is rude of us, I know. Is it in my browser history? No. I want to say it was this calendar year. pushcx https://github.com/lobsters/lob…
It's not open, right? Yeah. So it sounds like you're seeing this issue. for the same reason and well hang on the same reason this book this issue had a couple of smaller issues inside of it like russian dolls and one of them specifically was the invalid email that you're reporting and We can't give a valid email address because we don't have one. And we are required to create an author tag. And so we have to choose between being invalid by not having an author or being invalid by not having a well-formed email address.

01:41:01and if we invented email addresses like if this said anton user.lobsters like someone's going to try and send email to that and we're not going to accept it we'll probably bounce it especially if i remember to not create that host name but that's kind of brittle And then the other thing, the other big thing that happened in this issue was they were not actually blocked by validation because this is a common and old enough issue that pretty much every feed reader deals with it. They were actually being blocked by, I can't remember if it was a different validation issue that is fixed or it was IP banning. Yeah, it was the... IP banning. We've had to get more aggressive about that since we've been really aggressively scraped by bots the last year and a half. And so we've had to put our defenses up and yeah.

01:42:24So, plural worsel, which is it's mouth foot. What feed reader are you using? Because, you know, in the same way we serve invalid HTML that works, we're serving invalid RSS that works.

01:43:01plorglewurzle I'm using something built by myself, so your insight is actually useful for me to fix that on my side haha
Are you still present? How do I see that list of people? You're using something you built yourself. Aha. Well, welcome to the pain of the real world on this one. Yeah. And I'm sorry to be difficult, but like, I can't fix it. We can't invent email addresses for users and we can't leave out that tag. Real world is full of garbage, huh?

...41plorglewurzle Yep, I do get it, dumb that it forces an email address, not your fault there
You know, so Plurgle, this is actually not the first time we've had a bug report like this. I can't remember who it was, but like four or five years ago, someone gave us a bug report and they were like, hey, your site is broken in my browser. this layout isn't rendering right. And they didn't have a screenshot. And so I was like, oh, well, what's your browser? Because it looks fine in Chrome. It looks fine in Safari. It looks fine in Firefox. And they were like, no, my browser. I am writing it. And I was like, okay. Okay, I think this is a U-bug. And we jumped through a bunch of hoops to make less common browsers work. And we set a pretty conservative standard. But I do draw the line. ChaelCodes LUL
plorglewurzle hahaha
supporting homebrew browsers as cool as they are but yeah so now we are seeing a second instance of it of someone showing up with a homebrew rss reader reporting a bug and i will admit we are invalid clearly so i guess what i am saying is

01:45:05davidofterra I thought Atom was the fixed spec
You should join the W3C and fix that spec, because I don't know the last time that RSS was updated. plorglewurzle Ironically I'm using a well known node lib for that, I already had to override so much crap from it :\
That was weird. I saw things that mentioned RSS, and then it refreshed to results that were just W3C. That was an interesting bug. brainwane "you should join W3C" I think more livestreams should include entreaties to volunteer for standards bodies
You thought Adam was the fixed spec. Honestly, I can't remember which came first and which was the better one. I know everybody's doing. Oh, Brainwain, yeah. Would you help me nerd tonight, Plurglewurzel? brainwane (maybe ASHRAE)
So Brainwain is somebody who's done a lot of community contributions. And the one that comes to mind is you've done a ton of stuff around Python packaging. What is ASHRAE? I've never even heard of that one. brainwane YES IT IS
I'm guessing it's not going to be the heating, refrigerating, and air-conditioning professionals from over 132 nations. Did I typo? brainwane yes!
Do you want them to work on an international standard for heating, refrigerating, and air-conditioning? I'm lost. Better link.

01:46:36brainwane in particular, they have put out some great ventilation standards
I need you to please explain the connection to RSS readers and the RSS spec, because I'm really not getting it. Okay. This must be a COVID rabbit hole you went down, or this is a heat pump rabbit hole you went down.

01:47:08What is editorial corrections? Wow, that was an interesting default font size and layout. brainwane I would object to the "rabbit hole" phrasing but yes the way I heard about the ASHRAE ventilation standards was from other COVID-cautious folks
This is the current based on 2009.

...33That's fair. Maybe the better term should have been brainwane Understood!
nerd sniped because what i was trying to recognize in a positive and praising way is the programmer tendency to find one problem and then follow it over to very very fun standards and like original implementation like I am the guy who has the PDF for every appliance I've owned. And sometimes the repair manual, if I can find them.

01:48:20brainwane BTW in a more Python packaging-relevant vein: https://blog.python.org/2026/06… if you contribute to the Python ecology in some way, you may be eligible to vote in the upcoming election for governance in Python packaging
So anyways, let's politely ignore Brain Wayne trying to sucker you into ventilation standards so that I can sucker you into RSS standards. Because the W3C... really is, and I mean this in the most literal way. I guess I should say W3 instead of W3C. Maybe I'm out of date on their name. But they really are small mailing lists that welcome new people brainwane it's good to know the W3C is actually welcoming to new contributors! Standards bodies definitely vary on that dimension
and it all pretty much all works on volunteer power like it is a real thing that you can get involved in and in a few hours or maybe a few tens of hours for the bigger stuff you can make meaningful contributions to the w3 like make sure that this use case is noted for the next version of rss or atom whichever is cooler because i don't remember then maybe even work towards getting the next version of rss released because if it's been like 17 years yeah they're the big ones for web specs are less friendly like i'm not trying to pick on anybody But my general experience has been positive with all of the small groups. But then when you get into core HTML features, they get more drive-by contributors and very confident amateurs. And so they are a little less encouraging and a little more like, where's the beef?

01:51:30Okay. You've had some failures on main recently. Yes. Okay. So this is fine. So this is, speaking of web standards, if anybody hasn't seen it, cause it's a fairly recent addition to the stream or to the site code base. And I'm not, I don't think I've mentioned it on office hours. I don't remember off the top of my head, but we try to target baseline widely available to say like pushcx https://github.com/lobsters/lob…
yeah the big browsers have to have supported it for 30 months before we're going to depend on it because we have a surprisingly fat tail of people who are using older browsers either because they prefer it or they are using a older hardware that doesn't get new releases and so we're real conservative about only wanting to use things that are considered widely available The link there is worth checking out because that is defined in a pretty thoughtfully pragmatic way. So I wrote a parser. Well, I used the Ruby CSS parser, but I grabbed their data and then walk the AST of our CSS to compare against their data and make sure and just validate us. And Chael, we mentioned flex earlier. This is the kind of thing that would have been like 10 lines of code if we had a CSS builder. But instead, it would have been something we could build into those CSS builders instead of something we have to kind of bolt on the side. And... twitchtd pushcx I resolved conflicts and merged main to the sqlite pr
No one has ever accused me of being a purist programmer, so I'm happy to bolt it on the side, but you know, I want the nicer thing.

01:53:44Oh, Thomas, that's great. Hold on, you know, as long as you're live here and I'm rambling, let me look at my calendar for this weekend. Hey, if you're free on Saturday, you want to take another run at it?

01:54:07So TD Thomas is referring to his open pull request to port us from MariaDB to SQLite. And we took a shot at putting it in prod. mumble months ago and had to revert because of some performance issues. We had a contributor email, some suggestions for performance stuff. Thomas fixed a bunch of performance stuff and it is probably time to try again. And I have joked about

01:55:00I've kind of joked about how long that PR has been open, but it's been a long time. And Thomas has really done humans work with that one, both the size of it and the challenge of continually merging in Maine, because I haven't been able to make the dedicated time to rotated8 I hope y'all are keeping notes through this, I'd love to read a blog post about the journey
like take prod offline for a couple hours which i really try not to do on weekdays if i can help it because weekend traffic is like 50 of weekday traffic so then yeah let's pull up the i'll give you the link because there's a lot of discussion in here about that. This is everybody.

01:56:05pushcx https://github.com/lobsters/lob…
Actually, you know what? That is more useful than a specific PR. plorglewurzle (btw: made another override into rss-parser and now my reader works, thanks again :D)
So this is the pull request we originally tried to deploy. twitchtd pushcx I could dedicate some time this saturday, I was hoping to get it possibly reviewed again before merging though since it's been a minute, and to get feedback around the perf changes
and then i had to revert it and there's a complexity in github where you can't if you are the contributor you can't reopen a pr if you've made particular kinds of edits and i don't remember what they were but thomas had to open a new pr basically so that's why there's another one up here instead of just reopening this one which started an embarrassing length of time i'm sorry thomas

...55Oh, cool. Yeah, I definitely will have to make some time this evening or tomorrow, which I do have time. Yeah.

01:57:21So I'll go through it again and I'll try it on a fresh prod dump and catch up on all of the changes and reread that performance thread that we had on email.

...46Yeah.

...51so yeah so popping the stack this was me trying to enforce not quite standards compliance but baseline compliance see we don't even have a term for this it feels like something that should be built into the web framework as soon as i wrote it i was just like oh i've wanted this for ages because it does both testing that all of the features we use are widely available, or you could use a more current standard that's a little more aggressive if you're in a hurry and you don't feel the need to support less common browsers. But then it also does the reverse where when we want properties, we're adding comments and we're adding them here, and then the build fails when they become widely available so that we have that reminder that we know we can use them. So they are a kind of time bomb test. And the build failure on this branch is totally harmless. twitchtd pushcx just send me an invite for how you want to coordinate (google meet or whatever you want to use) on saturday, and I'll join
It's that time bomb test saying, hey, this feature is now available. You can use it.

01:59:23sure yeah let me let's put that in my notes so i don't just immediately forget that

02:00:20twitchtd alright, have a good day, I got to go, bye
Hmm, all right. Ah, cool, take care, Thomas.

...40Yeah, these links are gonna be here for probably 50 years. Once people put a feed in their RSS reader, they never want to revisit. And it's funny, the feed readers that developers tend to use tend to be worse on noticing 301 redirects and surfacing them to the user because the feeds live in a separate config file rather than being in a database that the user doesn't directly see and manipulate. And so the developer feed readers are less aggressive about, hey, you can update your feed or you must update your feed link.

02:01:55brainwane oh that's so interesting, about the tendencies of the feedreaders that developers tend to use and what that does/doesn't surface
yeah and it's just it's the data storage mechanism right if your config file which is your list of feeds often is a plain text file it's considered rude for a program to edit its own config because that's considered the user's domain like it's their job to have authority over it and the program changing things out from under them underneath is kind of surprising I think that's why Git knows how to edit its own config files, but it really doesn't edit your own Git config except for, I think, adding aliases. And there's a bunch of stuff, especially around remotes, that involves typos or this SSH URL is now an HTTPS URL. that it doesn't really cleanly support it, because it's like, whoa, I'm not going to edit your data. And that's me kind of interpolating. I haven't actually seen their developers discuss this. But you don't have ls say, you know, you often pass sort by time, so I'm going to add it to my config file, because you do it all the time. You do it in these directories. I think people would be shocked by that, right?

02:03:49Can routing specs do redirects? I think so.

...59Yes.

02:05:05be around for a very variable time given that developers like to use speed readers with plain text config files that the app is not

02:06:15page thing. So yeah, we have these like multiple pages. Let's see if they ever show up. I'm going to do this off screen, but I'm going to just log in a prod and do it now because I can quickly grip the logs here. So if I search for like page slash two dot RSS in the caddy log,

...51So with log rotation, all right, no hits on that. And then with log rotation, I've got to use bzcat. So bzcat all the catty logs of the last couple of weeks. into grepping for page slash two dot RSS. And we may I may see like one or two hits, especially from this contributor who probably used curl or a browser to confirm that we really do serve those odd RSS feeds. So that's going to run in the background for a while because gripping our our raw logs is, it's a lot of logs. How much logs is it?

02:08:04Get these caddy files.

...17Looks like they're around four gigs a day uncompressed.

...30Huh, traffic relief. So I'm looking at the list of log files. And... It really jumped out at me that you can see the American 4th of July holiday here, where there is less user browsing, so less novelty. And so the logs are like 1% of normal compressed. They're probably not that much shorter in terms of how many hits they are. But the hits are going to be now overwhelmingly bots, which are more repetitive, which compress much better.

02:09:20Yeah, and we're towards the end of the UTC day. So this one is on its way towards four gigs, but that compresses excellently because the logs have lots and lots of redundant. Oh, I misread entirely. That's the start of June. not the start of July. This is probably back from before I fixed LogRotate then. Caddy has its own built-in mechanism for rotating logs. And I have been battling that and LogRotate and Hatchbox's LogRotate 5.27, yeah. So there's me fighting it just a couple of days before there are some small logs. And then I think I put it in one of the caddy files, right? Yeah, okay, another one here. So, yeah, that lines up on time. All right, let me close out some of these extra terminals. That bzcat is going to be running for a while. And I shouldn't have put it in this terminal because then it becomes real easy to flip back to it and see PII on screen like, who's browsing?

02:11:03I really don't want to restart that because it's going to take long enough and thrash the prod disk enough. But you know what? I would have seen incremental progress.

...37chamlis_ hi-h
Ah, hey, Chamlus. Nice to see you again. I, I mentioned you like an hour ago because I referred to some tiny little detail and I didn't mean to nerdsnipe you, and so I proactively said, Chamlus, don't look this up.

02:12:02Alright, so...

...18I think we need a routing spec. Honestly, I feel like deleting an unused thing that has never existed is fine. Yeah.

...32Cool.

...41chamlis_ haha, sorry to have missed that one...
It is so interesting the contributions we get. It's so interesting the contributions we get where sometimes people like Federico have their own particular area of interest. Like Federico is really focused on accessibility and front end bugs. And otherwise, honestly, the most popular thing seems to be These kinds of like long-term cleanups, like, yeah, we did something weird in our URLs. It's been weird for a decade. Let's start fixing it. Or like the title tag PR that we reviewed earlier, where it was like we invented functionality for something and now Rails, now. Five years ago, Rails added functionality for it and we're catching up to that. Those kind of issues seem to be really popular. And I really could not have predicted that people would be so interested in legacy cleanup.

02:14:09I peeked back. What is the date on this? it's caddy's log and caddy logs a unix timestamp rather than a human readable which drives me up the wall yeah this is either somebody so there are exactly two hits that have shown up in that search that's been running for whatever five minutes or so and one of them is very clearly a bot and the other one is probably that contributor who wrote that pr I'm going to do this one because it's smaller and I think ready to go because I reviewed it once. Then we'll come back to that other one.

02:15:09So there's a limitation in our full-text search that you can't search for two-letter things like XZ, which was the target of that very famous supply chain attack, what, last year? But you also can't search for things that are single-letter, like, say, C or C++ or two letters like GO. And so there's some polish in there for those, and I broke the polish. where it at least recognizes the names of those programming languages, and I think maybe also AI, and says like, hey, we have this limitation. You can't search for it. You could search for the tag. And I get a little snarky in the one about Go. But they broke when we refactored the search parser. AnakimLuke don't cross the streams!!
search for a title yeah okay parses short words yes valid associates a title with a short word search yes does not issue a title search oh you know what i'm crossing the streams we've had another one that also fixed the search parser for those labels this one was just about trying to do a focus search. And searching title is hitting a Varchar column, so you can do it. I mean, we already had our stream crossover with Chael dropping in. Yeah.

02:17:02OK, but it doesn't parse correctly. OK. Yeah, this is really clear.

...15ChaelCodes Still here
Ah, this one is actually just hanging out, and it's been a month.

...27All right, this one was a really minor thing. Good enough. I would rather merge this with a minor cleanup possible. Ah.

...46AnakimLuke (you did intend the ghostbusters reference, right?)
Speaking of more popular streamers.

...53AnakimLuke LUL
Yeah, yeah, I did. I was a kid when that one came out, so. Cultural touchstone. I think if we're going to extend the metaphor.

02:18:14I cannot remember ChaelCodes I was a kid too, but that one went over my head!
the name of the big ghost from the end of the first Ghostbusters movie. But that would be Chael, you know, limitless power, glowing eyes. And I aspire to Egon, but realistically I'm Rey.

...40davidofterra Zul?
Or whoever Rick Moran has played, if we're being fair. A lot of great nerds in that movie. Sewell. Yes, there we go. Yes.

02:19:15ChaelCodes Wait, so I'm a ghost and you're a Ghostbuster? lol
yeah i was trying to make you the the supernaturally powerful one i guess is zool really even evil in that movie or are they just sort of unknowable because like the ghostbusters call zool evil i mean i'm aware i'm ChaelCodes I think I get defeated by you in this metaphor? lol
doing a literary criticism of a kid's movie, but like... Zool's just doing their thing. Yeah, the metaphor definitely falls down there. ChaelCodes nope - Sundays only
ChaelCodes lol
you streaming today i'll i'll raid you in the sense of sending folks over to you rather than throwing the ghost trap underneath you and zapping you with a proton beam i don't do a lot of that i bet there's a twitch slash command sundays only right sorry actually speaking of reading what time is it 12 20. all right ChaelCodes I'm working today....
Well, then I should hit this last pull request and wind down the stream and, well, as fast as I can get through these two PRs.

02:20:45Right, you mentioned your meeting. Work sucks. Shame.

...53Yeah, I've been thinking a lot about open source sustainability the last year or two. And I just left a comment this morning about it, talking to Elpil, the creator and maintainer of Gleam, who is doing better than I expected, mostly off of GitHub donations, but not at the level they deserve. And your work on Ruby events is the kind of thing that I wish folks could be better compensated for rather than just volunteering. There's an awful risk in the middle between an intrinsic motivation like working on something because you love it and the extrinsic motivation of I can pay the rent from this. Like in the middle, you have taken away the love and you have replaced it with a subminimum wage job. And that's a recipe for burnout. Which is part of why we've never taken any kind of donations towards lobsters, including things like the various ads and subscriptions and bits and bobs here on Twitch. Because, like, I work on lobsters because I love it. If I got paid $1 an hour, that would actually be much worse than getting paid $0 an hour.

02:22:38It says one commit or two.

...54And it's not polish. That's a fix.

02:23:12ChaelCodes Yeah, with RubyEvents, it creates a weird space where I would get paid for entering event data, but a contributor wouldn't?
so this last one speaking of volunteering for things adam d rupee is a first-time contributor and very good sports a very good sport because we had a discussion on the site talking about the proper use of semantic html and not requiring javascript for things that you can do adequately with html and adam was like yeah all this stuff is kind of easy and used lobsters upvoting as an example and i i volunteered him slash you know politely press ganged him of hey thanks for stepping up to fix this and To his great credit, he did open a PR. And we've been working through it. So that's fine. An outline is always inside the content box. Oh, wonderful.

02:24:35Is there a smart emoji? I always like the brain emoji when somebody says something really smart. We'll go with this.

...52It still seems to test. We had this conversation. original code had split up to the ternary, then the script.

02:25:10On the open tab, work without needing refreshing. Yeah. Render plane not logged in. Status 400. Login link is nicer. OK. I want to skim that again.

...46Render plane. Who is rendering that and why? It's got to be.

02:26:01That's the.

...18well and this one is happening because it's only for the javascript endpoints and so it wants to kick back a 400 so it's real obvious for the js

02:28:43The text is the same as the title. Screen readers may read both.

02:29:05added a voter to deny the

02:30:07Just do a partial.

02:31:03Let's jump back up. I'm expecting this build to be green. I just want to make one more pass through, because upvoting is kind of important.

...26This is the kind of thing that might earn a helper sometime, but it's fine.

...43So there's the use of up footer score. That's going to be echoed. Yeah, this is a surprisingly small diff for what it's doing. That's kind of great. All right, so I'm going to throw on the last call banner, because when this build goes green, I'm going to merge it to main. And that's going to be the end of my stream. So if you have any last questions now is the best time to hammer them out into chat. But yeah, I usually stream about three hours. This one's going to be two and a half because I lost my first hour to fighting the Linux font cache. Oh, this might actually be that same CSS thing. Yeah. And then this one is small. So this is fine. Expect to be 200. when uploading a comment.

02:33:10Let's look at the code. Because if I can fix that and get it over the line, this is GitHub runs CI on the wrong commit. It runs it on the top of the PR instead of a new merge commit. that is main plus the PR. So this would disappear. GitHub does that because it doesn't want to rerun every build on every PR every time a commit lands on main. And then instead you got to do reruns and other kinds of pain and you catch fewer bugs. All right, so comment has a tag. And then where's the comments controller?

02:34:20The test is out of date, isn't it?

...37Yeah, the test isn't saying that it's coming in as an XHR. It was just sort of assuming it. Let's go look at that spec.

02:35:05So this is a post. We have a... Yeah, so we actually have an example literally in this file. All right.

...29What's that? 302. Yeah, here we go.

...53What's your username?

02:36:01This is a little bit of a dance, but you can always add this dang.

...28Let's copy and paste instead of making typos. No. Firefox. Oh my God, just let me select the text even if it's a link. No. Let's retype and make typos. Adam D.

...56And then we're going to just assume he called it lobsters because, yeah, this doesn't actually show. And fetch. Why do I have 18 lines of diff? What did I change? Oh, that's the old thing. All right, so let's make a new commit. that is on top of main and on top of no-js-comment-vote-at-atom. And then I will just update the test and manually merge it. Works without JS. Works with JS. so here without js you get a 302 and quickway and response

02:38:21Ah, there it is. Expect response to redirect to. So let's just do that.

...36What should I be expecting? I just saw it in the diff.

...51comment target path, which I really should just reuse that.

02:39:13And this one, we'll explicitly say that it's XHR.

...39There we go, green built.

02:40:15all right there kick off that last deploy so we're in the home stretch here i'm gonna write adam a quick comment

...57What's this? Let's go find that.

02:41:14Let's look at the home page. We pushed a whole bunch of stuff here with these tags and this upvote. And everything just looks normal. Oh, I must be getting a cache page if that is still an A. No, that's the fork in his code. Let me just look at it in my personal browser.

...42Huh. It is still an A tag? Oh, that's story upvoting, not comment upvoting.

...58Yeah, so there's that. And if I'm logged in. The layout is just a little funny.

02:42:15This is going to be one of those streams where I have that that view the last call up for a minute because I'm fighting something.

...32So bring that up. So this is offset. It's got some kind of margin on it.

...52Is it on the margin or on the form? The form looks indented. Label is fine. Form doesn't have anything. Input doesn't have anything. OK, it's definitely on the button. And I think purple is padding, right? Purple is padding. OK, so where did this come from? Application 238.

02:43:36Let's see if I can get the fix in before somebody reports the bug.

...57So it's on a button.

02:44:13What I really want to say is that the button is not an upvoter. There's not inside the form that's inside a div called with the class voters. Is anybody a CSS selector expert? espartapalma office hours is ending :(
Because I want to say, or I could just say like,

...48voters yeah i'm on the home stretch here i only broke prod a little and i'm gonna fix that and then wind down the stream so if you came here because i broke broad yeah you got me and it's Let's grab you and find the voters.

02:45:45The alignment is still a little funny. The number and the triangle are too close together. Did I need to keep the padding underneath? No, it's just missing. But it's visible here when I'm logged out, which is the different styles. Where is this one getting its little bump from?

02:46:38So the voter doesn't have anything on it. Does the before?

...52Where does this spacing come from? Is it this flex?

02:47:02This is the layout, and its flex direction column is the default for flex to fill the space.

...23Can I just nudge it with a little bit of padding rather than fight and fight? This is a good reason to have unified them.

...56veqqio Hi friends
Okay, so yes, I can add to that. That is a little bit much. If I add a padding bottom to the upvoter before. Hey, Vec, yes, the layout is funny on the upvote buttons.

02:48:48veqqio N.b. The mobile arrow problem is still around, I couldn't figure out how to useful test it tho (as it only happens on my actual phone not on a small screen browser)
Let's try that. veqqio Having a phone is so weird, became addictive after only 6 months :(
So this did jump.

02:49:02What's the mobile arrow problem? Yeah. Yeah, smartphones. Structure, localhost, and... That's fine, that's fine. That's maybe a hair bigger.

...50veqqio Oh, someone reported it like a year ago. When scrolling, if you touch near the arrow it will go red (without upvoting) but tapping anywhere on the screen makes it go away
veqqio Something like this
Yeah. Is it only 0? No. Is it 0.1?

02:50:01OK, anything is going to be bigger. At least that's not obnoxious. Oh, yeah. I remember that issue. Is that still open?

...32pushcx https://github.com/lobsters/lob…
Oh, yeah, it is still open.

02:51:13Yeah, it is.

...44graefchen Isn't that caused by :hover? Because mobile browsers are ... funky with that? limesHmm
I think. So this had a 0.3 on it.

02:52:05So weird. Something is collapsing the margin. Probably the fact that it's flex.

...52All right. Two back. You look correct. That looks correct. How big is this diff?

02:53:09One of them is

...44What's the PR number here? 0.73.

02:54:38Then I'm going to do this out of order. veqqio Oh, actually inbox/all doesn't show the arrow on things we have upvoted :D
For like a two-line CSS tweak, I probably didn't break the build, but my Zool superpower as a ghost is breaking the build on seemingly innocuous changes and then not noticing because, you know, we're not a mature software shop with like veqqio Will make the issue
veqqio Oh, will not make the issue :D
emerge queue there we go inbox all doesn't that's that's a recurring bug i blame active record okay no no no seriously do make the issue it's veqqio I mean, it seems quite low priority
When I say I'm blaming Active Record, it's not great at understanding projections, and it's very hard to express something like, every time I pull a comment or pull a message, I also wanna, or pull a story, I also wanna pull the current user's vote. because it's very, very table-oriented. So this is a bug we keep reintroducing, and I would appreciate you reporting it.

02:58:06zurtar Damn, this is the one time I didn't check if you were doing office hours and missed it
Oh, hey, Zertar. I'm going to assume you're the Zertar who is the generous new contributor. We've had, what, three or four pull requests from? I've merged a couple today, I think. At least one.

...29And yeah, I'm sorry you missed. I've been on an inadvertent summer break. But yeah, literally my plan was to finish writing that PR comment and roll out. How did I go through all of the PRs? There's more that needed tweaks than I remembered.

02:59:02It's a shame I can't like nudge these back to draft when I have review comments and then the table just doesn't show it. Yeah, I don't know. We don't really have much of a workflow. It feels a little rude to shove things back to draft, even if it helps me keep track.

...37zurtar I'll have to catch the next one. Thank you for leaving a comment on my draft PR about the rss endpoints. I was very unsure about those tests
okay just catching up on the irc channel real fast looks fine cool yeah so I am trying to do Tuesday afternoons and Thursday mornings I have missed well I've missed like the last couple of weeks entirely but I've also missed Tuesdays for a little bit longer because of other commitments I think I can do Tuesday But I don't want to over promise so ideally the next stream will be Tuesday at. 2pm Chicago time best time.

03:00:53we'll see how that goes. veqqio Have a beautiful day!
Already. veqqio Meow
chamlis_ thanks for the stream!
ChaelCodes Thanks for the stream!! ✨ Have a good day!/
zurtar Perfect, I'll be sure to catch it. Also not sure if you're aware but your lobste.rs bio still says your old Monday schedule for office hours.
veqqio And welcome Zurtar!
brainwane best wishes!
espartapalma thanks!
yeah well thanks everybody who hung out this whole time and i really appreciate your understanding with my late start and big break you're all very kind i hope everybody has a nice summer weekend and i hope to see you on tuesday or just around the site oh search i thank you i'll catch that right now Take care, everybody. Bye.