Discuss Scratch
- chipmunkmc
-
Scratch Team
58 posts
Website development
Yay! Also some thoughts:
Perhaps swfobject should be kept on user pages in case, say, someone writes a userscript relying on it for instance? Just an idea, maybe it's unlikely to be important and just bloat idk
Also, perhaps if no Ruffle URL is specified, Ruffle shouldn't be included in pages similarly to the original site? At least that's what I do with files.chipmunk.land; it would mean things wouldn't just work though.
Perhaps swfobject should be kept on user pages in case, say, someone writes a userscript relying on it for instance? Just an idea, maybe it's unlikely to be important and just bloat idk
Also, perhaps if no Ruffle URL is specified, Ruffle shouldn't be included in pages similarly to the original site? At least that's what I do with files.chipmunk.land; it would mean things wouldn't just work though.
- Heathercat123
-
Scratcher
27 posts
Website development
Perhaps swfobject should be kept on user pages in case, say, someone writes a userscript relying on it for instance? Just an idea, maybe it's unlikely to be important and just bloat idk
I don't see why anyone would write a userscript relying on swfobject on profiles specifically, but it is required, along with scratch_app.js, for the 2013 featured project player (which is implemented in APIClone, but iirc fullscreen is broken)
Also, perhaps if no Ruffle URL is specified, Ruffle shouldn't be included in pages similarly to the original site?
There's a separate flag in settings.py for disabling the import, but I've made it enabled by default since it's required to run Scratch 2.0 on modern web browsers.
Creator of much of the backend code for this website (the Scratch section, not the rest!) along with contributions from @chipmunkmc.
- chipmunkmc
-
Scratch Team
58 posts
Website development
I mean someone could try to restore the old project player and depend on those scripts, though to be fair I haven't heard of such a thing and we're quite past the release of Scratch 3.0. Maybe it is just cruft.
Also I forgot about the SCRATCHR2_USE_RUFFLE flag, oops.
Anyway I see you have started to work on cloud variables (which required me to install channels lol), decompiled online Scratch 2.0, and themed it; keep up the good work!
Also I forgot about the SCRATCHR2_USE_RUFFLE flag, oops.
Anyway I see you have started to work on cloud variables (which required me to install channels lol), decompiled online Scratch 2.0, and themed it; keep up the good work!

