| Commit message (Collapse) | Author | Lines |
|
If a task is cancelled it is assumed it was done via cancel_task. That
method deletes the task after cancelling so the warning isn't relevant.
|
|
Task.exception() only returns the exception. It still needs to be
explicitly raised.
|
|
To prevent a deletion of task rescheduled with the same ID, the callback
checks that the stored task is the same as the done task being handled.
* Only delete the task; it doesn't need to be cancelled because the it
is already done
* Revise the callback's docstring to explain the new behaviour
* Rename `task` parameter to `done_task`
|
|
* Use imperative mood for docstring
* Explain the purpose of the parameter in the docstring
* Make log message after cog name lowercase
|
|
The shield exists to be used for exactly this purpose so its a better
fit than create_task.
|
|
* Convert diff namedtuple to dict outside the dict comprehension
* Define long condition as a boolean instead of in the if statement
* Pass role and user dicts to aiohttp normally instead of unpacking
|
|
If a reminder is invalid, it won't get rescheduled. Therefore, there
wouldn't exist a task to cancel and it'd raise a warning.
Fixes BOT-1C
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is more visible than it would be if it was only logged.
* Add a webhook for the dev-log channel to constants
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
command context.
|
|
|
|
|
|
|
|
|
|
|
|
Explain changes caused by 22a55534ef13990815a6f69d361e2a12693075d5.
|
|
|
|
|
|
Changed the pagination emoji collection from list to tuple
This change was suggested since this collection is constant
|
|
NGINX has been dockerised, and proxy passes now reference internal container domains rather than referencing host or external domains.
This will have a few extra benefits:
- Less external factors involved for resolving the service address
- Can work with the same address on development envs
- Snekbox can be closed down entirely so it's inaccessible from external networks.
|
|
Fixed by allocating a pseudo-tty to the web and bot services in Docker
Compose.
|
|
Main concern is someone trying to cancel a task directly. The workaround
for the race condition relies on the task only being cancelled via
Scheduler.cancel_task(), particularly because it removes the task from
the dictionary. The done callback will not remove from the dictionary
if it sees the task has already been cancelled. So it's a bad idea to
cancel tasks directly...
|
|
Because deactivate_infraction() explicitly cancels the scheduled task,
it now runs in a separate task to avoid prematurely cancelling itself.
|
|
This design makes more sense and is more convenient than requiring tasks
to be responsible for cancelling themselves.
* Rename _handle_task_exception to _task_done_callback
* Add trace logging
|
|
Explicitly retrieves the task's exception, which will raise the
exception if one exists.
* Rename _suppress_cancelled_error to _handle_task_exception
|
|
asyncio.create_task() exists and will already use the running loop in
the current thread. Because there is no intention of using a different
loop in a different thread anywhere in the program for the foreseeable
future, the loop parameter is redundant.
|
|
|
|
It's redundant because the done callback only takes a single line to add
and can be added in schedule_task().
* Use Task as the type hint rather than Future for
_suppress_cancelled_error()
|
|
|
|
|
|
The bot user was always being used instead of using the actor field
of the infraction.
|
|
Closes #685
|
|
The absolute value is useful for preventing negative values in the case
that date_to is in the past relative to date_from.
* Add an absolute parameter to take the absolute value of the duration
* Rename expiry to date_to
* Rewrite the docstring
|