KernelDeimos
c89b50bf31
Refactor gui loading
2024-05-23 18:13:57 -04:00
Sam Atkins
3184d3482c
feat(phoenix): Implement an exit
builtin
2024-05-23 15:27:15 +01:00
Sam Atkins
5de3052026
feat(phoenix): Respond to exit status codes
...
- Detect exit status of Puter apps, now that that's available.
- Store the exit status of each pipeline.
- Display a message when the exit status was non-zero.
That message is temporary, until we have a better way of displaying or
querying it, such as the `$?` shell variable.
2024-05-23 15:26:43 +01:00
Sam Atkins
7674da4cd2
feat: Add exit status code to apps
...
`puter.exit()` now takes a status code, similar to the exit status on
desktop OSes. This is passed to the appClosed event, so that eg a
parent app can know whether its child app ran successfully.
2024-05-23 12:54:06 +01:00
Eric Dubé
b15dc316d3
Merge pull request #406 from AtkinsSJ/fs-upload-data-type-error
...
Explicitly reject invalid types for puter.fs.upload() and .write() payloads
2024-05-22 12:13:24 -04:00
Sam Atkins
10f715f726
Implement git show
2024-05-22 16:00:42 +01:00
Sam Atkins
0377015190
Implement git config
...
This is also basic:
git config key # To read a value
git config key value # To set a value
git config --unset key # To delete a value
As noted, --list is not possible to implement currently.
2024-05-22 16:00:42 +01:00
Sam Atkins
98c33fb3cc
Implement git log
...
This is quite barebones for now.
Commit formatting is done in a separate file, as this is used by other
git commands, such as `show`.
2024-05-22 16:00:42 +01:00
Sam Atkins
b4e2ba4544
Implement git commit
2024-05-22 16:00:42 +01:00
Sam Atkins
32c172d145
Implement git add
2024-05-22 16:00:42 +01:00
Sam Atkins
5a308a2a53
Implement git status
2024-05-22 16:00:42 +01:00
Sam Atkins
71873a9c27
Add a helper function for finding the git repo
2024-05-22 16:00:42 +01:00
Sam Atkins
5e3db870ec
Implement git init
2024-05-22 16:00:42 +01:00
Sam Atkins
85b7587c42
Implement git help
, git version
, and subcommand infrastructure
...
Each subcommand is its own file, modeled after Phoenix's coreutils.
2024-05-22 16:00:42 +01:00
Sam Atkins
b75c42b39f
Implement Puter filesystem wrapper for git app
2024-05-22 08:56:50 +01:00
Sam Atkins
0d2ffdb380
Add boilerplate for empty git app
...
It does nothing but output a message to the console.
2024-05-22 08:56:50 +01:00
Sam Atkins
8f1c4fcda9
feat(Phoenix): Pass command line arguments and ENV when launching apps
2024-05-22 08:56:50 +01:00
Sam Atkins
bf33fd752d
Remove outdated FIXMEs about consuming extra stdin data
2024-05-22 08:56:50 +01:00
Sam Atkins
c08c8bd073
Expose POSIX error name as PosixError.code
...
This matches the behaviour of Node.JS's errors, and some libraries
expect it.
2024-05-22 08:56:50 +01:00
Sam Atkins
8098dc9dcc
Move error-conversion functions into PosixError
...
Specifically, this makes the Puter->PosixError conversion available to
the in-progress git client.
2024-05-22 08:56:50 +01:00
Sam Atkins
e43b21387c
Move PosixError into puter-js-common
...
The in-progress git client also needs to use this. puter-js-common uses
commonjs modules, so it had to be adjusted for that.
2024-05-22 08:56:50 +01:00
KernelDeimos
1f6a2093fb
Disallow negative size values
2024-05-21 18:46:34 -04:00
KernelDeimos
90463a0732
Add support for webhook endpoints
2024-05-21 17:25:28 -04:00
Karan Parmar
cc45a08388
updated the github links displayed in the Terminal welcome message
2024-05-19 11:52:26 +01:00
KernelDeimos
8cca067991
Fix 8688ha84v
2024-05-17 22:55:40 -04:00
Eric Dubé
80b763c47c
Merge pull request #407 from AtkinsSJ/clean-suggested-apps
...
fix: Remove null or duplicate app entries from suggest_app_for_fsentry()
2024-05-17 15:46:06 -04:00
KernelDeimos
639e40d355
Phoenix shell deployment update
2024-05-17 13:26:44 -04:00
KernelDeimos
f964f06f3f
Fix 8688h4bwg
2024-05-17 13:05:13 -04:00
KernelDeimos
e4543c5f35
Fix 8688ggu00 (2)
2024-05-17 12:32:16 -04:00
Sam Atkins
6900233c5a
fix: Remove null or duplicate app entries from suggest_app_for_fsentry()
2024-05-17 15:34:36 +01:00
Sam Atkins
03fe3b6a0d
Reject invalid types for puter.fs.upload() items or .write() data
...
Previously, this would crash in upload() when trying to iterate the
`entries` array, which is undefined when the `items` parameter is an
unsupported type.
2024-05-17 14:39:31 +01:00
Sam Atkins
a9c89cef19
refactor: Reduce boilerplate for returning errors from puter.fs.upload()
2024-05-17 14:39:31 +01:00
KernelDeimos
c55b1e4680
Remove verification requirement on contact us form
2024-05-16 19:08:51 -04:00
KernelDeimos
e3f57ee20e
Add path builder
2024-05-16 19:02:58 -04:00
KernelDeimos
5031cea040
Update _default.js for deployment purposes
2024-05-16 18:55:59 -04:00
KernelDeimos
49b257ecff
fix(security): Move token for socket.io to request body
...
Currently this commit breaks websocket events and needs to
be updated.
2024-05-16 17:58:44 -04:00
KernelDeimos
f042b095f1
Fix 8688gxkuj
2024-05-16 17:25:41 -04:00
Eric Dubé
f54657a569
Merge pull request #402 from HeyPuter/eric/email-lock
...
Add locking to save_account
2024-05-15 18:49:03 -04:00
Eric Dubé
1aa27084d0
Merge pull request #396 from AtkinsSJ/xterm-fix
...
fix(Terminal): Accept input from Chrome on Android
2024-05-15 18:24:02 -04:00
KernelDeimos
691c8f1436
Add locking to save_account
2024-05-15 18:22:54 -04:00
Eric Dubé
b72e5b7e02
Merge pull request #401 from HeyPuter/eric/service-patches
...
Allow patching services
2024-05-15 15:47:14 -04:00
KernelDeimos
c70e378973
Add error id for expired auth tokens
2024-05-15 15:42:00 -04:00
KernelDeimos
21444daefb
Add jsdoc comments to registerService and patchService
2024-05-15 15:41:37 -04:00
KernelDeimos
2e0d7361cb
Add method to patch services
2024-05-15 15:32:18 -04:00
Eric Dubé
6e0b6d84d2
Merge pull request #400 from AtkinsSJ/fix-apierror-includes
...
fix: Correct APIError imports
2024-05-15 13:51:04 -04:00
Sam Atkins
062e23b5c9
fix: Correct APIError imports
...
APIError is the only thing exported from its file, so we must not wrap
it in {}.
2024-05-15 17:47:15 +01:00
Sam Atkins
a8160a8cdc
fix: Add missing file extension to 0009_app-prefix-fix.sql in DB init
2024-05-15 10:18:28 +01:00
KernelDeimos
0b093dd57e
Revoke other sessions when password is changed
2024-05-14 19:40:57 -04:00
KernelDeimos
923d5878c3
Prevent enable of 2FA without configure
2024-05-14 17:33:14 -04:00
Sam Atkins
4ef3e53de3
fix(Terminal): Accept input from Chrome on Android
...
Xterm.js produces two kinds of events: onKey and onData. On a desktop,
these are effectively the same, but on mobile, IME inputs produce data
but not key presses. By listening to onData instead of onKey, we get
that input.
With some experimentation, I also found that we don't need the code to
handle enter, home, end, or Ctrl-Shift-V. All of these function as
expected without that code, so we can remove it and simplify this
further. :^)
2024-05-14 16:10:30 +01:00
Sam Atkins
2656b47640
chore: Update xterm
...
From version 5.4.0 onwards, xterm scopes its package names as
`@xterm/foo` instead of just `xterm-foo`.
We currently have a copy of xterm.css which we use instead of directly
including the one from the `@xterm/xterm` package, so I've updated the
contents of that too.
2024-05-14 16:10:30 +01:00
Sam Atkins
fafbc292ca
Remove xterm dependency from Phoenix
...
This is used by Terminal, not Phoenix.
2024-05-14 16:10:30 +01:00
KernelDeimos
800aef1942
Implement anti-CSRF for logout
2024-05-13 20:40:27 -04:00
KernelDeimos
da7f73baa6
Add AntiCSRFService
2024-05-13 19:08:51 -04:00
KernelDeimos
afb9d866b5
fix: Fix phoenix app prefix and TokenService test
2024-05-13 18:17:39 -04:00
KernelDeimos
c2f1694107
Require password entry to disable 2FA
2024-05-13 16:00:07 -04:00
KernelDeimos
23215bd6f7
Move change_email/start to password-protected endpoint
2024-05-13 16:00:07 -04:00
KernelDeimos
1493cacb69
Add rate-limiting to new password change endpoint
2024-05-13 16:00:07 -04:00
KernelDeimos
9076fddc0d
Add new password change endpoint
2024-05-13 16:00:07 -04:00
KernelDeimos
a89c9d59cf
Add UserProtectedEndpointsService
2024-05-13 16:00:07 -04:00
KernelDeimos
15dec21118
doc(backend): Document the boot sequence
...
Now that the boot sequence is better formalized it may be documented.
2024-05-13 16:00:07 -04:00
KernelDeimos
d800b12569
refactor(backend): Trigger webserver events in webserver
...
We were triggering webserver events in Kernel. This change improves
adherence to separation-of-concerns and ensures event cascading is
working as expected. This also better formalizes the boot sequence.
2024-05-13 01:05:49 -04:00
Eric Dubé
3992fe1a45
Merge pull request #384 from AtkinsSJ/progress-dialogs
...
refactor: Replace several existing progress dialogs with one configurable one
2024-05-10 12:25:32 -04:00
Eric Dubé
17e08cafce
Merge pull request #380 from AtkinsSJ/eslint-ci
...
Run ESLint on CI
2024-05-10 12:24:31 -04:00
KernelDeimos
cd2daa1910
Require email verification for contact form
2024-05-09 19:40:34 -04:00
KernelDeimos
8b6bbe003d
fix(security) Disable 2FA configure if 2FA is enabled
2024-05-09 18:04:58 -04:00
Sam Atkins
f3269693de
Stop dumping binary data to the console
...
This was freaking out and freezing the Puter server, and my entire
terminal app. XD
2024-05-09 18:28:39 +01:00
KernelDeimos
df24c663df
Invalidate email confirmation on password change
2024-05-08 22:28:41 -04:00
KernelDeimos
45e7f162a2
Add password change notification
2024-05-08 16:01:20 -04:00
Sam Atkins
8c70efa058
Suppress remaining eslint errors
...
These two seem like bugs but are unclear to me how to fix, so I've added
FIXMEs.
/puter/packages/backend/src/routers/kvstore/clearItems.js
41:32 error 'DB_MODE_WRITE' is not defined no-undef
/puter/packages/backend/src/routers/whoami.js
104:35 error 'db' is not defined no-undef
2024-05-08 18:53:36 +01:00
KernelDeimos
5890b7e7bf
Disable password reset token when email or password is changed
2024-05-07 20:18:11 -04:00
KernelDeimos
d20249f29a
Send email notifications when 2FA state changes
2024-05-06 21:13:00 -04:00
KernelDeimos
7f3e2852c6
Add rate limits
2024-05-06 16:12:54 -04:00
KernelDeimos
7fce223a6d
Fix OTP test endpoint
2024-05-06 15:40:34 -04:00
KernelDeimos
a628358c9f
Fix OTP time window
2024-05-06 15:02:14 -04:00
KernelDeimos
918eb3bb67
Put otpauth back on 9.2.4
2024-05-06 02:10:22 -04:00
KernelDeimos
ecae1997aa
Maybe this??
2024-05-06 01:58:55 -04:00
KernelDeimos
e4c7caa8ea
Worth a try
2024-05-06 01:54:02 -04:00
KernelDeimos
00c8ece07e
Finish recovery codes
2024-05-06 00:02:46 -04:00
KernelDeimos
5cbe256120
Add missing part of previous commit
2024-05-06 00:02:46 -04:00
KernelDeimos
a2a8f9de74
Fix cache state
2024-05-06 00:02:46 -04:00
KernelDeimos
3e380ba844
Add otp test endpoint and next wizard step
2024-05-06 00:02:46 -04:00
KernelDeimos
2681a78501
Use username as otp label
2024-05-06 00:02:46 -04:00
KernelDeimos
3bf7737790
Add recovery codes
2024-05-06 00:02:46 -04:00
KernelDeimos
455d3946d6
Add checkboxes and cancel action for 2FA setup
2024-05-06 00:02:46 -04:00
KernelDeimos
2dfecb5287
Add 2fa setting and complete login flow
2024-05-06 00:02:46 -04:00
KernelDeimos
d7c5c37cf8
Implement backend for 2FA
2024-05-06 00:02:46 -04:00
KernelDeimos
038373cbbc
Fix filename inconsistency that breaks Linux support
2024-05-06 00:02:33 -04:00
Didi Keke
4d30740198
fix: typographical errors 🐛
2024-05-05 08:34:50 +00:00
Didi Keke
551121524c
refactor: name from SelfhostedModule
to SelfHostedModule
🔨
2024-05-05 07:53:55 +00:00
KernelDeimos
a86106c0c1
Fix save_account token
2024-05-04 14:19:09 -04:00
Eric Dubé
4d0e6b4772
Merge pull request #336 from AtkinsSJ/app-tab-completion
...
Phoenix: Add tab-completion for command names
2024-05-03 12:39:07 -04:00
Sam Atkins
44aa4f1b0a
chore: Remove debugger calls
...
/puter/packages/phoenix/src/ansi-shell/arg-parsers/simple-parser.js
30:38 warning Unexpected 'debugger' statement no-debugger
/puter/packages/phoenix/src/ansi-shell/pipeline/Coupler.js
71:32 warning Unexpected 'debugger' statement no-debugger
2024-05-02 17:41:14 +01:00
Sam Atkins
fa7c6bee96
fix: Correct variables used in errors in sign.js
...
I couldn't figure out how to get a name for the no_suitable_app error
unfortunately, so that's just commented out.
/puter/packages/backend/src/routers/sign.js
65:74 error 'subject' is not defined no-undef
114:59 error 'subject' is not defined no-undef
2024-05-02 17:39:01 +01:00
Sam Atkins
fa3b86fa7e
chore: Amend empty blocks in upload.js
...
/puter/packages/puter-js/src/modules/FileSystem/operations/upload.js
63:22 error Empty block statement no-empty
173:22 error Empty block statement no-empty
2024-05-02 17:31:17 +01:00
Sam Atkins
52d5299374
fix: Use correct variable for version number
...
/puter/packages/backend/src/services/ComplainAboutVersionsService.js
30:36 error 'current_version' is not defined no-undef
2024-05-02 17:30:53 +01:00
Sam Atkins
8d4a1e0ed3
fix: Add missing TextEncoder to PTT
...
Solves this eslint issue:
/puter/packages/terminal/src/pty/PTT.js
35:29 error 'encoder' is not defined no-undef
2024-05-02 11:21:50 +01:00
Sam Atkins
ca65ed1258
chore: Use this
to refer to itemWatchCallbackFunctions field
...
Solves these eslint issues:
/puter/packages/puter-js/src/modules/UI.js
418:20 error 'itemWatchCallbackFunctions' is not defined no-undef
418:74 error 'itemWatchCallbackFunctions' is not defined no-undef
419:21 error 'itemWatchCallbackFunctions' is not defined no-undef
2024-05-02 11:21:50 +01:00
Sam Atkins
33785b3786
chore: Add missing imports for node:process
2024-05-02 11:21:50 +01:00
Sam Atkins
96e9c154bd
chore: Fix a couple of regex related eslint issues
...
/puter/packages/phoenix/src/puter-shell/providers/ScriptCommandProvider.js
27:38 error Unnecessary escape character: \/ no-useless-escape
/puter/packages/phoenix/src/util/wrap-text.js
24:33 error Unexpected control character(s) in regular expression: \x1b no-control-regex
2024-05-02 11:21:50 +01:00