Commit Graph

1253 Commits

Author SHA1 Message Date
KernelDeimos
14d45a27ed feat: add extension API for modules
Allows modules to register a listener to the 'install' event without
creating a Module class. This changes how external modules are
installed.

External modules are now referred to as "extensions"; this commit does
not update the term but does use 'extension' as the name of the global.
2024-10-31 18:08:27 -04:00
KernelDeimos
9a0c5b4f74 dev: support no-response endpoints in Collector
The no_response option is added to Collector::post. If an endpoint
returns an empty response, this option must be set to avoid a JSON parse
error.
2024-10-30 18:52:47 -04:00
jelveh
dc478382fb tweak: don't break if contact_us is not found 2024-10-29 23:44:54 -07:00
jelveh
fc5e15f2a6 feat: first extension that implements a custom user options menu 2024-10-29 22:55:26 -07:00
jelveh
b018571a86 feat: add support for extensions 2024-10-29 18:37:32 -07:00
KernelDeimos
14f477a633 fix: Collector bug on undefined body 2024-10-29 18:56:11 -04:00
KernelDeimos
b9625945ae dev: expose save account and email confirm 2024-10-29 18:56:11 -04:00
KernelDeimos
463c96c69a fix: hyphenize_confirm_code bug 2024-10-29 18:56:11 -04:00
KernelDeimos
38adb5741b fix: app close issue in phoenix 2024-10-29 16:19:58 -04:00
KernelDeimos
b30de5bf78 fix: reading JSON string from service_usage_monthly
This was hilariously difficult to debug. This isn't the first time an
issue like this occurred; this happens because of a deviation between
mysql and sqlite, where a JSON-typed column in mysql will return as a
native object in queries, whereas a JSON-typed column in sqlite is a
string column and will therefore return as an un-parsed JSON string in
queries.
2024-10-29 13:18:53 -04:00
KernelDeimos
7ba16d1c21 fix: recently broke counting service sql 2024-10-28 19:14:15 -04:00
KernelDeimos
f1087953b5 fix: ignore invalid entries from service_usage_monthly 2024-10-28 19:09:17 -04:00
KernelDeimos
193da63304 fix: service usage screen
This fixes service monthly usage counts as shown in Settings.
2024-10-28 18:47:40 -04:00
KernelDeimos
c0b109d4d2 dev: add get_proxy_object to util/context 2024-10-28 15:11:26 -04:00
KernelDeimos
3649dff9aa dev: add module lib installation to useapi 2024-10-28 15:11:26 -04:00
jelveh
3d85edf537 Update UIWindow.js 2024-10-27 21:33:08 -07:00
jelveh
54ae69b7b7 feat: add an 'Upload' button at the bottom of OpenFilePicker 2024-10-27 21:32:39 -07:00
jelveh
cd8a080d72 tweak: user-friendly badges for apps in Dev Center 2024-10-27 21:09:18 -07:00
jelveh
af511c05e3 feat: Allow apps to toggle credentialless via Dev Center 2024-10-27 14:44:06 -07:00
KernelDeimos
4dc1e01682 fix: continue work on blocked_email_domains (2) 2024-10-27 15:46:21 -04:00
jelveh
161be7fe6b remove 'About' from taskbar apps 2024-10-26 09:56:57 -07:00
KernelDeimos
515051dabf fix: continue work on blocked_email_domains 2024-10-26 03:28:45 -04:00
KernelDeimos
c22a69ffb1 fix: errors thrown by launch_app
Fixes errors that were noticed being thrown by launch_app, specifically
in the branch of logic when launch_app is called NOT via ExecService.
This branch of logic was added to fix an issue where notepad wasn't
prompting to save unsaved changes on close because data-appusessdk was
not properly set to true. The fix still worked, despite throwing these
errors, because setting data-appUsesSDK to true is the first thing it
does. However, broadcast messages to apps launched with launch_app NOT
via ExecService would have been broken.
2024-10-26 03:07:02 -04:00
jelveh
a9bbcf908d Update style.css 2024-10-25 11:36:50 -07:00
KernelDeimos
f3a9e784a3 dev: add can iterate check 2024-10-25 14:27:42 -04:00
KernelDeimos
b98c5a349e dev: make anti-csrf more convenient 2024-10-24 23:11:07 -04:00
KernelDeimos
f55b7ac0b8 dev: ensure existing app tokens don't break (for now) 2024-10-24 19:54:29 -04:00
KernelDeimos
6b8fbda14c dev: allow app tokens to identify user sessions 2024-10-24 19:51:54 -04:00
KernelDeimos
bc51d4bd52 fix: notepad save issue 2024-10-24 02:28:19 -04:00
KernelDeimos
87f7fc0265 tweak: clarify blocked domain message 2024-10-24 00:57:21 -04:00
KernelDeimos
955b087297 feat: add config for blocked email domains 2024-10-24 00:38:40 -04:00
KernelDeimos
988039eade dev: src prop for images 2024-10-23 22:59:18 -04:00
KernelDeimos
25e9ed8227 dev: make el() yet more convenient 2024-10-23 01:08:16 -04:00
KernelDeimos
5965ab5de0 dev: allow UIElement to be used as settings tab 2024-10-22 23:55:42 -04:00
KernelDeimos
0bb80d2933 doc: add todo regarding /whoami 2024-10-22 21:54:48 -04:00
KernelDeimos
37bb98b965 dev(gui): add UIElement 2024-10-22 21:54:48 -04:00
jelveh
37aa2b1d06 tweak: improve the usage bar visibility 2024-10-22 17:39:38 -07:00
jelveh
4e8c7455aa tweak: Move clock settings to the 'Personalization' tab of 'Settings' 2024-10-22 17:18:16 -07:00
jelveh
6f702c3927 Going to /settings will open the Settings in full page mode 2024-10-22 16:46:06 -07:00
KernelDeimos
c6bc42f551 fix: height 100% on flexer and step view 2024-10-22 18:10:16 -04:00
KernelDeimos
368c20cf57 dev: updates and URL collector 2024-10-21 22:57:25 -04:00
KernelDeimos
12e0cecf02 fix: wait no 2024-10-21 18:12:08 -04:00
KernelDeimos
c8f913d710 fix: phoenix incorrect lookup order 2024-10-21 18:07:45 -04:00
ProgrammerIn-wonderland
891e799e5e WIP symlink, net_device virtio, move fixes, upload binary fixes 2024-10-21 17:04:57 -04:00
jelveh
13248a99bf feat: add support for fadeIn effect for UIWindow 2024-10-21 07:48:06 -07:00
jelveh
920a2f2427 tweak: make backdrop darker to increase focus on active window 2024-10-20 20:15:19 -07:00
KernelDeimos
60fdce9052 sync: put app-center in the taskbar 2024-10-20 20:30:35 -04:00
KernelDeimos
8b1a935c93 sync: developer is in /dist now 2024-10-20 20:30:11 -04:00
KernelDeimos
e0b9072129 fix: issue with service scripts that use TestView 2024-10-19 21:17:57 -04:00
Nariman Jelveh
90e7098cc7
Merge pull request #787 from 4nshuman/issue/zip-operation
Issue/zip operation
2024-10-19 15:45:39 -07:00
KernelDeimos
b5535ae3ca dev: add dev2 env 2024-10-19 18:22:09 -04:00
KernelDeimos
0fb4f73d76 chore: remove noisy logs 2024-10-19 17:31:46 -04:00
4nshuman
63b4da5be8 connected upload's inbuilt progress counter 2024-10-20 02:07:07 +05:30
4nshuman
fabc21ecf7 fixed sorting logic on directory list 2024-10-20 02:00:58 +05:30
4nshuman
a646b02e45 provide incremental directories to mkdir 2024-10-20 02:00:35 +05:30
jelveh
c29122c23f tweak: use different icons for system directories in the sidebar 2024-10-19 12:59:24 -07:00
4nshuman
4fdea7db66 offloaded write operations to Upload module 2024-10-20 00:06:30 +05:30
4nshuman
f32b1cfce8 added option to create parent directories for programmatic file drops 2024-10-20 00:05:40 +05:30
4nshuman
fc461c8735 added absolute file path processing 2024-10-20 00:04:36 +05:30
4nshuman
d39b7a8972 record unique directory list 2024-10-19 23:52:21 +05:30
jelveh
74baab49f4 tweak: improve welcome window footer link color 2024-10-19 10:35:56 -07:00
jelveh
564ff65363 feat: welcome screen to quickly explain what Puter is 2024-10-19 10:28:03 -07:00
KernelDeimos
480d996279 dev: proof-of-concept for fs postMessage relay
Adds a filesystem relay service to GUI-side which currently reports an
exmaple fsentry for /stat and /readdir. Added filesystem services for
both sides. Moved filesystem implementations from src/modules to src/lib
since they're being called by services now rather than modules.

