Neal Shah and GitHub
28cedec9de
chat_completions tool call fixes ( #2434 )
...
* chat_completions tool call fixes
* update chat completions test
2026-02-06 15:10:27 -08:00
Sanjeev and GitHub
06fe07e384
fix: auto-collapse playground menu on mobile ( #2430 ) ( #2431 )
...
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
* fix: auto-collapse playground menu on mobile (#2430 )
* style: remove unused code reference after review
2026-02-07 01:30:19 +07:00
Reynaldi Chernando and GitHub
10e1999304
Update puter-js readme for getAuthToken ( #2417 )
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-06 17:49:30 +07:00
Daniel Salazar and GitHub
fbb2080a66
fix: don't use ai aggregators if we have the model ourselves ( #2424 )
...
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
* cleanup: eslint changes
* fix: don't use ai aggregators if we have the model ourselves
2026-02-05 16:30:45 -08:00
Daniel Salazar and GitHub
5fdfae6087
fix: usage limited error handling ( #2423 )
2026-02-05 15:15:27 -08:00
Reynaldi Chernando and GitHub
da0907d3c5
Document getAuthToken for web based login ( #2418 )
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-06 01:59:39 +07:00
Neal Shah and GitHub
15bd2ec5ac
opus 4.6 fix billing ( #2422 )
2026-02-05 10:21:09 -08:00
Neal Shah and GitHub
e3db664690
Ns/opus 4.6 ( #2420 )
...
* add opus 4.6
* remove log from webserver service
2026-02-05 10:08:52 -08:00
Neal Shah and GitHub
f8f134412f
web-cdn-test ( #2414 )
...
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
* web-cdn-test
* fix tests
2026-02-04 16:29:27 -08:00
Daniel Salazar and GitHub
e9d0bdf19b
feat: add alerting for usage abuse ( #2413 )
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-04 13:08:18 -08:00
KernelDeimos
b8bdc16a03
fix: move readdir-subdomains to ESM
...
This also causes the filename to have the extension `.mjs` instead of
`.js`, as well as an await added in FilesystemAPIService. Luckily
lifecycle events are async so this didn't cause any problems.
I add this change somewhat reluctantly because this _should_ be a
non-functional change. Technically adding the `await` in
FilesystemAPIService makes it possible (albiet incredibly unlikely) for
some subtle bug or change in behavior to be introduced.
2026-02-04 14:13:43 -05:00
KernelDeimos
acb5fa512c
clean: log removal and formatting changes
2026-02-04 14:13:43 -05:00
KernelDeimos
13fc737ca0
clean: remove debug logs added to /readdir-subdomains
2026-02-04 14:13:43 -05:00
KernelDeimos
1cda9b7ba8
dev: implement GUI behavior to fetch subdomains later
...
This change makes GUI invoke readdir without fetching subdomains, and
then fetch subdomains after. This allows displaying the directory items
sooner and then later populating the icons with glyphs to indicate if
there is an associated subdomain.
This was AI-assisted with manual modifications and bug fixes as
necessary.
2026-02-04 14:13:43 -05:00
KernelDeimos
0a694154b1
dev: add /readdir-subdomains endpoint
...
This endpoint can be called to get subdomain information after
performing a readdir without fetching subdomains.
This was AI-assisted with modifications and bug fixes as necessary.
2026-02-04 14:13:43 -05:00
KernelDeimos
d94e3f45ac
dev: add readdirSubdomains
2026-02-04 14:13:43 -05:00
KernelDeimos
a4088023a3
dev: add parameter to exclude fetching subdomains
...
This parameter will allow readdir requests to not include subdomain
fetching, which will allow for the later effort of fetching subdomains
for directory listings in the gui with a separate request.
2026-02-04 14:13:43 -05:00
Daniel Salazar and GitHub
eead0fdfa9
fix: redis cache for user ( #2409 )
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-03 17:47:43 -08:00
KernelDeimos
5433dde6d7
dev(extensions): [+] dev-socket
...
This extensions brings back the dev-socket functionality, which is
really important when testing things like broadcast, alarms, events, etc
; it saves a lot of time if you can invoke a command directly to the
backend.
This is an optional extension that will not be included in production
deployments. This is for development purposes only.
2026-02-03 19:39:07 -05:00
KernelDeimos
de7fbced6b
log: add debug logs for BroadcastService
...
These will be more important now that we're changing the transport for
broadcast messages between instances from websockets to webhooks.
2026-02-03 19:39:07 -05:00
KernelDeimos
3a7314d119
dev(backend): add send support for webhook broadcast
...
This still needs to be tested. I was going to test this using the `test`
command registered by BroadcastService that exists for this purpose but
`dev.sock` doesn't seem to be working anymore.
Why wasn't `dev.sock` working? Well... we deleted all the code that
makes it work. Why did we delete it? That question isn't a setup for my
next statement; I genuinely do not know. The whole point of dev.sock was
so we could remove the dev console but still maintain support for this
commandline interface that's absolutely needed for testing things that
aren't accesible directly from Puter's GUI.
2026-02-03 19:39:07 -05:00
KernelDeimos
a40ec79d66
dev(tools): script to manually test broadcast webhooks
...
This tool makes it possible to manually test webhook support in
BroadcastService without running multiple Puter instances. This helps to
verify the functionality without setting up multiple Puter peers
locally.
2026-02-03 19:39:07 -05:00
KernelDeimos
47432853c4
dev(backend): add broadcast webhook endpoint
...
This commit adds the "receive" side of webhook support for
BroadcastService, which will eventually make broadcasting stateless and
not requiring of persistent connections.
Some specific considerations taken into account include:
- incremental nonce to prevent replay attacks
- request timestamp to prevent nonce-reuse after restarting
- HMAC signature to ensure authorized peer
Known limitations:
- if instances run indefinitely, eventually the nonce value would wrap
around to zero and broadcasts would stop working. It is assumed that
9 quintillion requests in the lifetime of an instance is reasonably
impossible.
2026-02-03 19:39:07 -05:00
Daniel Salazar and GitHub
e938d5183a
fix: limit open router expensive models for now ( #2407 )
...
* fix: limit open router expensive models for now
* fix: import extension
2026-02-03 14:43:15 -08:00
Neal Shah and GitHub
665aee735b
dav.puter.com CORS headers ( #2406 )
...
* webdav cors stuff
* if OPTIONS request just let it through
2026-02-03 14:13:42 -08:00
KernelDeimos
cbde123aa1
fix(backend): undo part of 35461a0
...
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
It turns out this part of `35461a0` was not necessary to fix this issue,
and the code is still more correct if it falls true when the token's
authorizor has a permission granted.
2026-02-03 15:46:30 -05:00
KernelDeimos
8cd0a7f76b
dev(backend): clear cache when revoking tokens
2026-02-03 15:46:30 -05:00
KernelDeimos
5fd1e9b6a6
dev(puter.js): add revokeReadURL
2026-02-03 15:46:30 -05:00
KernelDeimos
3ffe8eaf30
dev(backend): add revoke_access_token endpoint
2026-02-03 15:46:30 -05:00
Daniel Salazar and GitHub
0234e34b46
Reapply: reverted redis migration changes ( #2403 )
2026-02-03 11:25:28 -08:00
Daniel Salazar and Eric Dubé
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 and Eric Dubé
a4b90083e0
Revert "fix: missing redis changes ( #2401 )"
...
This reverts commit 07a389798d .
2026-02-03 12:43:00 -05:00
Daniel Salazar and GitHub
07a389798d
fix: missing redis changes ( #2401 )
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-03 02:55:44 -08:00
Daniel Salazar and GitHub
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
KernelDeimos
5250671b01
fix: range headers in file.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
Range header support was mostly incorrect, which brought to surface
undefined behavior in OnlyOffice which resulted in a request hanging.
This was the cause of the `pdf-editor` app hanging for a while when
opening it with a new file.
2026-02-02 20:08:02 -05:00
Daniel Salazar and GitHub
e2e4794bbc
fix: alerting for metering ( #2399 )
2026-02-02 15:38:45 -08:00
Neal Shah and GitHub
fa76c21300
WebDAV post migration fixes ( #2398 )
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-02 11:48:16 -08:00
jelveh
7aedeae991
Pass redirect_url to UIWindowSessionList
2026-02-02 09:24:21 -08:00
Neal Shah and GitHub
bf233c8fe0
Add X-EXPECTED-ENTITY-LENGTH for HTTP/2 connections on webdav for predictive file length ( #2396 )
2026-02-02 07:52:56 -08:00
Neal Shah and GitHub
3d34b36159
Add more coersions to responses toolcalling support ( #2395 )
2026-02-02 07:45:56 -08:00
jelveh
6bd64808df
Add redirect_url handling and adjust auth flow
...
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
Set and propagate a redirect_url for auth flows and use it when navigating after login/signup to avoid leaking sensitive data.
2026-02-02 00:16:35 -08:00
Neal Shah and GitHub
7cce0705d3
Add back worker redeploy notification ( #2394 )
2026-02-01 21:57:23 -08:00
Daniel Salazar and GitHub
afbb76f95f
fix: ai metering ( #2393 )
...
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: expose getUserService in extension typings
* fix: ai metering
2026-02-01 18:14:14 -08:00
Nariman Jelveh
b15b466d36
Update TabAccount.js
2026-02-01 17:48:57 -08:00
Neal Shah and GitHub
5216cccbce
More Anthropic tool calling coercions ( #2392 )
2026-02-01 17:29:22 -08:00
Neal Shah and GitHub
9e9a7b4dcf
Fix tests for ChatAPIService ( #2391 )
...
* Fix tests for chatapiservice
* Anthropic Claude Provider fixes for toolcalling in OpenAI completions compatible service
2026-02-01 17:04:16 -08:00
Neal Shah and GitHub
3a0f466ef6
OpenAI chat interface API concept ( #2390 )
2026-02-01 15:46:23 -08:00
Nariman Jelveh
6fbe83d982
Show cancelled state in auth window
...
When the user clicks Cancel in the authorization window, the code now disables action buttons and replaces the window body with a cancellation UI (header with icon, title, description and a message). Added corresponding English i18n keys (authorization_cancelled, authorization_cancelled_desc, authorization_cancelled_message) to provide localized text for the new cancelled state.
2026-02-01 15:34:02 -08:00
Neal Shah and GitHub
be290e2d3c
fix typo gemini service ( #2389 )
2026-02-01 14:24:48 -08:00
Nariman Jelveh
a92bbc4ec2
Disable dragging for AuthMe window
2026-02-01 13:43:46 -08:00