aboutsummaryrefslogtreecommitdiffstats
path: root/tests/helpers.py (unfollow)
Commit message (Collapse)AuthorLines
2024-03-25Reminders: More robust implementation of mention opt-in buttonGravatar hedy-89/+131
This solves most, if not all issues from the previous commit. - A timeout of 5 minutes is enforced - this means the button can no longer be used either when the reminder arrives or 5 minutes passes since creation, whichever comes first. - Reminder edits in between creation and button clicks will be handled responsibly - This includes both edits of duration, mentions, and deleting reminders altogether. - UX is improved. This list of to-be-mentioned users is sent up-front with the author included. Instructions to click the button comes right after the list. - No updates to the API or site schema required, as the button message will disable itself when it encounters any sort of errors. - Implementation is also somewhat simplified. There are probably more improvements, maybe one caveat, but it's like almost midnight and I want to sleep :/ I sure hope the list above covers most of it. Further testing will be done. Now `.remind 10s test` is ingrained in my muscle memory...
2024-03-24Reminders: Add a button for others to opt-in to a pingGravatar hedy-7/+130
This is the initial implementation - it's currently _far_ from perfect and is very susceptible to errors. Notable features beyond the basic requirements: - Fails safely when max mentions reached (we're limited by the 2000-character limit when sending the reminder with the pings), and disables the button. - Adds an additional embed to the initial confirmation message to show who clicked on the notify button. - Edits the additional embed and disables the button when the reminder is sent. In many ways, this implementation is quite bad: - Uses an async callback to delegate the task of PATCH-ing the API to edit mentions to the `new_reminders` method. - Edits to the opt-in list embed relies on the fact that the reminder is not edited (using !remind edit) before someone clicks on the button. A trivial way to fix this would be to add another field to the site schema to store the `notification_view` in some way. - The button is neither disabled nor any edits to the embed made when the reminder is deleted before someone clicks on the button. - String splitting is used which relies on the exact format of the embed message when editing the embed to disable the button. We have to reminder to update this piece of code when adjusting its format in the future. The UX can also be improved. Currently, I can't think of a way to concisely phrase the button embed message so that it is clear that the button is for people _other than_ the reminder author. Notes: - Max reminder mentions: - Mentions are pinged directly in a discord message when the reminder is sent. This means we're limited by the 2000-char limit. If we take each User ID snowflake to be 18-characters, and considering each mention to be formated as "<@ID> " (with extra space), it results in about 90 mentions max. I've set the constant to 80 just in case. - This is not an issue when the mentions are added in through other means than the button we're adding in this commit, because the user has to use @-mentions when sending the `!remind edit` command, which is already under the discord's character limit. - Log messages are added when something unexpected occurs within the code. Hopefully this is unlikely to happen after the implementation issues listed above are solved. - The opt-in list in the second embed is separate from mentions added in the original reminder creation, or any further edits, because mentions are added by the to-be-mentioned-user, rather than by the reminder author in this way. (Even though they are stored the same way.)
2024-03-22Bump ruff from 0.3.3 to 0.3.4Gravatar dependabot[bot]-20/+20
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.3.3 to 0.3.4. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/ruff/compare/v0.3.3...v0.3.4) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]>
2024-03-21Bump rapidfuzz from 3.6.1 to 3.6.2 (#2945)Gravatar dependabot[bot]-93/+93
Bumps [rapidfuzz](https://github.com/rapidfuzz/RapidFuzz) from 3.6.1 to 3.6.2. - [Release notes](https://github.com/rapidfuzz/RapidFuzz/releases) - [Changelog](https://github.com/rapidfuzz/RapidFuzz/blob/main/CHANGELOG.rst) - [Commits](https://github.com/rapidfuzz/RapidFuzz/compare/v3.6.1...v3.6.2) --- updated-dependencies: - dependency-name: rapidfuzz dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-21update configuration tests (#2951)Gravatar Amrou Bellalouna-38/+28
The old test relied on the old system where we loaded config from a yaml file, which ended up doing nothing.
2024-03-21Bump tldextract from 5.1.1 to 5.1.2 (#2962)Gravatar dependabot[bot]-6/+7
Bumps [tldextract](https://github.com/john-kurkowski/tldextract) from 5.1.1 to 5.1.2. - [Release notes](https://github.com/john-kurkowski/tldextract/releases) - [Changelog](https://github.com/john-kurkowski/tldextract/blob/master/CHANGELOG.md) - [Commits](https://github.com/john-kurkowski/tldextract/compare/5.1.1...5.1.2) --- updated-dependencies: - dependency-name: tldextract dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>