This functionality is effectively disabled unless
src/puter-js/src/services/Filesystem.js is updated to use init_app_fs_()
when the environment is 'app'.
2024-10-19 03:46:47 -04:00
KernelDeimos
6e5d5c2021 dev: clone property descriptors in Context 2024-10-19 03:45:41 -04:00
KernelDeimos
c2a475f3c0 dev: lay the groundwork for client FS relay
Adds XDIncomingService to manage messages from another window. IPC now
registers with XDIncoming and reports whether it was handled, that way
messages intended to reach GUI can be reliably ignored.

On GUI-side, XDIncomingService will be used by FSRelayService (not yet
implemented) to handle requests for filesystem operations from another
window.

On App-side, XDIncomingService might be used by the PostMessageFS
client-side filesystem implementation terminal to listen for filesystem
events that were relayed by GUI (after a permission check) from their
original websocket source. Either that, or we'll open a filesystem
socket for each app using that app's token.

NoPuterYetService was added because IPC.js is loaded before
globalThis.puter exists, and was the easiest way to still allow IPC's
listener to be registered with XDIncomingService.

APIAccessService was added. This service currently holds auth_token and
api_token and does nothing else. FilesystemService listens to this to
maintain a websocket connection. APIAccessService will help to manage
the complexity of all further code dependent on being informed about
changes to the auth token or origin. Currently in puter.js these are
passed around to several modules which manage the same piece of state
information independantly.
2024-10-18 23:10:19 -04:00
KernelDeimos
bc5d09fe31 dev: hooks and sequencing functions for ServiceManager 2024-10-18 23:10:19 -04:00
jelveh
2f6f2b7d7c Set autoDedupe to true for creating new apps in Dev Center 2024-10-18 18:44:06 -07:00
KernelDeimos
143cfb5654 fix: 1954f8-related issue #2
mkdir operation was passing user instead if actor. I really think I
changed this already; getting a crazy deja-vu feeling about it. Maybe a
commit was lost somewhere along the road, but not sure.
2024-10-18 21:24:05 -04:00
jelveh
b1411cd622 Add dedupeName for to puter.apps and Dev Center 2024-10-18 18:02:37 -07:00
jelveh
8ed5db1734 Merge branch 'main' of https://github.com/heyputer/puter 2024-10-18 17:50:25 -07:00
jelveh
14fc963dd4 Show approval badges and lock in Dev Center 2024-10-18 17:48:14 -07:00
KernelDeimos
b9c157b28e tweak: start from 1 2024-10-18 20:48:09 -04:00
KernelDeimos
66e8b37f70 dev: add dedupe_name option for app creation 2024-10-18 20:42:41 -04:00
KernelDeimos
4ce2dccc76 dev: update app approved_for props visibility
Allows owner users to read the approved_for properties on their own apps
2024-10-18 20:12:19 -04:00
KernelDeimos
f5865daede fix: 1954f8-related issue
get-user-app-token was calling ll_mkdir with 'user' instead of 'actor'
2024-10-18 19:58:44 -04:00
KernelDeimos
1954f86680 fix(security): always use actor 2024-10-18 19:15:40 -04:00
KernelDeimos
94e15dbfa8 test: fix topics test and ServiceManager 2024-10-18 19:13:06 -04:00
jelveh
598a08ec45 Allow users to cancel a deploy operation before start 2024-10-18 16:07:01 -07:00
KernelDeimos
3c5d2af8c8 fix: small issue in Service.js 2024-10-18 15:53:40 -04:00
jelveh
29f5820129 Fix settings sidebar margin 2024-10-18 12:45:27 -07:00
KernelDeimos
fb1216d488 fix: prevent code from breaking just because it was bundled 2024-10-18 15:06:08 -04:00
KernelDeimos
7922314840 dev: add generic pub/sub system for use anywhere
Dispatching and listening to events is non-trivial. The apparent
triviality is in implementing a list of listeners and calling them. The
non-triviality is in the nature of what happens to a system when it has
multiple different interfaces to register listeners and publish events.

