| Commit message (Collapse) | Author | Lines |
|
|
|
|
|
|
|
|
|
DRF's `UniqueTogetherValidator` validates uniqueness by querying the
database before running the actual insert. This is not, has not, and
will never be valid, unless you happen to run a single worker, on a
single thread, and your single worker running on a single thread is the
only client for the database, in which case it may be valid. For any
other cases, it's invalid, and it has never been valid. PostgreSQL spits
out an `IntegrityError` for us if we have a duplicate entry, and
PostgreSQL is the only valid and correct thing to trust here.
The `UniqueTogetherValidator` is removed, and an existing test case
calling into this validator to check for uniqueness is removed.
Furthermore, to work around a Django quirk, `transaction.atomic()` is
added to prevent one `subTest` from messing with another.
Closes #665.
|
|
|
|
|
|
Update some screenshot images to reflect emoji used in category names
Break up some of the FAQ questions into smaller questions
Mention the !helpdm on command added in 2021
Mention the channel claimed embed added in 2022
Culling of content to focus on information pertaining to getting help
|
|
Remove screenshot of occupied help channels because it doesn't serve much purpose, and help can also be provided in topical channels.
|
|
Update to better reflect our current moderation practices in regards to
user profiles. Previous name was "Nickname Policy"
|
|
|
|
|
|
Co-authored-by: Xithrius <[email protected]>
|
|
Co-authored-by: Xithrius <[email protected]>
|
|
|
|
|
|
Co-authored-by: Mark <[email protected]>
|
|
|
|
|
|
|
|
A test case is added to demonstrate this functionality.
Closes #578.
Co-authored-by: Boris Muratov <[email protected]>
|
|
|
|
Without a min-width, the tag would not extend to fit the full
size of the contents on Firefox. It seemed to work just fine on
Chrome, though. The fix is simple - just enforce a min-width equal
to fit-content.
|
|
|
|
|
|
|
|
|
|
|
|
This implements the core logics for filtering by search.
It uses fuzzysort to match the search query to the name of
the resource. This name is set in the yaml for each resource.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
We stopped using FA pro, as we wanted it was using an ex-admin's person FA pro subscription, which we didn't control.
|
|
Previously, it was unclear why this was a data science resource. This version states that Colab offers GPU computation and that it can be used for deep learning, which is the reason. Also fixes abrupt change in sentence structure ("a ... Jupyter Notebook which supports e.g. !apt-get"; "e.g." unexpected).
Also, expressions in backticks (apt-get) won't be rendered as code, though since Colab is mostly a beginner sandbox, I don't think the word "Debian" will often be known.
|
|
|
|
|
|
This is now a completely self-contained feature, which
can be used in the same way on every page. I've moved all the
collapsible-related logics out of the resources.js file and
into collapsibles.js, and added documentation and other
quality-of-life features that will apply to other pages, as well.
Changes:
- The icon will now always change when the collapsible opens or closes.
- By adding the "collapsed" class, you can tell the collapsible to
be collapsed by default.
|
|
We're making a few changes here
- Changing the name to 'to_kebabcase'
- Covering all edge cases
- Adding a unit test for this utility
|
|
Remove those pointless empty pages at the
start and the end of a book.
Co-authored-by: Johannes Christ <[email protected]>
|
|
Co-authored-by: Johannes Christ <[email protected]>
|
|
|
|
|
|
|
|
|