denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)
Denise ([staff profile] denise) wrote in [site community profile] dw_dev2009-07-20 09:31 pm
Entry tags:

Code Tour: 7/13-7/20

Welcome to the Dreamwidth week in development! I'm [staff profile] denise, and I'll be your host, from the edge of Mark's desk where we have set up shop. (And by 'we' I mean me, Mark, Janine, and the dogs.)

This week brings us 32 bugs RESOLVED, with two of them being duplicates, one being resolved as part of another bug, and 29 RESOLVED/FIXED. If you'll all line up to the left in an orderly, single-file line, we can begin boarding the ride vehicles. Please keep your arms and legs inside the car at all times.

None of these patches can be seen in the wild yet, until our next code push.



Bug 123: fold more pages into user-space
Category: Cleanup/UI improvements
Patch by: [personal profile] afuna
Description: I think this bug appeared in the code tour a few weeks ago, but a few changes and updates required us to re-generate the patch! This is the backend work to allow a user's icons page to appear in their journal style (and in ?style=mine for those who prefer that it not).

Bug 692: Comment editing still disabled if reply has been deleted
Category: Bugfix
Patch by: [personal profile] afuna
Description: So, comments can only be edited up until the point when someone replies to them. (This is to prevent abuse: things like person A commenting with "I love ice cream!", person B replying to say "Me too!", then person A editing the post to say "I hate person C!", so it looks like person B said "me too!" to that.) However, the way it worked was that once a comment had been replied to, it would always be uneditable, even if the reply had since been deleted. This patch changes the behavior so that if the comment was replied to but the reply has since been deleted (not screened but deleted), the comment is editable again.

Bug 740: Add ability for (system) styles to not show on /customize/advanced/styles
Category: Architecture
Patch by: [personal profile] exor674
Description: This is one small part of a major project we've had going on for a while: rewriting the siteschemed comment pages (the page that individual entries display if you have custom comment pages turned off) so that they're generated by the style system, not through the site. You guys won't notice any difference -- it'll look and work exactly the same way as it does now -- but there are two major advantages for us in doing this: one, it will clean up and modernize the HTML that the page outputs (it was last refactored back in 1998 or so, and it's all table-based and needlessly complex), and two, it'll reduce the number of different codepaths we have to keep updated, so when we make a change, we'll only have to change it in one place rather than in several. This is one of the first steps, so the whole project won't be done for a while, but it's an important start.

Bug 742: Remove remnants of shared journal support
Category: Code cleanup
Patch by: [personal profile] yvi
Description: This patch gets rid of the last bits of shared journal support from the codebase -- shared journals were what a 'community' on LJ was before there were actual community journals, particularly before there were closed communites and comms with moderated membership, but many changes to the community system made them obsolete. LJ removed the ability to create shared journals a while back, but the bits of code dealing with them were still scattered everywhere, so we pulled it all out for cleanup's sake.

Bug 743: Show access/subscriptions in common when viewing profiles
Category: Profile UI
Patch by: [personal profile] yvi
Description: One of the things people have been asking about for a while has been the return of the "people you have in common" indicator (on LJ it's bolding) when viewing the profile of another person (so if both you and [personal profile] username list [staff profile] denise as a friend, [staff profile] denise will appear bold on [personal profile] username's profile). We didn't put that in at first because the split of 'friend' into 'access' vs 'subscriptions' meant that the problem of how to present the information visually was a little more complex. We eventually settled on emphasis for users you subscribe to, strong text for those whom you give access to, and both for those you both subscribe and grant access to. (And with this, I believe [personal profile] yvi wins this week's Most Coveted Patch award.)

Bug 848: Add reply link to message notification emails
Category: UI
Patch by: [personal profile] yvi
Description: This patch adds a reply link to the email notification that gets sent out when someone sends you a private message, so you won't have to navigate to the inbox, find the message, and hit 'reply' anymore: you can just reply directly by clicking the link in your email.

Bug 1132: crossposter: mood themes don't display icons on external sites
Category: Crossposter
Patch by: [personal profile] janinedog
Description: This patch fixes up the problem with displaying mood icons on crossposted entries: now, crossposting an entry to another site will cause the remote entry to display a mood icon, based on what mood theme you have selected on the remote site. (Thus making [personal profile] janinedog another candidate for Most Coveted Patch award, I believe.)

Bug 1249: Track icon on recent entries/readpage throws a JS error
Category: Bugfix
Patch by: [personal profile] afuna
Description: This patch fixes a glitch with the Javascript on the recent entries page and the reading page so that the icon to track the post works properly (the JS bug prevented it from functioning correctly).