This commit adds TopicsFeature, which allows any class extending
AdvancedBase to declare topics. A topic is a simple pub/sub channel.
TopicsFeature will manage the state of listeners so the class doesn't
need to. A GC-friendly mechanism for detaching listeners is also provided.
2024-10-17 22:56:00 -04:00
KernelDeimos
9b1f1817f5 dev: move service interface to trait 2024-10-17 22:56:00 -04:00
KernelDeimos
273a51fc53 dev: add ServiceManager
The ServiceManager will replace manual management of services within
initgui, and will also be used within puter.js. Eventually Puter's
backend might use this instead of the existing Container class, although
this will be a large change that needs to be done incrementally.

The difference between ServiceManager and Container is the logic behind
when initialization occurs. Rather than have all services initialized at
once when Container's init() method is called, services are initialized
as soon as their dependencies have been initialized.
2024-10-17 22:56:00 -04:00
jelveh
2a81825a6b Update default apps in the Launch menu 2024-10-17 16:14:24 -07:00
KernelDeimos
7980aafbd9 doc: add devlog from puter.js 2024-10-17 01:19:06 -04:00
ProgrammerIn-wonderland
f0b7214a07 working persistence 2024-10-15 18:30:08 -04:00
ProgrammerIn-wonderland
aae6fff340 adding locking to puter-save 2024-10-15 18:30:08 -04:00
ProgrammerIn-wonderland
f0bc10f1e8 WIP persistence 2024-10-15 18:30:08 -04:00
KernelDeimos
1ea6d270f8 dev: add endpoint for GUI to query app file access 2024-10-15 16:19:11 -04:00
KernelDeimos
fd7bd339ca dev: add Context to putility 2024-10-15 16:17:37 -04:00
KernelDeimos
149684de01 dev: allow emulator app to access user files 2024-10-14 15:46:19 -04:00
KernelDeimos
9e88096e7e clean: remove a console.log 2024-10-14 15:19:52 -04:00
KernelDeimos
e011df1a20 move: PuterAPIFilesystem 2024-10-14 15:19:18 -04:00
KernelDeimos
6d23369512 sync: add new page 2024-10-14 12:18:04 -04:00
KernelDeimos
3762037576 dev: oops 2024-10-12 00:01:33 -04:00
KernelDeimos
11fbcb27b0 dev: cache readdir 2024-10-11 23:51:38 -04:00
KernelDeimos
77f6bdcd6d dev: make puter.fs cache togglable 2024-10-11 18:39:58 -04:00
KernelDeimos
6ee7caaee1 dev: apply TTL cache for stat entries
Adds CachedFilesystem layer to client filesystem chain. Currently only
stat is implemented. The stat implementation will hold onto an entry for
3 seconds as per hardcoded configuration. Eventually, once invalidation
via websockets is working, this TTL should be extended.
2024-10-11 18:39:58 -04:00
KernelDeimos
fc9a371e09 dev: add more to NariMethodsFeature 2024-10-11 18:39:58 -04:00
KernelDeimos
43c5402b7c feat(putility): trait method override support
Support for trait method overrides will make it possible to use putility
traits with the decorator pattern while using a proxy class to avoid
redundant re-implementation of proxy methods.

