Oct. 7th, 2019

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: 530cdb572540fe699ca213219adaf287ebf4cbba
https://github.com/dreamwidth/dw-free/commit/530cdb572540fe699ca213219adaf287ebf4cbba
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-14 (Fri, 14 Jun 2019)

Changed paths:
M styles/core2.s2

Log Message:
-----------
[#2485] Add new utility functions to core2

- `generate_small_media_query` -- Often you can get away with just the medium
query, but sometimes you end up having to turn your logic entirely inside-out
and write more (and hairier) CSS than necessary. In those cases, it's real
nice to have a small query in the quiver too.

- `generate_invisible_css` -- Sometimes things need to vanish from the visible
page but stay in the audible page for screenreaders (which rules out display:
none).

- In things that control their markup, you'd do this with a class, but the
Rasa-scions benefit from NOT messing with their markup too much, so let's
not rely on that.
- In SCSS or other preprocessors you'd do this with a mixin, but hey, S2 is
sort of like a CSS preprocessor.
- In some other areas, especially some sitescheme zones, we've previously
invisibled stuff by absoluting it off into infinity somewhere, which
mostly works fine. The approach in this commit has about the same visible
effect, but seems to be a more modern evolution of the technique with
fewer side effects.


Commit: 9bc7366083ced0860bfb0802ab17630ff0da1034
https://github.com/dreamwidth/dw-free/commit/9bc7366083ced0860bfb0802ab17630ff0da1034
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-14 (Fri, 14 Jun 2019)

Changed paths:
M styles/core2base/layout.s2
M styles/practicality/layout.s2

Log Message:
-----------
[#2485] Fix some mobile jank in Tabula Rasa/core2base and in Practicality

The userpic float -> absolute stuff in Practicality might seem a little odd, so
here's what's up with that:

- We want `overflow-x: auto` on content containers for entries and comments,
because nothing posted by a rando should EVER be allowed to trash your flist
or entry page layouts into full-page sideways slop.
- But this can have unexpected effects on containers that try to send something
outside the box with relative positioning, which I guess includes negative
margins. The astronaut content gets decapitated as soon as it sticks its head
outside the `overflow-x: auto` container.

The way around that is to do something like this:

- outer container with `position: relative`
- inner container with `overflow-x: auto`
- child element with `position: absolute`

The "containing block" of an `absolute` box is its nearest `relative` ancestor.
That means the `absolute` items now escape the `overflow-x: auto` container,
because it is NOT THEIR REAL MOM!!! and they are GOING TO GRANDMA'S!!!, which
prevents them from getting clipped.

Then you still need to have the text float around _something,_ which is what
that ::before pseudo-element with float is all about.


Commit: 6ec1e146d3c464e506a77913f0abf0d51a944f95
https://github.com/dreamwidth/dw-free/commit/6ec1e146d3c464e506a77913f0abf0d51a944f95
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-14 (Fri, 14 Jun 2019)

Changed paths:
M styles/core2.s2

Log Message:
-----------
[#2432] Enable purely nested comment indentation in styles (opt-in)

This is implemented in core2's EntryPage::print_comments() and
EntryPage::print_comment(), so it's only available to layouts that don't
override those functions like a jerk (you heard me, Siteviews and Zesty :| ).

Here's the concept of the new indent behavior:

- Layouts can opt in by `use`ing the following S2 properties:
- `comment_indent_style` (values are `responsive` or `static`)
- `comment_indent_limit_mobile` (Limit is configurable, defaults to 8.)
- `comment_indent_limit_desktop`(Limit is
semi-configurable; defaults to 180, which is the absolute maximum, but you
can set it lower if you wish.)
- `comment_indent_depth_caption`
- Users can opt in by switching the comment indent style to "Responsive" in
their style options page. The exact effect will depend on which layout they use.
- Once responsive indent is enabled, layouts use the nested `.comment-thread`
divs to control indentation (or other styling) of comment threads. The
layout's CSS is in full control; there is no default indent on .dwexpcomment
divs anymore. (Hence the opt-in.)
- `.comment-thread`s are nested in the HTML, but the nesting fails at
a depth of 180 and children appear as siblings after that. This happens
_after_ the divs lose the `.comment-depth-indent-desktop` class (see
below), so the CSS knows it needs to switch to an alternate presentation.
- Every `.comment-thread` has additional classes and data to help manage indent
behavior:
- Things with the depth as a number:
- class `comment-depth-N` (where N is the depth), for simple CSS tasks.
(Existed previously.)
- attr `data-comment-depth`, for JavaScript tasks.
- custom prop `--comment-depth: N`, for complex CSS tasks with `var()`.
- Things that indicate which _zones_ of depth a thread is in:
- class `comment-depth-indent-mobile`
(between 1 and the value of `comment_indent_limit_mobile`)
- class `comment-depth-indent-desktop`
(between 1 and the value of `comment_indent_limit_desktop`)
- Things that expose user-configured S2 properties to CSS:
- custom prop `--comment-indent-limit-mobile: N`, for complex CSS tasks
with `var()`.
- ...could maybe use more of these, not sure yet.
- Things that enable math that isn't possible in CSS with only the data
already mentioned:
- class `comment-depth-parity-(odd|even)` (Existed previously.)
- class `comment-depth-mod5-N`, where N is between 0 and 4.
- Each `.comment .inner .header .inner` now includes a `span.thread-depth`
before the subject, which combines `comment_indent_depth_caption` and the
comment's depth. That span has one or more of the following additional
classes:
- `indent-mobile` (depth ≤ limit_mobile)
- `indent-desktop` (depth ≤ limit_desktop)

Your layout CSS is in charge of deciding when and how to display those depth
indicators; if the depth is clear enough without, you should invisible them
in a way that doesn't screw up screenreaders.


Commit: 0266271aaf1f2c655409a03736ece9bb9d475e37
https://github.com/dreamwidth/dw-free/commit/0266271aaf1f2c655409a03736ece9bb9d475e37
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-14 (Fri, 14 Jun 2019)

Changed paths:
M styles/core2base/layout.s2

Log Message:
-----------
[#2432] Allow users to opt-in to responsive indent in Tabula Rasa (and children)

This enables the comment indent S2 properties in core2base, and adds some basic
responsive indent CSS (which is only added to the stylesheet if a user switches
the indent style to "Responsive").

Basic means basic -- this uses a 10px indent on mobile, and after a depth of 8
it bails out and starts exposing the textual depth indicators. On desktop, it
uses 20px (only a smidge tighter than the old static 25px), and bails to textual
indicators at 180 deep.


Commit: d57cdbf5a8ad9c4c758bed3dd4cbf74987a53dca
https://github.com/dreamwidth/dw-free/commit/d57cdbf5a8ad9c4c758bed3dd4cbf74987a53dca
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-14 (Fri, 14 Jun 2019)

Changed paths:
M styles/practicality/layout.s2

Log Message:
-----------
[#2432] Enable advanced responsive comment threading in Practicality (opt-in)

This is sort of the proving ground, and its implementation will probably change
as we get feedback on it. For one thing, implementing this in a style could
REALLLLLY stand to be easier; the stuff I added in core2 makes this _possible,_
but it doesn't make it _simple_ yet, and a style author can do way too much
wacky stuff that risks becoming unsupportable. So be on the lookout for a more
prescriptive way to handle this. Welcome to Beta Zone.

Denise and Momiji said Practicality was the most popular of the Rasa-scions, so
it gets to be the guinea pig.

Alyndra had the good idea of making thread lines go _behind_ comments once you
hit the limit, so the eye can see a square wave sort of thing going on as the
depth goes in and out.

Props also to Highlander_II for pointing out that Reddit does something much
like this, which helped validate that I might not be on the wrong track.

The every-fifth-one-is-different thing is the one part I'm gonna straight-up
brag about on here, IMO that was a stroke of brilliance. 🌻


Commit: b6fcec29ee1adecb8350cadd2709b0dd65d6ec1a
https://github.com/dreamwidth/dw-free/commit/b6fcec29ee1adecb8350cadd2709b0dd65d6ec1a
Author: rshatch <ruth.s.hatch@gmail.com>
Date: 2019-06-22 (Sat, 22 Jun 2019)

Changed paths:
M htdocs/inbox/markspam.bml

Log Message:
-----------
Properly close form on markspam. Fixes #2487 (#2495)


Commit: 03892f3d76349143a94d56662b49ae113004b9f1
https://github.com/dreamwidth/dw-free/commit/03892f3d76349143a94d56662b49ae113004b9f1
Author: Kareila <kareila@dreamwidth.org>
Date: 2019-06-22 (Sat, 22 Jun 2019)

Changed paths:
M t/02-tidy.t

Log Message:
-----------
include local extlib in 02-tidy.t


Commit: 7588e5a1e3ee33e777d02cc60c8f0728a047368b
https://github.com/dreamwidth/dw-free/commit/7588e5a1e3ee33e777d02cc60c8f0728a047368b
Author: Kareila <kareila@dreamwidth.org>
Date: 2019-06-22 (Sat, 22 Jun 2019)

Changed paths:
M etc/config-local.pl
M etc/config-private.pl

Log Message:
-----------
PROTOCOL config doesn't need to be private


Commit: 80b6cb9efa9991e1815d0e80825b08ca0dae3ac4
https://github.com/dreamwidth/dw-free/commit/80b6cb9efa9991e1815d0e80825b08ca0dae3ac4
Author: Kareila <kareila@dreamwidth.org>
Date: 2019-06-22 (Sat, 22 Jun 2019)

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

Log Message:
-----------
set default https value for LJ::PROTOCOL


Commit: e26bb96500a19c7b1d57b0af58c7fc936cca332c
https://github.com/dreamwidth/dw-free/commit/e26bb96500a19c7b1d57b0af58c7fc936cca332c
Author: Kareila <kareila@dreamwidth.org>
Date: 2019-06-22 (Sat, 22 Jun 2019)

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

Log Message:
-----------
fix ESN test suite


Commit: ac16d1ec2f7bb4c5d223ebbce10703c0ee673c51
https://github.com/dreamwidth/dw-free/commit/ac16d1ec2f7bb4c5d223ebbce10703c0ee673c51
Author: Kareila <kareila@dreamwidth.org>
Date: 2019-06-22 (Sat, 22 Jun 2019)

Changed paths:
M cgi-bin/DW/Routing/Test.pm

Log Message:
-----------
fix t/routing-indexes.t when protocol is http


Commit: 7252702a11d6bfe85319483cb62874239b43184b
https://github.com/dreamwidth/dw-free/commit/7252702a11d6bfe85319483cb62874239b43184b
Author: Kareila <kareila@dreamwidth.org>
Date: 2019-06-22 (Sat, 22 Jun 2019)

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

Log Message:
-----------
[#2497] update URL from http to https

Fixes #2497.


Commit: c099f8847aeb73b4433142067d47f825fe250f13
https://github.com/dreamwidth/dw-free/commit/c099f8847aeb73b4433142067d47f825fe250f13
Author: Kareila <kareila@dreamwidth.org>
Date: 2019-06-22 (Sat, 22 Jun 2019)

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

Log Message:
-----------
[#2496] check form_auth in refundtopoints controller

Fixes #2496.


Commit: 6d668cfcf64424705ebd32b68f6522780bc9a0ba
https://github.com/dreamwidth/dw-free/commit/6d668cfcf64424705ebd32b68f6522780bc9a0ba
Author: Kareila <kareila@dreamwidth.org>
Date: 2019-06-22 (Sat, 22 Jun 2019)

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

Log Message:
-----------
[#2353] early return from active_sessions

If the user is expunged, the question of whether they have
any active sessions is irrelevant.

Fixes #2353.


Commit: c923278ec7b615a970ca854cf11e67bcdcd92924
https://github.com/dreamwidth/dw-free/commit/c923278ec7b615a970ca854cf11e67bcdcd92924
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-22 (Sat, 22 Jun 2019)

Changed paths:
M styles/practicality/layout.s2

Log Message:
-----------
Styles/Practicality: Only add userpic placeholder float when .has-userpic


Commit: 427e41329b2931bc5d27ff2e6b7076224dddcf47
https://github.com/dreamwidth/dw-free/commit/427e41329b2931bc5d27ff2e6b7076224dddcf47
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-22 (Sat, 22 Jun 2019)

Changed paths:
M htdocs/scss/components/quick-reply.scss

Log Message:
-----------
Quick reply: Make textarea resizable

Max-width was only supposed to apply to the other controls; the textarea
is already getting its width set to 100% anyway.


Commit: 53499c88f64f65904b3876bfa912d4c0874ad90a
https://github.com/dreamwidth/dw-free/commit/53499c88f64f65904b3876bfa912d4c0874ad90a
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-22 (Sat, 22 Jun 2019)

Changed paths:
M htdocs/scss/components/quick-reply.scss

Log Message:
-----------
quick reply: 13px starting font size instead of .75rem

The rem size must be interacting with something I didn't predict, so drop it.


Commit: d5261283e4624cb9606d98d7e5d2b4f76920e54c
https://github.com/dreamwidth/dw-free/commit/d5261283e4624cb9606d98d7e5d2b4f76920e54c
Author: Mark Smith <mark@dreamwidth.org>
Date: 2019-06-23 (Sun, 23 Jun 2019)

Changed paths:
M views/journal/talkform.tt

Log Message:
-----------
Check that user is logged in


Commit: d4a173aca322023f8570e05b12eb6385df3c51b6
https://github.com/dreamwidth/dw-free/commit/d4a173aca322023f8570e05b12eb6385df3c51b6
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-22 (Sat, 22 Jun 2019)

Changed paths:
M htdocs/stc/controlstrip.css
M views/journal/controlstrip.tt

Log Message:
-----------
Control strip: Don't rely on .userpic class to fix gap below icon

Journal styles routinely mess with that class, therefore it's not safe to use in
the controlstrip.


Commit: 1c32ae5aa003b638301074fbb2f50ddcf1f9ed84
https://github.com/dreamwidth/dw-free/commit/1c32ae5aa003b638301074fbb2f50ddcf1f9ed84
Author: Ruth <momijizukamori@gmail.com>
Date: 2019-06-23 (Sun, 23 Jun 2019)

Changed paths:
M styles/core2base/layout.s2
M styles/planetcaravan/layout.s2

Log Message:
-----------
Fixes for TR module weirdness and narrow column in Planet Caravan


Commit: 2377eadaacc4fbd9572989899415e7b94450c81e
https://github.com/dreamwidth/dw-free/commit/2377eadaacc4fbd9572989899415e7b94450c81e
Author: Ruth <momijizukamori@gmail.com>
Date: 2019-06-23 (Sun, 23 Jun 2019)

Changed paths:
M styles/planetcaravan/layout.s2

Log Message:
-----------
zero out body margins on Planet Caravan


Commit: 940bd0c27269a00eb31e8872b6fb44d4b1dd7e0c
https://github.com/dreamwidth/dw-free/commit/940bd0c27269a00eb31e8872b6fb44d4b1dd7e0c
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-23 (Sun, 23 Jun 2019)

Changed paths:
M htdocs/scss/components/quick-reply.scss
M views/journal/quickreply.tt

Log Message:
-----------
Quickreply: Re-redesign to reduce annoyances

- The "click icon to browse" behavior came from the quicker-reply form, but
apparently no one ever understood how to use it! Discard it and bring back
the browse button.
- Remove prefixes for flexbox styles; it's 2019.
- Always put subject field on its own line, instead of combined with userpic
dropdown. Saving space like this wasn't popular, and added complexity.
- Move browse and random button up next to the userpic dropdown. There's not
currently a good way to make everything line up square if we're doing this, so
go ahead and embrace the ragged-right margin for the time being. Function over
form. 🤘🏼
- Don't set a base font-size for anything except the icon controls, until it's
necessary to avoid woodchuck zoom. This got very nasty due to some wild
interactions between Android browser font boosts, unexpected user-agent styles
for textareas (did you know they often default to 13px font size when other
things default to 16px? did you know selects and buttons often default to
something more like 11px? buddy, SAME), and the brittle inherited styles on
the site-scheme entry pages. So try going hands-off as much as possible, and
see what still needs fixing after that.
- Increase the max-width on desktop, since some people found it too small.


Commit: 483a4176d80f60a8fe9e7557a9d5975b003af093
https://github.com/dreamwidth/dw-free/commit/483a4176d80f60a8fe9e7557a9d5975b003af093
Author: Kareila <kareila@dreamwidth.org>
Date: 2019-06-23 (Sun, 23 Jun 2019)

Changed paths:
M cgi-bin/DW/Hooks/PrivList.pm
R cgi-bin/LJ/Console/Command/SetBadpassword.pm
R t/console-setbadpassword.t

Log Message:
-----------
[#2320] remove console command and related test


Commit: 3eb8dabeb485d75b73859fd33726634d03fb2abe
https://github.com/dreamwidth/dw-free/commit/3eb8dabeb485d75b73859fd33726634d03fb2abe
Author: Kareila <kareila@dreamwidth.org>
Date: 2019-06-23 (Sun, 23 Jun 2019)

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

Log Message:
-----------
[#2320] remove LJ::bad_password_redirect


Commit: 96f9ad89b4958f457efdd57b0264b03fb993cdda
https://github.com/dreamwidth/dw-free/commit/96f9ad89b4958f457efdd57b0264b03fb993cdda
Author: Kareila <kareila@dreamwidth.org>
Date: 2019-06-23 (Sun, 23 Jun 2019)

Changed paths:
M cgi-bin/DW/Controller/Settings.pm
M views/settings/changepassword.tt
M views/settings/changepassword.tt.text

Log Message:
-----------
[#2320] remove bad_password block from changepassword page


Commit: afc7a0ffdd8b846c5772add0896b09e833478931
https://github.com/dreamwidth/dw-free/commit/afc7a0ffdd8b846c5772add0896b09e833478931
Author: Kareila <kareila@dreamwidth.org>
Date: 2019-06-23 (Sun, 23 Jun 2019)

Changed paths:
M bin/upgrading/proplists.dat
M cgi-bin/DW/Controller/Settings.pm

Log Message:
-----------
[#2320] remove badpassword userprop


Commit: 0d9b8831d87dd5432f7acafd1f57a6ebb3b076a9
https://github.com/dreamwidth/dw-free/commit/0d9b8831d87dd5432f7acafd1f57a6ebb3b076a9
Author: Mark Smith <mark@dreamwidth.org>
Date: 2019-06-23 (Sun, 23 Jun 2019)

Changed paths:
M views/journal/talkform.tt

Log Message:
-----------
Button should be type button, because of course


Commit: 504127cf8f9ad48e9ebbcb7f446caccfb6486a80
https://github.com/dreamwidth/dw-free/commit/504127cf8f9ad48e9ebbcb7f446caccfb6486a80
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-23 (Sun, 23 Jun 2019)

Changed paths:
M htdocs/scss/components/quick-reply.scss

Log Message:
-----------
Fix quickreply appearing in center of the page on sitescheme/lightscheme

This left/right margin: auto was doing almost nothing on journal-styled
pages, but was doing the wrong thing on site/light pages (because they don't use
the same structure of nested divs). This should make the quickreply start at
the same indent level as the comment being replied to.

Conflicts:
htdocs/scss/components/quick-reply.scss


Commit: 424a0f4afddd12b452b7e2c34d668003de30856b
https://github.com/dreamwidth/dw-free/commit/424a0f4afddd12b452b7e2c34d668003de30856b
Author: Kareila <kareila@dreamwidth.org>
Date: 2019-06-23 (Sun, 23 Jun 2019)

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

Log Message:
-----------
deduplicate poll image HTML


Commit: d2ca73ef3c27c722c4ad816fe6397943826949fd
https://github.com/dreamwidth/dw-free/commit/d2ca73ef3c27c722c4ad816fe6397943826949fd
Author: Kareila <kareila@dreamwidth.org>
Date: 2019-06-23 (Sun, 23 Jun 2019)

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

Log Message:
-----------
fix image overflow CSS issue with poll code


Commit: c65816818fcfaa396bc24e612921a3785791056d
https://github.com/dreamwidth/dw-free/commit/c65816818fcfaa396bc24e612921a3785791056d
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-24 (Mon, 24 Jun 2019)

Changed paths:
M cgi-bin/LJ/Talk.pm
M views/journal/talkform.tt

Log Message:
-----------
[#2508] Fix endless and expanding choir of dead-eyed faces

Fixes #2508.

I forgot that:

1. The stuff a TT template gets is passed by reference, so you need to never
mutate it or else the changes escape back into perl land.
2. I'm caching the subjecticons hashref now.

The result was that every time a user loaded the talkform, it would add another
"none" icon onto the canonical list, and it would keep expanding until the
mod_perl process got killed.


Commit: 3afb7e51ca4162bb6d3c8f67647177aa839e8308
https://github.com/dreamwidth/dw-free/commit/3afb7e51ca4162bb6d3c8f67647177aa839e8308
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-24 (Mon, 24 Jun 2019)

Changed paths:
M htdocs/scss/components/quick-reply.scss
M htdocs/stc/base-colors-dark.css
M htdocs/stc/base-colors-light.css
M htdocs/stc/blueshift/blueshift.css
M htdocs/stc/celerity/celerity.css
M htdocs/stc/gradation/gradation.css
M htdocs/stc/lynx/lynx.css

Log Message:
-----------
Remove non-standard form control styling from non-foundation site skins

...With the exception of gradation, which, as a dark-mode theme, is actually
doing something relevant.


Commit: 892eb1330913a5cf0c214a4eec7fcb16b057dd20
https://github.com/dreamwidth/dw-free/commit/892eb1330913a5cf0c214a4eec7fcb16b057dd20
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-24 (Mon, 24 Jun 2019)

Changed paths:
M htdocs/js/talkpost.js

Log Message:
-----------
Talkform: change a setup handler to DOMContentLoaded


Commit: 8cfa787f75bce65fff8799f5eb8433d9c57262ea
https://github.com/dreamwidth/dw-free/commit/8cfa787f75bce65fff8799f5eb8433d9c57262ea
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-24 (Mon, 24 Jun 2019)

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

Log Message:
-----------
Talkform: Don't treat users as logged-out if there's a captcha

I WONDERED if I'd missed something in that confusing default usertype
subroutine. Anyway, the "cookieuser" usertype turns out to be as ephemeral as
the morning dew, so we can't just automatically believe the partial form
submission when it says the usertype is "user".


Commit: 379d60c66a3ecfd88b95e0f0f5fc4a18b6198d10
https://github.com/dreamwidth/dw-free/commit/379d60c66a3ecfd88b95e0f0f5fc4a18b6198d10
Author: Robby Griffin <rmg@rmg-mbpr-3.local>
Date: 2019-06-24 (Mon, 24 Jun 2019)

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

Log Message:
-----------
reinstate use lines for Net::OpenID modules


Commit: 1d9e1396d864debfba9bf678729863069fbaa75a
https://github.com/dreamwidth/dw-free/commit/1d9e1396d864debfba9bf678729863069fbaa75a
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-24 (Mon, 24 Jun 2019)

Changed paths:
M views/journal/quickreply.tt

Log Message:
-----------
QR: switch position of random and browse buttons

This had immediate consensus in the general channel. I don't have any particular
opinion about it!


Commit: e8301aec0e37dae8b55a364011e2f6464b5ac21f
https://github.com/dreamwidth/dw-free/commit/e8301aec0e37dae8b55a364011e2f6464b5ac21f
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-24 (Mon, 24 Jun 2019)

Changed paths:
M htdocs/js/jquery.iconselector.js
M htdocs/scss/components/quick-reply.scss
M views/journal/quickreply.tt

Log Message:
-----------
QR: Restore the click-on-icon browse button to the icon preview

This time as an extra, not the only one. I'm also dialing back the hover signal;
it's a simple in-place fade-in, without the zoom.


Commit: aac7eb38d03b7be3a4c66796e13c144e37b1003d
https://github.com/dreamwidth/dw-free/commit/aac7eb38d03b7be3a4c66796e13c144e37b1003d
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-24 (Mon, 24 Jun 2019)

Changed paths:
M htdocs/scss/components/quick-reply.scss

Log Message:
-----------
QR: Re-re-re-design: Brutalist Ziggurat Edition

In this re-adjustment, I'm giving up entirely on trying to make two rows of
controls align cleanly with the icon preview, because:

1. In the best case scenario, it was looking better but working worse (due to
adding unnecessary length to the icon selector dropdown, etc.),
2. In the more common scenario, it was also looking worse, due to stretching the
buttons in a way that didn't make sense when compared to the buttons below,
3. TBH it wasn't even working a lot of the time, because of how different
platforms style their form controls! Rounded corners or weird user-agent
!important rules about height and font size were making things not line up
squarely anyway, like 40% of the time!!!

Farewell you beautiful dream (of perfectly straightened picture frames). In its
place, we get a brutalist-in-the-good-sense rethink of the icon controls:

- Consistent and platform-appropriate button styling.
- Ragged-right margin.
- The dropdown only sticks out as far as it needs to, and doesn't get weird
vertical stretch.
- A cool triangular ziggurat kind of shape. 📐🏕🏔

In summary: Looks worse, works better.


Commit: 95c63a308ad922f8523d79e98f7e4cf9bae74dfc
https://github.com/dreamwidth/dw-free/commit/95c63a308ad922f8523d79e98f7e4cf9bae74dfc
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-24 (Mon, 24 Jun 2019)

Changed paths:
M htdocs/js/userpicfactory.js

Log Message:
-----------
userpicfactory.js: Revert to using an on-load handler

SOMETHING breaks if you try to do this setup as soon as the DOM is ready. Either
it's relying on image dimensions that aren't available until the image content
is loaded (been there), or there's some kind of existing race condition that
isn't exposed until this code gets faster. Hard to say, tbh.


Commit: ec1b4f9a647fbbcdda7a5250d9b4eacfa6037dd7
https://github.com/dreamwidth/dw-free/commit/ec1b4f9a647fbbcdda7a5250d9b4eacfa6037dd7
Author: Mark Smith <mark@dreamwidth.org>
Date: 2019-06-24 (Mon, 24 Jun 2019)

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

Log Message:
-----------
Implement [personal profile] foo user mentions

As per suggestion: https://dw-suggestions.dreamwidth.org/1527807.html

This makes the usage "[personal profile] foo" and "[Bad username or site: foo @ BAR]" work everywhere, where BAR is
one of the external sites. Such as "[twitter.com profile] foo" or "[livejournal.com profile] foo". This is
what we already do in Markdown so it's easy to expand it to the rest of
our HTML cleaning.


Commit: 3ec34c7303d09056fa9e8034c29b708b395c284a
https://github.com/dreamwidth/dw-free/commit/3ec34c7303d09056fa9e8034c29b708b395c284a
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-25 (Tue, 25 Jun 2019)

Changed paths:
M views/journal/quickreply.tt

Log Message:
-----------
[#2481] Drop spellcheck checkbox from quickreply

We've already agreed to rip support out soonish, and the control itself
seems to be contributing to some formatting issues for Android Firefox
on site-scheme entry pages.


Commit: bbd4fdf5335b8f45f2642df0aa46853be501bcbc
https://github.com/dreamwidth/dw-free/commit/bbd4fdf5335b8f45f2642df0aa46853be501bcbc
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-25 (Tue, 25 Jun 2019)

Changed paths:
M htdocs/scss/components/quick-reply.scss

Log Message:
-----------
Quickreply: Keep bottom buttons from stretching

The default value of align-items is 'stretch', which fills vertical (well,
cross-axis) space to match the tallest item in the container. That's basically
never what we want in this bottom button row.

If something is way too tall, there'll still be undesirable space between
the buttons. But the buttons themselves won't be clownshoes.


Commit: cebab4f844377d870b8d11ff61b4ab9666a63e35
https://github.com/dreamwidth/dw-free/commit/cebab4f844377d870b8d11ff61b4ab9666a63e35
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-25 (Tue, 25 Jun 2019)

Changed paths:
M cgi-bin/LJ/Web.pm
M views/journal/quickreply.tt

Log Message:
-----------
Quickreply: RIP quick-er reply

With spellcheck gone, the only two differences between the forms were
the preview button and the quote button, and I don't see a good reason
to exclude either of them from the reading page / recent page. This
option might come back once we unify the talkform and the quickreplies
since we'll be bringing in user-switching controls and the like, so I'm
holding off on removing that from the function's options hash for now.


Commit: 5cedd71582e6981f8b5ffd3ece422a597fbeba4a
https://github.com/dreamwidth/dw-free/commit/5cedd71582e6981f8b5ffd3ece422a597fbeba4a
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-25 (Tue, 25 Jun 2019)

Changed paths:
M views/journal/quickreply.tt

Log Message:
-----------
[#2519] Quickreply: Add whitespace around buttons

Fixes #2519.

This just removes the whitespace-eating indicators in the template tags, so
there'll be whitespace text nodes between the elements. That should hopefully do
the trick; if not, we can circle back around and add some CSS margins between
them.


Commit: 051a4bccf57056a23a15f83c9ddb02a0b5d9d732
https://github.com/dreamwidth/dw-free/commit/051a4bccf57056a23a15f83c9ddb02a0b5d9d732
Author: Mark Smith <mark@dreamwidth.org>
Date: 2019-06-25 (Tue, 25 Jun 2019)

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

Log Message:
-----------
Fix tidy


Commit: b9ba2db6dfe0623e745d4f5cf4eff1d0014d226b
https://github.com/dreamwidth/dw-free/commit/b9ba2db6dfe0623e745d4f5cf4eff1d0014d226b
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-06-25 (Tue, 25 Jun 2019)

Changed paths:
M cgi-bin/LJ/Web.pm
M views/journal/quickreply.tt

Log Message:
-----------
Quickreply: WELCOME BACK, quick-er reply (#2525)

This reverts commit 73c14ed166556b9cf3c3e108443daed131f39356, or at least the
part where we expose the preview button on the reading/recent pages. That
doesn't work yet.

The quote button can stay, though.


Commit: a8d0cebfde10dc35d46f243c5254ac189d28aaca
https://github.com/dreamwidth/dw-free/commit/a8d0cebfde10dc35d46f243c5254ac189d28aaca
Author: Mark Smith <mark@dreamwidth.org>
Date: 2019-06-25 (Tue, 25 Jun 2019)

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

Log Message:
-----------
Don't auto-link a few things

This is a stopgap to allow some pasted CSS to continue to work.


Commit: 16410b6467677bbb8ea6927458953a06f7051a43
https://github.com/dreamwidth/dw-free/commit/16410b6467677bbb8ea6927458953a06f7051a43
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-07-01 (Mon, 01 Jul 2019)

Changed paths:
R htdocs/js/jquery.radioreveal.js

Log Message:
-----------
Delete jquery.radioreveal.js, which isn't used anywhere

Afuna confirms this was part of early work on the beta new entry page, and was
abandoned when some controls were switched to dropdowns/fancyselects.


Commit: 1c0214881db4ba52131aac343c29a7ec9fc95810
https://github.com/dreamwidth/dw-free/commit/1c0214881db4ba52131aac343c29a7ec9fc95810
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-07-01 (Mon, 01 Jul 2019)

Changed paths:
M cgi-bin/LJ/Talk.pm
M cgi-bin/LJ/Web.pm
M htdocs/js/jquery.quickreply.js
R htdocs/js/jquery.quotebutton.js
A htdocs/js/jquery.replyforms.js
A htdocs/js/jquery.talkform.js
R htdocs/js/talkpost.js
M htdocs/scss/components/quick-reply.scss
A htdocs/scss/components/talkform.scss
M htdocs/talkpost_do.bml
M styles/venture/layout.s2
M views/journal/quickreply.tt
M views/journal/talkform.tt

Log Message:
-----------
Rewrite talkform javascript

- Deduplicate some shared reply form logic into jquery.replyforms.js.
- Add the max comment length constant to the Site object.
- Change how the quote button is added -- now it's a real button in the
markup that gets unhidden, instead of a span that gets a button appended
to it.
- Change some quickreply JS logic.
- Move custom form submit logic into a submit handler instead of button
click handlers.
- Fix bug where QR from reading page wouldn't let you proceed if there was
a captcha. Now it goes to talkform, like QR from comment page does.
- Replace finely minced talkform JS with a small amount of jQuery.
- Use constant for max username length.
- Stop doing the MD5 password hash thing to avoid sending password over the
wire, since it goes over TLS now.
- Delete globally inlined function to do same (but don't worry, it's only
one of at least three functionally identical implementations).
- Instead of complaining about incoherent combination of form fields, just
prevent it.
- Match behavior of "From" radio buttons to apparent intended behavior:
- Instead of magic "`[other]`" link, just always show the other site
user option.
- When unselecting an option that has associated auth fields (other
openid user, other site user), hide those fields and also reset them
to their initial values. (Old JS did the one but not the other.)
- Simplify markup of "From" radio buttons in talkform.
- Use disabled radio inputs instead of ascii art `()`.
- Instead of jumping through outrageous hoops to split the label in half and
put the radio button in the middle, just include the image in the label.
- Basic divs instead of unnecessary sub-table of unnecessary table.


Commit: 2c3a2897801d52a60aa06477ed3287dd931ba8f9
https://github.com/dreamwidth/dw-free/commit/2c3a2897801d52a60aa06477ed3287dd931ba8f9
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-07-01 (Mon, 01 Jul 2019)

Changed paths:
M views/journal/talkform.tt

Log Message:
-----------
Add class='disabled' to labels of disabled 'from' options


Commit: 7150aba3932fa7d6fb2a73efe1908d51588179f3
https://github.com/dreamwidth/dw-free/commit/7150aba3932fa7d6fb2a73efe1908d51588179f3
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-07-01 (Mon, 01 Jul 2019)

Changed paths:
M styles/motion/layout.s2

Log Message:
-----------
Styles: Purify "Motion" layout of the taint of Zalgo

- No one with their reason still intact needs THAT many `float`s.
- Those `overflow: hidden`s are some kind of awful float containment hack.
- It looks like you THOUGHT you were using border-box sizing, so maybe let's
actually use it.


Commit: 3128dd2492a9987eb930a56e5066ce2074378427
https://github.com/dreamwidth/dw-free/commit/3128dd2492a9987eb930a56e5066ce2074378427
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-07-01 (Mon, 01 Jul 2019)

Changed paths:
M styles/motion/layout.s2

Log Message:
-----------
Styles: Motion: Match intended object layout without exploding

Also:

- I can't believe no one's complained about paragraphs being broken yet. :|
- The borderless buttons weren't even a legitimate style choice; the CSS reset
did that, and then the designer never actually went back and styled them. :|


Commit: 0f66e55a4ac33271c62fda686ae031827e2cb20b
https://github.com/dreamwidth/dw-free/commit/0f66e55a4ac33271c62fda686ae031827e2cb20b
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-07-03 (Wed, 03 Jul 2019)

Changed paths:
M htdocs/js/jquery.talkform.js

Log Message:
-----------
Talkform javascript: fix typo

This was a copy-paste error, whoops.


Commit: 0c5ccae9db194cc00b1ce23086296f14f81cb923
https://github.com/dreamwidth/dw-free/commit/0c5ccae9db194cc00b1ce23086296f14f81cb923
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-07-03 (Wed, 03 Jul 2019)

Changed paths:
M styles/core2base/layout.s2

Log Message:
-----------
Styles: Tabula Rasa and children: Break long words in headers

I already did this on a few specific headers, but really you never want
ANY header to blow out the page just because someone had to do a keyboard
smash. And I missed the page title previously.


Commit: e3916b2c24418806e3535850ec6ea7a5b3bff1de
https://github.com/dreamwidth/dw-free/commit/e3916b2c24418806e3535850ec6ea7a5b3bff1de
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-07-03 (Wed, 03 Jul 2019)

Changed paths:
M htdocs/talkpost.bml.text

Log Message:
-----------
Fix glitch in "don't autoformat" text string

The colon was because this label expected to go _before_ the checkbox it applied to,
which 1. is wrong and 2. no longer happens now that it's using the standard form
control helpers.


Commit: c215dab3d531c120b4778eb36dd893600f19e266
https://github.com/dreamwidth/dw-free/commit/c215dab3d531c120b4778eb36dd893600f19e266
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-07-03 (Wed, 03 Jul 2019)

Changed paths:
M views/journal/talkform.tt

Log Message:
-----------
Talkform: always include quote button

I ported this logic over from the original talkform, because I was trying to be
thorough:

https://github.com/dreamwidth/dw-free/pull/2479/files#diff-339927c4adfb5b1e94ddf9bb2910209eL2158

But it made no sense to me at the time, and now that I've had time to reflect,
I'm pretty sure it's nonsense. There's no good reason to exclude the quote
button for anonymous users, and there's not even a great reason to exclude it on
error-fixes or captchas -- yeah, it's not very useful, but why bother
reconfiguring the form? Anyway, bye.


Commit: 477e28228d2cb273fc715c09382c3fa146d84850
https://github.com/dreamwidth/dw-free/commit/477e28228d2cb273fc715c09382c3fa146d84850
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)

Changed paths:
M cgi-bin/DW/Controller/Auth.pm
M views/journal/controlstrip.tt

Log Message:
-----------
[#2549] Return to journal pages on logout

This restores the ability to click the log out button in the controlstrip and
get returned to the same page, much beloved by RPers and other multi-account
users.

Unlike the original implementation, I'm using a hidden form input instead of a
URL parameter (`?ret=1`) -- since this is a POST action, it seems like the
arguments should all arrive via POST data.

This also fixes an inconsequential copypasta glitch in the controller's name.


Commit: abb8bca6c08a576ba59b8fc1ecdf0c0a37eae44e
https://github.com/dreamwidth/dw-free/commit/abb8bca6c08a576ba59b8fc1ecdf0c0a37eae44e
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)

Changed paths:
M views/journal/talkform.tt

Log Message:
-----------
Talkform: Fix incorrect 'for' ID on logged-in OpenID label

It looks like I faithfully preserved this bug from the old implementation. 😫

If a label uses the wrong 'for' ID, it won't select the radio button when you
click the label.


Commit: c540d565c7bd0419f59193708dad4f42b6db59cc
https://github.com/dreamwidth/dw-free/commit/c540d565c7bd0419f59193708dad4f42b6db59cc
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)

Changed paths:
M htdocs/js/jquery.quickreply.js
M htdocs/scss/components/quick-reply.scss

Log Message:
-----------
[#2535] Let quick-reply stretch its legs if there's room on the left

Standard comment indentation can shrink comment boxes down to slivers, and the
initial version of the responsive quick-reply was constrained to the comment
box. This leaves the form feeling VERY CRAMPED. (It used to just overflow
rightwards, because tables gonna do what tables gonna do.)

But if the box shrank because of indentation, then by definition there's a TON
of unused room off on the left. This commit does some simple measurements
whenever we summon the quickreply into place, and if staying in the box would
make it too narrow, we expand it (and give it a shove to the left to make sure
it overflows in the correct direction). We also take a peek to see what
background color it probably has when its inside the box, and apply that
background color to the overflowed part so it looks less like glitch art. (The
adjustments to padding are to make sure this looks nice.)

What's "too narrow?" If the viewport is big and there's plenty of room, 640px
seems like a nice minimum. Once you take the padding into account, that leaves
the form wide enough for about 45 characters of 13px Courier (a common default
for textareas). If viewport is small, we're probably space-constrained in the
first place and actually never want the comment form to shrink below where it
would be in a top-level comment. So in that case, we find the first comment on
the page (which is _always_ a top-level reply to the original post, because of
how DW collapses comment threads once pagination kicks in) and measure how much
space a comment would have up there.


Commit: 1e557964a83367f970ee3b63a331df8fc3f620e2
https://github.com/dreamwidth/dw-free/commit/1e557964a83367f970ee3b63a331df8fc3f620e2
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)

Changed paths:
M htdocs/scss/components/quick-reply.scss

Log Message:
-----------
[#2528] QR: Change order of footer buttons

UI convention in LTR languages sez the "OK thanks BYE" button goes on the right.


Commit: 5507b88837516e218884043ca99c12b75c1b87ab
https://github.com/dreamwidth/dw-free/commit/5507b88837516e218884043ca99c12b75c1b87ab
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)

Changed paths:
M htdocs/scss/components/quick-reply.scss
M views/journal/quickreply.tt

Log Message:
-----------
QR: Move quote button up by subject

The buttons at the bottom should be things you do when you're _done_ writing
your comment. Quote is a formatting button, useful _while_ writing your comment.
So it should be up higher by the comment-writing controls, not the
comment-ending controls.

As part of this, I'm removing it from the tab index, so keyboard users don't
have to tab through it to get from subject to body. Note this pattern also on
GitHub's formatting buttons. I'm also removing the `display: none`; we don't
need to hide it for no-js users, because the quick-reply form can only be
summoned with JavaScript enabled anyway.

A future design will likely include a row of formatting controls between the
subject and body, like you can see here on GitHub when commenting or opening an
issue. When that happens, quote will join those. In the meantime, putting it
beside subject keeps it nicely out of the way.

TBH I already wanted to do this during the initial redesign, but I couldn't
stomach what happened when the qrform got squished down below like 200px. But
now it's kicking out to the left to preserve its size when it's deep in a
comment thread, so we're free!


Commit: fe17ac39a88c9a62e511519c6f25fd0556f5adb9
https://github.com/dreamwidth/dw-free/commit/fe17ac39a88c9a62e511519c6f25fd0556f5adb9
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)

Changed paths:
M htdocs/scss/components/quick-reply.scss

Log Message:
-----------
QR: Don't make icon menu too long in old browsers

The width: 100% is just to massage the flexbox behavior; it's not
necessary if you don't know how to flex.


Commit: 2a4344be8ad10c5c5a761287418b0c548913c56b
https://github.com/dreamwidth/dw-free/commit/2a4344be8ad10c5c5a761287418b0c548913c56b
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)

Changed paths:
M htdocs/scss/components/quick-reply.scss

Log Message:
-----------
QR: If there's no flexbox, float the 'post' button to the right

Flexbox is still the right tool for this job, but this will keep usability
steady in old browsers.


Commit: 47cd716a748c98912f7819a3276bb76acdd90f19
https://github.com/dreamwidth/dw-free/commit/47cd716a748c98912f7819a3276bb76acdd90f19
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)

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

Log Message:
-----------
[#2545] QR: Use `nouserpic_sitescheme` as data-url when there's no default icon

For users with no icons, we display the faded-out DW logo in place of the icon
preview in the quickreply. We also do that for users with no default icon, but
if they switch to a real icon and then switch _back_ to default, we replace it
with an empty glitched img tag, because the `data-url` attribute for `(default)`
is an empty string.

This commit checks whether the user's `defaultpicurl` is empty, and if so, it
falls back to the URL of the same `nouserpic_sitescheme` placeholder icon.


Commit: 353b92fa477b6deb7269170c037a8d522e4e58b1
https://github.com/dreamwidth/dw-free/commit/353b92fa477b6deb7269170c037a8d522e4e58b1
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)

Changed paths:
M views/journal/quickreply.tt

Log Message:
-----------
[#2545] QR: Disable in-icon browse button for paid users with zero icons

We already omit the random button, the menu, and the redundant browse button if
there's no icons to pick from, but we were leaving a glitchy null button around
the icon preview.


Commit: 2eef84c3669d2de8bdf326f77b3824b705feee10
https://github.com/dreamwidth/dw-free/commit/2eef84c3669d2de8bdf326f77b3824b705feee10
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-07-10 (Wed, 10 Jul 2019)

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

Log Message:
-----------
Simplify the defaultpicurl fallback


Commit: 0dae727595f3b8cd412d80b3ada469d2ca3d1687
https://github.com/dreamwidth/dw-free/commit/0dae727595f3b8cd412d80b3ada469d2ca3d1687
Author: Mark Smith <mark@dreamwidth.org>
Date: 2019-07-11 (Thu, 11 Jul 2019)

Changed paths:
M bin/ljdb

Log Message:
-----------
Make ljdb support DW_TEST

This allows you to connect to your test database with ljdb. It also lets
Dreamhack do the same...


Commit: e1dfa38a158c7094579f19e70b21d489c37c8bc2
https://github.com/dreamwidth/dw-free/commit/e1dfa38a158c7094579f19e70b21d489c37c8bc2
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-07-11 (Thu, 11 Jul 2019)

Changed paths:
M cgi-bin/DW/Template/Plugin/SiteScheme.pm
M schemes/common.tt

Log Message:
-----------
Don't hide logout button on /logout page

I get where this was coming from, but the result is that the page looks
glitched -- there's no other circumstance where the site header changes
like that, and it also throws away the username link, which is a useful
control in its own right. The benefit of consistency is greater than
the drawback of redundancy, in this case.


Commit: 83998a15ff5875ae347e9eb71d83ea98e19dc7be
https://github.com/dreamwidth/dw-free/commit/83998a15ff5875ae347e9eb71d83ea98e19dc7be
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-07-11 (Thu, 11 Jul 2019)

Changed paths:
M schemes/common.tt

Log Message:
-----------
[#2549] Return to same page when logging out from site header

This is the same as 477e282, but for the site header instead of the
journal nav strip. In almost every case, users seem to prefer the option
to continue where they left off, especially if they use multiple accounts.


Commit: 3e76b207f6640387d8e26eb439c103ab9bf5d32f
https://github.com/dreamwidth/dw-free/commit/3e76b207f6640387d8e26eb439c103ab9bf5d32f
Author: Mark Smith <mark@discordapp.com>
Date: 2019-08-18 (Sun, 18 Aug 2019)

Changed paths:
M doc/dependencies-cpanm
M doc/dependencies-system

Log Message:
-----------
Update dependencies


Commit: f50fef09360a6921eb95227efdb9857b4037890b
https://github.com/dreamwidth/dw-free/commit/f50fef09360a6921eb95227efdb9857b4037890b
Author: Mark Smith <mark@discordapp.com>
Date: 2019-08-18 (Sun, 18 Aug 2019)

Changed paths:
M doc/dependencies-system

Log Message:
-----------
No longer in Ubuntu 16/18


Commit: c58465a2e115e62cec20dee3197fc6ab790e38a0
https://github.com/dreamwidth/dw-free/commit/c58465a2e115e62cec20dee3197fc6ab790e38a0
Author: Mark Smith <mark@discordapp.com>
Date: 2019-08-18 (Sun, 18 Aug 2019)

Changed paths:
M doc/dependencies-system

Log Message:
-----------
Update dependencies-system


Commit: 795cd6b39882aa963503cf4ae664d971157c5915
https://github.com/dreamwidth/dw-free/commit/795cd6b39882aa963503cf4ae664d971157c5915
Author: Mark Smith <mark@discordapp.com>
Date: 2019-08-18 (Sun, 18 Aug 2019)

Changed paths:
M doc/dependencies-system

Log Message:
-----------
Update dependencies-system

Need JRE and compass for building static


Commit: e5febf62d597216027a4e245b0a12757432e6188
https://github.com/dreamwidth/dw-free/commit/e5febf62d597216027a4e245b0a12757432e6188
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-08-28 (Wed, 28 Aug 2019)

Changed paths:
M cgi-bin/LJ/Web.pm
M htdocs/js/jquery.quickreply.js
M views/journal/quickreply.tt

Log Message:
-----------
QR: Prevent preview from insta-posting, and re-enable on reading/recent pages

This reverts commit b9ba2db6dfe0623e745d4f5cf4eff1d0014d226b, after fixing the
bug that made me remove the preview button from the quick-er form.

With this, the quickreply forms are now a single unified critter. No more
quick-er reply, I mean it this time.


Commit: 605a816242e1c639d93cf7dbb1ad975f50c48472
https://github.com/dreamwidth/dw-free/commit/605a816242e1c639d93cf7dbb1ad975f50c48472
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-08-28 (Wed, 28 Aug 2019)

Changed paths:
M htdocs/js/jquery.quickreply.js
M htdocs/js/jquery.talkform.js
M views/journal/talkform.tt

Log Message:
-----------
Talkform: Fix preview-submits-for-real bug

This was masked by my original typo on that JS that disables the form buttons on
submit. Once the typo was fixed, the preview button started insta-posting. 😱

A quick investigation revealed that some part of our Perl-land form handling
causes disabled submit buttons to have a falsy value. And it turns out the
quickreply already had a workaround for that! It just didn't have any comments
explaining _why_ it was doing that workaround, so I didn't know to reproduce it.

So I fixed the talkform bug the same way, and added some comments explaining the
workarounds.

Note that if you have JS disabled, the talkform preview button works as expected
-- it starts out with the correct input name. If JS is enabled enough to dummy
out the name, it's also enabled enough to send the correct value in the hidden
input.


Commit: 336d49144265ae0b046e420eed32ec03e7820355
https://github.com/dreamwidth/dw-free/commit/336d49144265ae0b046e420eed32ec03e7820355
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-08-28 (Wed, 28 Aug 2019)

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

Log Message:
-----------
Docs: Explain the need_res / res_includes / set_active_resource_group system

No one really seemed to have answers about this when I was trying to figure it
all out, so I'm gonna leave some clues here for the next victim.


Commit: 939f434824ffb1493589a671953ddcef6df6be19
https://github.com/dreamwidth/dw-free/commit/939f434824ffb1493589a671953ddcef6df6be19
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-08-28 (Wed, 28 Aug 2019)

Changed paths:
M views/components/modal.tt

Log Message:
-----------
Maint: Templates: Pass data-options through modal component

This lets you configure the Foundation JS components. See
https://foundation.zurb.com/sites/docs/v/5.5.3/javascript.html#configuration


Commit: 1e53063cc09b06bc351ccab29b6b9a7c832be736
https://github.com/dreamwidth/dw-free/commit/1e53063cc09b06bc351ccab29b6b9a7c832be736
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-08-28 (Wed, 28 Aug 2019)

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

Log Message:
-----------
Maint: init_s2journal_js: Remove unused cuttag-ajax.js include

It's impossible to be in the "default" resource group on an S2 page, so this is
never used.


Commit: e100211ca2ab633aa1941b52cbfd73e5722a73aa
https://github.com/dreamwidth/dw-free/commit/e100211ca2ab633aa1941b52cbfd73e5722a73aa
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-08-28 (Wed, 28 Aug 2019)

Changed paths:
M cgi-bin/LJ/S2/ReplyPage.pm
M htdocs/talkpost_do.bml

Log Message:
-----------
Maint: LJ::S2::ReplyPage and talkpost_do: Remove unused display_none.css

Talkform rewrite did away with this. The ancient new entry form still uses the
file tho.


Commit: 8fc88f7293fa1344e5b0a387965f189a61a17629
https://github.com/dreamwidth/dw-free/commit/8fc88f7293fa1344e5b0a387965f189a61a17629
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-08-28 (Wed, 28 Aug 2019)

Changed paths:
M cgi-bin/LJ/Talk.pm
M cgi-bin/LJ/Web.pm
M views/journal/quickreply.tt
M views/journal/talkform.tt

Log Message:
-----------
[#2411] QR/talkform: Simplify and normalize icon browser template arg

- We hide the browse button for paid users with zero icons, so we can tidy up
the template by computing that beforehand.
- Calling that arg `remote.can_use_userpic_select` lays groundwork for
switching icon browsers. (`icon-browser.tt` expects that name, and inherits
the scope of the caller template.)


Commit: 40213ba21e6322c5eeaf7d4a5d586ef60c181300
https://github.com/dreamwidth/dw-free/commit/40213ba21e6322c5eeaf7d4a5d586ef60c181300
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-08-28 (Wed, 28 Aug 2019)

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

Log Message:
-----------
Maint: Lynx site skin: Fill in a missing color variable


Commit: 18df2f9fb7cc8f0b559a3514a2d3b5adeb450cde
https://github.com/dreamwidth/dw-free/commit/18df2f9fb7cc8f0b559a3514a2d3b5adeb450cde
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-08-28 (Wed, 28 Aug 2019)

Changed paths:
M htdocs/scss/skins/_skin-colors.scss

Log Message:
-----------
Maint: Site skins: Extract a few derived skin colors into variables


Commit: 2067e884d23ce6015d4ece48e56d79ae968bd542
https://github.com/dreamwidth/dw-free/commit/2067e884d23ce6015d4ece48e56d79ae968bd542
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-08-28 (Wed, 28 Aug 2019)

Changed paths:
M cgi-bin/ljlib.pl

Log Message:
-----------
[#2427] ljlib: include lj_base.css in Foundation pages

Because why not. This CSS file includes some basic styles for objects that
appear in entry/reply/icons pages; the Foundation pages haven't needed any of
that in the past, but they will eventually. As far as I can tell, the rules here
don't have any meaningful conflicts with existing rules in the Foundation site
skins.


Commit: a502c6fa4fce77e334597db73f24f85bd95623c3
https://github.com/dreamwidth/dw-free/commit/a502c6fa4fce77e334597db73f24f85bd95623c3
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-08-28 (Wed, 28 Aug 2019)

Changed paths:
M styles/core2.s2

Log Message:
-----------
[#2411] core2: Treat .icon-browser like .ContextualPopup

Core2 has this neat bit that ensures pop-up objects fit in with the journal
style in a predictable, legible way. Right now it only hits the hover popups on
userheads and icons; this commit adds the new-new icon browser to it.

This isn't used for site skin S2 pages, so the Foundation site skins' existing
styles for reveal modals aren't affected.


Commit: 9a23e0d8796d48f52b50a993d0470136ad6208ed
https://github.com/dreamwidth/dw-free/commit/9a23e0d8796d48f52b50a993d0470136ad6208ed
Author: Mark Smith <mark@dreamwidth.org>
Date: 2019-09-26 (Thu, 26 Sep 2019)

Changed paths:
M bin/worker/paidstatus
M cgi-bin/DW/Controller/Shop.pm
A cgi-bin/DW/Controller/Shop/Stripe.pm
M cgi-bin/DW/Shop.pm
M cgi-bin/DW/Shop/Cart.pm
M cgi-bin/DW/Shop/Engine.pm
M cgi-bin/DW/Shop/Engine/CheckMoneyOrder.pm
A cgi-bin/DW/Shop/Engine/Stripe.pm
M cgi-bin/LJ/Widget/ShopCart.pm
M htdocs/admin/pay/view.bml
M htdocs/shop/confirm.bml
M htdocs/shop/receipt.bml
M htdocs/shop/receipt.bml.text
A t/shop-cart.t
A views/shop/stripe/checkout.tt

Log Message:
-----------
Stripe integration (#2577)

* one

* support updating cart status

* support partial points orders

* use more correct shopping cart states

* fix redirects

* Make this styled

* add webhook signature validation

* add enabler

* tidy


Commit: 5546b92f4ecc31b21106ebca5a21062a90a75908
https://github.com/dreamwidth/dw-free/commit/5546b92f4ecc31b21106ebca5a21062a90a75908
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-09-27 (Fri, 27 Sep 2019)

Changed paths:
M htdocs/scss/components/quick-reply.scss

Log Message:
-----------
quick-reply: quick fix for temporary resize bug (#2578)

Under some conditions, you can't resize the quick-reply textarea to be larger
anymore. It's a weird flexbox interaction I missed last time.

This is already a non-issue in a pending quick-reply PR because it separates the
body container and the subject container, but this band-aid will fix it until
then.


Commit: 1bebf57ec6bf6f8180f63520136b6a476abe05c1
https://github.com/dreamwidth/dw-free/commit/1bebf57ec6bf6f8180f63520136b6a476abe05c1
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-09-27 (Fri, 27 Sep 2019)

Changed paths:
M styles/core2base/layout.s2

Log Message:
-----------
core2base: Combine overflow-wrap with word-wrap for more compatibility (#2576)

- You always want `overflow-wrap: break-word` rather than `word-break: break-word`,
because it behaves better. (If it can avoid a break by wrapping a word to its
own line, it will.)
- `word-wrap` (not to be confused with `word-break`) is a legacy alias for
`overflow-wrap`, supporting the same values.
- Turns out more browsers than I thought require that legacy alias, including
modern Safari versions.


Commit: 4cbdc2ab02342bb5540be26ec13fd473db0a37eb
https://github.com/dreamwidth/dw-free/commit/4cbdc2ab02342bb5540be26ec13fd473db0a37eb
Author: Mark Smith <mark@dreamwidth.org>
Date: 2019-09-27 (Fri, 27 Sep 2019)

Changed paths:
M cgi-bin/LJ/S2/ReplyPage.pm
M cgi-bin/LJ/Talk.pm
M cgi-bin/LJ/Web.pm
M cgi-bin/ljlib.pl
M htdocs/scss/skins/_skin-colors.scss
M htdocs/scss/skins/lynx.scss
M htdocs/talkpost_do.bml
M styles/core2.s2
M views/components/modal.tt
M views/journal/quickreply.tt
M views/journal/talkform.tt

Log Message:
-----------
Merge pull request #2575 from nfagerlund/aug19_megamix_1_safe_noops


Commit: 81fadb5e4c8310428c3ab35de29ba62874be2d2d
https://github.com/dreamwidth/dw-free/commit/81fadb5e4c8310428c3ab35de29ba62874be2d2d
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-09-27 (Fri, 27 Sep 2019)

Changed paths:
M views/components/icon-button-decorative.tt

Log Message:
-----------
Templates: Fix HTML error in icon-button-decorative component


Commit: cdec9d68878be8bad03e4e160d7a15b85c53e29c
https://github.com/dreamwidth/dw-free/commit/cdec9d68878be8bad03e4e160d7a15b85c53e29c
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-09-27 (Fri, 27 Sep 2019)

Changed paths:
M schemes/common.tt

Log Message:
-----------
Templates: Put up some signposts by the account-links swamp

Someone's gonna fall in there one of these days!


Commit: 520e4751ee608aef8ac420fcc2aab05eef167864
https://github.com/dreamwidth/dw-free/commit/520e4751ee608aef8ac420fcc2aab05eef167864
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-09-27 (Fri, 27 Sep 2019)

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

Log Message:
-----------
Foundation usage: Fix modal mixins for account-links

- Add missing mixin on account-links close button
- Add missing padding configuration to modal style mixin

This should now look just like similar modals on mobile, e.g. the login one.


Commit: 97bee9e9a76dc19dadf14b0c6cb8da9edf34faaa
https://github.com/dreamwidth/dw-free/commit/97bee9e9a76dc19dadf14b0c6cb8da9edf34faaa
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-09-27 (Fri, 27 Sep 2019)

Changed paths:
M htdocs/scss/skins/_nav.scss
M htdocs/scss/skins/celerity.scss
M htdocs/scss/skins/gradation/gradation-vertical.scss

Log Message:
-----------
Foundation futureproofing: Change `$small` references to `$medium-up`

...because that's apparently what it currently means. o_o WOW.

In our current and previous versions of Foundation, there's typo in the
definitions for the legacy size class variables, and our nav styles were relying
on the typo. A future version fixes the typo, which will of course blow
everything up in our site headers. Anyway, anything that asks for `$small` in
its media query is currently getting the `$medium-up` query, so it should just
ask for that by its real name.


Commit: 368cfef5b59e8c9be8b9cebb6a0c9117d05fb617
https://github.com/dreamwidth/dw-free/commit/368cfef5b59e8c9be8b9cebb6a0c9117d05fb617
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-09-27 (Fri, 27 Sep 2019)

Changed paths:
M htdocs/scss/skins/_nav.scss
M htdocs/stc/celerity/celerity.css

Log Message:
-----------
Site skins: Fix min-height on Celerity to fit the actual nav height on prod

Thing got long at some point.

Gradation Vertical is hopeless, so I'm leaving it alone.


Commit: 8728d62437eaf9d580d06aa17109c968d9211202
https://github.com/dreamwidth/dw-free/commit/8728d62437eaf9d580d06aa17109c968d9211202
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-09-27 (Fri, 27 Sep 2019)

Changed paths:
M htdocs/scss/skins/gradation/_gradation-base.scss

Log Message:
-----------
Site skins: Fix Gradation's logo/background gradient alignment on mobile


Commit: d2442deb8f7efd9521c5176d87d22cada9beba89
https://github.com/dreamwidth/dw-free/commit/d2442deb8f7efd9521c5176d87d22cada9beba89
Author: Nick Fagerlund <nick.fagerlund@gmail.com>
Date: 2019-09-27 (Fri, 27 Sep 2019)

Changed paths:
M htdocs/js/journals/jquery.tag-nav.js

Log Message:
-----------
[#1303] Fix wandering tagnav dialog

The "flipfit" collision recovery option moves the dialog until it fits inside
the current viewport. But in a long journal entry in one of the normal journal
styles (not siteviews), it's meant to be off-screen, down by where the tags
live. (In siteviews this isn't an issue because the tags live ABOVE the entry.)

If you change it to just "flip", it starts off-screen (as is proper), but then
the jQuery UI dialog script calls `.focus()` on part of the dialog, which causes
the browser to scroll down to put it into view. So THAT's obnoxious. But you can
recover by just scrolling the viewport back to where it was. (Why not just
scroll to 0? Because the user might have already scrolled a little bit before
the `load` event fired, or they might be using the back button and the browser
remembers its prior position.)


Compare: https://github.com/dreamwidth/dw-free/compare/68dd1adfb7b8...d2442deb8f7e
Page generated Sep. 6th, 2025 04:12 am
Powered by Dreamwidth Studios