Bug 1319: Implement Spamhaus DROP list
Category: Architecture
Patch by: [personal profile] alierak
Description: The Spamhaus DROP list (Don't Route Or Peer) is a listing of zombie netblocks and netblocks owned entirely by spammers. It's sort of like the Internet's version of the FBI's Most Wanted list: a collection of spammer scum with absolutely zero legit traffic coming from those blocks. Spamhaus collects those netblocks, verifies that there's no legit usage coming from them, and adds them to the block list. This patch sets it up so that all traffic from those netblocks will be blocked entirely from accessing the site, so the evil spammers of evilness will hopefully be stymied a bit. (If it does anything to legit use -- which it absolutely shouldn't -- people who are having trouble should email webmaster@dreamwidth.org.)

Bug 1325: S2.pm hardcodes "en", instead of using the user's language
Category: Internationalization
Patch by: [personal profile] afuna
Description: This patch sets it so that S2 (the style system) properly speaks to the user in his/her selected language (instead of assuming English-by-default). We don't have Dreamwidth in languages other than English, and probably never will -- at least, not until we can solve the problems (technical, social, and organizational) that LiveJournal encountered with the translation system, which is going to be a tough row to hoe -- but other sites running the Dreamwidth code might decide to, or run in a different language other than English, so we fixed it.

Bug 1327: Navigation formatting glitch in Negatives
Category: Styles bugfix
Patch by: [personal profile] av8rmike
Description: This fixes a display glitch with the navigation module in Negatives to remove a few stray "|" characters.

Bug 1399: Remove <LJDEP> info
Category: Backend cleanup
Patch by: [staff profile] denise
Description: I had fun with this one! It is actually zero user-facing changes, but something like 62 files touched: this patch removes old, outdated dependency information from a bunch of various files. Back in the day, LJ used to use the (home-grown) <LJDEP> tag at the bottom of files to indicate what files were related to each other (so that when you changed one file, you'd know what else you should probably look at to see what else you should change). The problem was that they were never updated, never maintained, and weren't even added to all the files, so it was pretty much useless. It wasn't hurting anything to have it there, but it was clutter and a potential source of confusion for people reading the code, so out it comes. (I'm not sure what's wrong with me that I enjoy ripping out code as much as I do, but it's one of my favorite things to do.)

Bug 1406: Incorrect string in private message email
Category: Bugfix
Patch by: [personal profile] janinedog
Description: This fixes an error in the text for the email sent when someone sends you a private message (it was missing a variable).

Bug 1409: fix autovivification error in AccountLevel.pm
Category: Bugfix
Patch by: [staff profile] denise
Description: So, as soon as we had last weekend's code push, the webserver error logs started filling up with various error messages relating to the Manage Account page. Mark pokes me in AIM: "That's your code." "Uh," I said. I looked at the patch. I looked at the error. "...help?" So he explained to me that sometimes Perl tries to do what it thinks you want it to do, which is often not what you actually want it to do, and I hung my head and went to fix my bug. Mea culpa.

Bug 1410: fix xpost footer messages for people without the userprop defined
Category: Bugfix
Patch by: [staff profile] denise
Description: The last code push was not a good code push for my error rate: shortly after the push, I realized that I hadn't remembered that people wouldn't have the option properly set on their accounts for when to add the footer message text on crosspost, and the way the logic was written, "unspecified" meant "never add the message". This patch added in a check so that "unspecified" fell back to the old behavior of only adding the footer message if comments were disabled on the remote site. (Or, well, it tried to, but more about that in a second.)

Bug 1413: remove deleted journals from Give a Gift page
Category: Shameless money grubbing
Patch by: [staff profile] denise
Description: This patch fixes up the Circle Gifts page so that only visible (non-deleted) accounts appear as a suggestion for you to buy a paid time gift for.

Bug 1414: add "give a gift" link to the continue-shopping bit in the shop
Category: Shameless money grubbing
Patch by: [staff profile] denise
Description: This patch adds a link back to the Circle Gifts page once you've added an item to your cart or checked out your cart, making it easier for you to continue shopping.

Bug 1417: Footer appears even when comments are enabled
Category: Bugfix
Patch by: [personal profile] ysobel
Description: [personal profile] ysobel earns this week's Cleaning Up After The Boss award by fixing the error that I made in my fix to bug 1410: the fix to make the crosspost footer message appear where it should also made it start to appear in cases where it shouldn't. (The sad thing is, I tested both the original patch and my fix to the patch pretty thoroughly. I fail.) Fortunately, [personal profile] ysobel was there to save the day.

Bug 1419: entry preview shows mix of styles
Category: Bugfix
Patch by: [personal profile] afuna
Description: As I'm sure a bunch of you have noticed, since the last code push, previewing entries if you have custom comment pages on shows a rather ... unusual mix of the site scheme and your custom comment pages. Oops. This patch fixes that!