Use of the pattern described above will occur in the implementation of
client-side filesystem caching.
2024-10-11 18:39:58 -04:00
KernelDeimos
c12ae2a923 dev: prepare puter.js fs for decorator pattern
- de-coupled xhr callback passing from the interface of the underlying
  filesystem implementation.
- This makes the interface to delegate calls more suitable for use with
  the decorator pattern.
- The decorator pattern will be used to manage the complexity of the
  caching layer by separating the concerns of different caching methods.
2024-10-11 18:39:58 -04:00
ProgrammerIn-wonderland
4f8304ec15 switch ne2k_pci to virtio 2024-10-11 18:14:38 -04:00
ProgrammerIn-wonderland
d9805c0cab delete prompt-path 2024-10-11 17:06:32 -04:00
ProgrammerIn-wonderland
fb41d2a51c change PWD to not use prompt-path and fix unicode issues 2024-10-11 17:06:32 -04:00
KernelDeimos
010282edf2 fix: don't display all apps for extensionless files
This hides database entries with empty types from the list of suggested
apps for files that have no extension. These entries should also be
removed from the database and the bug causing them should be fixed in
dev center.
2024-10-11 14:51:52 -04:00
KernelDeimos
38dcb60d3f fix: creating app shortcut in self-hosted
For some reason ll_write has an undefined `actor` when clicking "Add
Shortcut to Desktop" from Dev Center. This should be investigated
further.
2024-10-11 14:50:35 -04:00
Nariman Jelveh
3157186f4f close #798 2024-10-10 17:40:17 -07:00
KernelDeimos
d4b96a17c8 dev: add RWLock to putility 2024-10-10 18:47:07 -04:00
KernelDeimos
37e7b6ad70 fix: disable thumbnails for AppData uploads 2024-10-10 15:03:22 -04:00
KernelDeimos
823ab28448 test: update test invocation 2024-10-10 03:19:28 -04:00
ProgrammerIn-wonderland
979bd06d70 9p automounting 2024-10-09 20:36:03 -04:00
ProgrammerIn-wonderland
b145e30a90 feat: v86 9p server support 2024-10-09 20:36:03 -04:00
Nariman Jelveh
d449367db5 Update loading.svg 2024-10-09 10:04:09 -07:00
Nariman Jelveh
9890e3a8be close #771 2024-10-08 19:51:57 -07:00
Nariman Jelveh
d0940ccd21 close #776 2024-10-08 18:59:14 -07:00
KernelDeimos
7f1b870d30 feat: support readdir for directory symlinks 2024-10-08 18:31:39 -04:00
KernelDeimos
c2a9506b48 fix: thumbnail service updates 2024-10-08 01:41:18 -04:00
ProgrammerIn-wonderland
ed0a83ca9d dev: update v86, switch twisp to epoxy-server with twisp feature 2024-10-07 22:04:41 -04:00
4nshuman
822d850513 purge JSZip 2024-10-06 21:25:46 +05:30
4nshuman
e252567c88 Added progress dialog details 2024-10-06 21:19:42 +05:30
4nshuman
f0f8e454f9 added Promises to handle multiple file creation and closing progress dialog 2024-10-06 20:27:12 +05:30
4nshuman
a09dd29416 added empty directory check and file creation 2024-10-06 20:25:40 +05:30
4nshuman
e992e4d5d4 unzipped directory creation 2024-10-06 20:25:10 +05:30
4nshuman
2a82579eb8 added unzip error handler 2024-10-06 20:23:10 +05:30
4nshuman
a79cc040e8 implemented fflate unzip operation 2024-10-06 20:22:50 +05:30
4nshuman
e5f0f46633 added blob to uInt8Array conversion 2024-10-06 20:22:07 +05:30
4nshuman
9a2e701683 eleminate JSZip invocation 2024-10-06 20:21:29 +05:30
4nshuman
00f2dbdcf0 added window hide delay config 2024-10-06 20:18:30 +05:30
4nshuman
b9d7a1d2a1 added zip support for empty directories 2024-10-06 17:33:30 +05:30
4nshuman
b9b8229099 fixed comments phrasing 2024-10-06 16:19:46 +05:30
4nshuman
5b477c2cac fixed module name 2024-10-06 16:10:40 +05:30
4nshuman
09d10cb29b rectified progress window for unzip operation 2024-10-06 16:03:09 +05:30
4nshuman
f6541fc793 convention implemented definition header 2024-10-06 16:01:18 +05:30
4nshuman
deb8c4e13b added status message terms 2024-10-06 16:00:01 +05:30
4nshuman
a93236118f redirected unzip to helper method 2024-10-06 15:32:31 +05:30
4nshuman
a9bebdd7f0 fixed typo 2024-10-06 15:26:26 +05:30
4nshuman
dfe71d5965 modified zipping operationand integrated fflate 2024-10-05 23:47:22 +05:30
4nshuman
f05f7454e9 added helper method to convert binary large object to uInt8Array for zipping operations 2024-10-05 23:45:54 +05:30
4nshuman
582c411c00 added fflate min js to the library 2024-10-05 23:44:04 +05:30
4nshuman
f3625ed907 added terms for status message on zip operation 2024-10-05 23:43:43 +05:30
4nshuman
4c7b75ed67 added fflate on static asset and libPath 2024-10-05 23:43:15 +05:30
4nshuman
1929aaf5ef added fflate on libPath on puter-gui 2024-10-05 23:42:43 +05:30
4nshuman
01aaa07e87 added zip progress counter configurations 2024-10-05 23:41:45 +05:30
KernelDeimos
c135649551 move: notes.md 2024-10-03 18:20:51 -04:00
KernelDeimos
196531d118 dev: update handling of duplicate emails 2024-10-03 17:04:47 -04:00
KernelDeimos
822f3b8c45 dev: add notes and some updates to email logic 2024-10-03 14:54:40 -04:00
KernelDeimos
2c3065a70f test: register test for CleanEmailService 2024-10-02 21:30:14 -04:00
KernelDeimos
054b9c2864 dev: add service for cleaning email addresses 2024-10-02 17:51:43 -04:00
KernelDeimos
9db55fc5f7 fix: remove redundant openai model fallback 2024-10-02 15:14:46 -04:00
KernelDeimos
29fd595cf9 dev: rootfs-v0.2.0 2024-10-02 15:13:57 -04:00
KernelDeimos
9985996686 fix: app pseudonym in wrong conditional block 2024-09-30 20:38:25 -04:00
KernelDeimos
4febd81169 dev: app pseudonyms 2024-09-30 19:35:34 -04:00
KernelDeimos
8bc4122bea tweak: change phoenix help text when launched with -c 2024-09-30 19:16:10 -04:00
KernelDeimos
5ed8823a16 tidy: remove a console log 2024-09-30 18:11:25 -04:00
KernelDeimos
5317adf8a4 feat: allow passing cli args via url 2024-09-30 18:09:28 -04:00
KernelDeimos
b6c0cb6abc feat: add -c flag for phoenix 2024-09-30 16:50:18 -04:00
KernelDeimos
6e1ed7ab04 dev: update emu load indicator 2024-09-30 16:50:03 -04:00
KernelDeimos
04c05a5bb8 fix: properly add owner object to fsentries 2024-09-27 16:30:13 -04:00
KernelDeimos
a70d0dd088 fix: add progress bar fix 2024-09-27 15:08:19 -04:00
KernelDeimos
eab2721f89 dev: use streaming decompression 2024-09-26 18:49:29 -04:00
KernelDeimos
545ac0097f tweak: ascii tux (important) 2024-09-26 18:28:13 -04:00
KernelDeimos
45cd3b79bb tweak: disable grace period by default 2024-09-26 15:47:47 -04:00
KernelDeimos
259877b677 fix: allow ETX to propagate to bash 2024-09-26 15:47:35 -04:00
KernelDeimos
08601ae2af feat: progress indicator for emulator 2024-09-25 23:47:10 -04:00
KernelDeimos
d0535cf10b dev: add wasm bench 2024-09-25 21:45:03 -04:00
KernelDeimos
fff8993200 fix: error deleting entry from My Websites window
This could not be tested locally due to another but only affecting
self-hosted installations. This will be tested in staging in the
meantime while the other bug is being fixed.
2024-09-23 17:55:54 -04:00
KernelDeimos
b1b725a2eb tweak: image from CDN (for real this time) 2024-09-23 15:07:26 -04:00
KernelDeimos
68c4274dc3 tweak: image from CDN 2024-09-23 14:54:01 -04:00
Nariman Jelveh
288411c377 Update style.css 2024-09-22 15:46:48 -07:00
KernelDeimos
27b66254e3 dev: compress default image with brotli 2024-09-22 17:49:00 -04:00
Nariman Jelveh
3ce8da37eb close #772 2024-09-22 12:40:38 -07:00
KernelDeimos
07d3592d88 tweak: don't auto-start puter-linux for now 2024-09-21 15:39:19 -04:00
Nariman Jelveh
bd91839551 Don't allow background processes to change the browser's URL 2024-09-19 17:41:37 -07:00
KernelDeimos
4311b482fd fix: second half of connectToInstance 2024-09-18 21:02:51 -04:00
KernelDeimos
cb324cc125 fix: error in process.handle_connection 2024-09-18 20:55:00 -04:00
KernelDeimos
f4dd195245 dev: fix previous commit 2024-09-18 17:04:48 -04:00
KernelDeimos
afc0ac8548 dev: attempt to fix process select issue 2024-09-18 17:01:02 -04:00
KernelDeimos
439653458e fix: quick patch to avoid columnify error 2024-09-18 16:22:26 -04:00
KernelDeimos
0456893789 dev: add emulator prod deployment 2024-09-18 16:21:07 -04:00
KernelDeimos
f2acd83b72 fix: upsert subdomain check to insert only 2024-09-18 16:21:07 -04:00
KernelDeimos
8aed3d9454 dev: prep for network build 2024-09-18 16:21:07 -04:00
KernelDeimos
25817bf6a2 dev: add puter-linux app to db migrations 2024-09-18 16:21:07 -04:00
KernelDeimos
4589ed95be dev: handle pty close
Return to phoenix shell when a pty stream is closed by twisp.

