KernelDeimos
dde652fb27
dev: expose 'core' from useapi as runtime module
2025-09-26 15:27:58 -04:00
KernelDeimos
15cb98107c
doc: add extension documentation for core devs
...
Extensions need to be documented at different layers of concern:
1. How to use/run extensions
2. How to create extensions as a contributor
3. How extensions work under the hood
This documentation addresses the third layer, describing how Kernel
and core modules interact with extensions.
2025-09-26 15:27:58 -04:00
KernelDeimos
4353c2dc46
dev: expose 'web' from useapi as runtime module
...
This will allow extensions to import from the 'web' module:
const { Endpoint } = extension.import('web');
2025-09-26 15:27:58 -04:00
KernelDeimos
f6be6952dc
dev: export runtime module registry to context
2025-09-26 15:27:58 -04:00
KernelDeimos
b328355a90
fix: apparently setters shadow getting
...
I thought you could:
method() {}
set method (v) { /* ... /* }
but you can't. You have to:
get method() { return (function () {}).bind(this) }
set method (v) { /* ... /* }
I don't know why a setter can't just only shadow setting, but that's
how they designed the language. ¯\_(ツ)_/¯
2025-09-26 15:27:57 -04:00
KernelDeimos
6ff3d154fa
devex: .git is not an extension
...
This change makes sure Kernel skips `.git` directories when scanning
for extensions. This allows me to make a git repository containing
example extensions for Puter.
2025-09-26 15:27:57 -04:00
KernelDeimos
bdd60c63d8
devex: add '{repo}' variable for extension paths
...
Previously '{source}' was added but this is a bit difficult to work
with since it's the path from the source file, which is usually the
'src/' directory under the repository. This won't be obvious anyone
who doesn't already know this. '{repo}' just points to the path of
the repository itself.
2025-09-26 15:27:57 -04:00
KernelDeimos
06cd14353a
doc: document import/export mechanism for extensions
2025-09-26 15:27:57 -04:00
KernelDeimos
e271476e0b
tweak: alias 'runtime' to 'extension'
...
Extension developers should not have to remember what comes form
where between two different globals. This change makes Extension
effectively a facade (Facade Pattern) containing the behaviors
of both extensions and runtime modules.
2025-09-26 15:27:57 -04:00
KernelDeimos
9aef281ad2
dev: add runtime modules for imports and exports
...
RuntimeModule is a new construct which represents the import/export
mechanism for Puter extensions. This can be thought of as analogous
to node's Module class. These are called "runtime modules" because
extensions have less control of what they're consuming than a typical
npm module; i.e. `runtime.import('database')` will provide a version
of 'database' that's compatible with the importing extension, but the
version used can't be locked or otherwise determined by the extension.
2025-09-26 15:27:57 -04:00
Xiaochen Cui
860388c3cb
update client-cache logic ( #1626 )
...
* client-cache: remove pulling
* client-cache: fix wrong ts field
* client-cache: purge cache on any local update
* client-cache: last_updated_time -> last_valid_time
* client-cache: update cache on remote update
* client-cache: update last_valid_ts every sec
* client-cache: switch to localstorage
* do the cache and purge test when `setAuthToken` is called
---------
Co-authored-by: Nariman Jelveh <nj@puter.com >
2025-09-26 11:44:12 -07:00
Nariman Jelveh
a0b567da52
chore: update @heyputer/kv.js dependency to version 0.2.0 and initialize cache with dbName in puter-js ( #1623 )
2025-09-26 10:58:16 -07:00
Daniel Salazar
d70d412115
feat: DAV Locks support + refactor of DAV method handler ( #1486 )
...
* feat: DAV Locks support + refactor of DAV method handler
* format: Restore old whitespace for CoreModule.js
* fix: options route registering after likecycle hooks
---------
Co-authored-by: Neal Shah <30693865+ProgrammerIn-wonderland@users.noreply.github.com >
2025-09-26 11:00:29 -04:00
Xiaochen Cui
7bfa85d4fe
client-cache: remove pulling ( #1620 )
...
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 (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / api-test (22.x) (push) Has been cancelled
* client-cache: remove pulling
* client-cache: fix wrong ts field
* client-cache: purge cache on any local update
2025-09-25 16:56:01 -07:00
Onitsag
1cff4fd46a
feat: Add missing Portuguese translations ( #1615 )
...
* feat: Add missing Portuguese translations
* feat: Add missing Swedish translations
* remove missing translations comment
---------
Co-authored-by: Nariman Jelveh <nj@puter.com >
2025-09-25 11:47:04 -07:00
velzie
8b9fefa4a2
fix puterjs throwing errors after consuming message events not meant for it ( #1612 )
2025-09-25 11:11:34 -07:00
Thomas NGUYEN
72ee05fefb
feat: Add missing Urdu translations ( #1618 )
2025-09-25 10:58:46 -07:00
Xiaochen Cui
681c084180
client-cache: update cache-invalidation policy to ts-based comparison ( #1611 )
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 (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / api-test (22.x) (push) Has been cancelled
2025-09-24 18:08:09 -07:00
Nariman Jelveh
8b7e764af9
add instancesOpen to puter.js UI
2025-09-24 17:03:36 -07:00
Khilfi KA
99ebbfa00d
Add Bahasa Malaysia (Malay) i18n Support ( #1609 )
...
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 (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / api-test (22.x) (push) Has been cancelled
* Complete Bahasa Malaysia (Malay) translation of Puter
* Fix code styling
* Add Malay README.md
* Removed dash from `sub-projek`
* Make `Library` italic
* Add Malay language to `Translations` section
2025-09-24 12:44:41 -07:00
ProgrammerIn-wonderland
cf05413b83
ux: Whitelist onlyoffice applications from copy dialog in IPC
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 (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / api-test (22.x) (push) Has been cancelled
2025-09-23 18:10:54 -04:00
Daniel Salazar
8cc14fece3
chore: add jsdoc typings for KV interface
2025-09-23 14:26:35 -07:00
Daniel Salazar
bf76a1edea
feat: allow setting puter origin via globalThis variables
2025-09-23 13:26:12 -07:00
Hariz
67be35b6a0
Don't raise window if close/minimize btn clicked ( #1589 )
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 (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / api-test (22.x) (push) Has been cancelled
2025-09-22 18:52:57 -07:00
Nariman Jelveh
e0316b9cbe
remove unnecessary console.log()
2025-09-22 16:36:48 -07:00
KernelDeimos
49341321f1
dev: add option to make the database slow
...
Adds a configuration parameter called "slow" to database config which
adds a hardcoded delay 70ms to database operations. This is useful
when testing for performance issues.
2025-09-22 19:10:48 -04:00
jelveh
b93890b008
Update package.json
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 (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / api-test (22.x) (push) Has been cancelled
2025-09-21 22:36:40 -07:00
jelveh
502ef3c32b
Update README.md for Puter.js: Enhance formatting, add installation instructions, and include community links
2025-09-21 22:33:13 -07:00
dependabot[bot]
4dfdd2839f
build(deps): bump webpack from 5.89.0 to 5.101.3 in /src/puter-js ( #1601 )
...
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 (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / api-test (22.x) (push) Has been cancelled
Bumps [webpack](https://github.com/webpack/webpack ) from 5.89.0 to 5.101.3.
- [Release notes](https://github.com/webpack/webpack/releases )
- [Commits](https://github.com/webpack/webpack/compare/v5.89.0...v5.101.3 )
---
updated-dependencies:
- dependency-name: webpack
dependency-version: 5.101.3
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-21 14:50:30 -07:00
Nariman Jelveh
32962211b4
Revert "Enhance login GUI: improve layout and add show/hide password ( #1599 )" ( #1600 )
...
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 (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / api-test (22.x) (push) Has been cancelled
This reverts commit 9e07fa74b7 .
2025-09-21 09:53:12 -07:00
SaifAttar003
9e07fa74b7
Enhance login GUI: improve layout and add show/hide password ( #1599 )
2025-09-21 09:52:55 -07:00
Hariz
3de3c21f66
Add context menu to apps in the start menu ( #1487 )
...
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 (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / api-test (22.x) (push) Has been cancelled
* Add context menu to apps in the start menu
* Start menu context menus: Close other menus
* More bugfixes for start menu context menus
* Start menu context menus: Add/remove from taskbar
* Bugfixes for adding to taskbar through start menu
* Highlight start menu icons when ctxmenu is opened
* Close context menus on start menu kbd navigation
* Reset start menu icon state when ctx menu closed
* Fix multiple start item context menus opening simultaneously
* Remove parent argument from start icon context menus
2025-09-20 18:52:14 -07:00
Daniel Salazar
44284eb788
fix: typedefs
2025-09-19 17:12:01 -07:00
Daniel Salazar
d6fbe94364
npm: fixed publish
2025-09-19 16:52:18 -07:00
dependabot[bot]
a3cbee1b58
build(deps): bump serialize-javascript in /src/puter-js ( #1594 )
...
Bumps [serialize-javascript](https://github.com/yahoo/serialize-javascript ) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/yahoo/serialize-javascript/releases )
- [Commits](https://github.com/yahoo/serialize-javascript/compare/v6.0.1...v6.0.2 )
---
updated-dependencies:
- dependency-name: serialize-javascript
dependency-version: 6.0.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-19 14:28:36 -07:00
Daniel Salazar
9d5a09f0bc
fix: package name
2025-09-19 14:01:03 -07:00
Daniel Salazar
a936333006
npm: release to npm
2025-09-19 13:58:25 -07:00
jelveh
a023c24c35
Update package.json
2025-09-19 13:55:19 -07:00
jelveh
41191c65d7
Update puter.js README.md
2025-09-19 13:52:54 -07:00
coluccifrancesco
0c60ebd1d0
Update it.js ( #1588 )
...
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 (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
I translated the last part of the document for the italian language.
All the updates are typo-checked for errors , and there's none.
The translation has been made keeping in mind the italian use of various terms, some of the english words haven't been translated due to the extended use of the orignal term in everyday vocabulary.
2025-09-19 11:07:02 -07:00
Daniel Salazar
493334b030
chore: update README for puter.js to publish on npm
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 (18.x) (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
2025-09-19 02:34:33 -07:00
jelveh
654dfa9124
Update style.css
2025-09-18 23:03:16 -07:00
jelveh
c0b03e147b
add redundant readdir to cache the home dir
2025-09-18 21:03:28 -07:00
Nariman Jelveh
7000831138
make whoami return last_activity_ts
2025-09-18 19:07:53 -07:00
Nariman Jelveh
31fffb087d
Refactor file system operations in GUI and puter.js to use eventual consistency ( #1579 )
...
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 (18.x) (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
* Refactor file system operations in GUI and puter.js to use eventual consistency for stat and readdir calls
This update modifies multiple instances of file system operations to include a consistency option set to 'eventual'. This change aims to improve performance and responsiveness by allowing for eventual consistency in file system interactions across various components, including helpers, UI elements, and IPC handling.
* Update cache expiration time for file system operations in readdir and stat to 1 hour
* feat: add network connectivity monitoring and cache purging
This update introduces a new feature that monitors network connectivity and purges the cache when the connection is lost. The implementation includes event listeners for online/offline changes and visibility changes to ensure cache consistency during network disruptions.
* clean up logs
2025-09-18 17:13:39 -07:00
software developer, self taught
89d5030ae3
Add missing polish translation ( #1584 )
...
* add missing polish translation
* Clean up comments in pl.js translations
Removed comments about missing translations from the Polish translations file.
---------
Co-authored-by: Nariman Jelveh <nj@puter.com >
2025-09-18 13:58:35 -07:00
dependabot[bot]
5fe28ee8e2
build(deps): bump serialize-javascript and mocha in /src/terminal ( #1585 )
...
Bumps [serialize-javascript](https://github.com/yahoo/serialize-javascript ) to 6.0.2 and updates ancestor dependency [mocha](https://github.com/mochajs/mocha ). These dependencies need to be updated together.
Updates `serialize-javascript` from 6.0.0 to 6.0.2
- [Release notes](https://github.com/yahoo/serialize-javascript/releases )
- [Commits](https://github.com/yahoo/serialize-javascript/compare/v6.0.0...v6.0.2 )
Updates `mocha` from 10.2.0 to 10.8.2
- [Release notes](https://github.com/mochajs/mocha/releases )
- [Changelog](https://github.com/mochajs/mocha/blob/main/CHANGELOG.md )
- [Commits](https://github.com/mochajs/mocha/compare/v10.2.0...v10.8.2 )
---
updated-dependencies:
- dependency-name: serialize-javascript
dependency-version: 6.0.2
dependency-type: indirect
- dependency-name: mocha
dependency-version: 10.8.2
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-18 12:04:44 -07:00
dependabot[bot]
c9c92e806a
build(deps-dev): bump rollup from 3.21.4 to 3.29.5 in /src/phoenix ( #1583 )
...
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 (18.x) (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
Bumps [rollup](https://github.com/rollup/rollup ) from 3.21.4 to 3.29.5.
- [Release notes](https://github.com/rollup/rollup/releases )
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG-3.md )
- [Commits](https://github.com/rollup/rollup/compare/v3.21.4...v3.29.5 )
---
updated-dependencies:
- dependency-name: rollup
dependency-version: 3.29.5
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-18 10:38:52 -07:00
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
dependabot[bot]
a9699a9f77
build(deps): bump braces from 3.0.2 to 3.0.3 in /src/terminal ( #1581 )
...
Bumps [braces](https://github.com/micromatch/braces ) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md )
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3 )
---
updated-dependencies:
- dependency-name: braces
dependency-version: 3.0.3
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-18 10:28:44 -07:00