Commit Graph

114 Commits

Author SHA1 Message Date
Daniel Salazar b1e7bc5fca feat: method for updating users metering directly (#2252)
* chore: cleanup ts extensions controller

* feat: method for updating users metering directly
2026-01-07 12:53:00 -08:00
Daniel Salazar 2ef9aa3fb1 fix: add catch all for minimum usage amounts (#2248)
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 (24.x) (push) Has been cancelled
test / API tests (node env, api-test) (24.x) (push) Has been cancelled
test / puterjs (node env, vitest) (24.x) (push) Has been cancelled
* ts: extension type updates

* fix: add catch all for minimum usage amounts
2026-01-06 23:09:29 -08:00
Daniel Salazar 93afbe4dd9 fix: ts extensions (#2247) 2026-01-06 18:03:38 -08:00
KernelDeimos a5bbc7e95b fix: issues creating shortcuts
There were two different things here:
- invalid requests have an ambiguous error message
- migration of PuterFSProvider to an extension caused an issue
  for shortcut creation in some flows

Closes #2200
2026-01-06 19:09:48 -05:00
jelveh 987effc5ec Revert "Remove debug logs and improve query coalescing timeout (#2241)"
This reverts commit 71bee556f6.
2026-01-03 19:34:30 -08:00
Nariman Jelveh 71bee556f6 Remove debug logs and improve query coalescing timeout (#2241)
Removed unnecessary console.log statements from PuterFSProvider.js and WebServerService.js. Increased PENDING_QUERY_TTL to 3 seconds and added a timeout mechanism for coalesced queries in get_app to prevent indefinite waiting.
2026-01-03 19:28:40 -08:00
Daniel Salazar 174e6130ee fix: cache get_app result with expiry to lessen load on db (#2229)
* fix: cache get_app result with expiry to lessen load on db

* fix: use EX instead
2025-12-29 16:38:57 -08:00
Daniel Salazar 6cc86ff58b feat: support extension divs headers and tags being inserted to puter homepage load (#2221)
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 (24.x) (push) Has been cancelled
test / API tests (node env, api-test) (24.x) (push) Has been cancelled
test / puterjs (node env, vitest) (24.x) (push) Has been cancelled
* feat: support extension divs headers and tags being inserted to puter homepage load

* wip: demo div

* fix: extension typing

* fix: extension typing

* feat: hompage gui add on
2025-12-24 13:48:36 -08:00
Daniel Salazar 91e12f6886 fix: don't load bench.js files (#2207)
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 (24.x) (push) Has been cancelled
test / API tests (node env, api-test) (24.x) (push) Has been cancelled
test / puterjs (node env, vitest) (24.x) (push) Has been cancelled
* fix: autoloader grabbing bench.js files

* fix: errors failing

* fix: extension cache typ

* cache: app icons
2025-12-22 15:52:24 -08:00
Daniel Salazar a1689c4ea3 feat: dynamo in oss (#2195)
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
* feat: dynamo in oss

* fix: service name mismatch for dynamo client

* fix: dynalite boot

* fix: tests
2025-12-18 17:22:49 -08:00
Daniel Salazar a6617527db fix: types and tests? (#2193) 2025-12-17 13:11:51 -08:00
Neal Shah d76adcf831 add typescript transpilation for legacy node support ☹️ (#2190)
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
* add typescript transpilation for legacy node support ☹️

* add typescript as devdep
2025-12-17 02:56:56 -05:00
Neal Shah 21fb86752a App telemetry user iteration (#2188)
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
* add app-telemetry interface, and user-iteration feature

* Rid app-user-count.ts from workspace imports

* Remove semicolon at the end of query :(
2025-12-16 19:26:27 -05:00
KernelDeimos 9bac2cba07 perf: [+] readdirstat_uuid optimized implementation 2025-12-15 20:28:34 -05:00
Nariman Jelveh 8f7a735cc0 Remove dev-console-ui-utils and update related services (#2163)
* Remove dev-console-ui-utils and update related services

* Remove debug console.log statements from backend code

Eliminated various leftover console.log and debug print statements across multiple backend modules and services to clean up the codebase and reduce unnecessary logging in production.

* Remove unnecessary console.log statements
2025-12-12 23:46:39 -08:00
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