Pipes in phoenix with commands from the emulator do not appear to be
working properly, but something in there is working.
2024-09-18 16:21:07 -04:00
KernelDeimos
404fbaa4cb dev: add terminal multiplexing
This involves establishing the protocol through which phoenix instances
run a command on the emulator. The pty is able to communicate with the
terminal in both directions. This commit adds logs to be removed later.

There are a few things left that this commit does not address:
- handling close of delegate process
- handling sigint from phoenix to delegate process
- closing the connection to twisp
2024-09-18 16:21:07 -04:00
KernelDeimos
bc83e90e33 tweak: use virtualization-optimized kernel 2024-09-18 16:21:07 -04:00
KernelDeimos
e3d4a5f3b3 dev: multi-instance many-to-many app-to-app comms
I'll elaborate here because the commit name is confusing. Any time an
app gets a connection to another app, either because it launched that
app (or was launched by that app) or requested a connection to that app,
the ID the app gets to represent the app it's communicating with is now
a pseudo app id rather than the app instance ID. This accomplishes two
things:

1. It's more secure. There are multiple places where GUI assumes that
   knowing an app's instance ID means you can do things as that app.
2. Between the same two apps, there may now be more than one connection.
   This is useful for situations like Phoenix shell talking to the
   emulator in multiple separate instances to pipe commands. (this is
   coming later)
