KernelDeimos
2aa4cd857d
type: add extension.span to api.d.ts
2025-12-09 19:17:05 -05:00
KernelDeimos
2e4a504cda
fmt: apparently api.d.ts was out of sync with linter
2025-12-09 19:17:05 -05:00
KernelDeimos
d8dc438a7d
dev: extension.span
2025-12-09 18:42:10 -05:00
KernelDeimos
d0ea063d0f
dev: update use of spans in extensions
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-backend (20.x) (push) Has been cancelled
test / test-backend (22.x) (push) Has been cancelled
test / API tests (node env, api-test) (22.x) (push) Has been cancelled
test / puterjs (node env, vitest) (22.x) (push) Has been cancelled
2025-12-08 18:50:23 -05:00
KernelDeimos
64b0ba89cc
doc(extensions): fix incorrect documentation link
2025-12-08 18:50:23 -05:00
KernelDeimos
ef6dea2bec
fix: skip cache when checking user:<>:email:read
2025-12-04 13:26:22 -05:00
Daniel Salazar
405e02cf9c
test: claudeService ( #2074 )
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-backend (20.x) (push) Has been cancelled
test / test-backend (22.x) (push) Has been cancelled
test / API tests (node env, api-test) (22.x) (push) Has been cancelled
test / puterjs (node env, vitest) (22.x) (push) Has been cancelled
2025-12-01 13:39:55 -08:00
Neal Shah
f99c78e4d3
Email read permission for whoami ( #2064 )
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 (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / backend (node env, api-test) (22.x) (push) Has been cancelled
test / puterjs (browser env, playwright) (22.x) (push) Has been cancelled
test / puterjs (node env, vitest) (22.x) (push) Has been cancelled
2025-11-28 17:34:26 -05:00
KernelDeimos
8eee9ad1df
fix(puterfs): use node crypto instead of Web API
...
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 (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / backend (node env, api-test) (22.x) (push) Has been cancelled
test / puterjs (browser env, playwright) (22.x) (push) Has been cancelled
test / puterjs (node env, vitest) (22.x) (push) Has been cancelled
By default node has a global `crypto` variable conforming to the
standard for the Web Crypto API. However, this `crypto` object does not
have the `createHash` function, so 'node:crypto' must be imported
instead.
2025-11-24 14:34:55 -05:00
Daniel Salazar
11e057557d
fix: eslint autofixable errors ( #2002 )
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 (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / backend (node env, api-test) (22.x) (push) Has been cancelled
test / puterjs (browser env, playwright) (22.x) (push) Has been cancelled
test / puterjs (node env, vitest) (22.x) (push) Has been cancelled
2025-11-21 13:22:19 -08:00
KernelDeimos
7b38131b65
fix: desktop_items in whoami
...
There's a potential issue here because of an undefined reference, but I
can't seem to reproduce any problem caused by this. However without this
fix this line of code is guarenteed to throw an exception so this fix
should be safe.
2025-11-20 21:34:21 -05:00
KernelDeimos
813ea63d21
fix: possible undefined when handling stuck stream
...
This is an error in a handler for a failure case so it shouldn't be
affecting users, but let's handle this error gracefully.
This was a symbol that became not defined after moving PuterFSProvider
to the extension.
2025-11-20 21:34:21 -05:00
KernelDeimos
fb41eaae23
fix: id2path import
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 (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / backend (node env, api-test) (22.x) (push) Has been cancelled
test / puterjs (browser env, playwright) (22.x) (push) Has been cancelled
test / puterjs (node env, vitest) (22.x) (push) Has been cancelled
2025-11-20 18:25:20 -05:00
KernelDeimos
3cdb182355
debug: add missing log message
2025-11-20 18:25:20 -05:00
KernelDeimos
bb90595431
fix: move dependency in LocalDiskStorageController
...
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 (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / backend (node env, api-test) (22.x) (push) Has been cancelled
test / puterjs (browser env, playwright) (22.x) (push) Has been cancelled
test / puterjs (node env, vitest) (22.x) (push) Has been cancelled
LocalDiskStorageController was dependent on putility for TeePromise, but
since putility is a workspace module it's difficult for extensions to
access it (Puter backend core would need to expose it). Since TeePromise
itself is very small and will rarely (if ever) be changed I decided to
move it to a separate package on npm.
2025-11-19 17:08:15 -05:00
KernelDeimos
1cb27fb25f
dev: make puterfs storage controller configurable
2025-11-19 16:13:26 -05:00
KernelDeimos
91f948f1fc
dev: LocalDiskStorageController with upload method
...
Begin work on LocalDiskStorageController in the `puterfs` extension.
This replaces LocalDiskStorageStrategy and LocalDiskStorageService from
the core. The `upload()` method is implemented to verify that it's
working.
This commit by itself will break other storage strategies. The next step
is to allow extensions to register storage controllers for puterfs. Part
of that work is done in this commit by emitting an event to register
storage controllers, but this commit does not include a way to
configure/select storage controllers.
2025-11-19 16:13:26 -05:00
KernelDeimos
d7538cf3c0
refactor: merge FSEntryFetcher with FSEntryController
2025-11-19 16:13:26 -05:00
KernelDeimos
d3881f2440
dev: decouple FSEntryFetcher by adding hasChild
...
Adding the hasChild method of FSNodeContext as well as a corresponding
method to filesystem providers is prerequisite to moving
FSEntryFetcher's logic into the new puterfs extension.
2025-11-19 14:30:42 -05:00
KernelDeimos
35d32f7fc8
dev(puterfs): move mkshortcut, make ll_rmdir...
...
...use readdir from the provider instead of calling
fast_get_direct_descendants directly on fsEntryService.
This change is prerequisite to removing FSEntryService from core.
2025-11-19 14:30:42 -05:00
KernelDeimos
a50866ec76
dev(puterfs): move get_recursive_size to extension
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 (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / backend (node env, api-test) (22.x) (push) Has been cancelled
test / puterjs (browser env, playwright) (22.x) (push) Has been cancelled
test / puterjs (node env, vitest) (22.x) (push) Has been cancelled
2025-11-18 15:34:49 -05:00
KernelDeimos
c9c745740d
dev(puterfs): remove dependency on FSEntryService
...
This commit was ammended to fix a missing import of Context from 'core'.
2025-11-18 15:34:49 -05:00
KernelDeimos
94032ddafd
move(puterfs): take PuterFSProvider out of main.js
2025-11-18 15:34:49 -05:00
KernelDeimos
0db322fda6
chore: move puterfs extension to esmodule
2025-11-18 15:34:49 -05:00
KernelDeimos
3aadaf8420
fix: explicit actor not passed to fs provider
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 (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / backend (node env, api-test) (22.x) (push) Has been cancelled
test / puterjs (browser env, playwright) (22.x) (push) Has been cancelled
test / puterjs (node env, vitest) (22.x) (push) Has been cancelled
2025-11-12 15:13:42 -05:00
KernelDeimos
ba994f8d88
refactor(backend): remove PuterFSProvider from core
2025-11-12 14:51:21 -05:00
KernelDeimos
8d4f788888
dev(puterfs): move misc methods to extension
...
The get_capabilities and update_thumbnail methods in PuterFSProvider are
moved to the extension by this commit. This is prerequisite to the
removal of PuterFSProvider in the core.
2025-11-12 14:51:21 -05:00
KernelDeimos
fdc8582dde
clean: remove log
2025-11-11 19:22:41 -05:00
KernelDeimos
705901fd2b
fix: references to global_config in puterfs
2025-11-11 19:22:41 -05:00
KernelDeimos
ea3dbcd411
dev(puterfs): move write_overwrite to extension
2025-11-11 15:32:03 -05:00
KernelDeimos
bd81c533bc
dev(puterfs): move write_new to extension
2025-11-11 15:32:03 -05:00
Daniel Salazar
3592c4bfe8
chore: ts lint stuff ( #1934 )
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 (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / backend (node env, api-test) (22.x) (push) Has been cancelled
test / puterjs (browser env, playwright) (22.x) (push) Has been cancelled
test / puterjs (node env, vitest) (22.x) (push) Has been cancelled
2025-11-06 15:26:40 -08:00
KernelDeimos
8c9dfb880f
dev(puterfs): move readdir to extension
2025-11-06 17:14:09 -05:00
KernelDeimos
7988dc9adf
dev(puterfs): move 'move' to extension
2025-11-06 17:14:09 -05:00
KernelDeimos
117eda190f
dev(puterfs): move copy_tree to extension
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 (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / backend (node env, api-test) (22.x) (push) Has been cancelled
test / puterjs (browser env, playwright) (22.x) (push) Has been cancelled
test / puterjs (node env, vitest) (22.x) (push) Has been cancelled
2025-11-05 20:09:58 -05:00
KernelDeimos
2b22406181
dev(puterfs): move stat to extension
2025-11-05 20:09:58 -05:00
KernelDeimos
6a2cac5d57
fix: incorrect implementation of ll_mkdir
...
When ll_mkdir functionality was moved to PuterFSProvider, ACL and FSLock
concerns were erroneously moved into PuterFSProvider. The intended
design has ll_mkdir responsible for ACL and FSLock, and providers should
never be responsible for ACL.
2025-11-05 20:09:58 -05:00
KernelDeimos
1877a26c6b
dev(puterfs): move mkdir to extension
...
An important note: it was noticed during this change that mkdir in
PuterFSProvider implements its own ACL check, instead of the ACL check
being performed in ll_mkdir. This means permissions won't be checked for
other implementors of mkdir! This needs to be fixed before custom
filesystem implementations can be considered production-ready.
2025-11-05 19:22:10 -05:00
KernelDeimos
acb9c4660c
dev(puterfs): move quick_check to extension
2025-11-05 19:22:10 -05:00
KernelDeimos
f2ad7ddfb5
dev(puterfs): move read to extension
2025-11-05 19:22:10 -05:00
KernelDeimos
e8d9b7b35d
dev(puterfs): move rmdir to extension
2025-11-05 16:06:35 -05:00
KernelDeimos
b853383c6e
clean: remove debug log from puterfs.unlink
2025-11-04 21:32:41 -05:00
KernelDeimos
a5c26eaece
clean: remove verbose log for getUserSubscription
2025-11-04 21:32:41 -05:00
KernelDeimos
a0ff03b13d
dev: implement unlink in puterfs extension
2025-11-04 21:32:41 -05:00
KernelDeimos
4b959f3f4b
dev: add proxy for PuterFSProvider
...
This temporary proxy provider will allow methods of the puterfs
filesystem type to be moved to an extension incrementally instead of all
at once. See comment above the class for a more detailed explanation.
2025-11-04 21:32:41 -05:00
Daniel Salazar
5ff8c7e040
feat: rawBody parser, user metadata column + other misc fixes ( #1904 )
2025-11-04 18:19:55 -08:00
Daniel Salazar
11d2515cb2
fix: ts issue when building for deploy ( #1890 )
2025-11-02 06:36:02 -08:00
Daniel Salazar
e8e8fa92c2
cleanup: more benign changes ( #1889 )
2025-11-02 06:30:30 -08:00
Daniel Salazar
93aaeef9e0
fix: add back non-functional changes ( #1888 )
2025-11-02 06:17:59 -08:00
Daniel Salazar
758bef0582
Revert: commits for user metadata changes ( #1887 )
2025-11-02 06:09:13 -08:00