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_dev2013-06-28 03:28 am
Entry tags:

Code Tour: 11 Jun - 27 Jun

In an effort to get ahead of the code tours so I don't have to try to find someone to do a tour of umpty bugs right before the next code push, have a random code tour!

None of these fixes are live yet.



Bug 5064: t/clean-embed.t fails on mixed units test
Category: Testing
Patch by: [personal profile] fu (via another bug)
Description: Tests are little automated checks you can run against the code, to make sure that you're getting the result from your code that you expect to be getting. We don't use tests very heavily, for a bunch of reasons, but we do use them in a few cases, and this one was failing because it was expecting the wrong result. Now it expects the correct result!

Bug 5067: markdown syntax does not recognize hyphens in @usernames
Category: Misc UI/Frontend
Patch by: [personal profile] fu
Description: Markdown, which is used for formatting comments made in reply-by-email, was doing the Wrong Thing with usernames with underscores in it if given the underscore as a hyphen instead. (So, @dw-dev would only link the portion before the hyphen, when it should link the whole thing.) This fixed it.

Bug 4726: Move styles into a more intuitive location
Category: Style System
Patch by: [personal profile] ninetyd
Description: Huge bug alert! The files that generate system styles were living in a very unintuitive section of the code, and it was hard for people new to the code to figure out where they were. This moves the styles into a top-level directory of their own, which will make it easier and clearer for people to hack on that area of the code.

Bug 5117: Remove extraneous brogrammerage from translation tests
Category: Testing
Patch by: [personal profile] shadowspar
Description: Sometimes when you're going through the code, you find something in the non-user-facing bits that makes you wince a little. This changes some of the text in bits that users never see, but developers do, to be more in line with our ideals.

Bug 5116: Add boilerplate to test suite & standardise
Category: Testing
Patch by: [personal profile] jeshyr
Description: Huge bug alert! We're dipping our toe into expanding our test coverage, thanks to [personal profile] uncanny_kate, whom we met at YAPC and who's interested in helping us with our tests. To get things into shape for future hacking-on, [personal profile] jeshyr went through allllll the existing tests, figuring out a) who wrote them, b) what they test, and c) whether they came from us or LJ. And now everything is nice and neat and organized and we know what it's doing! (I love bugs like this -- most of y'all will never see them, but they make dealing with the code so much nicer. It's like organizing your office supply closet.)