2024-09-18 16:21:07 -04:00
KernelDeimos
62634b0afe feat: add connectToInstance method to puter.ui 2024-09-18 16:21:07 -04:00
KernelDeimos
e2cb6194bb dev: add startup apps, start emulator by default 2024-09-18 16:21:07 -04:00
KernelDeimos
e1ec84877a dev: resize handling 2024-09-18 16:21:07 -04:00
KernelDeimos
db3e0b5ce8 fix: simplify callback listener and fix async bug 2024-09-18 16:21:07 -04:00
KernelDeimos
21383eec3c dev: get basic PTY integration working 2024-09-18 16:21:07 -04:00
KernelDeimos
28adc4e5d5 dev: add emulator page 2024-09-18 16:21:07 -04:00
KernelDeimos
2c0b8428c5 dev: add emulator image build 2024-09-18 16:21:07 -04:00
KernelDeimos
33de98107f fix: email change on account with unverified email
Changing the email address on an account that did not already have a
confirmed email would result in the email_confirmed column never being
set. This commit fixes that.

Additionally, an SQL statement using the unconfirmed email to identify a
row was changed so it now uses the user ID instead, which is safer.

Resolves: 759
2024-09-10 14:04:32 -04:00
KernelDeimos
6bdcae769d fix: double-echo in phoenix 2024-09-04 23:56:23 -04:00
KernelDeimos
a33d721e21 fix phoenix WINSZ handling 2024-09-04 23:56:23 -04:00
KernelDeimos
4910838ab1 fix: webpack error reporting + unintentional whitespace changes 2024-09-03 14:44:51 -04:00
Nariman Jelveh
57c2d72e21 Update UIWindow.js 2024-09-03 14:24:58 -04:00
Nariman Jelveh
8e56ac5ec7 Update UIWindow.js 2024-09-03 14:14:19 -04:00
KernelDeimos
ed7d6dcbfb fix: dist 2024-09-02 21:30:22 -04:00
KernelDeimos
d35026467e fix: use jq el for focus 2024-09-02 20:52:46 -04:00
KernelDeimos
cd39bb5aa0 fix: fix sourcemap 2024-09-02 20:50:15 -04:00
KernelDeimos
d07929da1b dev: add v86 submodule and app 2024-09-02 20:49:48 -04:00
KernelDeimos
5ab3d88393 cleanup 2024-09-02 17:37:38 -04:00
KernelDeimos
18a24f614f dev: update ipc ready and app launched events 2024-09-02 17:37:38 -04:00
Muhammad Fauzi
3acabc6c79
Merge branch 'HeyPuter:main' into main 2024-08-31 23:46:25 +07:00
Muhammad Fauzi
ddbb4207f2
Update Pictures translation to Gambar, no word repetition for plural
The literal translation for Pictures IS Gambar-gambar, but after reviewing how it looks on live demo Puter, this translation seems a bit off, since other word like Videos is not Video-video, documents is not Dokumen-dokumen.

