Commit Graph

3440 Commits

Author SHA1 Message Date
KernelDeimos f8bdcf8470 dev: [+] DataAccessModule > AppService > select()
This commit adds the DataAccessModule, which is where replacement
"flatter" implementations for what is currently implemented via
EntityStorage/OM will be developed.

This commit also adds AppService, which is where the `crud-q`
implementor for apps will be implemented.

This commit adds the `select()` implementation for AppService. Currently
it is missing many behaviors for parity with the current ES/OM
implementation including:
- coercion of boolean values
- nested objects and their properties
- `icon_size` parameter support
2025-12-22 17:13:07 -05:00
KernelDeimos 3c1a4cd31a dev: specify 'es:app' in puter.js apps module
The EntityStorage/OM mechanism for data access is being replaced.
Specifying 'es:app' in puter.js calls will allow the ES/OM mechanism and
its replacement to be tested together to check for regressions. When the
replacement is done, we can change 'es:app' to the new service name.
2025-12-22 16:08:35 -05:00
KernelDeimos 7786deefb7 lint: sync Apps.js with linter rules
This is comitted separately because it should not have any functional
changes. Do not skip this in a `git bisect`, but do not revert this when
testing commits for functional changes.
2025-12-22 16:08:35 -05:00
jelveh dc5f61b438 Add screen-wake-lock to iframe allow attribute 2025-12-22 08:32:51 -08:00
jelveh 85877259a6 Update initgui.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-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
2025-12-20 18:26:02 -08:00
jelveh 0520251249 Remove spinner display in popup during temp user creation
Eliminated the spinner shown when creating a temporary user in popup mode and removed the corresponding hideSpinner call. This streamlines the user experience during account setup.
2025-12-20 18:13:27 -08:00
jelveh abd28d8935 Improve captcha modal styling and messaging 2025-12-20 18:03:00 -08:00
jelveh a058912c1f Style captcha modal for embedded popup context 2025-12-20 17:40:48 -08:00
KernelDeimos c43f3990d9 fix: import issues on run form benchmarks (somehow)
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
2025-12-19 23:16:17 -05:00
KernelDeimos c737a28c34 Revert "Revert 2206 eric/25 cj0 more benchmarks (#2208)"
This reverts commit 2be2dcaea0.
2025-12-19 23:16:17 -05:00
Daniel Salazar 2be2dcaea0 Revert 2206 eric/25 cj0 more benchmarks (#2208)
* Revert "perf: more benchmarks (2)"

This reverts commit 2c60faf516.

* Revert "perf: more benchmarks"

This reverts commit d3c1fc3103.
2025-12-19 19:57:22 -08:00
Daniel Salazar f360cf17e6 chore: update our required node version (#2204)
* feat: fix broken queue bench

* chore: update our required node version
2025-12-19 19:24:05 -08:00
KernelDeimos 2c60faf516 perf: more benchmarks (2)
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-19 17:02:20 -05:00
KernelDeimos d3c1fc3103 perf: more benchmarks 2025-12-19 17:02:20 -05:00
KernelDeimos 75f3092077 bench: extract and benchmark CircularQueue
- Move CircularQueue class from AntiCSRFService to util directory
- Add benchmark to ensure we don't slow it down
2025-12-19 15:49:38 -05:00
KernelDeimos 49b90bde12 test: add benchmark config and first unit bench
Adds the necessary configuration and the `npm run bench` script, as well
as the first benchmark to verify everything is working. The first
benchmark is permissionUtils. This is important to benchmark because
permission strings are used often and there is some non-trivial logic
such as escaping of full-colon characters. Other overheads like database
access will be much more significant, but it may be useful to know how
much more significant in quantifiable terms.
2025-12-19 15:49:38 -05: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
Neal Shah 9aefed5515 add user iteration to all methods which return an App object (#2203)
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-18 17:03:31 -05:00
jelveh af066356cf Show AI button regardless of email confirmation
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-17 20:36:31 -08:00
jelveh 9d307d54ed Adjust font size in UsageLimitDialog message 2025-12-17 20:14:49 -08:00
jelveh 6d5b8e45c0 Remove email confirmation check before launching AI app 2025-12-17 17:25:53 -08:00
KernelDeimos 7228e63c8b perf(es): generate client-safe objects in parallel 2025-12-17 17:12:33 -05:00
KernelDeimos 6edd7debb8 perf: improve parallelization in SQLES
It turns out SQLES was doing some things very sequentially when this was
not necessary. This should make SQLES a lot faster in general.
2025-12-17 17:12:33 -05:00
Reynaldi Chernando 3b646328f7 Add gemini 3 flash to models (#2191) 2025-12-17 14:11:14 -08:00
KernelDeimos eea9d8b27e perf: split implied user-app permissions
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
It took a long time to figure out why this was happening, but
user-to-app permissions and dev-to-app permissions were being checked in
sequence instead of concurrently. It turns out it was a recursive call
in user-to-app permissions that was blocking. This recursive call was
not actually a dependency of the query for user-to-app permissions; it
was only needed for determining if default user-to-app permissions are
held by the user. This was fixed by simply splitting up these
non-dependent queries into two separate scanners.
2025-12-17 16:17:07 -05:00
KernelDeimos 576900ebcc clean: readdir optimization 2025-12-17 16:17:07 -05:00
Reynaldi Chernando 28526eb6b7 Add flux.2 max for together provider (#2189) 2025-12-16 21:34:06 -08: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
jelveh 2d5fb8576e Update OpenAiImageGenerationProvider.ts 2025-12-16 16:19:03 -08:00
jelveh 49ab36d8be Add GPT Image 1.5 model and cost mapping 2025-12-16 15:55:33 -08:00
jelveh a3bcc488de Update usage limit dialog to indicate insufficient funds
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-16 11:15:50 -08:00
Nariman Jelveh dc78af3590 Add usage limit dialog and integrate with driverCall_ (#2185) 2025-12-16 10:37:26 -08:00
jelveh 1e864b4bd5 Update UIDashboard.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-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-15 20:50:59 -08:00
Daniel Salazar ed51a042b4 telemetry: config telemetry to run by default (#2184)
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-15 18:49:49 -08:00
jelveh 358b64124e Add extension events to dashboard initialization 2025-12-15 17:43:05 -08:00
KernelDeimos 9bac2cba07 perf: [+] readdirstat_uuid optimized implementation 2025-12-15 20:28:34 -05:00
Reynaldi Chernando dc827f90c4 Fix more puter.js typescript types (#2181)
* Fix networking types

* Fix os types

* Fix UI types

* Remove constructor in util.d.ts

* Fix worker types

* Fix puter.d.ts

* Fix apps types

* Change socket and tlssocket back to psocket and ptlssocket
2025-12-15 19:29:04 -05:00
Reynaldi Chernando 85c548d0d3 Fix speech2speech options (#2133) 2025-12-15 16:11:25 -08:00
jelveh 66cf679aab Delete devlog.md 2025-12-15 13:59:53 -08:00
KernelDeimos 6d36c90032 fix: add missing 'tel' runtime module
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-15 14:35:05 -05:00
jelveh 5ba94092f7 Map 'xai' provider to 'xai-image-generation'
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-14 16:05:50 -08:00
jelveh a030fcd9b8 Add xAI image generation provider integration 2025-12-14 15:46:28 -08:00
Daniel Salazar 54dd60d44b fix: missing video gen ai services in ai module (#2180)
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-14 11:08:52 -08:00
Nariman Jelveh 560307d587 Remove unused putility features (#2168)
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
* Remove smol utility library and update usage

Deleted the smol utility library from putility, removed its documentation, and refactored code in linux.js to use native string methods instead of smol.split. This simplifies the codebase by eliminating a redundant utility.

* Remove `putility.libs.time` and inline time utilities

* Update imports and time constant usage in core modules

Replaced usage of time.SECOND with a local SECOND constant in ServerHealthService for clarity and removed unused import. Updated all service imports in TestCoreModule to explicitly include the .js extension for compatibility with ES module resolution.

* Remove unused `wrap_text` and `ansi_visible_length` functions

Deleted the wrap_text and ansi_visible_length utility functions from string.js, as they are no longer needed or used in the codebase.

* Remove `format_as_usd` utility and related docs

The format_as_usd function and its documentation have been removed from the codebase and README files. This cleans up unused or deprecated currency formatting utilities.

* Remove osclink utility and update references

The osclink function and its documentation have been removed from putility. All usages in backend modules have been updated to use plain URLs instead of OSC 8 hyperlinks. This simplifies string utilities and avoids terminal-specific formatting.

* Remove PosixError utility module

* Remove NariMethodsFeature and related references

Deleted the NariMethodsFeature module and removed its usage from AdvancedBase and PuterJSFileSystemModule. This simplifies the codebase by eliminating unused or deprecated NARI method support.
2025-12-13 17:59:16 -08:00
Daniel Salazar 6652a1d332 fix: make cache calls async on boot (#2173) 2025-12-13 17:00:02 -08:00
Daniel Salazar 25221e539d fix: bad caching query crashing our db (#2172)
* logs: add errors to cache log

* logs: add errors to cache log

* fix: bad caching query crashing our db
2025-12-13 16:48:36 -08:00
Daniel Salazar 5c9a98a7a1 Ds/main (#2171)
* logs: add errors to cache log

* logs: add errors to cache log
2025-12-13 15:48:37 -08:00
Daniel Salazar d7b3ba3bb0 cd: make our deploy reliably wait for server to be ready (#2170)
* chore: continue removing extra logs

* cd: make our deploy reliably wait for server to be ready
2025-12-13 14:34:44 -08:00
Daniel Salazar e79f8a46f0 chore: add better logging to broadcast connections (#2169)
* fix: await fetching app cache on init

* chore: add better logging to broadcast connections
2025-12-13 14:07:25 -08:00
Daniel Salazar bbd5f52320 chore: continue removing extra logs (#2159)
* fix: await fetching app cache on init

* await for methods on boot now
2025-12-13 13:34:25 -08:00