Bug 1420: change protocol so all free users can post polls into paid comms
Category: Enhancement
Patch by: [staff profile] denise
Description: So, when I was coding the suggestions generator and Mark was testing it, he said, "hey, you know, this is going to cause a problem, since free users can't post polls." (The suggestions generator automatically includes a poll for readers to register their opinions on the proposal.) I said a nasty word, and then I said, "Wait a second! Free users can post polls in paid comms, and [site community profile] dw_suggestions is a paid account, so it's all okay." We commit, we push ... and yeah, you know, after this long working on the product, you'd think I'd know what it could do. Turns out that it was set so that free users could only post polls in paid comms if they were the maintainer of the comm. Since we didn't exactly want to make the entire userbase co-maintainers of [site community profile] dw_suggestions, we decided instead that -- because paid communities have relatively few benefits as opposed to paid personal accounts, we'd change it so that free users could post polls into paid communities. (The poll creator hasn't been updated to take this into account yet, so for now you'll have to write the poll code by hand or get a friend with a paid account to write the poll code for you and send it to you, but we have a bug open to finish that up soon too.)

Bug 1425: rewrite support notification email for more information
Category: Admin UI
Patch by: [staff profile] denise
Description: People who volunteer in the support area (and if you're interested in doing so, check out [site community profile] dw_support_training!) can get notifications of new support requests or changes to existing ones (such as more information being added, etc). The emails were formatted kinda weirdly, though, and it was annoying me every time I got one, so I rearranged the email a little to be clearer and easier to read.

Bug 1426: padding on body causes navstrip to not extend across the whole page on IE7
Category: Styles bugfix
Patch by: [personal profile] av8rmike
Description: This patch fixes up the display of the Tabula Rasa layout in two-column view. The CSS used was causing the navstrip to be squished in IE7. This patch fixes that problem! (And, I should note, was also [personal profile] kareila's first code commit. Welcome, Jen!)

Bug 1427: Arguments cause a page to be indexed as different content on search engines
Category: Architecture improvement
Patch by: [personal profile] afuna
Description: [personal profile] rb pointed out that search engines treat ?mode=reply, ?style=mine, ?style=light, etc, as separate views, thus spreading out someone's Google juice over different views of the exact same content. Suggested fix: add <link rel='canonical'> tags on all the views to point to a single view -- /1234.html instead of /1234.html?mode=reply, /1234.html?style=light, etc, etc. Well-behaved search engines will now index all of those views as being aliases of the same page.

Bug 1428: navstrip "light style" link uses format=light
Category: Cleanup
Patch by: [personal profile] yvi
Description: A few weeks ago, we changed it so that ?format=light on the end of a URL can also work as ?style=light (so you don't have to remember the difference between ?format=light and ?style=mine and which one is 'format' and which one is 'style'). The link to light-mode style on the navstrip still used ?format=light, so this patch updates it to use the new URL structure instead. (The old one will still work, so you don't need to retrain your fingers if you don't want to, but we consider the new one canonical.)

Bug 1437: Preview breaks when there are tags (in some cases)
Category: Bugfix
Patch by: [personal profile] afuna
Description: This patch fixes a bug (reported by [personal profile] facetofcathy through Support, and tracked down by some great detective work by [personal profile] afuna) where the Preview would error if you weren't logged into the site, wrote an entry, and hit the 'preview' button without putting your username and password into the login box on the update page. Special thanks to go [personal profile] facetofcathy for working with the support team to diagnose the root cause of this issue so it could get fixed!

Bug 1438: Tabula Rasa Plain CSS could be streamlined
Category: Styles
Patch by: [personal profile] afuna
Description: This patch fixes up the CSS classes in Tabula Rasa (our plain, bare-bones, fully-styleable-by-CSS journal style) so that the CSS is more logical and less redundant. Thanks to [personal profile] branchandroot for the CSS improvement suggestions!

Bug 1445: Stats.bml links to non-existant .txt file
Category: Backend
Patch by: [staff profile] mark
Description: The Stats page links to the raw stats file, which was 404ing. A little bit of investigation made [staff profile] mark realize that the file was being properly generated each night via the nightly cron jobs, but because the jobs were running on our worker machines -- not on the webservers -- the file wasn't actually being copied to the webservers, thus causing the 404s. Mark wrote a quick script to push the files out to all the webservers, and now you can once again see our detailed site stats.

Bug 1454: Split 'give a gift' page into personal accounts and communities
Category: Shameless money grubbing
Patch by: [personal profile] yvi
Description: This is actually the first suggestion to make it through the [site community profile] dw_suggestions process and get a patch committed for it! (The first of many, as soon as I go through and move some others into Bugzilla.) It splits the Circle Gifts page so that personal accounts and communities are listed separately, making it easier to tell them apart.

Bug 1459: $init->{style} always equals 'mine'
Category: Bugfix
Patch by: [personal profile] kareila
Description: This fixes a slightly obscure bug with the URL arguments that caused the system to assume that ?style=anything in the URL was really supposed to be ?style=mine, which was causing some problems with our new aliasing of ?format=light to ?style=mine.

And that concludes our code tour for the week! Please wait until the ride vehicle has come to a complete stop before exiting. Gather your belongings, take small children by the hand, and watch your head and step.

Post a comment in response:

If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org