Commit Graph
907 Commits
Author SHA1 Message Date
KernelDeimos 8e6fba9e66 dev: options to disable undesirable checks in dev
Allows disabling abuse checks undefined origin checks with config
parameters to make development more convenient. The approach before this
change has been to manually comment out these lines of code.
2025-09-09 19:01:27 -04:00
KernelDeimos a4d1855b70 fix: add missing file
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test (18.x) (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
File missing from previous commit
2025-09-09 15:42:00 -04:00
KernelDeimos 34501e34b7 dev(kernel): make extension variable more global-like
The extension pseudo-global was only available at the root synchronous
execution context of a module loaded as an extension, which meant it
wasn't available for such things as handler functions for listeners even
though it looks like it should be lexically scoped.

This commit writes a `const` to the top of javascript files in the
runtime copy of an extension so that it works as nearly to a real global
as possible.

A real global isn't possible here for two reasons. First, running in the
same v8 VM as Puter means we can't have distinct global objects with the
same name across different extensions. Second, we can't use node:vm
because we would then be unable to support ES modules, which are
experimental in node:vm and also there's no equivalent to createRequire
for the linker even if we wanted to require the
--experimental-vm-modules flag in our package.json. This seems to be the
best we can do given the state of affairs of the runtime.
2025-09-09 15:37:22 -04:00
KernelDeimos 8c2e459f3c fix: third times the charm 2025-09-09 13:44:53 -04:00
KernelDeimos b44278197e dry: query parameter makes more sense for /healthcheck 2025-09-09 13:32:08 -04:00
KernelDeimos 8242ade01b mon: add alternative to /healthcheck
Some monitoring services want a system to look like it's failing hard
instead of a system being able to report that it's failing successfully.
This commit adds an alternative to healthcheck that throws 500 when any
service is failing, as though reporting such depended on the services
working, to appease these monitoring services and their semantically
incorrect nature of operation.

This commit message sets the precedent for "mon:" as a conventional
commit style prefix for changes related to system health and monitoring.
2025-09-09 13:14:11 -04:00
KernelDeimos 48982cac84 perf(kernel): parallelize extension installation
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test (18.x) (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
This optimization speends up load time for Puter significantly when many
extensions are present. This is also necessary for subsequent changes
which may require prepending code to all the source files inside an
extension, which would be too slow without this optimization.
2025-09-09 03:25:04 -04:00
KernelDeimos 6919974d66 dev: minlog is off by default for Archlinux
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test (18.x) (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
We can assume Arch users are comfortable with making configuration
changes and observing high volume log output (maybe not true for
alternative distributions of arch, but for base Arch absolutely) so it
probably makes sense to have the log minimizer off for these cases.
2025-09-08 21:37:46 -04:00
ProgrammerIn-wonderland 72e66da8a1 fix: webdav MOVE/COPY escaping bug
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test (18.x) (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
2025-09-08 11:45:51 -04:00
ProgrammerIn-wonderland ecff560480 fix: Use APIErrror.create in place of newAPIError 2025-09-05 20:26:39 -04:00
ProgrammerIn-wonderland ba2609be28 fix: APIErrors in entri service 2025-09-05 20:14:25 -04:00
ProgrammerIn-wonderland 7e0b8c66c4 fix: use correct API error in entri-service 2025-09-05 19:10:40 -04:00
ProgrammerIn-wonderland 7082059fa4 dev: Add deleteMapping to entri service, add extra validation for getConfig 2025-09-05 19:03:04 -04:00
ProgrammerIn-wonderland 35c66f7d42 webdav range support and URI encode fixes 2025-09-05 18:18:03 -04:00
KernelDeimos e6eff9940d dev(backend): emit rename through EventService
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test (18.x) (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
While previously the /rename endpoint sent only a websocket message to
the client, move didn't fire a rename event if the name of the file had
changed. This commit adds a more generalized rename event that can be
reliably used to update a UI whenever the name of a file changes.
2025-09-05 12:57:38 -04:00
KernelDeimos 994233aa0a clean: remove a couple of verbose logs 2025-09-05 12:57:38 -04:00
Neal ShahandDaniel Salazar 628459209c fix: puter workers url 🐛 (#1480)
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test (18.x) (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
* fix: puter workers url 🐛

---------

Co-authored-by: Daniel Salazar <daniel.salazar@puter.com>
2025-09-03 12:41:01 -04:00
Nariman Jelveh 222117c39a Revert "docs: Add documentation for Entity Storage internals (#1478)" (#1479)
This reverts commit 6ef404aa54.
2025-09-03 08:13:01 -07:00
Tarun saini 6ef404aa54 docs: Add documentation for Entity Storage internals (#1478) 2025-09-03 08:12:37 -07:00
jelveh ea056aa9f3 Update OpenAICompletionService.js
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test (18.x) (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
2025-08-31 09:06:38 -07:00
ProgrammerIn-wonderland 23b65eee49 Disable AWSSecretsPopulator 2025-08-29 20:38:42 -04:00
ProgrammerIn-wonderland c61b736ac8 AWS Secrets populator support 2025-08-29 20:30:06 -04:00
KernelDeimos 43232ccc32 fix: less copying of service configs
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test (18.x) (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
2025-08-29 19:30:48 -04:00
KernelDeimos aebc758cbf fix: objutil 2025-08-29 19:06:36 -04:00
KernelDeimos e4262201d8 dev: update objutil 2025-08-29 18:41:28 -04:00
KernelDeimos d05696f1a7 dev: object value transform iterator utility
When you need to transform strings or other primitives inside an object
and preserve the object's structure in an optimally memory-efficient
way, this does that.
2025-08-29 17:33:45 -04:00
KernelDeimos d1b4458c74 fix: possible missing path properties in /sign
When /sign is called with UIDs instead of paths, it is possible to get a
response without 'path' properties present in "signed fs item" objects.
This commit addresses the issue by fetching paths from FS node objects
as a last resort.
2025-08-29 16:08:17 -04:00
KernelDeimos 6d8889e434 dev: add config.__set_config_object__() 2025-08-28 18:28:29 -04:00
Xiaochen Cui 0c39f83078 captcha: imporve condition checks for cloudflare turnstile (#1469)
* captcha: imporve condition checks for cloudflare turnstile

* captcha: fix undefined "resetTurnstile" func

* captcha: set appearance

* captcha: add the missing prefix
2025-08-28 15:23:26 -07:00
Xiaochen Cui a98cc45f22 feat: memory filesystem provider
* Reapply "dev: memory filesystem"

This reverts commit 6f3bace4c4.

* fs: improve the robustess of set/get_storage api
2025-08-28 16:08:21 -04:00
ProgrammerIn-wonderland 4027ad951f Merge branch 'captcha' of https://github.com/XiaochenCui/puter into XiaochenCui-captcha 2025-08-27 20:01:57 -04:00
ProgrammerIn-wonderland f0d1a424a6 dev: Range header support in puter hosting (puter.site) 2025-08-27 19:19:36 -04:00
XiaochenCui bb2c51b840 captcha: add captcha widget to the signup window 2025-08-27 16:19:06 -07:00
ProgrammerIn-wonderland e48179a1f9 fix: improve support for unbounded range headers 2025-08-27 18:01:19 -04:00
ProgrammerIn-wonderland 9863f92aaa better range header support 2025-08-27 17:33:11 -04:00
KernelDeimos 6f3bace4c4 Revert "dev: memory filesystem"
This reverts commit 1f6bbe1672.
2025-08-27 14:26:03 -04:00
Xiaochen Cui 1f6bbe1672 dev: memory filesystem
* fs/memory-provider: passed all apitests

* test: write benchmark

* fs: add benchmark for stat-intensive scenario

* apitest: update duration

* fs: remove "NodeSelector", add checks to memoryfs, passed simple test

* test: update apitest

* debug: remove a debug stmt
2025-08-27 14:12:31 -04:00
ProgrammerIn-wonderland c0c601ac8f return partial content header
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test (18.x) (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
2025-08-26 18:43:29 -04:00
KernelDeimos 64f7f928d6 dev: add expiresIn 2025-08-26 17:26:54 -04:00
KernelDeimos 915bcf5f07 fix: sometimes WebServer log doesn't have context 2025-08-26 16:46:17 -04:00
KernelDeimos b2d43a0783 dev: add access token permission scanner 2025-08-26 16:17:28 -04:00
ProgrammerIn-wonderland 3dc4bb0d7d dev: add range header to /token_read 2025-08-26 14:55:36 -04:00
ProgrammerIn-wonderland c610fc98e9 update ll_read cache logic to be more respectful of Range header 2025-08-26 14:41:26 -04:00
ProgrammerIn-wonderland 122a93af18 dev: direct range header support in /read 2025-08-26 14:15:43 -04:00
ProgrammerIn-wonderland a08948f905 fix: Diswhitelist credential sharing for CORS 2025-08-26 13:35:40 -04:00
Nariman Jelveh 4c3a68ee51 feat: improve 404 error handling in Puter sites with custom page support (#1466)
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test (18.x) (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
- Implement a new method to serve a custom 404.html file if it exists in the subdomain root path.
- Update existing error responses to utilize the new custom 404 handling.
- Ensure fallback to default error handling if the custom file is not found or an error occurs during reading.
2025-08-25 16:08:49 -07:00
ProgrammerIn-wonderland 1907e2db6a fix error in macOS's metadata rejection
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test (18.x) (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
2025-08-22 17:05:59 -04:00
Neal Shah c1f83bd85f macOS webdav pollution fix (#1462) 2025-08-22 16:59:17 -04:00
Neal Shah 64126179cc Fix: Microsoft office Bearer issue (#1461) 2025-08-22 14:01:28 -04:00
ProgrammerIn-wonderland a770c5ade6 Merge branch 'main' of https://github.com/HeyPuter/puter 2025-08-21 17:12:26 -04:00