* user: move can_see_to user class
* stub out can_see in comments and posts
* make can_see a classmethod so it's usable for loggedoutfriends
* test
* kill me now
* threelargeclassesmating
* dfdfdfdfdfdfd
* sdsdsdsd
* classmethod should be above i think
* Revert "classmethod should be above i think"
This reverts commit df1772eb9e7e71bf7b89123f6277b648de2b1af3.
* Revert "Revert "classmethod should be above i think""
This reverts commit 32883406c2e2916fc6c436611376a1817c16cb84.
* test rewritnig thing
* go home python
* what the fuck python
* fix AttributeError
* sdsdsdsdsdsd
* lazy and user and stuff
* test
* Revert "test"
This reverts commit 45af5bb3d45f3ec17126ab117d494ec978062a38.
* merge
* newline
* test
* test 2
* Revert "test"
This reverts commit 196dae677e2ee8cd29261c93dcb747087cb399b6.
* revert test
* fix merge error
* fix import error ciruclation i think
* sdsd
* add type annotations back
* deleted_utc
* isinstance
* user_can_see in jinja and remove unnecessary things
* a bunch of stuff
remove can_see from comment and post
expand can_see to messages
* antiannoyingamountsofwhitespace
* fix for chudrama
* improve prev
Selecting on the alt attribute is unstable and creates a non-obvious
coupling to maintain. Also it inadvertently affected the shop banners
and some elements in settings.
The need for sidebars to have access to macros.random_image means
all templates that include header.html (most templates) need to have
access to `macros`, because header.html includes sidebar_{SITE_NAME}.
Because of how sparse helpers was, we instead unify the two and
replace it since I know we had helpers in every top-level template.