KernelDeimos
6a129ba8cc
perf: skip quick_check for only one provider
...
The 'quick_check' increases the amount of time it takes to perform a
stat operation significantly proportional to the time it takes to do
a stat because an fsentry fetch occurs before a transient
memoization map is available for an operation.
2025-09-13 20:27:44 -04:00
915358cec4
build(deps-dev): bump rollup from 3.23.0 to 3.29.5 in /src/terminal ( #1553 )
...
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
Bumps [rollup](https://github.com/rollup/rollup ) from 3.23.0 to 3.29.5.
- [Release notes](https://github.com/rollup/rollup/releases )
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG-3.md )
- [Commits](https://github.com/rollup/rollup/compare/v3.23.0...v3.29.5 )
---
updated-dependencies:
- dependency-name: rollup
dependency-version: 3.29.5
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-13 16:01:23 -07:00
1f3e83a9a0
build(deps): bump path-to-regexp from 6.2.1 to 6.3.0 in /src/phoenix ( #1552 )
...
Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp ) from 6.2.1 to 6.3.0.
- [Release notes](https://github.com/pillarjs/path-to-regexp/releases )
- [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md )
- [Commits](https://github.com/pillarjs/path-to-regexp/compare/v6.2.1...v6.3.0 )
---
updated-dependencies:
- dependency-name: path-to-regexp
dependency-version: 6.3.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-13 13:48:24 -07:00
298cb83c48
build(deps): bump braces from 3.0.2 to 3.0.3 in /src/phoenix ( #1551 )
...
Bumps [braces](https://github.com/micromatch/braces ) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md )
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3 )
---
updated-dependencies:
- dependency-name: braces
dependency-version: 3.0.3
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-13 13:43:31 -07:00
d746d3ef55
build(deps): bump serialize-javascript and mocha in /src/phoenix ( #1550 )
...
Bumps [serialize-javascript](https://github.com/yahoo/serialize-javascript ) to 6.0.2 and updates ancestor dependency [mocha](https://github.com/mochajs/mocha ). These dependencies need to be updated together.
Updates `serialize-javascript` from 6.0.0 to 6.0.2
- [Release notes](https://github.com/yahoo/serialize-javascript/releases )
- [Commits](https://github.com/yahoo/serialize-javascript/compare/v6.0.0...v6.0.2 )
Updates `mocha` from 10.2.0 to 10.8.2
- [Release notes](https://github.com/mochajs/mocha/releases )
- [Changelog](https://github.com/mochajs/mocha/blob/main/CHANGELOG.md )
- [Commits](https://github.com/mochajs/mocha/compare/v10.2.0...v10.8.2 )
---
updated-dependencies:
- dependency-name: serialize-javascript
dependency-version: 6.0.2
dependency-type: indirect
- dependency-name: mocha
dependency-version: 10.8.2
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-13 13:38:43 -07:00
Nariman Jelveh
338ae161d7
closes #1545
2025-09-13 13:16:37 -07:00
ac9a42b8e2
Updating the Arabic (العربية) translation ( #1543 )
...
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
* the Arabic (العربية) translation of Puter is Completed
* Update ar.js
* updating the Arabic (العربية) translation of Puter
---------
Co-authored-by: jelveh <nj@puter.com >
2025-09-12 18:26:30 -07:00
KernelDeimos
e926738d64
perf: add some new keys to initial fetch
2025-09-12 19:40:26 -04:00
KernelDeimos
7bc03fe17c
perf: fix sequential kv gets for default apps
2025-09-12 19:33:43 -04:00
KernelDeimos
5d3863d473
style: user_preferences.default_apps
...
This snippet of code doesn't need to iterate over keys, it can iterate over
values instead. Also, this "let" can be a "const".
2025-09-12 19:23:24 -04:00
KernelDeimos
5119efaf79
Reapply "feat: support Gemini imagegen service"
...
This reverts commit 05071b4338 .
2025-09-12 19:16:58 -04:00
KernelDeimos
c40c138aa2
fix: I have no idea how I didn't catch this
...
Apparently this just never happens when I use Puter locally.
2025-09-12 19:09:41 -04:00
KernelDeimos
05071b4338
Revert "feat: support Gemini imagegen service"
...
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 reverts commit e13b008c79 .
This is being done temporarily to debug something else without
confounding variables.
2025-09-12 18:43:20 -04:00
ProgrammerIn-wonderland and Neal Shah
e13b008c79
feat: support Gemini imagegen service
2025-09-12 18:17:31 -04:00
KernelDeimos
b3e2b69c4d
perf: execution context memoization map for filesystem
...
This commit adds an object called ECMAP. This object is a transient
memoization store for use by FSNodeContext.
2025-09-12 18:13:41 -04:00
KernelDeimos
43a0be33ca
fix: selector handling from 8cfa0ece
...
For instances where svc_fs.node was called and explicitly passed a
NodePathSelector (instead of being passed a legacy-style object
with a path attribute) this code was failing. This commit moves the
affected code snippet after input coercion and updates references
to use the coerced input.
style: formatting changes were applied to the code. Instead of using
nested conditional blocks we use labelled breaks
2025-09-12 16:59:47 -04:00
KernelDeimos
c508189455
fix: missing condition in ownership check
...
Not sure when this went away, but we were always getting the
permission though the file path instead of ID/UUID from what it
looks like, which was hiding this problem.
2025-09-12 16:45:39 -04:00
KernelDeimos
b8354cc4a6
perf: always shortcut is-owner implicator
2025-09-12 15:26:09 -04:00
Nariman Jelveh
8cfa0ece15
Hit the cache under the user object when trying to resolve paths to system directories
2025-09-12 11:43:49 -07:00
Nariman Jelveh
a1eb954221
Short-circuit for apps accessing their own AppData directory.
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-11 22:03:27 -07:00
Nariman Jelveh
7511a1518c
Short-circuit the permission check for users accessing their own files
2025-09-11 21:41:42 -07:00
KernelDeimos
9582297547
perf: naive permission cache
...
Add a simple 20 second cache with kv.js to the scan_ method of
PermissionService. This will not improve the performance for
the permission system, but it will invoke it less often.
2025-09-11 22:37:09 -04:00
KernelDeimos
7dfb05f589
fix: try skipping any directory in extensions named gui
...
Putting the constants at the top of these files breaks things, but
skipping any directory named "gui" is probably safe.
2025-09-11 20:15:19 -04:00
Neal Shah and GitHub
acda7b73ef
New image models ( #1542 )
...
* Refactor OpenAIImageGenerationService to more easily support new models, add GPT-image-1
* set default image model to gpt-image-1
2025-09-11 20:00:22 -04:00
KernelDeimos
709f5444b2
fix: skip files with //!noprepend at the top
...
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 is a quick solution for javascript files that should not have Puter
extension code prepended to the top of them. We may want to do something
different in the future like skipping directories named "gui" or
following imports (we can only do that with ESM though) or actually
having a way to run ES modules in their own global context (which is
avaialble in node.js as vm.Module under an experimental flag, but there
is no way to use the default linker for imports in the module);
basically there's no good way to do this and it is very unfortunate.
2025-09-11 18:08:15 -04:00
Siddharthan P S and GitHub
76eb76c277
i18n(ta): complete missing Tamil translations in ta.js ( #1541 )
2025-09-11 12:12:42 -07:00
Md. Sabbir Ahmed and GitHub
ef16f904ce
dev: add missing bengali translations ( #1537 )
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-10 22:18:19 -07:00
8f928b1442
the Arabic (العربية) translation of Puter is Completed ( #1538 )
...
* the Arabic (العربية) translation of Puter is Completed
* Update ar.js
---------
Co-authored-by: jelveh <nj@puter.com >
2025-09-10 22:15:50 -07:00
f8edb1d31e
Adding missing Spanish translations ( #1536 )
...
* feat: adding missing Spanish translations. This fixes #1530
* fix: fixing typos
* remove the `Missing translations` comment
---------
Co-authored-by: RicMonster1 <147381654+RicMonster1@users.noreply.github.com >
Co-authored-by: jelveh <nj@puter.com >
2025-09-10 22:11:13 -07:00
Daniel Salazar and GitHub
63433880ec
Merge pull request #1497 from HeyPuter/DS/expireAt
...
feat: add expiry support to DBKV, and eslint config
2025-09-10 17:18:13 -07:00
ProgrammerIn-wonderland
b3191e3b5d
fix: Remove polluting logging in __all__.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-09-10 14:44:16 -04:00
Daniel Salazar
f8ea790824
feat: add expiry support to DBKV, and eslint config
2025-09-10 11:33:21 -07:00
Deepam Goyal and GitHub
3f746b94de
feat(i18n): add missing Hindi translations ( #1525 ) ( #1534 )
2025-09-10 09:33:03 -07:00
jelveh
7ff5786038
add missing keys and placeholders to i18n
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-09 20:27:58 -07:00
KernelDeimos
5a66bdeb20
Revert "sync: package-lock.json"
...
This reverts commit 281d9ebaae .
2025-09-09 22:37:12 -04:00
KernelDeimos
281d9ebaae
sync: package-lock.json
...
This got out of sync after the AWSSecretsPopulator commit, I think.
2025-09-09 22:31:01 -04:00
Nariman Jelveh
bb6bcd05c2
Remove unnecessary comment from some i18n files
2025-09-09 19:01:53 -07:00
fb04c55216
feat(UI): Differentiate tablet UI based on pointer capabilities ( #1482 )
...
* feat: Differentiate tablets by pointer type
Reclassifies tablets with a mouse/trackpad to use the desktop UI.
This is detected by checking for `(hover: hover)` media query capabilities. This ensures that touch-only tablets retain their original, touch-friendly mobile UI while fixing the bug for users with pointer devices.
* Make sure `matchMedia` exists before using it
---------
Co-authored-by: Nariman Jelveh <nj@puter.com >
2025-09-09 18:58:04 -07:00
Nariman Jelveh and GitHub
c59dbcfaa2
Revert "Refactor GeminiService for modularity, error handling, and readabilit…" ( #1496 )
...
This reverts commit 318ecb9f49 .
2025-09-09 18:00:43 -07:00
Imroz and GitHub
318ecb9f49
Refactor GeminiService for modularity, error handling, and readability ( #1438 )
2025-09-09 18:00:29 -07:00
Xiaochen Cui and GitHub
046e905857
captcha: complete the docs ( #1494 )
2025-09-09 17:49:38 -07:00
KernelDeimos
d198e26629
fix: oops, it's not puter.config here
...
abuse.js is not an extension, but I was treating it like an extension.
2025-09-09 19:09:39 -04:00
KernelDeimos
2ba6152c70
dev: add stack trace for database in jaegar
...
When using opentelemetry to analyze the system with jaegar, I found this
additional information helpful.
2025-09-09 19:05:33 -04:00
KernelDeimos
7d4c7bae20
dev: improve error message in UIDesktop
...
This error message in UIDesktop caused me confusion earlier because it
didn't provide any indication of where the error came from. This commit
adds a string behind the error to specify that it happened while trying
to launch an app.
2025-09-09 19:04:44 -04:00
KernelDeimos
6120515300
dev: allow passing JWT options to create_access_token
2025-09-09 19:04:12 -04:00
KernelDeimos
2954b6225b
fix: add undefined check for gui metadata
...
This commit adds an undefined check for metadata from Puter's desktop
GUI inside a filesystem operation frame; this information won't always
be available.
2025-09-09 19:03:01 -04:00
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