Commit Graph

4286 Commits

Author SHA1 Message Date
Nariman Jelveh
508ed920f6 Update globals.js (#1702) 2025-10-07 15:23:56 -07:00
Nariman Jelveh
b02e6c86b0 Update helpers.js (#1701) 2025-10-07 14:36:02 -07:00
Daniel Salazar
d9c64a9378 feat: manage permission for user to user and dev to app file sharing (#1567)
* perf: move user-user perm checks to flat kv entries

* feat: manage permission for user to user and dev to app file sharing

* fix typings cuz macos sucks

* fix: mac os typecase

* fix: chore macOs typecase

* fix: bad join of permissions

* feat: add check-permissions endpoint for checking an users perms

* Add 'manage' to permission lists in the Sharing dialog

* fix: manage being allowed through our ACL

---------

Co-authored-by: Nariman Jelveh <nj@puter.com>
2025-10-07 13:46:00 -07:00
Daniel Salazar
6d35496252 chore: publish npm (#1698)
* chore: bump puter-js version and publish

* chore: package-lock
2025-10-07 11:56:18 -07:00
Daniel Salazar
2a2a1f6a99 fix: backward compatibility for puter kv incr/decr (#1697) 2025-10-07 11:39:23 -07:00
KernelDeimos
44522f0a22 fix: remove verbose parameters log 2025-10-07 02:31:35 -04:00
Nariman Jelveh
70cde54f80 Update LogService.js 2025-10-06 22:16:53 -07:00
Nariman Jelveh
dfccbdccce Update LogService.js 2025-10-06 21:58:14 -07:00
Nariman Jelveh
84a28b9637 Sidepanel (#1694)
* add AI side panel to UIDesktop

* integrated `UIAIChat` component into `UIDesktop` for AI interactions.
* added styles for AI side panel, including buttons and chat message formatting in style.css, enhancing user experience with AI features.

* add support for window-based side panels

* remove window resizing logic that is simply broken

* whitelisting added

* Add `showWindow` and `hideWindow` methods to Puter.js
2025-10-06 18:40:44 -07:00
Daniel Salazar
e3f9455cae test: vitest tests for puter js (#1693) 2025-10-06 15:00:40 -07:00
Daniel Salazar
f06bec4cd4 feat: extract and centralize cost maps (#1691) 2025-10-06 14:52:09 -07:00
ProgrammerIn-wonderland
44fcb5800b fix: options.no_options_auth should be optional chained 2025-10-06 13:46:57 -04:00
KernelDeimos
a5fa16b7bb fix: preflight issue with protected endpoints
When /user-protected/change-password (and presumably other endpoints
under /user-protected) receive a preflight request they respond with
HTTP status 401. This is because `.use()` calls on the router apply to
all request methods erroneously.

This commit fixes the issue. Further investigation is required to
determine when preflight requests started happening on this endpoint.
2025-10-06 11:31:21 -04:00
Rajeshwar Singh
3120d6a057 feat(Translation): added support for Armenian and also added Bulgarian (Closes #1523) (#1676)
* feat(Translation): added support for Armenian and also added Bulgarian

* fixed

* add license header to bg.js

* Update package-lock.json

---------

Co-authored-by: jelveh <nj@puter.com>
2025-10-05 22:59:58 -07:00
ProgrammerIn-wonderland
82732b9e96 Safari fix for TLS connections in puter 2025-10-05 02:06:36 -04:00
Nariman Jelveh
5b09dbb1f5 Update UIDesktop.js (#1682) 2025-10-04 18:14:54 -07:00
Nariman Jelveh
4dae0d6370 I18n for sys dirs (#1679)
* improve UIItem and UIWindow to support internationalization for system directory names. Updated UIItem to display localized names for trash, desktop, home, documents, pictures, videos, and public directories. Modified UIWindow to set the window title using localized names for the desktop and home paths.

* refactor UIWindow to use i18n for system directory titles. Updated window title settings for desktop, documents, pictures, videos, public, and trash paths to use localized names, improving user experience across different languages.
2025-10-04 13:04:31 -07:00
Nariman Jelveh
2cedb05a8a add option to automatically set window title to opened file's name (#1678)
* add option to automatically set window title to opened file's name

A new checkbox in the app edit section to allow users to automatically set the window title to the name of the opened file. Updated related functions to handle this new setting, ensuring it is saved and reset correctly.

* Update launch_app.js
2025-10-04 12:13:57 -07:00
gulizar Elhalil
3d44609d80 Update ku.js (#1677)
* Update ku.js

translation has been added.

* Update ku.js

---------

Co-authored-by: Nariman Jelveh <nj@puter.com>
2025-10-04 11:24:04 -07:00
KernelDeimos
74430da673 style: small change to test deploy
Arbitrary whitespace change just to test something.
2025-10-03 21:36:44 -04:00
Eric Dubé
4eaba05136 chore: update package-lock.json with npm v11.6.1
* try: update package-lock.json from Linux/x86 on 11.6.1

* darwin

* darwing

* dev: try updating rollup

* try: npm 11.6.1 delete package-lock.json and run `npm i`

* push darwin pacakge lock

* sync: package-lock.json with npm 11.6.1

---------

Co-authored-by: Daniel Salazar <daniel.salazar@puter.com>
2025-10-03 20:18:13 -04:00
Nariman Jelveh
db66fecadf Update style.css (#1671) 2025-10-03 16:24:44 -07:00
Nariman Jelveh
44bc7b7437 Replace "Save As..." with i18n('Save As…') (#1670) 2025-10-03 15:54:43 -07:00
Nariman Jelveh
cc8a658122 Update UI.js (#1668) 2025-10-03 14:59:23 -07:00
KernelDeimos
39fdcec9bf fix: add missing utilities.js 2025-10-03 17:12:41 -04:00
KernelDeimos
9c5b96305a example(extensions): [+] example-kv 2025-10-03 16:53:23 -04:00
KernelDeimos
9ff59d9290 fix: system actor for extension lifecycle events
Using services such as `kv` which expect an actor in context would not
work in a handler for a lifecycle event such as `'init`' in an
extension. In core backend modules is it generally expected that if a
user actor is not in context a backend service will explicitly specify
that the system actor should be used with the `su` service's `sudo`
method. We cannot require extension developers to add this wrapping code
whenever they want to use kv.

In the future it might be better to have a specific "ExtensionActorType"
for this purpose.
2025-10-03 16:53:23 -04:00
ProgrammerIn-wonderland
f60e02565f add conditional type overload for streaming 2025-10-03 16:38:44 -04:00
Kishan_Singh
1affbb4cc8 fix: support async iterator for AI chat streaming mode in types 2025-10-03 16:38:44 -04:00
Hariz
4eab7167e6 Disable browser context menu on launcher popover (#1648)
* Disable browser context menu on launcher popover

* Allow system context menu on launch search bar

* Remove extraneous debug log
2025-10-02 20:40:42 -07:00
Daniel Salazar
4a1aee0713 fix: increment for non-existent keys (#1649) 2025-10-02 15:51:56 -07:00
KernelDeimos
36b30ebf57 dev(extensions): [+] extension-examples:ii:hello-world 2025-10-02 18:35:20 -04:00
KernelDeimos
aef8227454 doc(extensions): data import 2025-10-02 17:00:51 -04:00
KernelDeimos
54b8990c70 devex(extensions): simplify kv get and set methods
The basic `.get()` and `.set()` calls should be the same between
persistent key-value store (puter-kvstore) and in-memory cache (kv.js).
This commit wraps these methods to support the "shorthand" usage.
2025-10-02 16:53:59 -04:00
KernelDeimos
b9f42f6daa fix: PayloadTooLargeError for JSON + base64 images
The `/drivers/call` endpoint hangs when the JSON middleware produces
(or, is going to produce?) a PayloadTooLargeError. Increasing the limit
avoids this issue for typical use.
2025-10-02 15:41:09 -04:00
Dan Tran
a17ab22ab7 feat: Add missing Vietnamese translations (#1641) 2025-10-02 10:18:43 -07:00
Daniel Salazar
cc3b0db6b1 feat: initial metering service supporting monthly tracking of service consumption (#1630) 2025-10-01 14:04:36 -07:00
KernelDeimos
36ddad0ecc lint: add config global to extensions 2025-10-01 16:58:46 -04:00
KernelDeimos
7137d1a178 doc: permission grant in extension drivers 2025-10-01 16:57:44 -04:00
KernelDeimos
bfffdfdc36 doc(extensions): exports not front-and-center
The extension documentation mentions imports and exports together very
early on, but extension exports should be used sparingly. I suspect most
extensions with exports will be among Puter's builtin extensions.
2025-10-01 16:47:56 -04:00
KernelDeimos
9946d2ffc5 dev(extensions): event for extensions to grant permst 2025-10-01 16:46:59 -04:00
KernelDeimos
574088ea55 doc: improve extension documentation
- describe extension events
- link drivers documentation
2025-10-01 16:03:24 -04:00
KernelDeimos
ec8111cc2f dev(extensions): improved configuration support
Extensions now read configuration objects under the "extensions" block
in the backend configuration. Additionally, a `config.json` for default
values directly in the extension's directory is now supported.
2025-10-01 15:29:13 -04:00
Yukirin
94c0490f34 Update id.js (#1638)
Added missing translations and re-translated some of existing translations
2025-10-01 10:46:43 -07:00
KernelDeimos
887536b811 fix: cleanup EngPortalService commands
- removes commands from EngPortalService that were previously moved to
  ParameterService
- renames `eng:test` to `eng:list-operations`

Closes #1624
2025-10-01 13:17:04 -04:00
Daniel Salazar
5b3bc9ddf4 fix: permission batch get (#1637) 2025-09-30 20:17:01 -07:00
biranzegelman97
916f419e0f added missing hebrew translations + fixed some existing translation + changed he.js export variable from en to he (#1634)
* added missing hebrew translations + fixed some existing translation + changed he.js export variable from en to he

* remove "Missing translations" comment?

---------

Co-authored-by: Nariman Jelveh <nj@puter.com>
2025-09-30 19:16:35 -07:00
Hariz
62f5cc54cf Fix bug with context menu positioning on page load (#1636)
* Fix bug with context menu positioning on page load

* Fix double context menu bug on mobile
2025-09-30 18:58:54 -07:00
Nariman Jelveh
6ee60f9c13 Closes #629 2025-09-30 18:27:33 -07:00
Hariz
6429dcf15e Add 'Set as Desktop Background' context menu item to images (#1635)
* Add 'Set as Desktop Background' context menu item

* Use the `mime` library to detect images in the `UIItem` context menu

---------

Co-authored-by: Nariman Jelveh <nj@puter.com>
2025-09-30 18:06:09 -07:00