Commit Graph
4045 Commits
Author SHA1 Message Date
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 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 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 76eb76c277 i18n(ta): complete missing Tamil translations in ta.js (#1541) 2025-09-11 12:12:42 -07:00
Md. Sabbir Ahmed 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
shadow-tawandjelveh 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 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 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 eb6c23dd83 sync: package-lock.json
Previous commit to do this contained accidental other changes that I
staged and forgot about. This commit really only contains the sync for
package-json. This was broken for a while - since when we did work on
AWS secrets manager.
2025-09-09 22:37:36 -04: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
Tarun sainiandNariman Jelveh 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 c59dbcfaa2 Revert "Refactor GeminiService for modularity, error handling, and readabilit…" (#1496)
This reverts commit 318ecb9f49.
2025-09-09 18:00:43 -07:00
Imroz 318ecb9f49 Refactor GeminiService for modularity, error handling, and readability (#1438) 2025-09-09 18:00:29 -07:00
Xiaochen Cui 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
KernelDeimos b44278197e dry: query parameter makes more sense for /healthcheck 2025-09-09 13:32:08 -04:00
KernelDeimos 8242ade01b mon: add alternative to /healthcheck
Some monitoring services want a system to look like it's failing hard
instead of a system being able to report that it's failing successfully.
This commit adds an alternative to healthcheck that throws 500 when any
service is failing, as though reporting such depended on the services
working, to appease these monitoring services and their semantically
incorrect nature of operation.

This commit message sets the precedent for "mon:" as a conventional
commit style prefix for changes related to system health and monitoring.
2025-09-09 13:14:11 -04:00
KernelDeimos 48982cac84 perf(kernel): parallelize extension installation
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 optimization speends up load time for Puter significantly when many
extensions are present. This is also necessary for subsequent changes
which may require prepending code to all the source files inside an
extension, which would be too slow without this optimization.
2025-09-09 03:25:04 -04:00
KernelDeimos 6919974d66 dev: minlog is off by default for Archlinux
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
We can assume Arch users are comfortable with making configuration
changes and observing high volume log output (maybe not true for
alternative distributions of arch, but for base Arch absolutely) so it
probably makes sense to have the log minimizer off for these cases.
2025-09-08 21:37:46 -04:00
Nariman Jelveh c2bd222532 Create BUG-BOUNTY.md (#1483)
* Create BUG-BOUNTY.md

* Update BUG-BOUNTY.md
2025-09-08 18:38:40 -07:00
Zac0511 6904017183 Update fr.js (#1493)
Added missing translations from latest updates
2025-09-08 14:43:20 -07:00
ProgrammerIn-wonderland 72e66da8a1 fix: webdav MOVE/COPY escaping bug
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-08 11:45:51 -04:00
Nariman Jelveh bd818d86be Revert "Fix mac setup bug (#1449)" (#1492)
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 dfcf234d47.
2025-09-07 16:08:40 -07:00