Now that we have more subgroups, it was an issue that visiting a parent
group would always show the topics from all of the subgroups, regardless
of whether you were subscribed to them or not.
This changes it so that, by default, only topics from subgroups the user
is subscribed to will be shown. There is also a link at the top of the
listing to toggle to the other view (all subgroups or only subscribed
subgroups).
Fixes#371.
Adds `.is-comment-by-op` class even if the comment is new or by
the current user. This fixes the bolding of the "(OP)" tag and
preserves the colors from `new` or `mine`, which have priority
over `op` due to their ordering in `_comment.scss`.
No associated issue, just a minor fix to make the Zenburn theme
use the correct colors for its button in the theme preview page,
rather than the default theme colors.
Fixes#659 by defaulting to the primary background color for normal
table rows. As noted in the issue, this still looks a bit weird,
but it's no longer inconsistent.
Multiple people have been asking me how they can make a one-time
donation without going through GitHub or Patreon, so I'll re-add this
for now but will need to keep an eye out for fraud and potentially
disable it again soon.
These updates seem like they won't be trivial. I'll come back to them
soon, but I'll need to look at them more carefully and I can update
everything else in the meantime.
As of Python 3.9, it's no longer necessary to import things like List
and Dict from the typing module, and we can just use the built-in types
like this.
This also involved installing some new packages for the type stubs for a
few of the major third-party libraries.
I also had to change some of the imports in some model files in strange
ways, I'm not sure why some of these were necessary. I suspect this
might be a bug in mypy, but I'm not sure if I'll be able to build a
reproduction of it to be able to report it.
This is kind of dirty, but the prospector tool was broken after updating
Python to 3.9, and it seems to no longer be maintained. I forked it to
my personal GitHub account, un-pinned its dependencies, fixed a bug that
came up after updating pylint, and deleted a few dependencies that I
don't use (pylint plugins for Django, Flask, and Celery).
This commit also fixes all the new complaints from the updated pylint,
which were mostly explicitly re-raising exceptions, and some places
where I could use a generator instead of an unnecessary list
comprehension.
This will work for now, but I probably don't want to leave it in this
state. I should probably just stick to using the tools like pylint
directly, since this is now the second time I've needed to replace my
"tool runner" when it stopped being maintained (the first one was
pylama).
There is one special exception in here: the unread_user_ids column in
the message_conversations table had to be left as an integer array,
since the PostgreSQL intarray extension doesn't work with bigints. The
trigger that updates that column also needed a minor tweak.
This isn't good, but I don't really like how that was done anyway (it
was for the purpose of group messages that don't even exist), so it
could probably just be eliminated.
The minimal updates here were to update pygit2 and pip-tools.
However, prospector is currently broken as well, so the full code style
checks currently will not pass. This is not trivial to fix:
- Currently, pylint returns errors from some of the mypy annotations
- Upgrading pylint/astroid to the newest version fixes those errors,
but breaks prospector
- There is no newer release of prospector
I'm not totally sure how I want to fix this, I may need to fork
prospector.
This changes the site to run on Debian 10 instead of Ubuntu 16.04. It
also fully converts the previous Salt setup to use Ansible instead.
Most of this was a relatively straightforward conversion, and it should
be very close to equivalent. One notable difference is that I removed
the setup for the "monitoring" server, since I wasn't confident that the
way of setting up self-hosted Sentry and Grafana was working any more.
I'll look to re-add that at some point, but it's not urgent.