- Heathercat123
-
Scratcher
27 posts
Website development
I mean someone could try to restore the old project player and depend on those scripts, though to be fair I haven't heard of such a thing and we're quite past the release of Scratch 3.0. Maybe it is just cruft.
Wdym by "the old project player"? If you mean the featured project player, then, as I have already mentioned, it's already in APIClone.
Also I forgot about the SCRATCHR2_USE_RUFFLE flag, oops.
It's okay. APIClone has become so large and new features and changes come in so quickly that it's really easy to forget things about it </3
Anyway I see you have started to work on cloud variables (which required me to install channels lol), decompiled online Scratch 2.0, and themed it; keep up the good work!
Np! I'm not entirely done theming the editor though, here is what it looks like rn (also included as an attachment, I just forgot about that feature before uploading it to Linx ._.).
Also I've noticed that the post preview is still white except for the quotes, which are black text on a black-ish background. A similar thing can be said about the mobile forums, but those are hidden since the website uses the 2026 page style. Oh and quite a few post toolbar button icons should be inverted (BIUS looks off while the browser/os button is completely hidden).
Attachments:
scratch2dark.png (161.1 KB)
Creator of much of the backend code for this website (the Scratch section, not the rest!) along with contributions from @chipmunkmc.
- chipmunkmc
-
Scratch Team
58 posts
Website development
Nice work! Perhaps change the cat to #0dd and revert the background though, and perhaps remove sentry or I can do it in a fork.
- chipmunkmc
-
Scratch Team
58 posts
Website development
Also it's funny how IPv6 addresses don't fit in the left part of posts, I guess Scratch Team never bothered to support said protocol on their site lol (imo you should keep it because it's funny)
- Heathercat123
-
Scratcher
27 posts
Website development
Nice work! Perhaps change the cat to #0dd and revert the background though, and perhaps remove sentry or I can do it in a fork.
I'll do it when I'll feel like it.
Also it's funny how IPv6 addresses don't fit in the left part of posts, I guess Scratch Team never bothered to support said protocol on their site lol (imo you should keep it because it's funny)
Wait what- can u send a screenshot, I kinda wanna see it (I don't have ipv6 </3)
Creator of much of the backend code for this website (the Scratch section, not the rest!) along with contributions from @chipmunkmc.
- chipmunkmc
-
Scratch Team
58 posts
Website development
I'll do it when I'll feel like it.
Alright!
Wait what- can u send a screenshot, I kinda wanna see it (I don't have ipv6 </3)
For some reason I cannot visit the website (that is, while going through the VPS) from my home network. I saw this happen with Parker2991's posts, but wasn't given permission to leak his network address.
I'll try making this post on mobile data via tethering, and screenshotting it if that works out.
- chipmunkmc
-
Scratch Team
58 posts
Website development
Damn it tethering on Android (at least Nougat?) is IPv4 only, how could I forget… sorry, I'll get you a screenshot later (at least tmrw).
Also, have you tried to get IPv6 connectivity through a VPN? It should be possible, as chipmunk.land currently uses Wireguard over IPv4 for everything, and still has IPv6 support, albeit I had to configure it properly on my servers. Other things like proxies probably can do the trick too.
Also, have you tried to get IPv6 connectivity through a VPN? It should be possible, as chipmunk.land currently uses Wireguard over IPv4 for everything, and still has IPv6 support, albeit I had to configure it properly on my servers. Other things like proxies probably can do the trick too.
- Heathercat123
-
Scratcher
27 posts
Website development
I don't think it's really worth it to go through all of this trouble just to get a screenshot </3
Creator of much of the backend code for this website (the Scratch section, not the rest!) along with contributions from @chipmunkmc.
- Heathercat123
-
Scratcher
27 posts
Website development
Btw Scratch Addons has dark mode website icons, in case you wanna use them (though do note that it's under the GPL v3, unlike APIClone which is Public Domain!)
Creator of much of the backend code for this website (the Scratch section, not the rest!) along with contributions from @chipmunkmc.
- chipmunkmc
-
Scratch Team
58 posts
Website development
Btw Scratch Addons has dark mode website icons, in case you wanna use them (though do note that it's under the GPL v3, unlike APIClone which is Public Domain!)
Alright! (it's late for me so I prolly won't add them now)
- chipmunkmc
-
Scratch Team
58 posts
Website development
(I should prolly sleep already but) a while ago I tried compiling scratch-www after putting the subpackages in subdirs & using npm link, however it failed due to some files being missing; this could be a version issue. Note that `npm start` worked.
Also I posted this on Pleroma earlier.
Also I posted this on Pleroma earlier.
Attachments:
image.webp (105.1 KB)
- max_teacher
-
Scratcher
3 posts
Website development
I remember wanting to patch scratchr2 (well, apiclone, but this was before there was software for this site) to add <br> newline escaping… should I?
It would be nice to have, though it would mean the site would be less like the original scratch.mit.edu, so I'm not so sure.
Either way I guess we have the ' ' hack (I stole the char from some Shift_JIS art), as well as the forums.
It would be nice to have, though it would mean the site would be less like the original scratch.mit.edu, so I'm not so sure.
Either way I guess we have the ' ' hack (I stole the char from some Shift_JIS art), as well as the forums.
- Heathercat123
-
Scratcher
27 posts
Website development
I remember wanting to patch scratchr2 (well, apiclone, but this was before there was software for this site) to add <br> newline escaping… should I?
By default? Nah. As an option in Account Settings? Absolutely!
Oh and it seems like someone else is remaking ScratchR2 tooEdit: Oops I think I screwed something up in the BBCode parser while trying to make it pass the built-in tests so now it doesn't like URLs anymore ._. Either way I meant to link to https
/github.com/CocoBox84/ScratchR2-remakeLast edited by Heathercat123 (April 14, 2026 20:28:35)
Creator of much of the backend code for this website (the Scratch section, not the rest!) along with contributions from @chipmunkmc.
- Heathercat123
-
Scratcher
27 posts
Website development
Aaaand the Edit button is gone now. Great.
Creator of much of the backend code for this website (the Scratch section, not the rest!) along with contributions from @chipmunkmc.
- chipmunkmc
-
Scratch Team
58 posts
Website development
I'm sure someone already figured it out but the reason why most projects won't load is because assets cannot be fetched. Of course, this is because script you probably mentioned a long time ago, fetch-worker (sourced from scratch-storage), has the wrong hash in its filename.
I tried to `npm run clean` and build scratch-gui and scratch-www (in that order, using `build:dist` for the first) and now it cannot find the JS file at all; perhaps this file is only being included in standalone builds for some reason?
This whole Scratch 3.0 thing is weird and confusing, I'd say.
I tried to `npm run clean` and build scratch-gui and scratch-www (in that order, using `build:dist` for the first) and now it cannot find the JS file at all; perhaps this file is only being included in standalone builds for some reason?
This whole Scratch 3.0 thing is weird and confusing, I'd say.
- chipmunkmc
-
Scratch Team
58 posts
Website development
I remember wanting to patch scratchr2 (well, apiclone, but this was before there was software for this site) to add <br> newline escaping… should I?
It would be nice to have, though it would mean the site would be less like the original scratch.mit.edu, so I'm not so sure.
Either way I guess we have the ' ' hack (I stole the char from some Shift_JIS art), as well as the forums.
I forgot to say, I meant in comments. Maybe you figured that out but posting just in case.
- chipmunkmc
-
Scratch Team
58 posts
Website development
Also a while ago I changed what log file apiclone's output was sent to, but only changed it for one stream (I forget if it was stdout or stderr), which probably got in the way of reading logs; oof…
About that I found a bunch of interesting errors in the logs:
About that I found a bunch of interesting errors in the logs:
[2026-04-14 10:08:15 +0000] [3471] [ERROR] Error handling request /privacy_policy Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/core/handlers/base.py", line 181, in _get_response callback, callback_args, callback_kwargs = self.resolve_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/core/handlers/base.py", line 313, in resolve_request resolver_match = resolver.resolve(request.path_info) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/urls/resolvers.py", line 702, in resolve raise Resolver404({"tried": tried, "path": new_path}) django.urls.exceptions.Resolver404: {'tried': [[<URLResolver <URLPattern list> (admin:admin) 'admin/'>], [<URLResolver <URLResolver list> (None:None) 'hosts/'>], [<URLResolver <module 'hosts.uploads.urls_get_image' from '/opt/apiclone/hosts/uploads/urls_get_image.py'> (None:None) 'get_image/'>], [<URLResolver <module 'ngapi.urls' from '/opt/apiclone/ngapi/urls.py'> (None:None) 'ngapi/'>], [<URLPattern 'csrf_token/' [name='csrf_token']>], [<URLPattern 'external/blog/api/read/json/'>], [<URLPattern 'news/' [name='news']>], [<URLPattern '403/' [name='403']>], [<URLPattern '404/' [name='404']>], [<URLPattern '429/' [name='429']>], [<URLPattern '429-email/' [name='429-email']>], [<URLPattern '500/' [name='500']>], [<URLPattern 'health/' [name='health']>], [<URLPattern 'mediagallery/dynamic-assets/' [name='dynamic-assets']>], [<URLPattern 'scratch2-studios/<int:pk>/adminpanel/' [name='gallery_adminpanel']>], [<URLPattern 'scratch2/<int:pk>/adminpanel/' [name='project_adminpanel']>], [<URLPattern 'login/' [name='login']>], [<URLPattern 'logout/' [name='logout']>], [<URLPattern 'fragment/account-nav.json' [name='account_nav']>], [<URLPattern 'session/' [name='session']>], [<URLPattern 'favicon.ico'>], [<URLPattern '' [name='homepage']>], [<URLPattern 'jsi18n/' [name='javascript-catalog']>], [<URLResolver <module 'django.conf.urls.i18n' from '/usr/lib/python3.12/site-packages/django/conf/urls/i18n.py'> (None:None) 'i18n/'>], [<URLResolver <module 'internalapi.urls' from '/opt/apiclone/internalapi/urls.py'> (None:None) 'internalapi/'>], [<URLResolver <module 'siteapi.urls' from '/opt/apiclone/siteapi/urls.py'> (None:None) 'site-api/'>], [<URLResolver <module 'galleries.urls' from '/opt/apiclone/galleries/urls.py'> (None:None) 'studios/'>], [<URLResolver <module 'projects.urls' from '/opt/apiclone/projects/urls.py'> (None:None) 'projects/'>], [<URLResolver <module 'userprofiles.urls' from '/opt/apiclone/userprofiles/urls.py'> (None:None) 'users/'>], [<URLResolver <module 'help.urls' from '/opt/apiclone/help/urls.py'> (None:None) 'info/'>], [<URLResolver <module 'help.urls' from '/opt/apiclone/help/urls.py'> (None:None) 'help/'>], [<URLResolver <module 'djangobb_forum.urls' from '/opt/apiclone/djangobb_forum/urls.py'> (djangobb_forum:djangobb) 'discuss/'>], [<URLResolver <module 'scratch_admin.urls' from '/opt/apiclone/scratch_admin/urls.py'> (None:None) 'scratch_admin/'>], [<URLPattern 'contact-us/' [name='contact_us']>], [<URLPattern 'about/' [name='about']>], [<URLPattern 'parents/' [name='parents']>], [<URLPattern 'community_guidelines/' [name='community_guidelines']>], [<URLPattern 'DMCA/' [name='DMCA']>], [<URLPattern 'wonderland/'>], [<URLResolver <module 'notifications.urls' from '/opt/apiclone/notifications/urls.py'> (None:None) 'messages/'>], [<URLResolver <module 'accounts.urls' from '/opt/apiclone/accounts/urls.py'> (None:None) 'accounts/'>], [<URLResolver <module 'educators.urls' from '/opt/apiclone/educators/urls.py'> (None:None) 'educators/'>], [<URLResolver <module 'educators.urls_classes' from '/opt/apiclone/educators/urls_classes.py'> (None:None) 'classes/'>], [<URLPattern 'mystuff/' [name='mystuff']>]], 'path': 'privacy_policy'} During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 134, in handle self.handle_request(listener, req, client, addr) File "/usr/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 177, in handle_request respiter = self.wsgi(environ, resp.start_response) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/core/handlers/wsgi.py", line 124, in __call__ response = self.get_response(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/core/handlers/base.py", line 140, in get_response response = self._middleware_chain(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/corsheaders/middleware.py", line 56, in __call__ result = self.get_response(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) ^^^^^^^^^^^^^^^^^^^^^ File "/opt/apiclone/pagination/middleware.py", line 21, in __call__ return self.get_response(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) ^^^^^^^^^^^^^^^^^^^^^ File "/opt/apiclone/accounts/middleware.py", line 17, in __call__ return self.get_response(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) ^^^^^^^^^^^^^^^^^^^^^ File "/opt/apiclone/accounts/middleware.py", line 41, in __call__ return self.get_response(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/core/handlers/exception.py", line 57, in inner response = response_for_exception(request, exc) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/core/handlers/exception.py", line 68, in response_for_exception response = get_exception_response( ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/core/handlers/exception.py", line 165, in get_exception_response response = callback(request, exception=exception) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/utils/decorators.py", line 134, in _wrapper_view response = view_func(request, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/views/defaults.py", line 64, in page_not_found body = template.render(context, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/template/backends/django.py", line 61, in render return self.template.render(context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/template/base.py", line 175, in render return self._render(context) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/template/base.py", line 167, in _render return self.nodelist.render(context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/template/base.py", line 1005, in render return SafeString("".join([node.render_annotated(context) for node in self])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/template/base.py", line 966, in render_annotated return self.render(context) ^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/template/loader_tags.py", line 157, in render return compiled_parent._render(context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/template/base.py", line 167, in _render return self.nodelist.render(context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/template/base.py", line 1005, in render return SafeString("".join([node.render_annotated(context) for node in self])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/template/base.py", line 966, in render_annotated return self.render(context) ^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/template/defaulttags.py", line 321, in render return nodelist.render(context) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/template/base.py", line 1005, in render return SafeString("".join([node.render_annotated(context) for node in self])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/template/base.py", line 966, in render_annotated return self.render(context) ^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/template/loader_tags.py", line 208, in render return template.render(context) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/template/base.py", line 177, in render return self._render(context) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/template/base.py", line 167, in _render return self.nodelist.render(context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/template/base.py", line 1005, in render return SafeString("".join([node.render_annotated(context) for node in self])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/template/base.py", line 966, in render_annotated return self.render(context) ^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/templatetags/i18n.py", line 90, in render output = self.filter_expression.resolve(context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/template/base.py", line 715, in resolve obj = self.var.resolve(context) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/template/base.py", line 858, in resolve return gettext_lazy(msgid) ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/django/utils/functional.py", line 207, in __wrapper__ @wraps(func) File "/usr/lib/python3.12/site-packages/gunicorn/workers/base.py", line 204, in handle_abort sys.exit(1) SystemExit: 1 [2026-04-14 10:08:25 +0000] [3471] [INFO] Worker exiting (pid: 3471) [2026-04-14 06:08:38 -0400] [3441] [ERROR] Worker (pid:3471) was sent SIGKILL! Perhaps out of memory? [2026-04-14 06:08:41 -0400] [28065] [INFO] Booting worker with pid: 28065 /usr/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1595: RuntimeWarning: DateTimeField Project.datetime_created received a naive datetime (2026-04-14 17:13:24.050951) while time zone support is active. warnings.warn(
- chipmunkmc
-
Scratch Team
58 posts
Website development
Also I would like to note that my scratch-gui is newer than what scratch-www expects, I could try backporting my patches to the expected version. Still not sure what causes all of the worker weirdness though.