#dev-log

1 messages ยท Page 60 of 1

regal archBOT
regal archBOT
#
[python-discord/bot] New branch created: ks123/snowflake\-command
north knotBOT
#

Postgres backup completed!

regal archBOT
oak estuaryBOT
night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
regal archBOT
night lilyBOT
#
Sir Lancebot

Connected!

north knotBOT
#

Postgres backup completed!

regal archBOT
regal archBOT
#
[python-discord/sir-lancebot] New branch created: sebastiaan/ci/status\-embeds
#

This pull request introduces custom status embeds for our workflow runs. The standard embeds GitHub sends to our webhook do not contain a lot of information and, because they're being sent for every individual workflow, generate a lot of noise in our #dev-log channel. By using a custom action to send embeds, we can fine tune when we want to send out an embed.

Note: The required webhook token has been added an organization secret and the default "check run" embeds Discord sends are al...

odd spireBOT
regal archBOT
regal archBOT
#
jb3
[python-discord/site] New branch created: gunicorn/max\-requests
regal archBOT
#
jb3
[python-discord/forms-backend] branch deleted: ks123/forms\-routes
#
[python-discord/site] New branch created: ks123/infractions/delete\-method
#
jb3
[python-discord/forms-frontend] New branch created: jb3\-patch\-1
#
jb3
[python-discord/forms-frontend] branch deleted: jb3\-patch\-1
north knotBOT
#

Postgres backup completed!

regal archBOT
regal archBOT
regal archBOT
#

The jitter value is only applied to the -max-request option if max-requests is greater than 0. It's meant to jitter your max-requests value and I don't think it works if you only set the jitter value. From the gunicorn source code:

        if cfg.max_requests > 0:
            jitter = randint(0, cfg.max_requests_jitter)
            self.max_requests = cfg.max_requests + jitter
        else:
            self.max_requests = sys.maxsize

