Daniel Salazar
e75ccb0a41
feat: root level kv accesses, and installed app listing + server health check fix ( #2719 )
...
* feat: root level kv accesses, and installed app listing
* fix: revert server health check
2026-03-24 19:18:42 -07:00
ProgrammerIn-wonderland
c52fa351a5
WIP openai responses support ( #2715 )
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-03-24 06:12:13 -04:00
iamsrishanth
4fe255347a
feat: Add Anthropic Messages API compatibility layer ( #2704 )
...
* feat: add Anthropic Messages API compatibility layer
Add a new endpoint at /puterai/anthropic/v1/messages that implements the
Anthropic Messages API wire format, allowing clients using the Anthropic
SDK to point directly at Puter.
- New router translates between Anthropic format and Puter's internal
svcAiChat.complete() pipeline
- Supports non-streaming, SSE streaming (proper Anthropic event sequence),
and tool use round-trips
- Translates system field, tool definitions (input_schema -> parameters),
and tool_result content blocks
- Integration tests covering non-streaming, streaming, tool use,
Anthropic SDK compatibility, and system parameter
Closes #2554
* Fix authentication middleware
---------
Co-authored-by: ProgrammerIn-wonderland <30693865+ProgrammerIn-wonderland@users.noreply.github.com >
2026-03-24 06:08:25 -04:00
Shruc
bed84cad76
refactor ai video gen ( #2711 )
...
* refactor ai video generation into one service
* use old duration and dimension keys
* use costoverride billing like the others
2026-03-24 05:42:52 -04:00
Daniel Salazar
76f5a26d84
fix: issue with tokens not being received by puter app ( #2713 )
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-03-23 17:37:54 -07:00
Daniel Salazar
931507e74e
chore: remove dead code and docs ( #2705 )
...
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
* chore: remove dead code and docs
* fix: healthService caching
2026-03-22 23:58:02 -07:00
Dailin
3451bab09f
docs: add ai-voice-changer playground example ( #2708 )
2026-03-23 13:23:30 +07:00
jelveh
34bf2799b6
Fix App Store links and remove install stub
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-03-22 16:29:13 -07:00
jelveh
c99e23d737
change default credits
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-03-21 20:17:01 -07:00
jelveh
a4be42a390
Exclude login/signup from temp user creation
...
Prevent creating temporary users on unauthenticated first visits when the current action is the login or signup flow. The initgui else-if was expanded to include explicit checks for action !== 'login' and action !== 'signup', avoiding interference with explicit authentication routes and Turnstile challenges.
2026-03-21 19:15:01 -07:00
jelveh
f89079f907
Fix login form layout and window options
2026-03-21 18:39:38 -07:00
jelveh
c434af7c71
Center auth forms; add Google icon; set cover_page
2026-03-21 18:14:46 -07:00
jelveh
e6726a1a94
Add peer icon and update sidebar reference
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
2026-03-21 11:42:42 -07:00
Vusal Huseynov
c31d665fff
docs: fix 404 in CreateAppResult documentation due to case sensitivity ( #2702 )
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
2026-03-20 22:15:09 +07:00
Nandini Kashyap
f9511e42a4
Fix double slash in canonical URL ( #2690 )
2026-03-20 21:21:09 +07:00
Daniel Salazar
b526c08ffe
fix: ws double messages ( #2700 )
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-03-19 20:56:04 -07:00
Nariman Jelveh
ba1f9669d2
Peer docs ( #2699 )
2026-03-19 20:11:18 -07:00
jelveh
4a4a92ccaf
Simplify plan name localization in dashboard
...
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
Use a single expression to derive the plan key (offering.name or 'free') and pass it to i18n when updating .bento-plan-name. This removes the previous ternary and duplicates, allowing dynamic offering names to be localized consistently.
2026-03-19 18:28:42 -07:00
jelveh
a6b18ff844
Add basic/professional/business/free translations
...
Add missing English translations for plan tiers (free, basic, professional, business) to src/gui/src/i18n/translations/en.js and perform a minor formatting cleanup near billing messages to ensure keys are available for UI display.
2026-03-19 18:23:25 -07:00
jelveh
815b0424a3
Use subscription.offering.name for plan display
...
Update TabHome to read the plan name from subscription.offering.name instead of subscription.plan_name. This adapts to the updated subscription object shape while keeping the fallback to the 'pro' translation and the 'free' label when no active subscription exists.
2026-03-19 17:16:50 -07:00
Charlie Tonneslan
3628cf4909
fix(gui): account for iOS safe area inset on taskbar/dock ( #2682 )
...
The taskbar uses position:fixed with bottom:5px, which gets hidden
behind the iOS Safari bottom toolbar on devices with home indicators.
Use env(safe-area-inset-bottom) to push the dock above the safe area.
The viewport-fit=cover meta tag is already present in initgui.js.
Fixes #2517
2026-03-19 16:56:43 -07:00
Daniel Salazar
ee3a3e79f2
chore: decrease uneeded logging ( #2697 )
2026-03-19 15:28:24 -07:00
Daniel Salazar
b87f4988e1
fix: socket io sockets ( #2696 )
2026-03-19 14:32:20 -07:00
Daniel Salazar
c2e77d3503
fix: broadcast pubsub + cleanup old code ( #2695 )
2026-03-19 13:13:01 -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
ProgrammerIn-wonderland
ff126d12b1
turn metering support ( #2689 )
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-03-18 23:26:00 -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
ProgrammerIn-wonderland
4fb0977105
Change turn customIdentifier fully ( #2685 )
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-03-18 00:36:55 -07:00
ProgrammerIn-wonderland
6a8be1505d
change turn customIdentifier seperator ( #2684 )
2026-03-17 23:59:57 -07:00
ProgrammerIn-wonderland
817c30739b
change capitalization of inviteCode ( #2683 )
2026-03-17 23:40:38 -07:00
velzie
8d38e07e98
feat: add puter.peer to sdk, create PeerService in backend ( #2664 )
...
* feat: add puter.peer to sdk, create PeerService in backend
* cloudflare turn, typedefs, fallback ice, bugfixes
* minr tweak
* restrict peerservice to api.puter.com, make customIndentifier more detailed
---------
Co-authored-by: ProgrammerIn-wonderland <30693865+ProgrammerIn-wonderland@users.noreply.github.com >
2026-03-17 23:08:44 -07:00
Daniel Salazar
9347644f81
feat: redis pubsub for multiple connected clients in broadcast service and webhook fixes ( #2681 )
...
* debug: logs for webhook broadcasts
* fix: broadcast webhook calls
* fix: add error log with body
* fix: fetch form
* feat: redis pubsub for multiple connected clients in broadcast service
* test: add pubsub tests
2026-03-17 18:45:23 -07:00
Eric Dubé
ef93ed4572
fix: change_email and user-protected endpoints ( #2680 )
...
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
Update check for suspended users on change_emeail and user-protected
endpoints. The `change_email` endpoint isn't using the auth middleware
because it infers from the token that was passed - this means it needs
explicit logic to check suspended users; before suspended users were
able to complete a a flow for changing their username if they already
started it before being suspended.
Update user-protected endpoints and configurable_auth so endpoints that
make sensitive account changes do not rely on cached information about a
user.
2026-03-17 14:54:29 -07:00
jelveh
2bafa03a74
Add 'Add to Desktop' English translation
...
Introduce a new i18n key `add_to_desktop` with value 'Add to Desktop' to the English translations file. This provides a label for UI actions that add items or apps to the desktop.
2026-03-17 13:52:26 -07:00
Daniel Salazar
e6d125e17c
feat: notify prod ( #2679 )
2026-03-17 13:48:57 -07:00
Daniel Salazar
6352bc6a9a
fix: webhook message to peer ( #2678 )
2026-03-17 13:33:01 -07:00
Daniel Salazar
8118582496
fix: add console log to webhook for debugging ( #2677 )
2026-03-17 13:07:06 -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
ProgrammerIn-wonderland
c7a481118f
add reasoning to claude models ( #2676 )
2026-03-17 12:26:53 -07:00
Miika Kuisma
53f8d67679
Merge pull request #2675 from HeyPuter/darkmode-fix
...
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
darkmode fix
2026-03-17 09:50:34 +02:00
Miika Kuisma
c325eed3af
darkmode fix
2026-03-17 09:49:26 +02:00
Daniel Salazar
c96bb9acb1
feat: add hook on merge for deployments ( #2673 )
...
* fix: tests
* fix: add logging for webhook events for debug
2026-03-16 22:34:39 -07:00
Daniel Salazar
573d5a3ff4
fix: limit referralCodeService ( #2670 )
...
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: limit referralCodeService
* fix: ECMAP unlink
2026-03-16 17:33:28 -07:00
ProgrammerIn-wonderland
55dd9841c5
add x-puter-no-auth option to puter.workers.exec ( #2668 )
2026-03-16 10:59:11 -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
ProgrammerIn-wonderland
ce9c8341d1
Interpret mpga as mp3 for OpenAI transcriptions ( #2666 )
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-15 22:01:26 -07:00
Shruc
b3787ac0e0
fix flash image quality level ( #2665 )
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-15 16:47:14 -07:00
Shruc
89904ca563
fix coercion service not selecting correct conversion path ( #2660 )
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-13 17:37:21 -07:00
Nariman Jelveh
e28a5b01d8
Use ClickHouse for app open stats ( #2662 )
...
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
When a global ClickHouse client is available, run two parallel ClickHouse queries (JSONEachRow) to fetch per-app open_count and distinct user_count, parse results into Maps (parsing counts as integers). If ClickHouse is not present, fall back to the original MySQL aggregate queries. Apps list still comes from MySQL as before. This enables using ClickHouse for analytics performance while preserving the existing behavior as a fallback.
2026-03-13 14:46:44 -07:00