Bug 4477: run incoming support email through spamassassin, dump spam-scored ones
Category: Frontend
Patch by: [staff profile] mark
Description: So, we have a few email addresses that you can email and it will turn your email directly into a support request (for instance, you can email accounts@dreamwidth.org to open a support request in the Account Payments category). And to make sure that I don't miss any requests opened in those categories, I have notifications turned on, so I get an email every time a new request gets opened. I got tired of waking up to 50+ "new support request" emails only to have those turn out to be email spammers spamming those addresses, so I asked Mark to run the support email through SpamAssassin, the program that will identify things likely to be spam and drop them. Turned out they already were being sent through SpamAssassin, and the spam I was getting was just the stuff that didn't get flagged -- ouch. He implemented greylisting, which is a system by which our mail server asks the other email server to try again in a few minutes the first time that it tries to send mail to us, and thankfully the spam dropped like a rock. (Spammers usually don't bother trying again.)

Bug 5120: entryprops won't work with slug URLs
Category: Misc UI/Frontend
Patch by: [personal profile] fu
Description: The new "pretty url" feature wasn't being recognized by one of our admin tools that lets us look up the backend properties of the entry. Now it is!

Bug 4778: Community cleanup: only d&p admin
Category: Site Policy
Patch by: [staff profile] denise
Description: This was something I was working on over time, and it's less "code change" and more "administrative task" -- I was trying to identify communities that had been left without an admin because their only admin had been deleted & purged, and either a) track down the former admin's other accounts and transfer the comm to them, b) transfer the comm to another member of the comm, or c) if there were no other members of the comm and no posts, delete the comm so the username could be freed up in the future. (We do try to remind people who are deleting their accounts to make sure any of their comms have been given to another admin first, but we don't enforce it.) I got most of them as of the time the data had been pulled in mid-March, and will come back once a year or so to poke at it some more. (And in the meantime, if you find a community without an admin, check out What if a community I belong to has been abandoned by its administrators?)

Bug 5128: Terminology on change password possibly a little confusing
Category: User documentation
Patch by: [staff profile] denise
Description: Slight clarification to the text on the Change Password page to make it clearer what you have to put where.

Bug 5047: How do I invite someone to Dreamwidth? refers to invite codes
Category: User documentation
Patch by: [staff profile] denise
Description: Now that we're not using invite codes anymore, and probably won't be turning them back on in the forseeable future, we can take out references to them in the FAQs!

Bug 5046: How do I create an account? refers to invite codes
Category: User documentation
Patch by: [staff profile] denise
Description: More invite code removal.

Bug 5134: /t and /test directories -- merge?
Category: Testing
Patch by: [staff profile] denise
Description: We had two test directories in the code -- one from the standard Perl testing modules, and one custom test system that had been written before those modules became standard -- and this bug merges them to minimize confusion.

Bug 5109: Support: keep closed reports available for 7 days
Category: Misc UI/Frontend
Patch by: [staff profile] denise
Description: When you close a support request, it's available on the "closed support requests" query for a day, and then it drops off. (This is to prevent closed requests from hanging around forever and slowing down the queries.) Our support volunteers have found that a day is a bit too short, so this changes it from 1 day to 7 days.

Bug 5125: S2 Oopses should respect show_raw_error
Category: Style System
Patch by: [personal profile] exor674
Description: Sometimes the style system throws weird errors (if something gets into a wrong state somehow) and that can be murder to debug, so this will help a bit -- it means that any errors the style system throws will actually be displayed instead of eaten.

Bug 5139: navtag still listed on /admin index page
Category: Site Administration
Patch by: [personal profile] ninetyd
Description: A few weeks ago we got rid of the code -- it was a very old system for allowing people to 'tag' site pages to assist in searches, but we don't use it -- but we forgot one little piece. I love hauling out the code machete. It's so satisfying.

Bug 4995: antispam: private messages from suspended users remain visible in the inbox, apparently
Category: Inbox/Notifications
Patch by: [personal profile] stormerider
Description: This is [personal profile] stormerider's first patch with us! *throws confetti* It fixes a problem where if someone was suspended (say, a spammer who had been sending private messages) their private messages were still visible in other people's inboxes. Now, when the dating service spammer sends you a spammy PM, it will be clearer that the account has already been suspended (thanks to the vigilant efforts of our antispam team).

Bug 5145: after move, all styles failing with wrong permissions
Category: S2 Backend
Patch by: [staff profile] denise
Description: Oops. When we moved the styles into their new home in the codebase, we forgot one little reference. Once I figured out that it really wasn't just me messing up my brand-new installation, this was surprisingly fun to track down -- it involved a really obscure feature of the style system that we don't use, but is still present in the code. I love code-crawling detective work like that.

Bug 5146: Clean up code that allows TT to use BML siteschemes
Category: Routing/TT
Patch by: [personal profile] exor674
Description: This is one of [personal profile] exor674's backend bugs that she logs, I look at, and then I just smile and nod because I have no idea what it does but if she says it's necessary, it's probably necessary. :) No, seriously, this is part of the process to update all of our site pages to use the newer and more modern templating system called Template Toolkit instead of the custom templating system that's only used on LJ and DW. We're chugging along on the replacement! (Oh god is it a lot of work.)

Bug 4842: Stale poll form fails obscurely: "Error: Error: form is invalid"
Category: Journal contents
Patch by: [staff profile] denise
Description: If you open a poll to vote in it, leave the tab sitting there for more than 24 hours, and then try to submit the poll, you get an error, because the authorization expired. This makes the error message a little bit clearer when that happens and tells you how you can recover from it (reload the form and re-answer the poll).

Bug 5141: FAQ #262: mention custom text module must be enabled
Category: User documentation
Patch by: [staff profile] denise
Description: FAQ 262 explains how you can add a stats counter or similar type things in the Custom Text module of your journal, but it didn't mention you then have to activate the module (since it's not on by default). After some confusion, now it makes things a bit clearer.

