Commit Graph

127 Commits

Author SHA1 Message Date
dependabot[bot]
1475183b06 build(deps): bump multer from 1.4.5-lts.2 to 2.0.2 (#1582)
Bumps [multer](https://github.com/expressjs/multer) from 1.4.5-lts.2 to 2.0.2.
- [Release notes](https://github.com/expressjs/multer/releases)
- [Changelog](https://github.com/expressjs/multer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/expressjs/multer/compare/v1.4.5-lts.2...v2.0.2)

---
updated-dependencies:
- dependency-name: multer
  dependency-version: 2.0.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-18 10:36:39 -07:00
Nariman Jelveh
e37166dae0 Cache is king baby! Let's go 🚀 (#1574)
* Implement the first naive version of `readdir` cache

* Purge the entire cache on every single mutation

Right now we're going to use the very naive, but safe, approach to purge the entire cache whenever there is change in the user's fs. We're going to incrementally improve this; but for now, better safe than sorry!

* Add socket event listeners to flush cache on file system item changes

This update introduces event listeners for 'item.added', 'item.renamed', and 'item.moved' events, triggering a cache flush on each event to ensure data consistency in the file system module.

* increase exp time for the cache

* Update readdir.js

* Update index.js
2025-09-17 15:36:42 -07:00
aaryan
f4af6874b0 doc: added missing Dutch translations (#1575)
* doc: added missing Dutch translations
- fixes #1515

* Update nl.js

---------

Co-authored-by: jelveh <nj@puter.com>
2025-09-17 08:56:06 -07:00
Nariman Jelveh
1c64aee87e Update package-lock.json 2025-09-13 13:45:49 -07:00
Nariman Jelveh
a582c0ee38 Update package-lock.json 2025-09-13 13:19:58 -07:00
Nariman Jelveh
8392396b1b Update Axios 2025-09-13 13:18:01 -07:00
KernelDeimos
5119efaf79 Reapply "feat: support Gemini imagegen service"
This reverts commit 05071b4338.
2025-09-12 19:16:58 -04:00
KernelDeimos
05071b4338 Revert "feat: support Gemini imagegen service"
This reverts commit e13b008c79.

This is being done temporarily to debug something else without
confounding variables.
2025-09-12 18:43:20 -04:00
ProgrammerIn-wonderland
e13b008c79 feat: support Gemini imagegen service 2025-09-12 18:17:31 -04:00
Daniel Salazar
f8ea790824 feat: add expiry support to DBKV, and eslint config 2025-09-10 11:33:21 -07:00
KernelDeimos
eb6c23dd83 sync: package-lock.json
Previous commit to do this contained accidental other changes that I
staged and forgot about. This commit really only contains the sync for
package-json. This was broken for a while - since when we did work on
AWS secrets manager.
2025-09-09 22:37:36 -04:00
KernelDeimos
5a66bdeb20 Revert "sync: package-lock.json"
This reverts commit 281d9ebaae.
2025-09-09 22:37:12 -04:00
KernelDeimos
281d9ebaae sync: package-lock.json
This got out of sync after the AWSSecretsPopulator commit, I think.
2025-09-09 22:31:01 -04:00
ProgrammerIn-wonderland
d105b341d5 Entri token service 2025-08-14 18:32:22 -04:00
Nariman Jelveh
2cd3245b49 Update package-lock.json 2025-07-27 15:35:50 -07:00
KernelDeimos
963b248582 fix: get sharp far away from bundlers as possible 2025-07-10 16:20:12 -04:00
KernelDeimos
4575b24c51 chore: update sharp because GH issue template 2025-07-10 14:30:00 -04:00
KernelDeimos
2158e8e8c6 dev: add puter file upload via ai.chat for Claude
This commit implements uploading Puter files through ai.chat using
Claude's beta "file inputs" feature. To use this, simply specify
`puter_path` in a content part, and that content part will be
transformed into the correct type of content part for the specified file
and the file will be uploaded.
2025-07-08 19:38:13 -04:00
KernelDeimos
f3c658c011 chore: sync package-lock.json 2025-07-04 18:30:00 -04:00
KernelDeimos
502204a7b7 test: update tests, migrate backend to vitest
Backend had tests written in mocha as well as a test written for jest
(created by an AI utility, wasn't compatible with mocha tests). The AI
generated test had merit so it was migrated to vitest along with all the
mocha tests, which supports conventions from both frameworks.

Vitest also has an excellent watcher cli.

The root repo package.json now runs unit tests in backend. Before it was
only running tests defined in the _test method of backend services.
2025-07-04 18:21:45 -04:00
jelveh
75d22b010c Update package-lock.json 2025-06-27 23:09:25 -07:00
Nariman Jelveh
196f996435 Merge branch 'main' into feature/desktop-shortcut-link 2025-06-27 22:45:38 -07:00
jelveh
1ad113bbbf Update package-lock.json 2025-06-26 22:59:02 -07:00
KernelDeimos
60a9be12ba fix: update package-lock.json 2025-06-25 15:00:07 -04:00
KernelDeimos
2d9526ba40 fix: install 2025-06-21 22:00:26 -04:00
KernelDeimos
4647e2d9c0 dev: add experimental firebase authentication
This adds an experimental custom token authentication endpoint to Puter.
This is disabled unless the firebase-auth service is explicitly
configured, and is not yet ready for production use.
2025-05-01 17:14:25 -04:00
KernelDeimos
7a3365a25c refactor: begin migrating utility code
I'm calling this approach a "re-core"; see src/backend-core-0/README.md
for more information about this.
2025-03-31 22:09:29 -04:00
Jonathan Mahrt Guyou
ad4b3e7aeb feat: captcha
* Added Revis distributed cash to enhance our Captcha Verification system so that we prevent our system from replay attacks

* Fix: There was an error with the implementation of Redis, so I reverted to our previous version that uses in memory storage

* Integrated the captcha verification system into our sign in Form. The captcha verification system now works on both login and sign int

* Remove test files from captcha module

* Update src/backend/src/modules/captcha/middleware/captcha-middleware.js

Co-authored-by: Eric Dubé <eric.alex.dube@gmail.com>

* Update src/backend/src/modules/captcha/middleware/captcha-middleware.js

Co-authored-by: Eric Dubé <eric.alex.dube@gmail.com>

* Now the captcha can be requested on condition, this llaows extenstions to control wether a captcha should be required,
I fixed the code in CaptchaModule to use config
and got rid of the lines that made captcha middleware available since it wasn't used anywhre

* I split the middleware into two distinct parts, so that the frontend can now determine captach requirements. PuterHomePageService can set GUI parameters for captcha requirements. The /whoarewe endpoint provides captcha requirement information and the extensuo system integration is maintained

* Fix security issues with password handling in URL query parameters

* Made sure that the enter key, submits the login request instead of refreshing the captcha

* In development we can now disable the Captcha verification system by running it with CAPTCHA_ENABLED=false npm start

* Went back and modified checkCaptcha so that it checks at the start to check what CAPTCHA_ENABLED is equal to

* Refactor captcha system to use configuration values instead of environment variables

* Fix captcha verification and align with project standards

* Update src/backend/src/modules/captcha/README.md

Co-authored-by: Eric Dubé <eric.alex.dube@gmail.com>

* fix: incorrect service name

* dev: use Endpoint for captcha endpoints

Use Endpoint class, which uses eggspress behind the scenes, which handles
async errors in handlers automatically.

* dev: add extension support and simplify captcha

- removed extra error handling
- removed dormant code
- no distinction between login and signup (for now)

* clean: remove local files

* fix: undefined edge case

---------

Co-authored-by: Eric Dubé <eric.alex.dube@gmail.com>
2025-03-28 19:46:56 -04:00
KernelDeimos
f73958ee8c chore: update package-lock.json 2025-03-28 05:01:49 -04:00
Krista Vlastou
4b7e09e157 fix: npm install error on Windows (spawn EINVAL) (#1214) 2025-03-26 14:58:46 -04:00
rodrick-mpofu
94853d33bf Implement link shortcut feature (refs #682) 2025-03-25 02:24:20 -04:00
Arunabh Sharma
9626175d3a chore: upgrade supported node version to 23.9 (#1184)
* upgrade node version to 23.9

* update package-lock.json
2025-03-15 16:03:46 -04:00
Ntwari Bruce
7ed779bbf3 feat: enhanced ai command to perfom other commands (#1156)
* Enhanced ai command to perfom other commands

* Enhance AI Command in Puter's shell
2025-03-08 17:47:53 -05:00
KernelDeimos
e6b3cb3666 fix: get event docs back in sync
I used 'fix' for this instead of 'doc' because I am also adding a
package for code that generates markdown, so this doesn't have the
zero-risk nature typically associated with a "doc: " commit.
2025-02-25 17:52:54 -05:00
KernelDeimos
04f9225af3 chore: update package-lock.json 2025-02-25 17:48:03 -05:00
KernelDeimos
d081c4f2fe fix(security): patch express via path-to-regexp
As far as I can tell from the block post:
https://blakeembrey.com/posts/2024-09-web-redos/
this vulnerability should not affect releases of Puter before this
update because we do not have any routes with multiple parameters where
the second parameter does not start with '.' or '/'.

However, for the sake of good security hygiene and so `npm audit` looks
nice, we're upgrading the package. (better late than never)
2025-02-21 23:42:47 -05:00
KernelDeimos
29834f02c0 release: 2.5.1 2025-02-13 21:50:39 -05:00
KernelDeimos
b74ec1f69c dev: add Gemini support (non-streaming) 2025-02-11 14:57:17 -05:00
jelveh
1e5deabcdb Update package-lock.json 2025-02-06 18:20:12 -08:00
KernelDeimos
28c5800d06 sync: package-lock.json 2025-01-10 10:27:40 -05:00
KernelDeimos
740fdb592e fix: test for get-launch-apps 2025-01-09 11:10:41 -05:00
KernelDeimos
3097b86597 fix: add package-lock.json 2025-01-09 10:24:12 -05:00
KernelDeimos
5ed2f39ec7 dev: add Amazon SNS integration
There were a few things which made this rather difficult:
- AWS SDK doesn't appear to have a utility to validate message
  signatures.
- The only available node.js module that does this is known to be
  unreliable.
- SNS sends 'text/plain' MIME type even though the data is in JSON
  format, so a middleware had to be added to account for this.
- We don't accept POST requests with no Origin header. Since SNS doesn't
  send the Origin header, an exception had to be made for this.
- The endpoint needs to be public and SNS doesn't seem to have a
  proxying utility for developers such as what Stripe has.
- Because of the above point, debugging time was affected by deployment
  time to the staging server.
2024-12-23 14:53:18 -05:00
KernelDeimos
3da571c39a test: unit-test get-launch-apps 2024-12-20 12:07:34 -05:00
KernelDeimos
c6c3844763 chore: update kv.js 2024-12-20 12:07:24 -05:00
KernelDeimos
90967ab109 dev: add ico support 2024-12-18 12:05:11 -05:00
KernelDeimos
20d27d59bf dev: create pre-sized icons for apps 2024-12-17 12:57:03 -05:00
Nariman Jelveh
40ea2a3f02 Revert "Created test cases for issue #878 " 2024-12-08 11:31:47 -08:00
Nariman Jelveh
c8894c7d4c Merge branch 'main' into warning_dialog 2024-12-08 11:29:52 -08:00
e5z26
2ca1f71595 removed jsdom in test file
removed because wasn't being used
2024-12-07 19:09:22 -05:00