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_dev2016-12-16 09:14 pm
Entry tags:

Code tour: 2016-07-15 to 2016-12-16

All of these fixes, changes, etc, are live on the site!



Issue 113: add margins for Foundation list elements (pull request)
Category: Frontend
Patch by: [github.com profile] kareila
Description: When converting a bunch of pages to Foundation, our new framework, [staff profile] karzilla realized that she was missing some styling on list elements that would be very useful. This adds it!

Issue 115: don't readd keys that were deadphrased (pull request) (nonfree pull request)
Category: Backend
Patch by: [github.com profile] kareila
Description: The database update script was re-adding translation strings that had been removed from the site, just so it could delete them again. This was just slightly annoying when you ran the database update script and got a giant list of which translation strings were being deleted scrolling by. Thankfully, [staff profile] karzilla figured out why it was doing that and made it stop.

Issue 684: Add 'Gold Leaf' style by rosecarmine (pull request)
Category: Styles
Patch by: [github.com profile] momijizukamori
Description: Adds the 'Gold Leaf' style, with one theme.

Issue 687: Add 'Venture' style by onlyembers (pull request)
Category: Styles
Patch by: [github.com profile] momijizukamori
Description: Adds the 'Venture' style, with one theme.

Issue 1180: Make Quick Update respect minsecurity (pull request)
Category: Bugfix
Patch by: [github.com profile] chrisboyle
Description: The Quick Update module on the logged-in home page was showing 'public' in the security drop-down even if someone had set their minimum security to access-only or private. (The correct security setting would be used upon posting; it just wasn't being reflected in the drop-down being set correctly.) This fixes it!

Issue 1234: Demi-ban: screen all future comments from specific user (pull request)
Category: Account controls
Patch by: [github.com profile] woggy; suggested by [personal profile] azurelunatic
Description: THIS IS THE AWESOMEST NEW FEATURE. So, do you have that one commenter whose comments are 50% unhelpful/annoying and you don't want them to be able to comment publicly in your journal without you confirming first to make sure that they're not being a failweasel, and 50% awesome contributions to the discussion so you don't want to ban them from your journal entirely? And you don't want to turn screening on by default, because then you'd have to approve every comment and not just the Occasional Failweasel's? Now you can go to the Console and put that one person on permanent screening so that only their comments will be automatically screened (and won't be visible until you unscreen them).

Issue 1666: define support box colors and classes for Foundation/SCSS (pull request) (nonfree pull request)
Category: Frontend
Patch by: [github.com profile] kareila
Description: When [github.com profile] hotlevel4 was converting the main /support page to Foundation, [staff profile] karzilla realized that it would work better if we had the colors and classes defined in Foundation so that they could be used elsewhere if necessary! So this does.

Issue 1670: /admin/translate should probably not be visible if you don't have privs (pull request)
Category: Cleanup
Patch by: [github.com profile] hotlevel4
Description: Somebody reported that Google was caching the page at /admin/translate and its sub-pages. That's actually fine -- you can't change anything on that page unless you have the right privs, and the page was always publicly visible on LJ so people could check how much a particular translation team had translated and how active they were/how recently the translation had been updated -- but we moved the page from just /translate to /admin/translate, and people get a bit nervous when they can access any URL that has /admin in it! So, to keep it from looking like Google was caching things it shouldn't, we restricted that page (and its sub-pages) to logged-in users only -- it's still beneficial for developers to look at the translation area sometimes, even though we don't translate the site into other languages, so we didn't want to remove the access entirely. (As a side note, if you look at LJ's /translate page, you can see the reason why we don't translate the site into other languages; it's nearly impossible to keep the translations up-to-date, so you very quickly wind up with the text on the site telling people wrong information... but only in some languages.)

Issue 1709: XML-RPC call to LJ.XMLRPC.postevent returns a string rather than an int as the faultCode
Category: Troubleshooting
Patch by: [github.com profile] kareila
Description: Somebody reported an issue with the XML-RPC protocol returning unexpected stuff, in a way that made it super frustrating to debug (only happens occasionally, nobody can figure out the circumstances to reliably reproduce/trigger the bug, etc). We added some more logging to that code path so that if it happened again, we'd have useful information! (And then it promptly didn't happen again.)

Issue 1733: fix UserMessaging.pm to use method instead of raw prop (pull request)
Category: Bugfix
Patch by: [github.com profile] hotlevel4
Description: From LJ, we inherited a thing where users who were under 18 (going by the date of birth specified at account creation) had a special case, enforced by the code, where the default setting for their "who can private message me" option was "only people on my access list", not "any registered user" (which is the default setting for all other accounts). However, if the user hadn't explicitly changed their PM privacy settings, the drop-down on the Edit Profile page would (falsely) claim it was set to allow any registered user to PM you, even though the setting it would actually apply was the "only people on my access list" setting. So, this patch fixes the underlying fault that was causing the settings page to display the wrong thing ...

Issue 1735: eliminate specialcasing for default messaging settings for under-18 accounts
Category: Bugfix
Patch by: [github.com profile] hotlevel4
Description: ...but it's a moot point, because logging that issue made me realize that under-18 accounts did have that specialcasing and we didn't want them to, so we fixed it so they were both being treated the same.

Issue 1742: [#1742] remove lowercasing of unknown getargs in LJ::create_url (pull request)
Category: Cleanup
Patch by: [github.com profile] kareila
Description: One of the new controllers that helps build URLs was taking things that were passed to it and lowercasing them. This helped in the case of someone manually typing in a URL not having to remember whether a thing was uppercase or lowercase, but it broke a few things that were expecting uppercase in the URLs, so away it goes!

Issue 1793: don't add the bottom spacing for success links (pull request)
Category: Site display
Patch by: [github.com profile] kareila
Description: Fixes an issue where links in lists were being displayed weirdly in pages that had been converted to Foundation (our new framework) because the spacing between them was too big, brought about by the fix for 1793 above being slightly too general.

Issue 1811: free accounts can post entries and comments via email (pull request)
Category: Cleanup
Patch by: [github.com profile] kareila
Description: We discovered a discrepancy between the configs on dreamwidth.org and the default configs on Dreamhacks, so we changed the Dreamhack default config so it matches the version that's on the site!

Issue 1823: "ALTER IGNORE TABLE" command no longer works in Ubuntu 16.04 LTS on second pass of "$LJHOME/bin/upgrading/update-db.pl -r --innodb" (pull request)
Category: Cleanup
Patch by: [github.com profile] wohali
Description: Fixes a compatability problem with our database update script and the version of MySQL shipped with Ubuntu 16.04.

Issue 1825: Remove LJ::get_blob_domainid function (pull request)
Category: Cleanup
Patch by: [github.com profile] pinterface
Description: Removes functions that we don't use anymore! (Sometimes we remove stuff and don't always catch all the things that call it...)

Issue 1835: include "beta testing" support request info even when no active beta options are selected (pull request)
Category: Support
Patch by: [github.com profile] pinterface
Description: When someone opens a support request, some diagnostic information is included along with it (such as what site skin the account is using, whether their account's email address is confirmed, etc) for support volunteers to look at to see if any of it explains the issue the person is having. One of the things that's included is whether the person has opted in to any of the beta features being tested (important to know because it tells us if the problem is with the beta code or not). Previously, that line of information was only visible when someone had opted into one of the beta features; now it shows all the time, with (none) if someone hasn't opted into any.

Issue 1838: don't include sticky post(s) when filtering community entries by poster (pull request)
Category: User interface
Patch by: [github.com profile] kareila
Description: If you filter a community to just entries posted by a specific poster, previously the community sticky entry was showing up no matter who posted it. Now, the filtered view will only show you entries by the actual person you want to see the entries of.

Issue 1843: new has_same_email_as comparison doesn't discard + in addresses (pull request)
Category: Site administration
Patch by: [github.com profile] kareila
Description: We recently moved to using a method to compare two accounts' email addresses, instead of writing individual code to do the check every time we need to check it -- that makes code easier to maintain and means there's fewer places that bugs can happen. Which is great! However, I realized afterward that it was returning false when comparing "user+foo@example.com" and "user+bar@example.com" -- and a lot of you use the + method to sort your inbox. (Mail transport systems ignore anything after the + in the bit before the @, but you can filter your inbox on what's in it.) So, this fixes that, and the "do these accounts have the same email address" check will handle that situation properly now.

Issue 1848: textcaptcha always fails if answer is 0 (pull request)
Category: Bugfix
Patch by: [github.com profile] kareila
Description: Somebody reported to me that the text captcha would error if the answer was 0 (like, if the question was "what is the third digit of the number 12048", the answer is 0, but it was being marked incorrect). [staff profile] karzilla thought that sounded off, because the checking for if the answer is correct uses a hashed digest of the answer, not the answer itself, so she added in a test that would confirm the report was incorrect (which is better than my planned strategy of sitting there and refreshing until I got a captcha whose answer was 0).

Issue 1849: better handling of smtp variables (pull request)
Category: Email
Patch by: [github.com profile] kareila
Description: The workers that hand off email for processing occasionally get stuck, where they'd basically stick their fingers in their ears and chant "la la la I can't hear you" whenever the site asked them to deliver email. Because the processes still existed, just weren't taking new email, everything looked just fine and dandy unless you really dug into the problem (as one would do when one noticed that one's site had, uh, stopped sending email). This commit tries a few tactics to minimize the chance of the workers freezing up.

Issue 1850: [#1850] don't use $_SMTP for now (pull request)
Category: Email
Patch by: [github.com profile] kareila
Description: More work to keep the mail-sending process from hanging.

Issue 1851: add alert for email output dropping too far
Category: Email
Patch by: [github.com profile] alierak
Description: Oops. This came after the problem with email where it took us a few days to fix it because we didn't realize mail wasn't being sent. (The issue just happened to hit at a time when none of us were checking DW regularly to have noticed that we hadn't gotten any notifications.) We had a monitor alert for "alert if the email-sending workers stop running altogether", but the problem wasn't them not running, it was that they were getting hung. (See above descriptions.) Now the alert will alert if it's been more than 15 minutes since mail was sent out.

Issue 1863: Is htdocs/js/richtext.js unused?
Category: Cleanup
Patch by: [github.com profile] kareila
Description: If you've never heard of Betteridge's Law of Headlines, it's the one that says "any headline that ends in a question mark can be answered by the word 'no'." Well, we need our own version of it: the DW Law of the Code Machete says "any GitHub issue asking if we can get rid of something can probably be answered by the word 'yes'." This gets rid of a file that was used for rich text editing for the RTE before the RTE we have now, which is in itself Very Old.

Issue 1864: Can cgi-bin/LJ/TextMessage.pm and htdocs/tools/textmessage.bml go away? (pull request)
Category: Cleanup
Patch by: [github.com profile] kareila
Description: And like the previous, this gets rid of more code. The feature where you could tell the site your phone # and your carrier and then people could text you through the site (without exposing your phone #) was great in 2001 when LJ first added it, but it requires a lot of manual upkeep. (It doesn't use actual SMS technology: it depends on the fact that many phone carriers used to provide an email address that you can email and it will then forward that email to the phone number that goes with that email address.) Many of the carriers that were listed as supported no longer offer the service and nobody was using the few that still worked, so out it comes.

Issue 1865: convert /tools/search to TT/Foundation (pull request)
Category: Frontend
Patch by: [github.com profile] kareila
Description: Woohoo, it's another stop on the Great Site Modernizing Tour!

Issue 1867: Unhelpful support volunteer error messages
Category: Helpful errors
Patch by: [github.com profile] rahaeli
Description: If Support Volunteer Alice loaded a support request and then let the tab sit before doing something with it, and meanwhile Support Volunteer Bob moved the request somewhere private that Alice doesn't have access to read, and then Alice came back to her already-open tab and also tried to move the request, the error message Alice got was very unhelpful. (It would tell her that she'd made an invalid reply type rather than telling her that the request had been moved to somewhere she didn't have access.) I looked at this and said, self, you could do a complicated thing with trying to figure out if this scenario had happened to give Alice the correct error message, or you could just rewrite the error message that does happen to include that as a possibility. Laziness wins again. (Hang on, I mean efficiency.)

Issue 1869: remove support for lj-template/site-template custom tag? (pull request)
Category: Cleanup
Patch by: [github.com profile] kareila
Description: It's really kind of amazing that even after eight years of doing code cleanup, we're still finding things that were hooks for proprietary/nonfree code from the LJ days, isn't it? This is another one! And now it is gone.

Issue 1882 and Issue 1883: Use properly generated font CSS (pull request)
Category: Styles
Patch by: [github.com profile] rshatch
Description: Fixes some malformed CSS in the Venture style.

Issue 1895: activate holiday promo
Category: Site biz
Patch by: [github.com profile] kareila
Description: This covers our usual December points-bonus promo, where all orders in the month of December get a bonus 10% points added to them upon checkout. I realized it was almost December and opened the issue to activate it, only for [staff profile] karzilla to tell me that she'd thought ahead way more than I had and pre-activated it with the last code push. This is one of the many, many reasons we keep her around: she is way more likely to have useful brain than I am at any given time.

Issue 117: Disable our /interface/github handler (pull request) (nonfree pull request)
Category: Backend
Patch by: [github.com profile] kareila
Description: We have a bot that runs against our Github repository to look for people trying to interact with issues and do a few helpful tasks. A while back, [personal profile] fu wrote a more generic version of the bot and released it for other people to use as well, but we were still using the old, DW-specific version. Now we are using the generic version that was released!

Issue 1892: modify http href to https in licensebuttons.net (pull request)
Category: Cleanup
Patch by: [github.com profile] srukle
Description: This catches an instance of us not having updated a link to another site to the HTTPS version.

Issue 1897: Move concatenating resources to DW (pull request)
Category: Backend
Patch by: [github.com profile] zorkian
Description: As part of our maintenance this month, we were trying to simplify our network architecture and get rid of stuff that used to be necessary (back in the dark days of the early 00s) but can now be handled better through different setup. This takes away one of the pieces that we used to use (perlbal) and distributes the things it was doing (assembling all the separate JS and CSS files) around so we don't need it anymore.

Issue 1899: merge get and post args for Net::OpenID::Server (pull request)
Category: Backend bugfix
Patch by: [github.com profile] alierak
Description: Bug fix in some of our OpenID code to work properly with a newer version of the module that it calls.

Issue 1900: failure to load some concatenated resources (pull request)
Category: Backend bugfix
Patch by: [github.com profile] kareila
Description: Fixes an issue with #1897 above, where some resources weren't being loaded properly.

Issue 1902: add optional IS_TRUSTED_PROXY config to improve TRUST_X_HEADERS (pull request)
Category: Backend bugfix
Patch by: [github.com profile] alierak
Description: Taking Perlbal out of the equation meant having to do a bit of poking at how the site handles proxies, to avoid that thing where a logged IP address looks like it went through three or four hops.

Issue 1903: ignore client IP when checking for trusted proxies (pull request)
Category: Backend bugfix
Patch by: [github.com profile] alierak
Description: More proxy handling fixes.

Issue 1904: avoid proxy hanging, never return from handleProxyFileRequests (pull request)
Category: Backend bugfix
Patch by: [github.com profile] alierak
Description: The image proxy is the thing that allows us to show your reading page via HTTPS even if there are items on the page that are loaded from third-party, HTTP-only sites. When we moved to our new hardware, we found a bug that would cause the proxy to hang under some circumstances.



41 total issues resolved
Contributors: [github.com profile] alierak, [github.com profile] chrisboyle, [github.com profile] hotlevel4, [github.com profile] kareila, [github.com profile] momijizukamori, [personal profile] onlyembers, [github.com profile] pinterface, [github.com profile] rahaeli, [personal profile] rosecarmine, [github.com profile] rshatch, [github.com profile] srukle, [github.com profile] woggy, [github.com profile] wohali, [github.com profile] zorkian
sporky_rat: It's a rat!  With stars!  It's ME! (rat with stars)

[personal profile] sporky_rat 2016-12-17 04:09 am (UTC)(link)
Issue 1234: Demi-ban: screen all future comments from specific user (pull request)
Category: Account controls
Patch by: [personal profile] batrachian; suggested by [personal profile] azurelunatic

Go Azz and Go Woggy! I know this will make many people happy!
kareila: "PERL!" (perl)

[personal profile] kareila 2016-12-17 06:51 am (UTC)(link)
Thank you for doing the writeup! Law of the Code Machete - indeed.

I do think there's a bug or weirdness in the code tour generator - the pull request for issue 1180 was closed without merging, so it has NOT been fixed yet.
kareila: (Default)

[personal profile] kareila 2016-12-17 07:23 am (UTC)(link)
I know! But I felt obligated to point it out nonetheless :)
batrachian: Dom (from the webcomic Megatokyo) talking on a phone (Dom)

[personal profile] batrachian 2016-12-17 06:40 pm (UTC)(link)
I do feel like the Law needs an addendum regarding things like the Steam Radiator or equivalent thereof. Sometimes the cryptic mysterious code is doing something vitally important after all (much to our collective dismay).
brainwane: Sumana, April 2015, with shaved head. (bald)

Thank you!

[personal profile] brainwane 2016-12-17 04:24 pm (UTC)(link)
Thanks as always for the improvements and the explanations. And congrats!
kaberett: Trans symbol with Swiss Army knife tools at other positions around the central circle. (Default)

[personal profile] kaberett 2016-12-28 10:27 pm (UTC)(link)
(thank you ;_; )