Commit Graph

4881 Commits

Author SHA1 Message Date
KernelDeimos e07d1ae4af dev(backend): limit thumbnail size from client
There was a configuration parameter for this but it isn't being used and
has the incorrect name in `config.js`. I decided to keep the old check
here anyway because having support to configure a lower size limit could
come in handy.

I set the limit to 2MiB through the following logic:
- largest icon size I've ever heard of is 512px
- 512*512*4 (4 color channels) is 1048576 (1MiB)
- increase to next MiB just to be safe
2026-01-09 16:36:47 -05:00
KernelDeimos b5ae9181f1 dev(puterjs): add thumbnail parameter to puter.js 2026-01-09 16:36:47 -05:00
KernelDeimos 645d60a84b dev(filesystem): add thumbnail parameter 2026-01-09 16:36:47 -05:00
Daniel Salazar 23d7b751b9 feat: new kvstore operatios for more granular updates 🚀 (#2254) 2026-01-09 12:20:54 -08: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
Nariman Jelveh 092d8fe632 Revert "doc: add README.md for GUI directory (#2021)" (#2253)
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
This reverts commit 8b324a8950.
2026-01-08 10:06:30 -08:00
SuryaGanesh284 8b324a8950 doc: add README.md for GUI directory (#2021)
Added README.md for the Puter GUI with details on structure, development, contributing, and resources.
2026-01-08 10:06:04 -08:00
Nariman Jelveh a0c2ac4d07 Add 'Open in AI' option to item context menus (#1974)
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
* Add 'Open in AI' option to item context menus

* Add new AI-related English translations
2026-01-07 22:49:31 -08:00
jelveh dade7a6cba Add preview images upload for app listings 2026-01-07 17:32:24 -08:00
Nariman Jelveh 3f934c5f16 Remove ComplainAboutVersionsService and related code (#2179)
Deleted the ComplainAboutVersionsService and its registration in SelfHostedModule, as well as cleaned up related service mappings in DriverService. This streamlines the codebase by removing the version complaint feature.
2026-01-07 16:55:55 -08:00
Eswar Venkata Ram Charan Seeram 77fc14b743 i18n(de): polish German translations & fix typos (Fixes #1532) (#2009)
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
* i18n(nn): fix typos & finalize translation cleanup

* i18n(de): polish German translations & fix typos (Fixes #1532)
2026-01-07 15:30:06 -08: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 b1e7bc5fca feat: method for updating users metering directly (#2252)
* chore: cleanup ts extensions controller

* feat: method for updating users metering directly
2026-01-07 12:53:00 -08:00
Het Savani e20daf276b Fix/explorer cursor grab on click (#2176)
* Fix sidebar cursor grabbing on click

* Final commit
2026-01-07 10:33:04 -08:00
Daniel Salazar 754e820403 fix: openrouter costs always being 0 (#2250) 2026-01-07 09:11:44 -08:00
Daniel Salazar 7f76bff3f3 fix: more strict metering limits, disable ambigious openrouter one (#2249)
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-01-06 23:57:03 -08:00
Daniel Salazar 2ef9aa3fb1 fix: add catch all for minimum usage amounts (#2248)
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
* ts: extension type updates

* fix: add catch all for minimum usage amounts
2026-01-06 23:09:29 -08:00
Reynaldi Chernando 2c84cd4cfa Remove flux schnell-free (#2243) 2026-01-06 22:39:01 -08:00
Daniel Salazar 93afbe4dd9 fix: ts extensions (#2247) 2026-01-06 18:03:38 -08:00
Daniel Salazar 1642431615 lint: hook for precommit (#2245) 2026-01-06 16:45:05 -08:00
Om vataliya 677426cbe7 fix: Enable godmode for dev-center to open worker files in editor (#2224)
Fixes #2218

The DEV Center was unable to open worker files in the text editor because
it lacked godmode permissions. The file_paths parameter in puter.ui.launchApp
requires the calling app to have godmode=1 in order to work.

Changes:
- Added database migration 0044_dev-center-godmode.sql to set godmode=1
  for the dev-center app (uid: app-0b37f054-07d4-4627-8765-11bd23e889d4)
- Updated SqliteDatabaseAccessService.js to include the new migration

This allows DEV Center to successfully pass file paths when launching the
editor app, fixing the issue where clicking on a worker file path resulted
in an empty editor window.
2026-01-06 16:19:29 -08:00
KernelDeimos a5bbc7e95b fix: issues creating shortcuts
There were two different things here:
- invalid requests have an ambiguous error message
- migration of PuterFSProvider to an extension caused an issue
  for shortcut creation in some flows

Closes #2200
2026-01-06 19:09:48 -05:00
KernelDeimos 0ecae43d2f clean: remove dead code in hl_mkdir
Remove a method in hl_mkdir which was determined to not be referred to
anywhere. hl_mkdir was re-tested to verify that this did not cause a
regression.
2026-01-06 19:09:48 -05:00
KernelDeimos d091b20b6a dev: improve error message for dest_does_not_exist
This error message was ambiguous for mkdir operations where a shortcut
target is specified for hl_mkdir. The message looks like it's referring
to the shortcut target but really it is referring to the parent
directory for the new directory that will be created.
2026-01-06 19:09:48 -05:00
KernelDeimos 630f76d8b4 test: add automated test for subdomain redirect
This merits a test because changes to how `puter.site` works in the
future could easily break this redirection, and maintaining this
redirect is important to us.
2026-01-06 18:31:39 -05:00
KernelDeimos 4d60168d2f feat!: implement redirect for hosting base domain
Redirect the subdomains `""` and `"www"` to a configurable URL, which is
by default `https://developer.puter.com/static-hosting/`.

This is potentially a breaking change for local instances that have a
subdomain called "www". Users hosting their own Puter may want to be
aware of this.

Closes #2214
2026-01-06 18:31:39 -05:00
Reynaldi Chernando 678363b0ba Init fix FS types (#2201)
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-01-06 10:18:01 -08:00
jelveh 7ef57d5052 Increase PENDING_QUERY_TTL to 10 seconds
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-01-05 12:50:34 -08:00
jelveh fa402f9785 Add gpt-5.1-codex-max support
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-01-03 21:28:09 -08:00
jelveh f9925c0337 Increase PENDING_QUERY_TTL to 5 seconds 2026-01-03 20:02:08 -08:00
jelveh 987effc5ec Revert "Remove debug logs and improve query coalescing timeout (#2241)"
This reverts commit 71bee556f6.
2026-01-03 19:34:30 -08:00
Nariman Jelveh 71bee556f6 Remove debug logs and improve query coalescing timeout (#2241)
Removed unnecessary console.log statements from PuterFSProvider.js and WebServerService.js. Increased PENDING_QUERY_TTL to 3 seconds and added a timeout mechanism for coalesced queries in get_app to prevent indefinite waiting.
2026-01-03 19:28:40 -08:00
Soumyabrata Bhattacharjee 363b798026 Update first-run-issues.md with dnf5 instructions (#2239)
* Update first-run-issues.md with dnf5 instructions

Add installation instructions for Development Tools on dnf5.

* Fixing the command to install it on Fedora 41+
2026-01-03 18:35:59 -08:00
Neal Shah f8997b7d75 Responses API support for OpenAI (#2226)
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
* Responses API support for OpenAI

* Fix toolcalling in Responses API
2026-01-01 16:25:57 +05:30
Daniel Salazar aafdec9b81 perf: make app entries more scalable, avoid writing global entries since its just puter itself and isn't relevant (#2233)
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
2025-12-30 19:26:46 -08:00
jelveh 58c8ec7f43 Increase auth popup height to 600px
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
2025-12-29 23:24:09 -08:00
jelveh 98d0c25ce8 Adjust auth popup size and style for embedded mode 2025-12-29 23:12:52 -08:00
jelveh 773b82638a Update helpers.js 2025-12-29 22:54:38 -08:00
jelveh 8b1bcfa601 Reduce PENDING_QUERY_TTL to 10 seconds 2025-12-29 22:45:33 -08:00
jelveh d7c56472c5 Add request coalescing to get_app with pending query cache
Introduces a TTL-based pending query cache to the get_app function to prevent duplicate database queries for the same app lookup. This change improves efficiency by coalescing concurrent requests for the same app and ensures only one database query is performed per unique lookup within the TTL window.
2025-12-29 20:37:26 -08:00
Daniel Salazar f3b5e1b03f fix: don't cache nor fetch raw b64 url for app icons (#2230)
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
2025-12-29 18:09:56 -08:00
Daniel Salazar 174e6130ee fix: cache get_app result with expiry to lessen load on db (#2229)
* fix: cache get_app result with expiry to lessen load on db

* fix: use EX instead
2025-12-29 16:38:57 -08:00
jelveh a4afc41a1c Remove global access route for cloud.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-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
2025-12-25 17:27:56 -08:00
Daniel Salazar 6cc86ff58b feat: support extension divs headers and tags being inserted to puter homepage load (#2221)
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
* feat: support extension divs headers and tags being inserted to puter homepage load

* wip: demo div

* fix: extension typing

* fix: extension typing

* feat: hompage gui add on
2025-12-24 13:48:36 -08:00
Reynaldi Chernando a32a16d306 Fix workers types (#2198)
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
2025-12-23 12:35:25 -08:00
Reynaldi Chernando eb23863b6e Fix apps types (#2197)
* Fix apps types

* Remove get overload
2025-12-23 12:34:58 -08:00
Reynaldi Chernando 99220b5b18 Add optional requestCallbacks options to getUser (#2186) 2025-12-23 12:34:41 -08: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
KernelDeimos f8bdcf8470 dev: [+] DataAccessModule > AppService > select()
This commit adds the DataAccessModule, which is where replacement
"flatter" implementations for what is currently implemented via
EntityStorage/OM will be developed.

This commit also adds AppService, which is where the `crud-q`
implementor for apps will be implemented.

This commit adds the `select()` implementation for AppService. Currently
it is missing many behaviors for parity with the current ES/OM
implementation including:
- coercion of boolean values
- nested objects and their properties
- `icon_size` parameter support
2025-12-22 17:13:07 -05:00
KernelDeimos 3c1a4cd31a dev: specify 'es:app' in puter.js apps module
The EntityStorage/OM mechanism for data access is being replaced.
Specifying 'es:app' in puter.js calls will allow the ES/OM mechanism and
its replacement to be tested together to check for regressions. When the
replacement is done, we can change 'es:app' to the new service name.
2025-12-22 16:08:35 -05:00