Aug. 17th, 2020

github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
[personal profile] github

Branch: refs/heads/code-tour Home: https://github.com/dreamwidth/dw-free Commit: a195cccfd508f34972e83016ca6e4ba80193c8cb https://github.com/dreamwidth/dw-free/commit/a195cccfd508f34972e83016ca6e4ba80193c8cb Author: Nick Fagerlund nick.fagerlund@gmail.com Date: 2020-07-22 (Wed, 22 Jul 2020)

Changed paths: M cgi-bin/LJ/CleanHTML.pm

Log Message:


CleanHTML: rely on DW::Formats for defaults/aliases

This was sort of an artifact of the order I built these in, but anyway: since Formats has utilities for resolving aliases and such, the HTML cleaner only really needs to care about the "real" format IDs.

This has no real effect on normal behavior today, but it makes things easier to maintain, and it makes things behave more predictably in tests. (Notably, fixes a test failure I recently introduced in t/cleaner-markdown.t by trying to pass the cleaner an alias that was only defined in Formats.)

Commit: 49baf2dc256e02359ba96bd672646b752b7e4623 https://github.com/dreamwidth/dw-free/commit/49baf2dc256e02359ba96bd672646b752b7e4623 Author: Nick Fagerlund nick.fagerlund@gmail.com Date: 2020-07-22 (Wed, 22 Jul 2020)

Changed paths: M doc/dependencies-cpanm

Log Message:


Add Test::MockObject to dependencies-cpanm

Dependency was introduced in #2709.

Commit: ae8eb9ccb8aa5ba7d5b6b4c5693022625d4bdc81 https://github.com/dreamwidth/dw-free/commit/ae8eb9ccb8aa5ba7d5b6b4c5693022625d4bdc81 Author: Nick Fagerlund nick.fagerlund@gmail.com Date: 2020-07-24 (Fri, 24 Jul 2020)

Changed paths: M htdocs/js/livejournal.js

Log Message:


Remove ancient JS function that always returns before doing anything

This main body of this function has been dead code since before Mark's 2008 initial import commit. Recently, Firefox started giving "unreachable code after return statement" warnings for it.

Could just ignore it until the 6alib stuff is all gone for good, but hey, figured we could all use a good laugh.

Commit: 74374ee495a2c5e6f7dc8933fc834da097e2923f https://github.com/dreamwidth/dw-free/commit/74374ee495a2c5e6f7dc8933fc834da097e2923f Author: Nick Fagerlund nick.fagerlund@gmail.com Date: 2020-07-24 (Fri, 24 Jul 2020)

Changed paths: M htdocs/scss/skins/_nav.scss

Log Message:


Site skins: Tidy up nav bar search form

  • The height: auto thing seems like a workaround for something that went away in some Foundation upgrade. Removing it makes the control heights match.
  • Inline selects in Foundation need extra side padding to leave room for the artificial dropdown triangle.

    Commit: 85a283ade898b5ac571db4bbcb3e3f5f5107b477 https://github.com/dreamwidth/dw-free/commit/85a283ade898b5ac571db4bbcb3e3f5f5107b477 Author: Nick Fagerlund nick.fagerlund@gmail.com Date: 2020-07-24 (Fri, 24 Jul 2020)

    Changed paths: M htdocs/scss/skins/_reply-form-styles.scss

    Log Message:


Site skins: Revise form control hacks for replies and multiform

