Commit Graph

1058 Commits

Author SHA1 Message Date
KernelDeimos cdff12e4e0 Remove repo links from Phoenix shell init 2024-06-12 01:50:13 -04:00
KernelDeimos dfdf1dd973 chore: appease linter so it stops ruining my index 2024-06-11 22:46:11 -04:00
KernelDeimos d38bf63f8e Get rid of old typo'd debug log 2024-06-11 13:57:25 -04:00
KernelDeimos 8e0f150fab Fix ESM-interop issue 2024-06-11 13:57:03 -04:00
KernelDeimos 684b0dc059 Support configurable mod locations 2024-06-10 03:02:17 -04:00
KernelDeimos 8d22276f13 fix(backend): remove a bad thing that really doesn't work 2024-06-09 14:21:07 -04:00
KernelDeimos b85cb50ea2 tweak: update eslint config 2024-06-09 13:14:48 -04:00
KernelDeimos 431b0da027 tweak: fix package-lock.json
Using npm install appears to have different results depending on whether
or not the parent directory of the puter repository happens to have a
package.json file (ex: nested workspaces).
2024-06-09 13:14:48 -04:00
KernelDeimos eb05fbd2dc feat: add external mod loading
A package called "useapi" is introduced to provide a dynamic import
system. This import system, rather than relying on the state of the
filesystem, is populated as modules are installed into Puter's kernel.