(Note: this is applied to each ...

#
jb3
[python-discord/site] branch deleted: gunicorn/max\-requests
regal archBOT
oak estuaryBOT
regal archBOT
#
[python-discord/bot] New branch created: swfarnsworth/superstar
#

Previously, when a moderator used the !superstarify command, the reason they gave only gets recorded in the user's infraction history and is not relayed to the user in the direct message sent by the bot. This PR changes the message the user is sent to fix this.

However, we're discussing if the special embed that gets posted in the channel where the command is issued is actually appropriate.

![image](https://user-images.githubusercontent.com/32915757/101285796-196b4200-37b5-11eb-9582-2...

oak estuaryBOT
regal archBOT
#
jb3
[python-discord/sir-lancebot] New branch created: update\-approval\-policies
regal archBOT
regal archBOT
regal archBOT
regal archBOT
#
jb3
[python-discord/sir-lancebot] branch deleted: update\-approval\-policies
night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
regal archBOT
regal archBOT
#
jb3
[python-discord/forms-backend] New branch created: add\-form\-response\-schema
#

Issue

I came across this issue when trying to run code that uses the sympy library invoked via a webserver in Snekbox. It seems that if there is a memory-intensive request, Snekbox will begin returning "137" out-of-memory errors if it receives multiple of them at the same time.

For an import to a large library like networkx, pandas, or sympy, merely two requests that import these at the same time will cause either one (typical) or both (rare) requests to fail.

Environment

...

regal archBOT
#

Observation:
If I change the number of workers in gunicorn from 2 to 1 (so that requests are processed synchronously) then I am able to process many high-memory requests sequentially. The drawback, of course, is each request must wait for the last to finish executing.

Still, it would be nice if I could provide a flag to the docker container to achieve something to the effect of providing this configuration.

workers = 1
bind = "0.0.0.0:8060"
logger_class = "snekbox.Guni...
regal archBOT
north knotBOT
#

Postgres backup completed!

regal archBOT
regal archBOT
regal archBOT
#

Actions https://github.com/python-discord/organisation/issues/315.

We should have a dynamic message at the bottom of #how-to-get-help saying something along the lines of
โ€œThe currently available channels are #help-element1 and #help-element2, feel free to ask in any of those two channels!โ€,
to avoid getting anyone getting confused by the currently open channels like we had in the past.

regal archBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/sir-lancebot] branch deleted: sebastiaan/ci/status\-embeds
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
regal archBOT
#

I have a radical solution: If none of us can think of a reason for it being here after reading the code and it's not documented, we should remove it. It would get this PR going (which is important for the Advent of Code PR, which we ideally merge soon, as the event is ongoing) and, if we do that it was needed, we'll notice that at some point and can add it back in.

I think it's preferable to having some vestigial piece of code in our cog that's non-critical (it's not part of the core featu...

regal archBOT
regal archBOT
regal archBOT
#
jb3
[python-discord/forms-backend] branch deleted: add\-form\-response\-schema
regal archBOT
north knotBOT
#

Postgres backup completed!

regal archBOT
#

We initially designed the RedisCache around the collections.abc.MutableMapping interface, but that did not match well with the commands Redis offers us. That's why we decided to step away from the symmetry with Python's mapping objects and focus on RedisCache being a type of its own.

In short, for the methods you're proposing, you'd still fetch the entire hashset from Redis, but then discard parts of the output internally, but we'd drop half of it. I'm kinda leaning against that, becau...

#

I'm planning on including expiry in the future. I'm already using myself in another project (the advent of code leaderboard cache in python-discord/sir-lancebot has an expiry set with the underlying connection). As discussed above, it would only work on an entire RedisCache at once because of Redis limitations.

I guess we can also expose the underlying connection more easily (it's currently accessible using a marked-as-private attribute), but manual operat...

regal archBOT
regal archBOT
regal archBOT
#

8ea1376 !close removes the cooldown role from the cla... - swfarnsworth
089efa3 !close removes role when they have no help ch... - swfarnsworth
731fea1 Moved the removal of the cooldown role from cl... - swfarnsworth [3b28570](https://github.com/python-discord/bot/commit/3b28570818b923cb099476ad1305923dca986aea) Merge branch 'master' of https://github.com/pyt... - swfarnsworth [3f490ab](https://github.com/python-discord/bot/commit/3f490ab413b64474bc7e40a2d66d3c3178d615ba) Changes requested by @MarkKoz, new unclaim_cha... - swfarnsworth

#
[python-discord/bot] branch deleted: Stelercus/close\_command
oak estuaryBOT
regal archBOT
#

infraction history and DM - yes, we want to know what the old nick was for future reference, and I don't see a reason for it to not be DMed.
For the public embed, from what I gathered people didn't seem to think it was an major issue, and most starts are applied form private channels anyway. Also in the vote it says to keep the content, and I can only assume it includes the old nick.

regal archBOT
#

8ea1376 !close removes the cooldown role from the cla... - swfarnsworth
089efa3 !close removes role when they have no help ch... - swfarnsworth
731fea1 Moved the removal of the cooldown role from cl... - swfarnsworth [3b28570](https://github.com/python-discord/bot/commit/3b28570818b923cb099476ad1305923dca986aea) Merge branch 'master' of https://github.com/pyt... - swfarnsworth [3f490ab](https://github.com/python-discord/bot/commit/3f490ab413b64474bc7e40a2d66d3c3178d615ba) Changes requested by @MarkKoz, new unclaim_cha... - swfarnsworth

north knotBOT
#

Postgres backup completed!

regal archBOT
regal archBOT
#
[python-discord/bot] branch deleted: swfarnsworth/superstar
oak estuaryBOT
regal archBOT
#

What needs to happen to make this move forward? I can look into the isinstance check, if needed, to get this PR to a mergeable state. Normally, I'd not mind a few extra days (or even weeks), but this PR is currently blocking the PR to extend/change the Advent of Code channels, which is obviously an ongoing event. Would be nice to get them both merged at some point in the near future, so we can benefit during the current edition.

regal archBOT
regal archBOT
#
[python-discord/forms-backend] New branch created: ks123/response\-model\-endpoint
regal archBOT
regal archBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/bot] New branch created: swfarnsworth/developer\_command
regal archBOT
regal archBOT
#

8ea1376 !close removes the cooldown role from the cla... - swfarnsworth
089efa3 !close removes role when they have no help ch... - swfarnsworth
731fea1 Moved the removal of the cooldown role from cl... - swfarnsworth [3b28570](https://github.com/python-discord/bot/commit/3b28570818b923cb099476ad1305923dca986aea) Merge branch 'master' of https://github.com/pyt... - swfarnsworth [3f490ab](https://github.com/python-discord/bot/commit/3f490ab413b64474bc7e40a2d66d3c3178d615ba) Changes requested by @MarkKoz, new unclaim_cha... - swfarnsworth

north knotBOT
#

Postgres backup completed!

odd spireBOT
regal archBOT
odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
oak estuaryBOT
regal archBOT
#

I wanted to see what would happen. If you've observed selenium-related questions being dropped in the middle of ongoing conversations in that channel, then we should just remove it. It's just a name.

The only consideration I have is that if we do ever add atomic numbers to the channel names, there would be a more obvious gap, but how obvious is a missing number in an unsorted list of 40 channels split over three categories? I don't really think it's going to be an issue.

#

8ea1376 !close removes the cooldown role from the cla... - swfarnsworth
089efa3 !close removes role when they have no help ch... - swfarnsworth
731fea1 Moved the removal of the cooldown role from cl... - swfarnsworth [3b28570](https://github.com/python-discord/bot/commit/3b28570818b923cb099476ad1305923dca986aea) Merge branch 'master' of https://github.com/pyt... - swfarnsworth [3f490ab](https://github.com/python-discord/bot/commit/3f490ab413b64474bc7e40a2d66d3c3178d615ba) Changes requested by @MarkKoz, new unclaim_cha... - swfarnsworth

night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
odd spireBOT
regal archBOT
#

9e4b78b Create command for showing Discord snowflake cr... - ks129
9d00ef3 Add sf alias to snowflake command - ks129
47a2607 Use Snowflake converter for snowflake command - ks129
97b9c7d Merge branch 'master' into ks123/snowflake-command - mbaruh
cc8b218 Merge pull request #1318 from python-discord/ks... - mbaruh

#
[python-discord/bot] branch deleted: ks123/snowflake\-command
oak estuaryBOT
regal archBOT
#
[python-discord/forms-backend] New branch created: ks123/form\-name\-description
regal archBOT
regal archBOT
oak estuaryBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
oak estuaryBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
regal archBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
regal archBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
#

discord.py resolves the forward refs by evaluating their value using the function's globals
https://github.com/Rapptz/discord.py/blob/a4b20d08c33814de80b0591cd1cbe0ec633df59a/discord/ext/commands/core.py#L304-L309, when the lock is applied it replaces the callback with a function that has new globals that only contain names from the utils.lock module causing the piece of code that resolves annotations to fail

from discord.ext import commands
from bot.utils.lock import lock


an...
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
oak estuaryBOT
#

<@&267628507062992896> WARNING: Unable to get DEFCON settings!

night lilyBOT
#
Sir Lancebot

Connected!

oak estuaryBOT
regal archBOT
odd spireBOT
odd spireBOT
oak estuaryBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
jb3
[python-discord/bot] branch deleted: moderation/user\-from\-metricity
oak estuaryBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
oak estuaryBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
night lilyBOT
#
Sir Lancebot

Connected!

regal archBOT
odd spireBOT
regal archBOT
#

All of the symbols from a page are now stored when the page is fetched in redis, behind the page url as the key with expires handled by redis.
I've decided to not update the expire in case a new symbol from the page was requested after the got bot shut down during parsing and left an uncompleted cache, but then realised we'll overwrite all the keys there anyway so maybe the expire should be updated anyway. Any thoughts on whether we should always update the expire or only when the hash is n...

odd spireBOT
regal archBOT
#
jb3
[python-discord/forms-backend] branch deleted: ks123/response\-model\-endpoint
#
jb3
[python-discord/forms-backend] branch deleted: ks123/form\-name\-description
regal archBOT
#
jb3

A route should be returning the preferences on a form.

The response should vary slightly dependent on the user requesting.

If the user is unauthenticated or is not an admin then they should only be able to pull forms that are OPEN. Alongside that we should not return the internal preferences such as the Discord webhook URL returned for sending new responses (#15).

If the user is authenticated and an admin we should return the whole response object, even if the form is not open,...

#
jb3

After the route for fetching form details (#20) has been implemented we should add a route which will return the responses for the form by pulling from the form responses MongoDB collection where the form ID is the one passed in the URL parameters.

This should be an admin only route and no return data sanitisation should be necessary, we need to have anti-spam and discord information available to the administrators.

The route should append to the route inย #20 to look like `/forms/{form_...

regal archBOT
regal archBOT
#

Bumps ini from 1.3.5 to 1.3.8.

Commits

a2c5da8 1.3.8
af5c6bb Do not use Object.create(null)
8b648a1 don't test where our devdeps don't even work
c74c8af 1.3.7
024b8b5 update deps, add linting
032fbaf Use Object.create(null) to avoid default object property hazards
2da9039 1.3.6
cfea636 better git push script, before publish instead of after
56d2805 do not allow invalid hazardous string as section name
See full diff in compare view

Maintainer changes
This ...

regal archBOT
#

This should be good to go now. We decided in #branding that we want to have the emote on the repo, but that the lemoji folder wasn't a good fit. This is the main reason:

I consider each lemoji to be a distinct lemonhead, and that those lemonheads can be used as components to build lots of fun stuff, like the stuff we made for the welcome video. It's great that someone made a lemonsaurus, just don't mix it in with the actual lemojis. It's completely stylistically different and the lemon its...

regal archBOT
#
[python-discord/forms-frontend] New branch created: dependabot/npm\_and\_yarn/ini\-1\.3\.8
#

Bumps ini from 1.3.5 to 1.3.8.

Commits

a2c5da8 1.3.8
af5c6bb Do not use Object.create(null)
8b648a1 don't test where our devdeps don't even work
c74c8af 1.3.7
024b8b5 update deps, add linting
032fbaf Use Object.create(null) to avoid default object property hazards
2da9039 1.3.6
cfea636 better git push script, before publish instead of after
56d2805 do not allow invalid hazardous string as section name
See full diff in compare view

Maintainer changes
This ...

regal archBOT
regal archBOT
night lilyBOT
#
Sir Lancebot

Connected!

odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
regal archBOT
#
[python-discord/forms-backend] New branch created: ks123/single\-response\-route
regal archBOT
#
[python-discord/site] New branch created: hotfix/lemon/front\-page\-project\-sanity
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/forms-backend] New branch created: ks123/form\-endpoint
odd spireBOT
regal archBOT
#

Description

Cache guild, channels, and roles during the bot start and before any cog loads in.
This is going to make accessing channels and roles easier in the cogs/code without getting/fetching them in the cog.
This will also avoid repetitively getting or fetching the same channel/role in multiple cogs.

By doing this, we can make sure that all required channels and roles are loaded and present.

Additional

The bot should stop even if one channel/role is found to be `No...

#
[python-discord/site] branch deleted: hotfix/lemon/front\-page\-project\-sanity
odd spireBOT
regal archBOT
#

I don't think this is really necessary, with the wait_until_guild_available it's almost guaranteed that the get will succeed for channels the bots may use, with the gets being a fairly cheap lookup. When #393's implementation gets merged we'll get the warnings for missing channels, and then the cogs that try to get them can handle failed gets in their own way if necessary

regal archBOT
#
[python-discord/site] New branch created: hotfix/lemon/front\-page\-project\-sanity
odd spireBOT
regal archBOT
#

I hadn't really considered it till now, but ran some tests now and the markdown parsing which is fully synchronous took up to 250ms after I fetched some pages, I suppose this would be an issue for the real bot. I'll look into switching it over whole to a thread and if that's not viable without too many complications at least the parsing itself can run in an executor

regal archBOT
#
[python-discord/site] New branch created: bugfix/lemon/snekbox\-not\-showing\-on\-front\-page
odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: bugfix/lemon/snekbox\-not\-showing\-on\-front\-page
odd spireBOT
regal archBOT
#
jb3
[python-discord/forms-backend] branch deleted: ks123/form\-endpoint
regal archBOT
#
jb3
[python-discord/forms-backend] New branch created: fix\-data\-sanitisation
regal archBOT
#
jb3
[python-discord/forms-backend] branch deleted: fix\-data\-sanitisation
regal archBOT
regal archBOT
odd spireBOT
regal archBOT
#
jb3
[python-discord/forms-backend] New branch created: bugfix/route\-collision
odd spireBOT
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
#
jb3
[python-discord/forms-backend] branch deleted: bugfix/route\-collision
regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/site] branch deleted: ks123/infractions/delete\-method
odd spireBOT
regal archBOT
regal archBOT
#
jb3
[python-discord/forms-frontend] branch deleted: dependabot/npm\_and\_yarn/ini\-1\.3\.8
regal archBOT
#
[python-discord/forms-backend] New branch created: ks123/responses\-route
regal archBOT
#
[python-discord/forms-frontend] New branch created: ks123/discovery
#
jb3
[python-discord/forms-backend] branch deleted: ks123/single\-response\-route
#
jb3
[python-discord/forms-backend] branch deleted: ks123/responses\-route
regal archBOT
#
jb3
[python-discord/forms-frontend] branch deleted: ks123/discovery
regal archBOT
#

The changes are more minimal than the diff implies so I feel confident to approve.

Yeah, I decided to move it to the helpers file, which caused the large diff. The main difference now is that there's logic for handling out-of-season start-ups of the tasks that are still able to wake up when the AoC draws near without having to restart the bot after the event has started.

regal archBOT
odd spireBOT
regal archBOT
#
[python-discord/forms-backend] New branch created: sourcery/main
#
jb3
[python-discord/forms-backend] branch deleted: sourcery/main
regal archBOT
odd spireBOT
odd spireBOT
regal archBOT
#
[python-discord/forms-backend] New branch created: testing\-strategies
regal archBOT
#
[python-discord/forms-backend] New branch created: ks123/routes\-parsing
oak estuaryBOT
odd spireBOT
regal archBOT
regal archBOT
#

@Inheritanc-e we had a discussion about this in a staff meeting. This is what I wrote after that meeting:

There seems to be consensus that users receiving help in multiple channels concurrently is bad, but Ves raised the point that sometimes a channel will be inactive for a few minutes and another user will move in and receive help. We wouldn't want to shut those conversations down even if they weren't following the correct help channel flow. Unfortunately there may not be a solution to ...

regal archBOT
regal archBOT
regal archBOT
regal archBOT
regal archBOT
regal archBOT
#

Description

The remind and bookmark commands are useful features, particularly when working on projects on the server. The way they are currently set up, you have to invoke the command yourself (or get mentioned in the case of reminders), but I think a useful feature would be allowing users to "+1" on other's bookmarks/reminders. This is a feature that exists in other reminder systems, such as the remindme bot on reddit.

This feature would make it easier to work on things together and ...

regal archBOT
#
[python-discord/forms-backend] New branch created: renovate/configure
#
[python-discord/forms-frontend] New branch created: renovate/configure
ocean rock
#

sry for spam

regal archBOT
#
jb3
[python-discord/forms-frontend] branch deleted: renovate/configure
#
[python-discord/forms-frontend] New branch created: renovate/all
#
jb3
[python-discord/forms-backend] branch deleted: renovate/configure
#
[python-discord/forms-backend] New branch created: renovate/python\-dotenv\-0\.x
#

Thank you for contributing to Python Discord!

Please check out the following documents:

#
[python-discord/forms-backend] New branch created: renovate/starlette\-0\.x
#
jb3
[python-discord/forms-frontend] branch deleted: renovate/all
#
jb3
[python-discord/forms-backend] branch deleted: renovate/python\-dotenv\-0\.x
#
[python-discord/forms-frontend] New branch created: renovate/pin\-dependencies
#
jb3
[python-discord/forms-backend] branch deleted: renovate/starlette\-0\.x
#
jb3
[python-discord/forms-frontend] branch deleted: renovate/pin\-dependencies
ocean rock
#

spam should be over 4 now

regal archBOT
#
[python-discord/forms-frontend] New branch created: add\-cross\-env
#

Thank you for contributing to Python Discord!

Please check out the following documents:

regal archBOT
#
[python-discord/forms-backend] New branch created: renovate/uvicorn\-0\.x
regal archBOT
#
[python-discord/forms-frontend] New branch created: renovate/font\-awesome
#
[python-discord/forms-frontend] New branch created: renovate/sentry\-monorepo
regal archBOT
#
[python-discord/forms-frontend] New branch created: renovate/swc\-core\-1\.x
#
[python-discord/forms-frontend] New branch created: renovate/react\-router\-dom\-5\.x
regal archBOT
#
[python-discord/forms-backend] New branch created: ks123/form\-delete
#
[python-discord/forms-frontend] New branch created: renovate/jest\-monorepo
#
[python-discord/forms-frontend] New branch created: renovate/webpack\-cli\-4\.x