A few recent additions that need adjustment, and a few things I never got quite right on the previous passes.

  • I previously styled the "multiform" (multi-comment actions) submit button like a submit (big and red on Tropo), but on further thought, it's of secondary importance and doesn't need a big flashing 🚨. Demote it to normal button.
  • The multiform button had a frustrating little vertical misalignment with its associated dropdown. Make the heights match, and line them up nice.
  • The new markup controls were a little too fluffy on site skins due to Foundation's massive button/dropdown styles, so shrink them to the same height as the icon controls. (This also fixes the quote button not quite matching the dropdown's height.)
  • Make these hacked button styles look a little more consistent with most of the site skin buttons. (I'd previously missed the little shiny edge at the top.)
  • Add some extra side padding to the hacked "inline" dropdowns (icon select, markup select, multi-comment actions) so that Foundation's fake dropdown triangle doesn't overlap the text when the longest item is selected.

    Commit: 6c030c382e5bfecb29bca36d1120d5b36066b0a6 https://github.com/dreamwidth/dw-free/commit/6c030c382e5bfecb29bca36d1120d5b36066b0a6 Author: Nick Fagerlund nick.fagerlund@gmail.com Date: 2020-07-24 (Fri, 24 Jul 2020)

    Changed paths: M htdocs/scss/skins/nav.scss M htdocs/scss/skins/reply-form-styles.scss

    Log Message:


Use lopsided padding for selects so they don't LOOK lopsided

...since that dropdown arrow isn't properly part of the text zone.

Commit: 95cec0339cbc3eb4705da39d897bd9fe4d473454 https://github.com/dreamwidth/dw-free/commit/95cec0339cbc3eb4705da39d897bd9fe4d473454 Author: Nick Fagerlund nick.fagerlund@gmail.com Date: 2020-07-24 (Fri, 24 Jul 2020)

Changed paths: M htdocs/scss/skins/nav.scss M htdocs/scss/skins/reply-form-styles.scss

Log Message:


Set select padding to 24px to match the size of the fake arrow svg

Commit: 8493eb907f81348996d2bb72c43618818296d1b7 https://github.com/dreamwidth/dw-free/commit/8493eb907f81348996d2bb72c43618818296d1b7 Author: Nick Fagerlund nick.fagerlund@gmail.com Date: 2020-07-25 (Sat, 25 Jul 2020)

Changed paths: A htdocs/js/jquery.talkpost.preview.js A htdocs/scss/components/talkpost-preview.scss M views/talkpost_do.tt M views/talkpost_do/preview_comment.tt M views/talkpost_do/preview_parent.tt

Log Message:


Comment preview: Display toggleable truncated parent above preview

  • Only takes effect if JS is enabled. No-JS folks get the parent below the reply form, the way it is today.
  • Uses flex order to hopefully not put it in the way of screenreaders; they should still hear it below the reply form, since that's the DOM order.
  • Does a pretty little blur at the truncation point, for browsers that support it.

    Commit: b52e434554b030ab44ffc707a69451a3ee0db837 https://github.com/dreamwidth/dw-free/commit/b52e434554b030ab44ffc707a69451a3ee0db837 Author: Kareila kareila@dreamwidth.org Date: 2020-07-25 (Sat, 25 Jul 2020)

    Changed paths: M cgi-bin/LJ/Widget/UserpicSelector.pm

    Log Message:


fix undefined variable warning in cgi-bin/LJ/Widget/UserpicSelector.pm

Use of uninitialized value in concatenation (.) or string at cgi-bin/LJ/Widget/UserpicSelector.pm line 70.

Produced when visiting legacy update page as a user with icons uploaded but no default chosen.

Commit: 39f4732777cc2fcc27c94f688e690aa066475243 https://github.com/dreamwidth/dw-free/commit/39f4732777cc2fcc27c94f688e690aa066475243 Author: Kareila kareila@dreamwidth.org Date: 2020-07-25 (Sat, 25 Jul 2020)

Changed paths: M cgi-bin/LJ/S2.pm

Log Message:


fix undefined variable warning in cgi-bin/LJ/S2.pm

Use of uninitialized value $LJ::ACTIVE_RES_GROUP in string eq at cgi-bin/LJ/S2.pm line 4007.

Produced when previewing a new entry from the legacy update page.

Commit: b82b6771f8eb2273d4708522d08e344970d35df4 https://github.com/dreamwidth/dw-free/commit/b82b6771f8eb2273d4708522d08e344970d35df4 Author: Kareila kareila@dreamwidth.org Date: 2020-07-25 (Sat, 25 Jul 2020)

Changed paths: M cgi-bin/LJ/URI.pm

Log Message:


remove checks for $LJ::URI_MAP and $LJ::URI_REDIRECT

We don't use these anywhere -- intended to define special mappings for certain BML paths. We do still use $LJ::AJAX_URI_MAP for the two remaining BML files that include AJAX handlers.

Commit: 764759f4786ad22a129ed77062ed44a2097c86db https://github.com/dreamwidth/dw-free/commit/764759f4786ad22a129ed77062ed44a2097c86db Author: Kareila kareila@dreamwidth.org Date: 2020-07-25 (Sat, 25 Jul 2020)

Changed paths: M cgi-bin/LJ/User/Display.pm

Log Message:


remove check for $LJ::ENABLE_BETA_TOOLS

The open beta period was a long time ago now.

Commit: 159ca15016df8bbda8b49fd44bccd879007e416f https://github.com/dreamwidth/dw-free/commit/159ca15016df8bbda8b49fd44bccd879007e416f Author: Kareila kareila@dreamwidth.org Date: 2020-07-25 (Sat, 25 Jul 2020)

Changed paths: M cgi-bin/ljlib.pl R htdocs/js/livejournal-devel.js

Log Message:


remove js/livejournal-devel.js (functionally empty)

Commit: 55ba1a67f14fd58a83b9c5fb384fb014d792bea5 https://github.com/dreamwidth/dw-free/commit/55ba1a67f14fd58a83b9c5fb384fb014d792bea5 Author: Kareila kareila@dreamwidth.org Date: 2020-07-25 (Sat, 25 Jul 2020)

Changed paths: M bin/upgrading/en.dat

Log Message:


remove duplicate definition for error.suspended.text

Commit: 69c80f28a1f8a93b46b0ce6f9d3a5b120bea1e73 https://github.com/dreamwidth/dw-free/commit/69c80f28a1f8a93b46b0ce6f9d3a5b120bea1e73 Author: Kareila kareila@dreamwidth.org Date: 2020-07-25 (Sat, 25 Jul 2020)

Changed paths: M cgi-bin/DW/Template.pm

Log Message:


fix undefined variable warnings in cgi-bin/DW/Template.pm

Use of uninitialized value $scope in string eq at cgi-bin/DW/Template.pm line 271.

Use of uninitialized value $scope in string eq at cgi-bin/DW/Template.pm line 282.

Commit: eb391db3fd37e93a0433654ce56a3b1a4e651f35 https://github.com/dreamwidth/dw-free/commit/eb391db3fd37e93a0433654ce56a3b1a4e651f35 Author: Kareila kareila@dreamwidth.org Date: 2020-07-25 (Sat, 25 Jul 2020)

Changed paths: M cgi-bin/LJ/Time.pm

Log Message:


fix undefined variable warning in cgi-bin/LJ/Time.pm

Use of uninitialized value $string in pattern match (m//) at cgi-bin/LJ/Time.pm line 74.

Commit: 4da4b2a12d3b35960d0f70d3ad62f0cfefc111d7 https://github.com/dreamwidth/dw-free/commit/4da4b2a12d3b35960d0f70d3ad62f0cfefc111d7 Author: Kareila kareila@dreamwidth.org Date: 2020-07-25 (Sat, 25 Jul 2020)

Changed paths: M cgi-bin/DW/Controller/RPC/MiscLegacy.pm

Log Message:


fix undefined variable warning in cgi-bin/DW/Controller/RPC/MiscLegacy.pm

Use of uninitialized value in split at cgi-bin/DW/Controller/RPC/MiscLegacy.pm line 629.

A little more involved than usual due to removing code duplication.

Commit: bc165a9da5fe277d40e79daee4e4a1561945226f https://github.com/dreamwidth/dw-free/commit/bc165a9da5fe277d40e79daee4e4a1561945226f Author: Kareila kareila@dreamwidth.org Date: 2020-07-25 (Sat, 25 Jul 2020)

Changed paths: M cgi-bin/DW/Controller/RPC/MiscLegacy.pm

Log Message:


fix RPC warning in profile collapse handler

Was generating "Handler for perl-script returned invalid result code 1" whenever clicking on a profile collapse arrow.

Commit: ac44c00a4c1b6e254dc67a88f7d989d8b11d12af https://github.com/dreamwidth/dw-free/commit/ac44c00a4c1b6e254dc67a88f7d989d8b11d12af Author: Nick Fagerlund nick.fagerlund@gmail.com Date: 2020-07-25 (Sat, 25 Jul 2020)

Changed paths: M cgi-bin/LJ/Talk.pm

Log Message:


Fix uninitialized value warnings in require_captcha_test

Commit: 23b6ad60b729fa7e3e193ef305060987c959fb9a https://github.com/dreamwidth/dw-free/commit/23b6ad60b729fa7e3e193ef305060987c959fb9a Author: Nick Fagerlund nick.fagerlund@gmail.com Date: 2020-07-25 (Sat, 25 Jul 2020)

Changed paths: M cgi-bin/LJ/Web.pm

Log Message:


Fix uninitialized value in LJ::img (plus cleanup)

  • The name attribute is deprecated in favor of id.
  • That assign-three-to-two thing was a casualty of the "everything's SSL" patch.

    Commit: 7d7811c77155a6e909862500e3d9bcf40c9f4c08 https://github.com/dreamwidth/dw-free/commit/7d7811c77155a6e909862500e3d9bcf40c9f4c08 Author: Nick Fagerlund nick.fagerlund@gmail.com Date: 2020-07-25 (Sat, 25 Jul 2020)

    Changed paths: M views/journal/talkform.tt

    Log Message:


Fix uninitialized value warnings in talkform.tt

Commit: 9d6bba0d784d2ee986a9c2099705c414140ce739 https://github.com/dreamwidth/dw-free/commit/9d6bba0d784d2ee986a9c2099705c414140ce739 Author: Kareila kareila@dreamwidth.org Date: 2020-07-25 (Sat, 25 Jul 2020)

Changed paths: M cgi-bin/DW/Template/Plugin.pm A views/error/purged.tt A views/error/suspended.tt

Log Message:


new error templates for suspended and purged users

To be used by journal-related pages when trying to display information for a user that has been deleted and purged or a user that has been suspended for misconduct.

This also adds a dw.request_status function for templates to use, so that the caller doesn't have to remember to set the correct status explicitly.

(I don't know if the long garbage comments are still best practice, but I saw they were present in views/error/404.tt, so I emulated that.)

Commit: 430c6a6d6304285d79ec0cbd483e6978b30e3dba https://github.com/dreamwidth/dw-free/commit/430c6a6d6304285d79ec0cbd483e6978b30e3dba Author: Kareila kareila@dreamwidth.org Date: 2020-07-25 (Sat, 25 Jul 2020)

Changed paths: M cgi-bin/DW/Logic/ProfilePage.pm

Log Message:


helper function profileml for DW/Logic/ProfilePage.pm

The profile.bml page uses BML::set_language_scope( '/profile.bml' ) to allow locally scoped strings in other modules to resolve correctly. This hack won't work when we transfer the page to templates, so this change makes the language scope explicit for each local string, with one line to change when switching over to the new context.

Commit: 8e6e26f6d18cb37d41d1f3a1bd505969265a5ef1 https://github.com/dreamwidth/dw-free/commit/8e6e26f6d18cb37d41d1f3a1bd505969265a5ef1 Author: Kareila kareila@dreamwidth.org Date: 2020-07-25 (Sat, 25 Jul 2020)

Changed paths: M bin/upgrading/deadphrases.dat M cgi-bin/DW/Logic/ProfilePage.pm M htdocs/profile.bml.text A views/profile/logic.tt.text

Log Message:


move Logic/ProfilePage strings from profile.bml.text to profile/logic.tt.text

Commit: 3500b221c0a33257efb9f25ec26ecf79de730bff https://github.com/dreamwidth/dw-free/commit/3500b221c0a33257efb9f25ec26ecf79de730bff Author: Kareila kareila@dreamwidth.org Date: 2020-07-25 (Sat, 25 Jul 2020)

Changed paths: M bin/upgrading/deadphrases.dat M htdocs/profile.bml.text

Log Message:


deadphrase unused profile.bml.text strings

Commit: d9f5a87aaf788a813e3cbc40b75bc947a364c0e1 https://github.com/dreamwidth/dw-free/commit/d9f5a87aaf788a813e3cbc40b75bc947a364c0e1 Author: Kareila kareila@dreamwidth.org Date: 2020-07-25 (Sat, 25 Jul 2020)

Changed paths: M cgi-bin/DW/Logic/ProfilePage.pm

Log Message:


additional Logic/ProfilePage methods for templates

Many user methods return a list of userids that the template will try to interpret as a list reference, but not always successfully:

  • List containing one element -> variable set to that element.
  • List containing no elements -> variable set to the empty string.

Using the .list TT method fixes the first problem but not the second; a null result will still be the empty string and not an empty list.

The cleanest solution is to stub replacement methods in ProfilePage that return list references instead of lists. We were already using ProfilePage for the profile-specific userid lists such as not_mutually_watched_userids, which will also be updated to return list references in a later commit.

Commit: a418a4d4a216eddf384290c6f8dce60ba25cfa32 https://github.com/dreamwidth/dw-free/commit/a418a4d4a216eddf384290c6f8dce60ba25cfa32 Author: Kareila kareila@dreamwidth.org Date: 2020-07-25 (Sat, 25 Jul 2020)

Changed paths: M cgi-bin/DW/Logic/ProfilePage.pm

Log Message:


add a few more Logic/ProfilePage userid convenience methods

Because no one wants to deal directly with load_rel_user_cache et al.

Commit: 86d1e8b89eec042b9e25088d9b8acb4d0e70fc34 https://github.com/dreamwidth/dw-free/commit/86d1e8b89eec042b9e25088d9b8acb4d0e70fc34 Author: Kareila kareila@dreamwidth.org Date: 2020-07-25 (Sat, 25 Jul 2020)

Changed paths: M cgi-bin/DW/Logic/ProfilePage.pm M htdocs/profile.bml

Log Message:


update the legacy ProfilePage methods to return listrefs instead of lists

Going to go ahead and include this as a separate commit to clarify the impact.

Also adds a preload_props to external_services because there are 26 now.

Commit: c037cae2810cdf27c2bb6c607a54a7c3afff8c93 https://github.com/dreamwidth/dw-free/commit/c037cae2810cdf27c2bb6c607a54a7c3afff8c93 Author: Kareila kareila@dreamwidth.org Date: 2020-07-25 (Sat, 25 Jul 2020)

Changed paths: M views/error/404.tt M views/error/purged.tt M views/error/suspended.tt

Log Message:


remove garbage padding comments from templates in views/error

These are only needed if the total page source is less than 512 bytes, to prevent the content from being overridden by the browser. Since these are rendered with site scheme, they are well over the 512 byte threshold.

Commit: f04b4071f3dfe7fb2fdaa572335ff88e2dd513b3 https://github.com/dreamwidth/dw-free/commit/f04b4071f3dfe7fb2fdaa572335ff88e2dd513b3 Author: Kareila kareila@dreamwidth.org Date: 2020-07-25 (Sat, 25 Jul 2020)

Changed paths: R cgi-bin/LJ/Setting/Bio.pm

Log Message:


remove unused module cgi-bin/LJ/Setting/Bio.pm

The translation strings weren't even in the system. We use /manage/profile for this.

Commit: 7b9c9869ca1cbd3577fe5b9125c81e1fbe92ee66 https://github.com/dreamwidth/dw-free/commit/7b9c9869ca1cbd3577fe5b9125c81e1fbe92ee66 Author: Mark Smith mark@dreamwidth.org Date: 2020-07-26 (Sun, 26 Jul 2020)

Changed paths: M doc/dependencies-system

Log Message:


Add libpng-dev to dependency list

Fix: Configure failed for Imager-File-PNG-0.95

Commit: 0e3e6b08553e4a1f9aeca595331fe3f53bd5dd36 https://github.com/dreamwidth/dw-free/commit/0e3e6b08553e4a1f9aeca595331fe3f53bd5dd36 Author: Mark Smith mark@dreamwidth.org Date: 2020-07-26 (Sun, 26 Jul 2020)

Changed paths: M bin/checkconfig.pl

Log Message:


Revert "improvements to bin/checkconfig.pl"

This reverts commit 1f1d9e54a78476f797951a016663a7b4ccae076d.

Commit: 129f35d1c8e404d1b297a5f2708a1ea5ec44a6ba https://github.com/dreamwidth/dw-free/commit/129f35d1c8e404d1b297a5f2708a1ea5ec44a6ba Author: Kareila kareila@dreamwidth.org Date: 2020-07-26 (Sun, 26 Jul 2020)

Changed paths: M cgi-bin/DW/Controller/Importer.pm

Log Message:


[#2785] fix community import error

In the original BML file, $u was the logged in user and $remote was the authas user, which is backwards from what the controller provides. So this error needs to be checking $remote, not $u.

Commit: 39aa387f9e6d99d543e7349d79349e106ee2e7fc https://github.com/dreamwidth/dw-free/commit/39aa387f9e6d99d543e7349d79349e106ee2e7fc Author: Kareila kareila@dreamwidth.org Date: 2020-07-26 (Sun, 26 Jul 2020)

Changed paths: M views/tools/importer/index.tt

Log Message:


fix another u/remote swap from the original file

This one is merely in a string displayed to the user.

Commit: de0aac61d176c18f5930d0cbbb0239e961970f86 https://github.com/dreamwidth/dw-free/commit/de0aac61d176c18f5930d0cbbb0239e961970f86 Author: Kareila kareila@dreamwidth.org Date: 2020-07-26 (Sun, 26 Jul 2020)

Changed paths: M cgi-bin/DW/Controller/Admin/FileEdit.pm

Log Message:


fix double escaping of file contents in /admin/fileedit

The original BML file used raw HTML with manual escaping, whereas the converted page uses form.textarea in the template, which automatically escapes.

Commit: fce68b6cdb2fab88074a84d352ef214d122913e1 https://github.com/dreamwidth/dw-free/commit/fce68b6cdb2fab88074a84d352ef214d122913e1 Author: Kareila kareila@dreamwidth.org Date: 2020-07-26 (Sun, 26 Jul 2020)

Changed paths: M cgi-bin/DW/Request/Base.pm

Log Message:


give all cookies the secure attribute on HTTPS sites

Momiji got a Firefox warning saying cookies with the 'sameSite' attribute set to 'none' or an invalid value would be rejected without the 'secure' attribute. This updates the add_cookie method to add the 'secure' attribute to all our cookies when LJ::PROTOCOL is https. The 'secure' attribute will cause the cookie not to be sent if the connection is not over SSL.

Commit: 5e4523ee24aa432bdf10c121f933d3c8523153c9 https://github.com/dreamwidth/dw-free/commit/5e4523ee24aa432bdf10c121f933d3c8523153c9 Author: Kareila kareila@dreamwidth.org Date: 2020-07-26 (Sun, 26 Jul 2020)

Changed paths: M cgi-bin/DW/Request/Base.pm M doc/dependencies-cpanm

Log Message:


give all cookies SameSite=Lax on dev servers

I think the comment I left encapsulates the situation as I understand it, but expect further developments. (In particular I read that Chrome would start enforcing SameSite=Lax by default at some point, so if we do in fact need SameSite=None, we will need to make that explicit in the future.)

Commit: a9e40f82da13ab51e7f0634b3c9c55c51415b7de https://github.com/dreamwidth/dw-free/commit/a9e40f82da13ab51e7f0634b3c9c55c51415b7de Author: Kareila kareila@dreamwidth.org Date: 2020-07-26 (Sun, 26 Jul 2020)

Changed paths: M bin/checkconfig.pl

Log Message:


second try for improvements to bin/checkconfig.pl

The change from #2641 had to be reverted because requiring the config files, even within an eval block, tainted the execution state of the script and confused the call to LJ::get_dbh further down.

This version uses 'perl -c' for syntax checking like t/00-compile.t does. It also doesn't look for test config files unless $LJ::IS_DEV_SERVER is set.

Commit: 35ff64e65e262685b419bb458bb0a6e1a9e39127 https://github.com/dreamwidth/dw-free/commit/35ff64e65e262685b419bb458bb0a6e1a9e39127 Author: Ruth momijizukamori@gmail.com Date: 2020-07-26 (Sun, 26 Jul 2020)

Changed paths: M htdocs/scss/foundation/settings.scss M htdocs/scss/skins/entry-styles.scss M htdocs/scss/skins/_page-layout-hacks.scss M htdocs/scss/skins/lynx.scss

Log Message:


Tweaks for Foundationized entry pages

-Change line-height back to 1.5 -Restore blank space when no comment title is set -Remove default table background colors in entry contents -Make comment header border alternate colors, like the background does -Reduce spacing between list items.

Commit: 91a90ebab8ac42580376928c2a70002b8d25a030 https://github.com/dreamwidth/dw-free/commit/91a90ebab8ac42580376928c2a70002b8d25a030 Author: Mark Smith mark@dreamwidth.org Date: 2020-07-27 (Mon, 27 Jul 2020)

Changed paths: M htdocs/scss/skins/_entry-styles.scss

Log Message:


Different fix for comment subject height shenanigans

Commit: 144c8c66fc6176d0f503bc6bcd7f55d937a9a047 https://github.com/dreamwidth/dw-free/commit/144c8c66fc6176d0f503bc6bcd7f55d937a9a047 Author: Kareila kareila@dreamwidth.org Date: 2020-07-27 (Mon, 27 Jul 2020)

Changed paths: M schemes/global.tt

Log Message:


[#2797] add arrow glyph to username mobile menu link

Commit: 0a149ce784ceeb035af44d9e1c7fa2eeb04833e4 https://github.com/dreamwidth/dw-free/commit/0a149ce784ceeb035af44d9e1c7fa2eeb04833e4 Author: Kareila kareila@dreamwidth.org Date: 2020-07-27 (Mon, 27 Jul 2020)

Changed paths: M cgi-bin/DW/Controller/RPC/MiscLegacy.pm

Log Message:


[#2779] fix uninitialized value warning when viewing logged-out profile

Co-credit to [profile] nfagerlund on this one.

Commit: f0d3aa6e7514d746add86a15db2847f277224fc6 https://github.com/dreamwidth/dw-free/commit/f0d3aa6e7514d746add86a15db2847f277224fc6 Author: Kareila kareila@dreamwidth.org Date: 2020-07-27 (Mon, 27 Jul 2020)

Changed paths: M bin/upgrading/deadphrases.dat M cgi-bin/Apache/LiveJournal.pm A cgi-bin/DW/Controller/Profile.pm M cgi-bin/DW/Logic/ProfilePage.pm R htdocs/profile.bml R htdocs/profile.bml.text A views/profile/_blocks.tt A views/profile/main.tt A views/profile/main.tt.text

Log Message:


convert /profile from BML to TT

Commit: db343dc4b169934fe29898dba4f8ac21956cd551 https://github.com/dreamwidth/dw-free/commit/db343dc4b169934fe29898dba4f8ac21956cd551 Author: Nick Fagerlund nick.fagerlund@gmail.com Date: 2020-08-06 (Thu, 06 Aug 2020)

Changed paths: M cgi-bin/LJ/CleanHTML.pm

Log Message:


Fix embeds in feed content (#2823)

Fixes #2821

When adding the nodwtags option to the HTML cleaner, I didn't realize that feed content DOES get its embeds mangled into site-embed tags. This commit exempts site-embed from the "no special tags" behavior, to hopefully fix youtube etc. embeds in feeds.

Commit: a5d792526618dc1daf1a650b5fbee40d706a38a0 https://github.com/dreamwidth/dw-free/commit/a5d792526618dc1daf1a650b5fbee40d706a38a0 Author: Nick Fagerlund nick.fagerlund@gmail.com Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M styles/core1.s2

Log Message:


Re-enable javascript in core1 with s2foundation features

To support newer components in journal styles, we needed to change how script tags enter the document. core2 already had room to do this without disrupting anything, but naturally core1 does not.

Since most legacy core1 layouts in the wild probably override Page::print(), they'll need to update their code to call $this->print_script_tags(); right before closing the body tag.

Commit: 5a6d4334f09990c38422f0bf755e2157022b9097 https://github.com/dreamwidth/dw-free/commit/5a6d4334f09990c38422f0bf755e2157022b9097 Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M cgi-bin/LJ/Global/Defaults.pm

Log Message:


remove %LJ::SSL_DISABLED_URI

The comment says it was temporary, and it appears to be no longer used.

Commit: 99683a792b3864b6cb354076ba3baf3544502d71 https://github.com/dreamwidth/dw-free/commit/99683a792b3864b6cb354076ba3baf3544502d71 Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M cgi-bin/LJ/User/Account.pm

Log Message:


fix undefined variable warning in cgi-bin/LJ/User/Account.pm

Use of uninitialized value $uuserid in addition (+) at cgi-bin/LJ/User/Account.pm line 1761.

Commit: 843f2e0e81a92e975f42c19657158617e23c8f4d https://github.com/dreamwidth/dw-free/commit/843f2e0e81a92e975f42c19657158617e23c8f4d Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M bin/upgrading/deadphrases.dat

Log Message:


remove dead userinfo.bml strings

I was looking up a string on /admin/translate and happened to notice that most of the strings belonging to /userinfo.bml (the predecessor of profile.bml) never got added to deadphrases.

Commit: a6d1b14829fbb6f1eb5225ab6acafd08a16cc40d https://github.com/dreamwidth/dw-free/commit/a6d1b14829fbb6f1eb5225ab6acafd08a16cc40d Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M cgi-bin/LJ/Global/Defaults.pm

Log Message:


remove unused config variable $LJ::MAX_FRIENDOF_LOAD

Looks like this was an earlier take on the FORCE_EMPTY_SUBSCRIPTIONS hack.

Commit: 82be65dd1ece0c1fdb1c03093fb12358cf0672ca https://github.com/dreamwidth/dw-free/commit/82be65dd1ece0c1fdb1c03093fb12358cf0672ca Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M bin/maint/taskinfo.txt

Log Message:


remove undefined 'memeclean' reference from ljmaint taskinfo

I don't think we ever had code for this.

Commit: 095b6b2e420c98b521ccf0c9b61575185517a104 https://github.com/dreamwidth/dw-free/commit/095b6b2e420c98b521ccf0c9b61575185517a104 Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M cgi-bin/DW/Controller/Customize/Advanced.pm

Log Message:


fix undefined variable warning in cgi-bin/DW/Controller/Customize/Advanced.pm

Use of uninitialized value in pattern match (m//) at cgi-bin/DW/Controller/Customize/Advanced.pm line 236.

Commit: 33fe92b32319f8f812577d7935a06cff6997ead1 https://github.com/dreamwidth/dw-free/commit/33fe92b32319f8f812577d7935a06cff6997ead1 Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M bin/upgrading/deadphrases.dat M htdocs/support/see_request.bml M htdocs/support/see_request.bml.text

Log Message:


update link on see_request to target /help instead of /help.bml

Commit: c701c57869376d8500108c2deaedbc16031b6e32 https://github.com/dreamwidth/dw-free/commit/c701c57869376d8500108c2deaedbc16031b6e32 Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M cgi-bin/LJ/User/Account.pm

Log Message:


machete commented out code for default friend groups

Protocol still defines editfriendgroups but it just fails.

Commit: 674b7291167cb057c4312d3339f9508c4e60d87f https://github.com/dreamwidth/dw-free/commit/674b7291167cb057c4312d3339f9508c4e60d87f Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M cgi-bin/LJ/Setting/Display/AccountStatus.pm

Log Message:


make actionlink for suspended accounts a link

It was doing something ineffective with aopts. Now it is a real link.

Commit: eb7408df45c6d408aaf1af0c74fb205edcb28e14 https://github.com/dreamwidth/dw-free/commit/eb7408df45c6d408aaf1af0c74fb205edcb28e14 Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M bin/upgrading/proplists.dat M cgi-bin/LJ/User/Journal.pm

Log Message:


remove userprop third_party_notify_list and related unused methods

Commit: c7351f32e86e29d5caa4b1d2aec4bcc773b53d41 https://github.com/dreamwidth/dw-free/commit/c7351f32e86e29d5caa4b1d2aec4bcc773b53d41 Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M views/admin/propedit.tt

Log Message:


fix textarea with no id in views/admin/propedit.tt

Use of uninitialized value in concatenation (.) or string at cgi-bin/DW/Template/Plugin/FormHTML.pm line 438.

Commit: aada0cfd4b3313c6e1a3d6cde36a2d4a08afe86c https://github.com/dreamwidth/dw-free/commit/aada0cfd4b3313c6e1a3d6cde36a2d4a08afe86c Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M htdocs/shop/history.bml M views/admin/pay/vieworder.tt M views/admin/pay/viewuser.tt

Log Message:


fix missing strings from converting /shop/receipt to TT

Commit: 2ced1a5bf4409f299b85bd36568641466092e926 https://github.com/dreamwidth/dw-free/commit/2ced1a5bf4409f299b85bd36568641466092e926 Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M views/admin/pay/vieworder.tt M views/admin/pay/vieworder.tt.text

Log Message:


fix another sad shop conversion bug

The template passed an empty string instead of undef to the SQL query, with undesired results.

Commit: 14e877ec538f21c1d39d020ea1a90513601e0893 https://github.com/dreamwidth/dw-free/commit/14e877ec538f21c1d39d020ea1a90513601e0893 Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M views/entry/preview.tt

Log Message:


[#2791] siteskin entry preview tweaks

Commit: 6403e2b7d9bd55425e1346178f3d3b6fc107a782 https://github.com/dreamwidth/dw-free/commit/6403e2b7d9bd55425e1346178f3d3b6fc107a782 Author: Nick Fagerlund nick.fagerlund@gmail.com Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M cgi-bin/DW/External/XPostProtocol.pm

Log Message:


Restore space between body and crosspost footer

We now pre-process all our autoformatting and send the result to LJ-alikes as opt_preformatted, so we can do things they don't support and not have to maintain a working understanding of THEIR auto-formatting.

Crosspost footer was expecting to land in NON-preformatted text tho, and gets jammed onto the end of the last sentence if the post is being treated as raw HTML. Presumably this already used to break on preformatted crossposts, so I'm surprised we didn't hear about it before, but anyway, now it hits everything so let's fix.

Commit: 0c84f7bf8f4e8ee96c18ba3142e20ae1c1bbbe8f https://github.com/dreamwidth/dw-free/commit/0c84f7bf8f4e8ee96c18ba3142e20ae1c1bbbe8f Author: Martin DeMello mdemello@google.com Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M t/commafy.t M t/lib/ljtestlib.pl

Log Message:


test commafy without ljlib (#2818)

  • test commafy without ljlib

  • don't use my sub

    Commit: 64115c34b2629c1795d89d84125091ba85cf50b6 https://github.com/dreamwidth/dw-free/commit/64115c34b2629c1795d89d84125091ba85cf50b6 Author: Nick Fagerlund nick.fagerlund@gmail.com Date: 2020-08-09 (Sun, 09 Aug 2020)

    Changed paths: M htdocs/scss/skins/entry-styles.scss M htdocs/scss/skins/journal-typography.scss

    Log Message:


Site skin comments: Attempt to fix the wooz

Attempting to fix some vertigo issues reported with the new site skin comments, working on a hypothesis that it involves some combination of line length and spacing.

This shrinks the average line length of entries and top-level comments by about ten or fifteen characters per line, at least with the default font (verdana). It also adds some vertical spacing around the body of a comment.

Commit: ac8755ae7335c7604fe9c5e2ba700624bf7b7364 https://github.com/dreamwidth/dw-free/commit/ac8755ae7335c7604fe9c5e2ba700624bf7b7364 Author: Nick Fagerlund nick.fagerlund@gmail.com Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M styles/drifting/layout.s2

Log Message:


Fix mobile blowouts on Drifting

This hack seems to have been an old version of the modern hack I replaced it with. The drawback of the old one is that it doesn't constrain the widths of the table 'cells', so a long preformatted string of example CSS code or whatever will blast your flist page off for Mars. Using flex lets it respect the per-entry overflow: auto it already has for avoiding blowouts.

Commit: 548b93a5847b1f889be48eb7999da3773eaf04f0 https://github.com/dreamwidth/dw-free/commit/548b93a5847b1f889be48eb7999da3773eaf04f0 Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M cgi-bin/LJ/User/Styles.pm

Log Message:


use sitescheme error pages in LJ::make_journal

This uses the new suspended.tt and purged.tt templates for the relevant error page displays.

Commit: 878e46c32efcf7b5801c528b2ed0e23cec2d0909 https://github.com/dreamwidth/dw-free/commit/878e46c32efcf7b5801c528b2ed0e23cec2d0909 Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M bin/upgrading/en.dat M cgi-bin/LJ/User/Styles.pm A views/error/suspended-entry.tt

Log Message:


add sitescheme error template for viewing a suspended entry

Not sure how the error.suspended.entry string came to be defined in production but not in en.dat. I got it copied over, though.

Commit: 97c03b03ff3037ee4a95faf2635da33df61a3ae8 https://github.com/dreamwidth/dw-free/commit/97c03b03ff3037ee4a95faf2635da33df61a3ae8 Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M bin/upgrading/en.dat M cgi-bin/Apache/LiveJournal.pm M cgi-bin/LJ/User/Styles.pm A views/error/unknown-user.tt

Log Message:


[#2177] add sitescheme error template for 404 no such user

Tagging #2177 because I consider Foundation sitescheme rendering an improvement, but the error text hasn't really changed.

Commit: 4d753ec02ee1377b7bba458a4ec5f7bb9ad29b58 https://github.com/dreamwidth/dw-free/commit/4d753ec02ee1377b7bba458a4ec5f7bb9ad29b58 Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M bin/upgrading/en.dat M cgi-bin/LJ/User/Styles.pm A views/error/openid-user.tt

Log Message:


add sitescheme error template for viewing the journal of an ext_xxx user

Commit: 47ddc816ca115635de2a9c707ccf12d58153077e https://github.com/dreamwidth/dw-free/commit/47ddc816ca115635de2a9c707ccf12d58153077e Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M bin/upgrading/deadphrases.dat M bin/upgrading/en.dat M cgi-bin/LJ/User/Styles.pm A views/error/tagview.tt

Log Message:


add sitescheme error template for tag view errors and refactor

Commit: 23312c997c300ba1aaa97d300c5fdae497a6593f https://github.com/dreamwidth/dw-free/commit/23312c997c300ba1aaa97d300c5fdae497a6593f Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M cgi-bin/LJ/User/Styles.pm

Log Message:


show sitescheme error when user can't view their network page

Commit: d897da19016ad4062700dde7ca67bff4ffee4afe https://github.com/dreamwidth/dw-free/commit/d897da19016ad4062700dde7ca67bff4ffee4afe Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M bin/upgrading/deadphrases.dat M bin/upgrading/en.dat M cgi-bin/LJ/User/Styles.pm

Log Message:


remove unused string error.vhost.nocomm

When invoking badargs, the return value is ignored.

Commit: 681efb029c5834ed3bb3c0de0ff909b1b5275bfe https://github.com/dreamwidth/dw-free/commit/681efb029c5834ed3bb3c0de0ff909b1b5275bfe Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M cgi-bin/LJ/User/Styles.pm A views/error/vhost.tt

Log Message:


replace $notice with $error using sitescheme error template

Commit: b0c8effb6f679674222fd5b9a40abdf79260793a https://github.com/dreamwidth/dw-free/commit/b0c8effb6f679674222fd5b9a40abdf79260793a Author: Nick Fagerlund nick.fagerlund@gmail.com Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M htdocs/scss/skins/entry-styles.scss M htdocs/scss/skins/journal-typography.scss M htdocs/scss/skins/_reply-form-styles.scss

Log Message:


Various new site skin fixes

  • The border colors on comment headers were wonky after re-adding the color alternation. (One of them was half-highlight-color, half-black). Fixed by exploding "border-bottom" into its constituent parts. (The "combined" border properties implicitly set border-color to currentcolor, which is black-ish.)

  • Add padding to .comment-info (comment header) boxes.

  • Reduce the space we waste for absent comment headers on mobile.

  • We shouldn't mess with table styles in Lynx (since they're browser default anyway), so move that out of the "need this to display comment pages" file and into the "fix bad Foundation behavior for thick siteskins" file.

  • Remove default Foundation styling for textareas in entries (which are used to share code).

  • Fix a rare issue where the height of the comment form textarea got compressed. (Only affects highly obsolete browsers.)

    Commit: 92db2792db71e68e440b4f28b6bd93770f4cc806 https://github.com/dreamwidth/dw-free/commit/92db2792db71e68e440b4f28b6bd93770f4cc806 Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

    Changed paths: M bin/upgrading/deadphrases.dat M bin/upgrading/en.dat M bin/upgrading/proplists.dat M cgi-bin/DW/Controller/Entry.pm M cgi-bin/DW/Controller/RPC/CutExpander.pm M cgi-bin/LJ/CleanHTML.pm M cgi-bin/LJ/Console/Command/Unsuspend.pm M cgi-bin/LJ/Entry.pm M cgi-bin/LJ/Web.pm M htdocs/editjournal.bml M htdocs/editjournal.bml.text

    Log Message:


remove ineffective editjournal feature action:saveunsuspend

The intent of this feature was to automatically open a new support request when a suspended entry was edited to remove offending content. This had no effect because $LJ::UNSUSPENSION_REQUEST_SPCATID was never set.

Most of the actual changes here are related to removing the unsuspend_supportid entryprop, intended to link the suspended entry and the support request.

Commit: 5705ec04d5dfa603d0d1a799dadace19415e08e6 https://github.com/dreamwidth/dw-free/commit/5705ec04d5dfa603d0d1a799dadace19415e08e6 Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M bin/upgrading/deadphrases.dat M cgi-bin/DW/Controller/Support/Submit.pm M views/support/submit.tt M views/support/submit.tt.text

Log Message:


move loggedout_support_requests error to error_ml in controller

Commit: e620bb7b86eea1a0166076f9ced777d7df0ac209 https://github.com/dreamwidth/dw-free/commit/e620bb7b86eea1a0166076f9ced777d7df0ac209 Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M bin/upgrading/deadphrases.dat M cgi-bin/DW/Controller/Support/Submit.pm M views/support/submit.tt M views/support/submit.tt.text

Log Message:


remove language selection code from request form

This can never work because %LJ::LANGS_FOR_SUPPORT_REQUESTS is undefined, and support_request_language is disabled by default anyway.

Commit: 2aae96e56d69c8efb02e8a4ce0031edfecc267df https://github.com/dreamwidth/dw-free/commit/2aae96e56d69c8efb02e8a4ce0031edfecc267df Author: Kareila kareila@dreamwidth.org Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M views/support/submit.tt

Log Message:


convert /support/submit to Foundation

Commit: 2251399a8c22d57f19ceca5e3fcfc1601d35d863 https://github.com/dreamwidth/dw-free/commit/2251399a8c22d57f19ceca5e3fcfc1601d35d863 Author: Nick Fagerlund nick.fagerlund@gmail.com Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M cgi-bin/LJ/Userpic.pm

Log Message:


Sort the array returned by $userpic->keywords

There's an original order for the submitted keywords stored somewhere... but because we sort alphabetically when building the text field for changing the icon's keywords, that order effectively does not exist. Since it doesn't exist, we should expose it Nowhere, and consistently alphabetize.

Commit: a4e558d720f737b29f0e7cfe7005cb92b3d03371 https://github.com/dreamwidth/dw-free/commit/a4e558d720f737b29f0e7cfe7005cb92b3d03371 Author: Nick Fagerlund nick.fagerlund@gmail.com Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M bin/upgrading/proplists.dat M cgi-bin/DW/Controller/Entry.pm M cgi-bin/DW/Controller/RPC/IconBrowserOptions.pm M cgi-bin/LJ/Talk.pm M cgi-bin/LJ/User/Permissions.pm M cgi-bin/LJ/Web.pm M htdocs/js/jquery.replyforms.js M views/entry/form.tt M views/journal/quickreply.tt M views/journal/talkform.tt

Log Message:


New userprop: iconbrowser_keyword order

This commit adds a new prop for sorting the icon browser by keyword instead of date, and wires it through all of the perl and TT stuff for things that invoke the icon browser or act on that userprop.

Commit: 026efca1fedd8e0221b0b7f5648b2923692579f9 https://github.com/dreamwidth/dw-free/commit/026efca1fedd8e0221b0b7f5648b2923692579f9 Author: Nick Fagerlund nick.fagerlund@gmail.com Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M htdocs/js/components/jquery.icon-browser.js M htdocs/scss/components/icon-browser.scss M views/components/icon-browser.tt

Log Message:


Icon browser: Enable sort by keyword order, change toggles to radio buttons

  • Bask in the analog warmth of plain-ass web controls. Ahhhh.

  • I'm using custom events to trigger the sorting, due to the slightly odd design of that Options object -- it holds a reference to the modal's HTML element, but can't access very much of its internal state, so it needs to send a message indirectly if it's doing anything wilder than just setting a CSS class on the container.

    Commit: 9da1bafeaa6116bb825421edb9262713ee3bcacd https://github.com/dreamwidth/dw-free/commit/9da1bafeaa6116bb825421edb9262713ee3bcacd Author: Nick Fagerlund nick.fagerlund@gmail.com Date: 2020-08-09 (Sun, 09 Aug 2020)

    Changed paths: M htdocs/js/components/jquery.icon-browser.js M views/journal/quickreply.tt M views/journal/talkform.tt

    Log Message:


Icon browser: Focus message body after dismissal, for comments

For the create entries page, I'm leaving focus on the icon selector, since the page is more spread out and modularized.

Commit: c0d5c7ede49daa819869fcc0f65133eebf02f6a0 https://github.com/dreamwidth/dw-free/commit/c0d5c7ede49daa819869fcc0f65133eebf02f6a0 Author: Nick Fagerlund nick.fagerlund@gmail.com Date: 2020-08-09 (Sun, 09 Aug 2020)

Changed paths: M htdocs/js/components/jquery.icon-browser.js M htdocs/scss/components/icon-browser.scss

Log Message:


Icon browser: Visual and behavioral revisions

  • No text means no text: Yank the keywords menu that appeared below the active icon in no-text mode. This was there to support a workflow that the browser's previous design also bent over backwards to enable (picking a specific keyword for a multi-keyword icon while in no-text mode), but on investigation with some of the userbase, it turned out maybe no one actually wanted that workflow.

  • Yes text means less text: Yank the "comment" text, which wastes a ton of precious space and which (while interesting in its home context on the icons page) isn't relevant to choosing which icon to use for this post.

  • One-click and done: As best as I can tell, the icon browser's two-clicks-to-finish interaction was only ever there to accommodate the "pick specific keyword from no-text" workflow, which is now gone. So let's cut the clicks in half: clicking an icon selects its first keyword, and clicking a keyword in yes-text mode selects that keyword. This also lets us remove the "Select" button entirely, which saves some space and kills off a source of jump-around annoyance.

  • Revised markup: we're now using normal button elements to represent the clickable icon and keyword buttons, instead of mutant <a> elements with an aria role set. This gives better tab and focus behavior in some browsers (Firefox uses a better focus ring style for buttons than for mutant tabbables), and ought to yield better accessibility. Required a mass of knock-on changes everywhere in the JS and CSS, naturally.

  • Focus previous icon: Previous design was to focus the search field when summoning the icon browser (except it was unreliable so I fixed it). This amends that, so that if you already selected an icon (either with the browser or the menu), that icon's button gets focused when summoning the browser again. That way, you can use tab to navigate nearby icons. AS A WILD BONUS, it turns out that in some browsers (desktop FF and Safari, so far) this scrolls the currently selected icon into view, so if you accidentally chose the wrong icon when you wanted the one next to it, you're in perfect position to switch your pick if you open the browser again.

  • Minor filter tweaks: Now that we're doing one-click-and-done, the intermediate "selected" state doesn't really mean anything (except when indicating the current value of the actual form element). So I changed the search filter to not change the "selected" state. For an all-keyboard flow, just tab out of the search field to focus the desired icon instead of filtering down to exactly one and hitting enter.

  • Visual updates: Centering and aligning things a bit more nicely, and revising the "small + text" mode to hopefully waste less space.

    Commit: 140ffda28a92fe32dcb889afe9f10caefaac2797 https://github.com/dreamwidth/dw-free/commit/140ffda28a92fe32dcb889afe9f10caefaac2797 Author: Nick Fagerlund nick.fagerlund@gmail.com Date: 2020-08-09 (Sun, 09 Aug 2020)

    Changed paths: M cgi-bin/DW/Controller/Entry.pm M cgi-bin/LJ/Talk.pm M cgi-bin/LJ/Web.pm

    Log Message:


Tidy

Compare: https://github.com/dreamwidth/dw-free/compare/a3fd4ad7bf02...140ffda28a92

Page generated Jun. 6th, 2025 05:01 am
Powered by Dreamwidth Studios