Bug 5114: Antispam: when half of the most recently created 10 journals get busted for spam, fetch some more
Category: Misc UI/Frontend
Patch by: [staff profile] denise
Description: The stats page has a few sections that display the 10 most recently created or most recently updated journals/comms/feeds. If a journal that should display there has been suspended, it skips over the journal and doesn't display it, but the counter that counts up the 10 accounts would count it anyway. This patch changes around how the counter works a bit to reduce the chances that we'll wind up with fewer accounts on the list than we should.

Bug 4759: subscribe to all comments notification not being inactivated when community time expires
Category: Inbox/Notifications
Patch by: [personal profile] exor674
Description: One of the benefits communities get that regular accounts don't: you can subscribe to all comments (on entries that you can see, that is) in premium paid communities. If the community time expired, though, those notifications were still being sent out, so all people would have to do would be add premium paid time to the comm, subscribe to that notification, then let the paid time expire and they'd continue to get notifications. Notifications are one of the bigger elements of site load (and, as people have noticed every time a new news post goes out along with its hundreds of thousands of notifications, a lot of notifications can slow down the system for everybody and make new notifications take forever to be delivered) so that's why we save this subscription for premium paid communities only; this patch changes it so that if a community's paid time expires, any subscriptions for the "all comments" notifications are deactivated until the community's paid time is renewed.

Bug 5144: change canview:styles calls to siteadmin:styleview
Category: Site Administration
Patch by: [staff profile] denise
Description: Access to many backend tools are governed by "privs", or privileges that can be granted to individual accounts in order to let them use those tools. This bug moves one of those tools (the one that lets senior support people view users' private styles for debugging purposes) from checking one priv to checking a different priv instead, since it was sort of the "odd one out" on the priv it was using.

Bug 1874: See who's in a particular custom filter when posting
Category: Journal contents
Suggested by: [personal profile] sedge
Patch by: [personal profile] woggy
Description: [personal profile] woggy worked SO HARD on this and i am SO EXCITED! This will add a line to the update page when you're posting to a custom filter with a list of everyone who's in that filter -- great for reminding you who's going to be able to see the entry you're about to post. (I've been looking forward to somebody picking up this bug since it was suggested!)

Bug 2062: investigate LJ::ExternalSite, remove?
Category: Misc Backend
Patch by: [staff profile] denise
Description: This time I got to swing the Code Machete, clearing out legacy code we don't need anymore!
sporky_rat: Kermit the Frog doing a manic dance. Text: YAY OHMYGOD (omgYAY)

[personal profile] sporky_rat 2013-06-28 12:40 pm (UTC)(link)
Yay [personal profile] woggy! Yay [staff profile] denise! Yay all the devs!
Edited (fixed that. ) 2013-06-28 12:41 (UTC)
stormerider: Apple Xcode icon (Coding - OSX)

[personal profile] stormerider 2013-06-28 07:46 pm (UTC)(link)
Woohoo :)

(Note to self: I need a DW icon...)
the_shoshanna: cartoon of a cat awarding a grammar medal (grammar medal)

[personal profile] the_shoshanna 2013-06-28 08:45 pm (UTC)(link)
I adore the word "brogrammerage."
owl: Stylized barn owl (Default)

[personal profile] owl 2013-06-28 11:30 pm (UTC)(link)
I looked up the commit for the brogrammerage bug, it's awesome! HEY MARK HEY MARK HEY MARK.
cesy: "Cesy" - An old-fashioned quill and ink (Default)

[personal profile] cesy 2013-07-04 06:28 pm (UTC)(link)
Hooray for 1874!