Commit Graph

223 Commits

Author SHA1 Message Date
Miika Kuisma b593eb5630 Tests update 2026-04-29 16:45:09 +03:00
Nariman Jelveh 1cfdf79e05 GUI cleanup (#2842)
* Remove deprecated helper functions from helpers.js

* Remove Croppie library and references

* Remove bundled jQuery UI assets

* Remove vendored socket.io client files

* Remove lodash and replace with native utils

Replace common lodash usages with native JS alternatives: _.isEmpty -> null/empty checks via Object.keys, _.size -> Object.keys(...).length, _.uniqBy -> Map-based dedupe/spread. Remove bundled lodash file and its About/license entry. Updated files include UIDashboard.js, UIDesktop.js, UIWindow.js, launch_app.js, update_title_based_on_uploads.js, initgui.js, UITabAbout.js, and static-assets.js to reduce dependency and bundle size.
2026-04-24 21:52:47 -07:00
Miika Kuisma 2790879fc1 Dashboard Update (#2788)
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
Notify HeyPuter / notify (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
* Consistent header with files

* custom order with draggable app icons

* mobile style tweak

* Drag apps to sidebar

* uninstall

* Add desktop switch button to home tab
Drag sidebar apps order

* Display app storage use in Usage tab

* Add context menu options to apps: open in new tab, open in window

* Sidebar apps section with taskbar/dock behavior

* add close button to sidebar app item

* prevent dashboard files items from being selected when dragging

* File contextmenu shows filename
Keep dashboard URL when opening items

* Fixed issue with mobile selecting

* sidebar toggling

* sidebar tooltips

* done!

* Files tab statusbar width fix

* Consistent header with files

* custom order with draggable app icons

* mobile style tweak

* Drag apps to sidebar

* uninstall

* Add desktop switch button to home tab
Drag sidebar apps order

* Display app storage use in Usage tab

* Add context menu options to apps: open in new tab, open in window

* Sidebar apps section with taskbar/dock behavior

* add close button to sidebar app item

* prevent dashboard files items from being selected when dragging

* File contextmenu shows filename
Keep dashboard URL when opening items

* Fixed issue with mobile selecting

* sidebar toggling

* sidebar tooltips

* done!

* Files tab statusbar width fix

* Remove desktop switch button from Home tab

* App uninstall fix

* mobile style tweaks for dashboard sidebar

* Usage tab header fixes

* style tweaks

* Disable Uninstall for certain system apps

* Use app title in uninstall modal

* Remove delete-data option from uninstall modal

* Update dashboard.css

* Update TabApps.js

---------

Co-authored-by: jelveh <nj@puter.com>
2026-04-15 19:46:25 -07:00
Shruc 6f4ec8bd1e add replicate image provider (#2806)
* add replicate image

* docs replicate

* pkg lock

* maybe fix ci
2026-04-15 17:47:57 -04:00
Daniel Salazar 14f2da3206 cleanup: batcher to batch more appropriately (#2794)
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
Notify HeyPuter / notify (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
2026-04-10 00:27:14 -07:00
Daniel Salazar 2368b2bc8f fix: missing subdomains and worker flags in readdir (#2772)
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
Notify HeyPuter / notify (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
2026-04-06 11:08:03 -07:00
jelveh 2dd991700e Make esbuild platform dep optional; update lock
Move @esbuild/linux-x64 from dependencies to optionalDependencies in src/docs/package.json so the platform-specific esbuild binary is treated as optional. Update package-lock.json to reflect that change (adds platform-specific @esbuild entries, marks various packages as peer/optional, bumps @emnapi/wasi-threads to 1.2.1 and removes obsolete @emnapi core/runtime entries).
2026-04-05 15:32:06 -07:00
Daniel Salazar 95cbbc5de6 feat: enable singed uploads on oss and fix broken migration (#2765)
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
Notify HeyPuter / notify (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
* fix: proper shutdown

* feat: enable singed uploads on oss

* fix: s3 in oss

* fix: thumbnails in oss
2026-04-03 07:29:22 -07:00
Daniel Salazar 99d96edd9c feat: s3 fs in oss (#2761)
* feat: s3 fs in oss

* feat: new endpoints in OSS

* fix: name of fs extension

* perf: signed uploads

* fix: await socket events to align fs events

* fix: default bucket names

* fix: backend tests

* fix: deps

* fix: order
2026-04-02 11:20:59 -07:00
Daniel Salazar b3656fdaa1 fix: handle closing server nicer on shutdown signal (#2741)
* fix: handle closing server nicer on shutdown signal

* fix: bad check
2026-03-27 17:24:33 -07:00
Daniel Salazar b87f4988e1 fix: socket io sockets (#2696) 2026-03-19 14:32:20 -07:00
Daniel Salazar 5e2c7e0495 Revert "fix: tighten cors logic for socket io (#2688)" (#2694)
This reverts commit a94620de49.
2026-03-19 12:24:14 -07:00
Daniel Salazar a94620de49 fix: tighten cors logic for socket io (#2688)
* fix: tighten up cors for socket io

* fix: allow socket io to push to rooms in redis

* fix: various socket io issues to improve cross session stability
2026-03-19 12:08:24 -07:00
Daniel Salazar bb733e72c8 fix: websocket credentials (#2687)
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
Notify HeyPuter / notify (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
* fix: websocket syncing on redis

* fix: websocket syncing on redis
2026-03-18 16:09:05 -07:00
Eric Dubé 814791872f Manual package updates, npm audit --force, etc (#2669)
* chore: upgrade git-date (used for release notes generator)

* chore: update vitest, vitest plugins, and svgo

* chore: run `npm audit fix`

* chore: run `npm audit --force`

* meta: empty commit to run git tests

* fix: tests gone because of a... syntax error?

I question GitHub's judgement of handling a syntax error in the file
that defines tests to run on PRs by pretending everything is fine and
passing all PRs. That to me seems like the worst possible way to handle
that. I think they should have done it not like that.
2026-03-17 12:43:17 -07:00
Eric Dubé 0af0eb127e chore: update package-lock.json (#2667)
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
2026-03-16 08:56:34 -07:00
Daniel Salazar bba0533078 feat: checkName api for puter apps (#2643)
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
2026-03-11 00:23:35 -07:00
Daniel Salazar a861c3e27a chore: typeFixes (#2615)
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
2026-03-06 00:04:39 -08:00
Daniel Salazar ec412eaff6 feat: cleanup cache invalidation and pull out keys to be easily used in other places that need the same cache (#2515)
fix: tests
2026-02-19 15:07:04 -08:00
Het Savani 5cd731db3d feat(start-menu): add "Add to Desktop" option for all apps (#2386)
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
2026-02-11 21:59:14 -08:00
Daniel Salazar 91afa2c356 [PUT-471] feat: estimate and bill input for gemini imgaes :dev: (#2453)
* [PUT-471] feat: estimate and bill input for gemini imgaes :dev:

* [PUT-472] add input/output costs to openai image models too

* npm version bump

* remove second url log

* fix gemini pro image

---------

Co-authored-by: ProgrammerIn-wonderland <3838shah@gmail.com>
2026-02-10 12:52:33 -08:00
Neal Shah 262e31a6a6 Ns/service guard (#2440)
* add enforcer mechanism

* update better-sqlite3
2026-02-07 17:24:09 -08:00
Neal Shah 28cedec9de chat_completions tool call fixes (#2434)
* chat_completions tool call fixes

* update chat completions test
2026-02-06 15:10:27 -08:00
Daniel Salazar 0234e34b46 Reapply: reverted redis migration changes (#2403) 2026-02-03 11:25:28 -08:00
Daniel Salazar baceb05b48 Revert "feat: replace serializible caches with redis instead of kvjs 🚀 (#2381)"
This reverts commit 7a47047c0d.
2026-02-03 12:43:00 -05:00
Daniel Salazar 7a47047c0d feat: replace serializible caches with redis instead of kvjs 🚀 (#2381)
* wip: redis move

* fix: redis in extensions

* fix: bad isEMpty assignment

* fix: bad redis client config

* wip

* fix: redis keys cache

* fix: redis batch delete

* fix: change bulk cache times to allow for more instaces

* fix: broken tests
2026-02-03 02:18:31 -08:00
Neal Shah 22606f29b2 getAuthToken on node package (#2388) 2026-02-01 12:03:30 -08:00
Daniel Salazar cc5285f88a fix: only rate limit login when failed (#2355) 2026-01-27 18:24:05 -08:00
Daniel Salazar 6e9e5371c8 fix: batch fetch get apps for launch apps and recommended apps (#2315)
* wip: batch fetch get apps for launch apps and recommended apps

* fix: boot issues

* fix: bad refresh app cache

* tmp: remove test for now since can't mock db call
2026-01-21 18:17:15 -08:00
dependabot[bot] 237a96c706 chore(deps): bump qs and body-parser
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
Bumps [qs](https://github.com/ljharb/qs) and [body-parser](https://github.com/expressjs/body-parser). These dependencies needed to be updated together.

Updates `qs` from 6.13.0 to 6.14.1
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.13.0...v6.14.1)

Updates `body-parser` from 1.20.3 to 1.20.4
- [Release notes](https://github.com/expressjs/body-parser/releases)
- [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/body-parser/compare/1.20.3...1.20.4)

---
updated-dependencies:
- dependency-name: qs
  dependency-version: 6.14.1
  dependency-type: indirect
- dependency-name: body-parser
  dependency-version: 1.20.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-12 19:43:04 -05:00
Daniel Salazar f88ca5d4bd feat: kv.remove feature to remove nested elements or list indices (#2258)
* chore: update npm version

* feat: kv.remove feature to remove nested elements or list indices

* chore: update npm version
2026-01-09 15:10:02 -08:00
KernelDeimos 353f163f46 chore(backend): upgrade nodemailer 2026-01-09 17:54:38 -05:00
dependabot[bot] 53133e2623 chore(deps): bump qs and express
Bumps [qs](https://github.com/ljharb/qs) to 6.14.1 and updates ancestor dependency [express](https://github.com/expressjs/express). These dependencies need to be updated together.


Updates `qs` from 6.13.0 to 6.14.1
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.13.0...v6.14.1)

Updates `express` from 4.21.2 to 4.22.1
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/v4.22.1/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.21.2...v4.22.1)

---
updated-dependencies:
- dependency-name: qs
  dependency-version: 6.14.1
  dependency-type: indirect
- dependency-name: express
  dependency-version: 4.22.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-09 14:12:33 -05:00
dependabot[bot] 05a2c69d43 chore(deps): bump jws from 4.0.0 to 4.0.1
Bumps [jws](https://github.com/brianloveswords/node-jws) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/brianloveswords/node-jws/releases)
- [Changelog](https://github.com/auth0/node-jws/blob/master/CHANGELOG.md)
- [Commits](https://github.com/brianloveswords/node-jws/compare/v4.0.0...v4.0.1)

---
updated-dependencies:
- dependency-name: jws
  dependency-version: 4.0.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-07 16:23:04 -05:00
Daniel Salazar 91e12f6886 fix: don't load bench.js files (#2207)
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
* fix: autoloader grabbing bench.js files

* fix: errors failing

* fix: extension cache typ

* cache: app icons
2025-12-22 15:52:24 -08: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
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
Nariman Jelveh ae92233b95 Remove fat from puterjs (#2156)
* Refactor puter-js to remove putility and service layer

* Add fallback for IPC listener registration

* Remove TeePromise in favor of `createDeferred` pattern

* Update utils.js

* Bump version to 2.2.0 in package.json

* Remove model name normalization and driver mapping logic

Eliminated the code responsible for normalizing model names and mapping models to specific AI drivers. The default driver is now set to 'ai-chat', simplifying the model selection and driver assignment process.

* Simplify AIService selection logic in image generation

* Remove unused Together image model constants
2025-12-12 19:44:15 -08:00
jelveh 348e000863 Bump puter.js version to 2.1.15 and update metadata
Added a homepage field and specified the repository directory in package.json for improved project metadata.
2025-12-12 13:43:25 -08:00
Daniel Salazar 83eab0d6ac Revert "Revert: single ai image entry point (#2131)" (#2143)
This reverts commit 907d0db328.
2025-12-11 17:03:20 -08:00
Nariman Jelveh ef9f240a45 Remove terminal phoenix emulator (#2141)
* Remove terminal and phoenix built-in apps and emulator

This commit removes the terminal and phoenix built-in apps from the backend, database migrations, and permissions. It also deletes the entire emulator and phoenix/terminal app source directories, assets, and related configuration files. References to these apps in the backend module loader and router are removed, and related SQL migrations are updated to reflect their removal.

* Remove emulator references from SelfHostedModule

* Remove emulator integration and related references

* Remove parsers and pty modules

* Update package-lock.json
2025-12-11 16:53:21 -08:00
Nariman Jelveh 7524933ca1 Remove backend-core-0 and inline validation helpers (#2138)
Deleted the src/backend-core-0 package and moved its validation helpers directly into src/backend/src/validation.js. Updated references in CoreModule.js and helpers.js to use the new local validation module. Adjusted ESLint configs to remove backend-core-0 references.
2025-12-11 13:22:32 -08:00
Daniel Salazar 907d0db328 Revert: single ai image entry point (#2131)
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
* Revert "fix: together ai image prices (#2130)"

This reverts commit 04c8b06616.

* Revert "feat: single image ai endpoint (#2129)"

This reverts commit 161ca74aa3.
2025-12-11 00:56:06 -08:00
Daniel Salazar 161ca74aa3 feat: single image ai endpoint (#2129) 2025-12-10 23:29:11 -08:00
Daniel Salazar e2ae313589 feat: refactor ai to have single entry point and follow defined model structure (#2114)
* feat: refactor ai to have single entry point and follow defined model structure

* fix: missing openrouter registration

* fix: dedupe models

* feat: provide usage in stream mode 🚀
2025-12-09 15:59:21 -08:00
KernelDeimos 1d7a5b7c58 fix: downgrade opentelemetry so it works again
We weren't able to see any custom spans, only the builtin
instrumentations for node.js. This commit downgrades opentelemetry so
that we can see custom spans in tools like jaeger as before.
2025-12-09 17:30:52 -05:00
Daniel Salazar 6419d57d84 types: fix puter-js type exports (#2090)
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
* chore: add typedefs for puter.js

* types: fix puter-js type exports
2025-12-02 21:36:46 -08:00
Daniel Salazar 34134a2e35 chore: add typedefs for puter.js (#2086) 2025-12-02 13:04:26 -08:00
Daniel Salazar c77272012d ci: add test coverage (#2073)
* ci: add test coverage

* ci: add test coverage
2025-12-01 08:56:44 -08:00
Daniel Salazar d978c37e0b ci: package and docker fixes (#2072)
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
* ci: package and docker fixes

* ci: fix package conflicts
2025-12-01 02:10:36 -08:00