So, I think it's better to just translate Pictures to Gambar only. Indonesian actually does not care about singular and plural. If we really need to emphasize it plural, we just repeat the word. Which in this context, it is not that necessary to emphasize it.
2024-08-31 23:46:06 +07:00
KernelDeimos
c9d09a78b6 fix: remove now-redundant loadScript call 2024-08-30 15:24:01 -07:00
KernelDeimos
46a0f714d1 fix: env for dev build 2024-08-30 15:24:01 -07:00
KernelDeimos
3092300a01 fix: mistakes 2024-08-30 15:24:01 -07:00
KernelDeimos
4b8910169a fix: add env to EmitPlugin config 2024-08-30 15:24:01 -07:00
KernelDeimos
72946f920c fix: remove accidentally left-over code 2024-08-30 15:24:01 -07:00
KernelDeimos
8ad435a0ea dev: bundle gui in dev 2024-08-30 15:24:01 -07:00
KernelDeimos
a4e9c7bdd7 rename folder 2024-08-29 22:24:55 -04:00
KernelDeimos
cf24c3dd2a rename 2024-08-29 22:21:07 -04:00
KernelDeimos
3361043b9d chore: rename putil 2024-08-29 14:14:35 -07:00
KernelDeimos
5f7d1f589a fix: don't var when no var 2024-08-29 17:03:51 -04:00
Nariman Jelveh
d43fc62d89 Remove menu-aim from the list of statically linked libs 2024-08-29 13:33:37 -07:00
KernelDeimos
1cd21ee658 tweak: cleanup and comment 2024-08-28 19:10:35 -07:00
KernelDeimos
c86df11abd dev: launchApp as registered ipc handler
Add launchApp as a registered ipc handler, which will allow communication
between iframes (apps/puter.js) to be simplified.
2024-08-28 19:10:35 -07:00
KernelDeimos
813ee95cee fix: fallback to read access in /sign 2024-08-28 17:53:36 -04:00
Nariman Jelveh
18cfef65b8 Attempt to open apps from URL only if user is authenticated and desktop is loaded 2024-08-27 20:02:01 -07:00
KernelDeimos
d1d0a9cccc tweak: update license for puter-wisp 2024-08-27 22:40:27 -04:00
KernelDeimos
a4766278e4 tweak: package name for @heyputer/puter-wisp 2024-08-27 22:37:22 -04:00
KernelDeimos
2d1cb0050d dev: puter-wisp 2024-08-27 22:20:32 -04:00
Nariman Jelveh
2385457d12 Remove the redundant image/ prefix in base64 encoded app icons in dev center 2024-08-27 18:04:04 -07:00
Nariman Jelveh
d285c2097f use flexbox for app navbar in dev center 2024-08-27 17:34:09 -07:00
Nariman Jelveh
b1c91758da Fix sort bug in dev center 2024-08-27 17:27:40 -07:00
Nariman Jelveh
45925bacb6 Improve the usability of the Settings tab in Dev Center 2024-08-27 17:11:48 -07:00
KernelDeimos
aa61c3009c fix: typo in a default file 2024-08-26 17:43:33 -04:00
KernelDeimos
d2c7477b3b fix(docker): ensure temp admin pass shows 2024-08-26 17:42:15 -04:00
Nariman Jelveh
da5635b576 Show an error if file containing puter.js is loaded using the file: protocol 2024-08-25 14:38:19 -07:00
KernelDeimos
9a622004ea fix: fix 500 when check-app has bad url 2024-08-25 16:54:19 -04:00
Nariman Jelveh
b43ecb490a Place github link and icon in the toolbar 2024-08-24 11:41:42 -07:00
KernelDeimos
eb18550f41 fix(puterai): close streams 2024-08-23 19:42:53 -04:00
KernelDeimos
5a616f67dd fix(puterjs): fix settings object check 2024-08-23 16:39:30 -04:00
KernelDeimos
7f9d1e90b1 chore(puterai): update model 2024-08-23 16:09:22 -04:00
KernelDeimos
53e7a91f18 feat(puterai): add groq 2024-08-23 00:16:29 -04:00
KernelDeimos
937528f767 fix(security): signing in public folders 2024-08-22 23:48:30 -04:00
Nariman Jelveh
2d39b9be77 Update index.js 2024-08-22 20:47:02 -07:00
KernelDeimos
055c628afd feat(puterai): add mistral 2024-08-22 23:28:08 -04:00
KernelDeimos
fd86934bc9 feat: add method to list models 2024-08-22 22:24:03 -04:00
KernelDeimos
7600d9b07c feat: add streaming to XHR driver client 2024-08-22 14:28:43 -04:00
Nariman Jelveh
67e5219639 Merge branch 'main' of https://github.com/HeyPuter/puter into main 2024-08-21 20:59:51 -07:00
Nariman Jelveh
6135054b3b add stream flag to the chat() method of puter.ai 2024-08-21 20:59:42 -07:00
KernelDeimos
c08b897d4a fix(puterai): adapt message role for claude 2024-08-21 23:50:09 -04:00
Nariman Jelveh
3bface8c66 if first args in puter.chat is a string, it's the prompt 2024-08-21 20:38:03 -07:00
Nariman Jelveh
dadaf5e8b1 Merge branch 'main' of https://github.com/HeyPuter/puter into main 2024-08-21 20:19:34 -07:00
Nariman Jelveh
43c18377eb Add support for multiple AI drivers via puter.js 2024-08-21 20:19:26 -07:00