KernelDeimos
42abfcc5e7
perf: huh, right... not sure how I missed that
...
These two async operations depend on fetchEntry, but they do not
depend on each other; they can be run in parallel.
2025-09-14 20:40:18 -04:00
KernelDeimos
27ab23e7b1
fix: read 'push' of undefined
2025-09-14 19:01:59 -04:00
KernelDeimos
f3fdfea65b
perf: add 30 second app cache
...
There used to be an app cache here that would be invalidated but I
think this may have been removed because the invalidation logic
was causing issues. A 30 second cache seems reasonable though, so
let's do that for now.
2025-09-14 19:01:59 -04:00
KernelDeimos
733b6a653e
perf: further readdir improvements
2025-09-14 19:01:59 -04:00
Aryan Arlikar
9820794470
Translate and improve emojis ( #1557 )
...
* chore(i18n/emoji): improve clarity of confirmation and name validation emojis
* chore(i18n/emoji): improve clarity of confirmation and name validation emojis
2025-09-14 12:45:54 -07:00
Watson
4c5032ff47
Update ko.js with full Korean translations ( #1558 )
...
* Update ko.js with full Korean translations
* fix: update 'public' translation from '공개' (open) to '공용' (shared) for clarity
2025-09-14 11:22:24 -07:00
Webb321
cab3d130c7
fix: add Chinese transaltions ( #1559 )
...
* fix: add Chinese transaltions
* fix: formatting
---------
Co-authored-by: Nariman Jelveh <nj@puter.com >
2025-09-14 10:55:41 -07:00
KernelDeimos
094dd183b2
fix: event multiplication introduced in ebf4d7
2025-09-13 22:41:09 -04:00
KernelDeimos
7872fd58ed
perf: optimize extension loader
...
Parallelize as much as possible, and avoid reading data from the
package.json when the file was generated by the extension loader
in the first place.
2025-09-13 22:41:09 -04:00
KernelDeimos
7730877c91
dev: add extension initialization priority
2025-09-13 22:41:09 -04:00
KernelDeimos
55c53d9eee
dev: extension registry and lifecycle
...
Adds `register`, `registry`, `preinit`, and related symbols to the
available extension globals.
2025-09-13 22:41:09 -04:00
KernelDeimos
9135632129
dev: add support for ES6 Module extensions
...
Previously ES6 Module extensions would only work on versions of node
with --experimental-require-module enabled by default, and provided the
entry file had no top-level await. This commit uses "await import"
conditionally if the "type" in package.json is set to "module".
2025-09-13 22:41:09 -04:00
Daniel Salazar
0608958117
Merge pull request #1555 from HeyPuter/DS/main
...
fix: br.js transaltions
2025-09-13 18:14:25 -07:00
Daniel Salazar
6b05c90a21
fix: br.js transaltions
2025-09-13 18:12:57 -07:00
Daniel Salazar
740fef2306
Merge pull request #1484 from HeyPuter/DS/main
...
feat: logging for queries in puter js
2025-09-13 18:12:31 -07:00
Daniel Salazar
5569af8961
Merge branch 'main' into DS/main
2025-09-13 18:10:08 -07:00
AlfreThiago
07f97deab5
Adding missing translations for Brazilian Portuguese. ( #1554 )
...
* Feat: Adding missing translations for Brazilian Portuguese. Fixes #1500
* Corrections in brazilian translation
* Clean up translation file by removing comments
Removed comments indicating missing translations in br.js.
---------
Co-authored-by: Nariman Jelveh <nj@puter.com >
2025-09-13 17:30:41 -07:00
KernelDeimos
a5882889dd
perf: make stat really fast
2025-09-13 20:27:44 -04:00
KernelDeimos
c70434d947
perf: avoid reduntant fetches due to concurrency
...
Sometimes the same fs entry is fetched multiple times concurrently
because of parallel methods with separation of concerns.
After this commit, only one parallel fetch will go through and the
others will wait for it. Subsequent fetches will not occur is the
data that was needed is already there.
2025-09-13 20:27:44 -04:00
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
dependabot[bot]
915358cec4
build(deps-dev): bump rollup from 3.23.0 to 3.29.5 in /src/terminal ( #1553 )
...
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
dependabot[bot]
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
Nariman Jelveh
1c64aee87e
Update package-lock.json
2025-09-13 13:45:49 -07:00
dependabot[bot]
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
dependabot[bot]
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
dependabot[bot]
7e1a3c9ac7
build(deps): bump get-func-name from 2.0.0 to 2.0.2 in /tools/api-tester ( #1549 )
...
Bumps [get-func-name](https://github.com/chaijs/get-func-name ) from 2.0.0 to 2.0.2.
- [Release notes](https://github.com/chaijs/get-func-name/releases )
- [Commits](https://github.com/chaijs/get-func-name/commits/v2.0.2 )
---
updated-dependencies:
- dependency-name: get-func-name
dependency-version: 2.0.2
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:30:47 -07:00
dependabot[bot]
a38d8db965
build(deps): bump axios from 1.4.0 to 1.12.0 in /tools/api-tester ( #1548 )
...
Bumps [axios](https://github.com/axios/axios ) from 1.4.0 to 1.12.0.
- [Release notes](https://github.com/axios/axios/releases )
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md )
- [Commits](https://github.com/axios/axios/compare/v1.4.0...v1.12.0 )
---
updated-dependencies:
- dependency-name: axios
dependency-version: 1.12.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-13 13:28:13 -07:00
dependabot[bot]
3c2639403c
build(deps): bump form-data from 4.0.0 to 4.0.4 in /tools/api-tester ( #1547 )
...
Bumps [form-data](https://github.com/form-data/form-data ) from 4.0.0 to 4.0.4.
- [Release notes](https://github.com/form-data/form-data/releases )
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md )
- [Commits](https://github.com/form-data/form-data/compare/v4.0.0...v4.0.4 )
---
updated-dependencies:
- dependency-name: form-data
dependency-version: 4.0.4
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:26:11 -07:00
Nariman Jelveh
a582c0ee38
Update package-lock.json
2025-09-13 13:19:58 -07:00
Nariman Jelveh
8392396b1b
Update Axios
2025-09-13 13:18:01 -07:00
Nariman Jelveh
338ae161d7
closes #1545
2025-09-13 13:16:37 -07:00
shadow-taw
ac9a42b8e2
Updating the Arabic (العربية) translation ( #1543 )
...
* 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"
...
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
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.
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
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
...
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