The "useapi" package is then used to add support for loading external
mod directories as Puter kernel modules, making it possible to mod puter
without any tooling.
2024-06-09 13:14:48 -04:00
Eric Dubé fa7bec3854 refactor: flatten the monorepo 2024-06-08 01:07:42 -04:00
KernelDeimos f88c4a5c9c doc(backend): document modules, services, and service-scripts 2024-06-06 20:10:23 -04:00
Ben Hählen 6ef283d7ef Docker CI - Update actions (#460)
* Update docker-image.yaml

* Update docker-image.yaml

* Update docker-image.yaml

* Update docker-image.yaml

* Update docker-image.yaml

* Create Docker on Tag and push on main
2024-06-06 16:41:19 -04:00
Nariman Jelveh 5e9617f6cc Add support for ContextMenu icons via Puter.js 2024-06-05 14:39:52 -07:00
KernelDeimos 30550fcddd feat(backend): add script service
The script service allows other services to register re-runnable tasks
called "scripts". These can be invoked via "script:run" in the console.
2024-06-05 16:17:03 -04:00
Nariman Jelveh 1416807c9d Merge pull request #454 from eltociear/patch-3
chore: update UI.js
2024-06-05 10:39:43 -07:00
KernelDeimos 41f378e403 Somehow this got lost earlier 2024-06-04 16:53:29 -04:00
KernelDeimos 0b0707363c Fix potential race condition 2024-06-04 16:28:53 -04:00
Nariman Jelveh 04fefc0761 Update README.md 2024-06-04 13:07:02 -07:00
Ikko Eltociear Ashimine de974f0551 chore: update UI.js
occured -> occurred
2024-06-05 01:17:23 +09:00
Eric Dubé aec5cd5148 Merge pull request #451 from HeyPuter/eric/drivers-1
refactor(backend): de-couple driver registration from DriverService
2024-06-03 18:11:53 -04:00
Eric Dubé 2a2a42c153 Merge pull request #424 from AtkinsSJ/sed
Actually parse sed scripts
2024-06-03 12:22:15 -04:00
Nariman Jelveh 66639ea110 Merge pull request #449 from wamynobe/main
fix: fix typo
2024-06-03 00:50:31 -07:00
Nariman Jelveh 1ae82b3210 turns out ESLint is garbage 2024-06-02 16:30:29 -07:00
Nariman Jelveh a81f461b54 Implement the contextMenu API for Puter.js 2024-06-02 16:15:35 -07:00
Nariman Jelveh cf8a07286a Fix typo sanitizeItems to sanitize_items 2024-06-02 10:23:41 -07:00
Nariman Jelveh 6efff83616 Support separator in the setMenubar API 2024-06-02 10:21:11 -07:00
Nariman Jelveh 233a2719c6 Add temp-email driver implementation to the SDK 2024-06-01 16:34:37 -07:00
Nariman Jelveh 49f61c4782 Update UIContextMenu.js 2024-06-01 15:56:32 -07:00
KernelDeimos 665b2d4e4e refactor(backend): de-couple driver registration from DriverService 2024-06-01 18:20:27 -04:00
Mason Nguyen ce328b7245 fix: fix typo 2024-06-01 11:00:03 +07:00
Eric Dubé 135b5eccc5 Merge pull request #448 from HeyPuter/eric/log-update
feat(backend): improve logger and reduce logs
2024-05-31 20:38:10 -04:00
KernelDeimos 2d8e6240c6 feat(backend): add tip of day 2024-05-31 20:36:14 -04:00
KernelDeimos 4bdad75766 feat(backend): improve logger and reduce logs 2024-05-31 19:40:13 -04:00
KernelDeimos 522664d415 feat(backend): allow services to provide user properties 2024-05-31 18:10:11 -04:00
KernelDeimos 71e2310fa4 tweak(ui): expose UIAlert to service scripts 2024-05-31 18:09:15 -04:00
KernelDeimos d2b37fc436 tweak(ui): fix NotifCard accessing on_click 2024-05-31 18:03:45 -04:00
Nariman Jelveh e6e058c0a0 Update UIContextMenu.js 2024-05-31 10:58:18 -07:00
Sam Atkins 6de4c89c25 refactor(phoenix): Combine similar sed command classes
These make more sense combined into one Command which is controlled by
constructor parameters:

- b, t and T
- d and D
- g and G
- h and H
- p and P
2024-05-31 15:49:32 +01:00
Sam Atkins 0d4f907b66 feat(phoenix): Implement parsing of sed scripts
Sed is now finally able to actually run scripts, instead of ignoring all
input and running a hard-coded test script!
2024-05-31 15:49:32 +01:00
Sam Atkins e047b0bf30 fix(phoenix): Add missing newlines to sed command output 2024-05-31 15:49:32 +01:00
Sam Atkins f250f86446 feat(phoenix): Add --dump and --file options to sed 2024-05-31 15:49:32 +01:00
Sam Atkins 4067c82486 feat(phoenix): Expose parsed arg tokens to apps that request them
Some shell apps care about what order the arguments appear in. When
`parseArgs()` is called with `tokens: true`, it produces this `tokens`
array which represents all the command line options and arguments, in
order, which is useful for these more advanced cases.
2024-05-31 15:49:32 +01:00
Sam Atkins 306014adc7 feat(phoenix): Add more commands to sed, including labels and branching
This is ported over from an old forgotten branch I'd deleted, then
thankfully managed to dig up again. 😅

Instead of making GroupCommand contain child commands, use a flat array
for commands and implement groups as GroupStartCommand and
GroupEndCommand. This makes it much simpler to iterate the commands
list in order to jump to labels.

Then implement those labels and the commands that use them: b, t, and T.

Also add the s SubstituteCommand, and combine the code for the q and Q
commands.
2024-05-31 15:49:32 +01:00
Sam Atkins 6aae8fc63b refactor(phoenix): Split up sed code
Let's organise this a bit.
2024-05-31 15:49:32 +01:00
Sam Atkins 9b4d16fbe9 fix(parsely): Make Repeat parser work when no separator is given 2024-05-31 15:49:32 +01:00
Sam Atkins d46b043c5d feat(parsely): Add stringUntil() parser
The counterpart of stringOf(), it reads characters until it matches its
parameter.
2024-05-31 15:49:32 +01:00
Sam Atkins 5656d9d42f feat(parsely): Add a fail() parser
I've found this useful for stubbing out parts of a grammar during
development.
2024-05-31 15:49:32 +01:00
Nariman Jelveh c9a43ce5c0 Update UIContextMenu.js 2024-05-30 18:16:32 -07:00
Nariman Jelveh 7c8492ba43 Fix the issue of checkmark's wrong color in ctx menu disabled items on hover 2024-05-30 17:09:18 -07:00
Nariman Jelveh 16d5ac6abb Delay opening the submenu for smoother mouse navigation on the menu 2024-05-30 15:24:50 -07:00