KernelDeimos
bfffdfdc36
doc(extensions): exports not front-and-center
...
The extension documentation mentions imports and exports together very
early on, but extension exports should be used sparingly. I suspect most
extensions with exports will be among Puter's builtin extensions.
2025-10-01 16:47:56 -04:00
KernelDeimos
9946d2ffc5
dev(extensions): event for extensions to grant permst
2025-10-01 16:46:59 -04:00
KernelDeimos
574088ea55
doc: improve extension documentation
...
- describe extension events
- link drivers documentation
2025-10-01 16:03:24 -04:00
KernelDeimos
ec8111cc2f
dev(extensions): improved configuration support
...
Extensions now read configuration objects under the "extensions" block
in the backend configuration. Additionally, a `config.json` for default
values directly in the extension's directory is now supported.
2025-10-01 15:29:13 -04:00
Yukirin
94c0490f34
Update id.js ( #1638 )
...
Added missing translations and re-translated some of existing translations
2025-10-01 10:46:43 -07:00
KernelDeimos
887536b811
fix: cleanup EngPortalService commands
...
- removes commands from EngPortalService that were previously moved to
ParameterService
- renames `eng:test` to `eng:list-operations`
Closes #1624
2025-10-01 13:17:04 -04:00
Daniel Salazar
5b3bc9ddf4
fix: permission batch get ( #1637 )
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-30 20:17:01 -07:00
biranzegelman97 and Nariman Jelveh
916f419e0f
added missing hebrew translations + fixed some existing translation + changed he.js export variable from en to he ( #1634 )
...
* added missing hebrew translations + fixed some existing translation + changed he.js export variable from en to he
* remove "Missing translations" comment?
---------
Co-authored-by: Nariman Jelveh <nj@puter.com >
2025-09-30 19:16:35 -07:00
Hariz
62f5cc54cf
Fix bug with context menu positioning on page load ( #1636 )
...
* Fix bug with context menu positioning on page load
* Fix double context menu bug on mobile
2025-09-30 18:58:54 -07:00
Nariman Jelveh
6ee60f9c13
Closes #629
2025-09-30 18:27:33 -07:00
Hariz and Nariman Jelveh
6429dcf15e
Add 'Set as Desktop Background' context menu item to images ( #1635 )
...
* Add 'Set as Desktop Background' context menu item
* Use the `mime` library to detect images in the `UIItem` context menu
---------
Co-authored-by: Nariman Jelveh <nj@puter.com >
2025-09-30 18:06:09 -07:00
KernelDeimos
c11a4008ee
doc: improve comments in hellodriver.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 (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-30 17:12:09 -04:00
KernelDeimos
5cc182653e
doc: document creating extensions through drivers
2025-09-30 16:33:34 -04:00
KernelDeimos
057eaa46ca
dev(extensions): [+] hellodriver
...
The hellodriver extension provides a useful interface for generating
greetings at the same time as a simple example of how to implement
drivers.
2025-09-30 16:33:34 -04:00
KernelDeimos
87f2fbf36b
clean: DriverService
...
Removes dead code and reduces branching. In the get_service_or_throw_
method, the changes in this commit show how the branching got more
redundnat in the previous change.
2025-09-30 16:33:34 -04:00
KernelDeimos
41820baba6
dev: add extension support in DriverService
...
Adds new events that DriverService emits: `create.interfaces` and
`create.drivers`. Returns the functionality of the "drivers" registry,
which now expects objects provided by extensions.
2025-09-30 16:33:30 -04:00
Nariman Jelveh
eaa31ba18f
Update copyright headers that were translated to non-english
2025-09-30 12:54:00 -07:00
Nariman Jelveh
343f042f39
feat: add tar and untar functionality for file management
...
- Implemented `tarItems` function to create tar archives from selected files or directories.
- Added `untarItem` function to extract tar archives.
- Updated UI to include options for downloading and tarring files.
- Enhanced item icon handling to display tar file icons.
- Added translations for tar and untar operations.
- Fixes #1629
2025-09-30 10:35:55 -07:00
Daniel Salazar
9c47a7f8ca
perf: move user-user perm checks to flat kv entries ( #1562 )
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-29 19:41:39 -07:00
Nariman Jelveh
d085568674
Delete .github/ISSUE_TEMPLATE directory
2025-09-29 18:48:35 -07:00
KernelDeimos
1c64cb274b
fix(ai): try overriding timeout to disable error
...
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
The Anthropic SDK preemptively throws an error if it thinks a response
is going to take longer than 10 minutes:
https://github.com/anthropics/anthropic-sdk-typescript#long-requests
According to this documentation, overriding the `timeout` option
disables this error. In this commit the option is changed to the default
value of 10 minutes plus an additional 1 second; it is assumed based on
the documentation's phrasing that it is not necessary to make the
timeout higher but simply to specify a value.
2025-09-29 15:08:23 -04:00
KernelDeimos
df6fc8a432
test: fix test kernel after adding runtimle modules
...
RuntimeModules (a feature for extensions) can be accessed by core
modules through a registry exposed in Context by Kernel. However,
TestKernel was not exposing this same registry which caused an error
when module installation occurred during tests.
2025-09-29 14:27:07 -04:00
jelveh
208d25f371
Update ClaudeService.js
2025-09-29 11:20:34 -07:00
Andrei Onel and askmanu[bot] <192355599+askmanu[bot]@users.noreply.github.com>
d216887fa0
doc: add comments under filesystem, modules, entitystorage
...
* Added reference documentation for: src/backend/src/modules/puterfs/DatabaseFSEntryFetcher.js
* Added reference documentation for: src/backend/src/modules/dns/DNSService.js
* Added reference documentation for: src/backend/src/filesystem/ll_operations/ll_write.js
* Added reference documentation for: src/backend/src/filesystem/strategies/storage_a/LocalDiskStorageStrategy.js
* Added reference documentation for: src/backend/src/om/entitystorage/WriteByOwnerOnlyES.js
---------
Co-authored-by: askmanu[bot] <192355599+askmanu[bot]@users.noreply.github.com>
2025-09-29 14:16:50 -04:00
jelveh
5caf148ae9
Update ClaudeService.js
2025-09-29 11:16:13 -07:00
jelveh
847b3a07a4
Improve item.add cache invalidation logic so that it doesn't purge the entire cache
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-29 00:02:03 -07:00
jelveh
a69072b31b
More precise cache invalidation in case of item rename
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-28 23:43:36 -07:00
jelveh
fe022cff1d
Back to native purge to build from first principles?!
2025-09-28 22:50:55 -07:00
jelveh
1195e319a8
update kv.js version in package.json
2025-09-28 22:05:30 -07:00
Nariman Jelveh
ebb0162d79
Increase cache efficiency
2025-09-28 21:30:31 -07:00
Nariman Jelveh
7382264648
more nuanced cache invalidation strategy with logging enabled by default
2025-09-28 20:35:51 -07:00
Nariman Jelveh
a965df0cc0
Remove cache expiry in puter.js
2025-09-28 19:16:29 -07:00
Nariman Jelveh
72341c78dc
Update index.js
2025-09-28 18:59:44 -07:00
jelveh
ef74a1a660
fix: prevent unnecessary updates on socket events
...
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
Updated the `bindSocketEvents` method to check the `original_client_socket_id` before posting updates for 'cache.updated' and 'item.renamed' events. This prevents unnecessary updates when the event originates from the same client socket.
2025-09-28 14:35:45 -07:00
jelveh
f1fd372933
refactor: improve metadata handling in WSPushService
...
Updated the `WSPushService` to pass additional metadata during user timestamp updates and event emissions for file system operations. This includes modifications to the `_on_fs_create`, `_on_fs_update`, `_on_fs_move`, and `_on_fs_pending` methods to ensure metadata is consistently included, improving the context for GUI updates.
2025-09-28 13:43:08 -07:00
jelveh
740089aff1
fixes #1622
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-27 00:03:49 -07:00
Xiaochen Cui
891093fd2b
fix a typo ( #1627 )
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-26 21:45:00 -07:00
Haitam and jelveh
733c7b638d
feat: Complete missing Ukrainian, Turkish and Thai translations ( #1616 )
...
* feat: Complete missing Ukrainian, Turkish and Thai translations
* add the trailing comma
---------
Co-authored-by: jelveh <nj@puter.com >
2025-09-26 21:40:20 -07:00
KernelDeimos
baf261c0c4
fix: check if shraed files exist in ll_readshares
...
This may have been breaking the ability to see directories shared by
other users sometimes.
2025-09-26 18:59:23 -04:00
KernelDeimos
088ff4d696
fix: update path when renaming during save_account
...
We do update the path of all child directories by calling
filesystem.update_child_paths(), but this was never done for the user's
actual home directory itself (only everything under it).
The most ideal solution would be to delegate this behavior to the move
operation instead of updating the fsentries table directly, but making
this change right now has a high risk of breaking changes since this the
behavior in this file is very old.
2025-09-26 18:44:32 -04:00
Nariman Jelveh
fae33301a8
fix the issue with last_valid_ts always being 0
2025-09-26 15:05:44 -07:00
mrtbgau and Nariman Jelveh
b8263fd8e0
feat: add missing Persian and Finnish translations ( #1614 )
...
* feat: add missing Persian translations
* feat: add missing Finnish translations
* Remove "Missing translations" comment
---------
Co-authored-by: Nariman Jelveh <nj@puter.com >
2025-09-26 15:05:04 -07:00
KernelDeimos
d85f5fad5e
dev: expose 'kv' as 'cache' from data extension
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-26 17:31:00 -04:00
KernelDeimos
d5a2a34f53
dev(extensions): add extension.use
...
The extension.use method allows registering routers and generic handlers
(not wrapped by eggspress) to express.
2025-09-26 17:30:09 -04:00
KernelDeimos
601eb019a2
dev(extensions): [+] data
...
The data extension adds convenient access to the database and kvstore
via it's 'db' and 'kv' exports.
Example usage:
const { db, kv } = extensions.import('data');
await kv.set('some-key', 'some-value');
await db.write('INSERT INTO something (a, b) VALUES (1, 2)');
2025-09-26 15:28:00 -04:00
KernelDeimos
63bf4eccbe
dev: make services importable by extensions
...
For example you can access WebServerService with
extension.import('service:web')
2025-09-26 15:28:00 -04:00
KernelDeimos
0c30a9e157
fixup! dev(extensions): [+] whoami
2025-09-26 15:28:00 -04:00
KernelDeimos
dabf8cac56
fix: add missing dep to whoami extension
2025-09-26 15:28:00 -04:00
KernelDeimos
570409ef15
doc: add more extension internals documentation
2025-09-26 15:28:00 -04:00
KernelDeimos
27d7668a72
dev: '@extension name' and priority in puter.json
...
Adds the '@extension name <name>' directive for single-file Puter
extensions, and adds support for defining priority in 'puter.json'.
2025-09-26 15:27:59 -04:00