KernelDeimos
59fa600f2b
dev: edge rate limit for email share
2024-11-16 20:04:23 -05:00
KernelDeimos
e0128aa88c
fix: prevent permission cycles
2024-11-15 18:47:47 -05:00
jelveh
e482b00a30
fix: launchApp
on explorer supports ~
now
2024-11-15 15:38:59 -08:00
jelveh
8fefd4a61f
feat: allow launchApp
to open explorer at a specific path
2024-11-15 15:29:23 -08:00
jelveh
cdd1a8c4e3
feat: Require email confirmation before sharing
2024-11-15 12:07:48 -08:00
Eric Dubé
98bd10c82b
Revert "added a chime playback"
...
This reverts commit 2eaf1080d6
.
2024-11-15 13:41:31 -05:00
Eric Dubé
5fd11cc607
Revert "added event listener to play chime on the first click"
...
This reverts commit 4885a76a75
.
2024-11-15 13:41:31 -05:00
Eric Dubé
fa5d731641
Revert "."
...
This reverts commit 1919cb3d99
.
2024-11-15 13:41:31 -05:00
Eric Dubé
f8ac0dbdb7
Revert "play chime only once"
...
This reverts commit edeb79d92c
.
2024-11-15 13:41:31 -05:00
KernelDeimos
08779ac455
dev: make share feature flag reflect user state
2024-11-15 13:40:24 -05:00
KernelDeimos
14b962b459
dev: add function-flag feature flag type
2024-11-15 13:34:56 -05:00
4nshuman
edeb79d92c
play chime only once
2024-11-15 12:43:17 -05:00
4nshuman
1919cb3d99
.
2024-11-15 12:43:17 -05:00
4nshuman
4885a76a75
added event listener to play chime on the first click
2024-11-15 12:43:17 -05:00
4nshuman
2eaf1080d6
added a chime playback
2024-11-15 12:43:17 -05:00
KernelDeimos
69bfa60199
fix: only allow UserActorType for ShareService
2024-11-15 12:09:31 -05:00
jelveh
045259cefb
feat: show unread notification count in the browser tab's title
2024-11-14 17:19:21 -08:00
KernelDeimos
b1ffb8eca1
fix: new sessions miss notifications
2024-11-14 19:26:15 -05:00
jelveh
d0f16c8105
fix: don't allow sharing with recipient just shared with
2024-11-14 15:38:26 -08:00
KernelDeimos
085d808817
fix: add username to comments
2024-11-14 18:09:46 -05:00
jelveh
d91435db57
Merge branch 'main' of https://github.com/heyputer/puter
2024-11-14 14:45:43 -08:00
jelveh
cf4b6aa1c2
feat: in Share window, display access level next to recipient
2024-11-14 14:45:35 -08:00
KernelDeimos
db79a72daa
feat(backend): add comments for fsentries
2024-11-14 17:45:20 -05:00
jelveh
0cbe0139d7
feat: when sharing, users can choose between 'viewer' and 'editor' for permissions
2024-11-14 14:08:49 -08:00
jelveh
a6650ee2d8
feat: handle notif.ack
in desktop
2024-11-14 12:52:15 -08:00
KernelDeimos
9e303a2f7c
fix: occasional db error from notics
2024-11-14 15:18:28 -05:00
KernelDeimos
00e0fb350a
dev: add notif.ack message
2024-11-14 15:18:28 -05:00
KernelDeimos
3f3f4e6cb9
fix: un-awked notif check in wrong place
2024-11-14 15:18:28 -05:00
jelveh
9d40ad9b4e
Update UIWindow.js
2024-11-14 09:55:39 -08:00
jelveh
9d7987fae5
fix: disabled sortable on sharing section in the sidebar
2024-11-14 09:37:06 -08:00
KernelDeimos
665471f9f0
fix: add mixxing context to BroadcastService
2024-11-13 23:25:44 -05:00
KernelDeimos
22dd42ef7f
fix: attempt at fixing broadcast
2024-11-13 23:13:45 -05:00
KernelDeimos
cd22425a3d
fix: replace ll_readshares with better approach
...
Recursively checking for files with 'see' permission? What was I
thinking? This replaces the disasterously awful approach of scanning a
user's entire file tree to find shares, with an approach which instead
selects on the permissions table and extracts file UUIDs from
permissions.
2024-11-13 22:44:54 -05:00
KernelDeimos
34836e374f
fix: only add enabled_logs when not empty
2024-11-13 22:15:09 -05:00
KernelDeimos
caf8d2a055
dev: track ll_readshares depth
2024-11-13 21:14:56 -05:00
KernelDeimos
249dc06201
fix: don't check share permission anymore
2024-11-13 20:39:58 -05:00
jelveh
94b10c78b7
tweak: sharing style
2024-11-13 17:30:03 -08:00
jelveh
b5bb95e2d7
feat: add error handling to the share flow
2024-11-13 15:59:29 -08:00
jelveh
9a311058ef
tweak: disable sidebar_items
polling
2024-11-13 15:45:02 -08:00
jelveh
599c7ad0a1
Update UIElement.js
2024-11-13 14:43:30 -08:00
jelveh
622205ae51
tweak: enable sharing
2024-11-13 13:49:17 -08:00
KernelDeimos
27cc07e985
fix: files shared array in notification
2024-11-13 15:02:10 -05:00
KernelDeimos
89aab03905
tweak: enable share
2024-11-13 13:15:22 -05:00
KernelDeimos
8f59c2614d
tweak: put groups manager behind a flag
2024-11-13 12:54:54 -05:00
KernelDeimos
5725bd8c66
fix: report path for broken files as /-void/
2024-11-13 12:11:48 -05:00
jelveh
7ca0a02fa4
tweak: safe data URI strings for icons in search
2024-11-12 20:45:53 -08:00
jelveh
55d2af189e
feat: search
2024-11-12 20:20:43 -08:00
KernelDeimos
b589512c9d
feat: search endpoint
2024-11-12 17:58:43 -05:00
jelveh
ac3317aea9
fix: issue with popover closing when clicked
2024-11-12 13:27:29 -08:00
jelveh
1adfe5c709
feat: the socialLink
UI component
2024-11-12 12:40:14 -08:00
jelveh
45ecce4653
Update style.css
2024-11-11 20:49:49 -08:00
jelveh
a70cb49a30
tweak: style improvement
2024-11-11 17:31:43 -08:00
jelveh
27c01c9bd9
feat: Reaload App option in the window title bar context menu
2024-11-11 11:46:28 -08:00
KernelDeimos
a08e9758fe
fix: groups manager location
2024-11-11 14:40:50 -05:00
jelveh
a9679910c6
Update style.css
2024-11-10 10:46:13 -08:00
KernelDeimos
402ffb0fd1
fix: don't show kvstore in usages
2024-11-10 13:33:41 -05:00
KernelDeimos
4f9d9a54ef
fix: add missing id for task_manager menu item
2024-11-10 12:46:42 -05:00
Nariman Jelveh
6c44032293
fix: Update security.txt canonical URL
2024-11-10 08:55:51 -08:00
KernelDeimos
fc0cb2dde4
tweak: usage endpoint
2024-11-09 17:41:16 -05:00
KernelDeimos
85020109b3
dev: add virtual groups for computed permissions
2024-11-09 17:40:47 -05:00
KernelDeimos
a324c91560
dev: add quick window to see what groups a user is in
...
I need this for development/debugging purposes. I figure I may as well
start developing the system dialog we'll eventually have to create
rather than make a temporary debugging element. This window could
eventually become a full-featured group manager, and can easily be moved
to a settings tab.
2024-11-09 15:57:28 -05:00
KernelDeimos
59984bb930
dev: recursive log toggle for puter.js
2024-11-09 15:14:37 -05:00
KernelDeimos
6f5f11da09
dev: allow other backend services to set gui_params
2024-11-08 16:04:55 -05:00
jelveh
e8f67da9a3
fix: update apps cache by reading from primary db
2024-11-08 10:56:00 -08:00
KernelDeimos
164d5ef167
test: update TestKernel
2024-11-08 12:13:30 -05:00
KernelDeimos
28adcf533f
feat(ai): add xAI grok-beta
2024-11-07 15:01:13 -05:00
KernelDeimos
d613c5fc83
log: when app is launched
2024-11-07 14:27:02 -05:00
KernelDeimos
5caa2c0e3a
fix: logging in AppConnection
2024-11-07 14:26:30 -05:00
KernelDeimos
5d416e2316
refactor: simplify module constructors
...
This was a really small refactor - about 30mins - that moves the concern
of common constructor args for modules outside of each individual call.
A Context object is now used for common constructor arguments. Some of
the values on this object - such as APIOrigin and authToken - are
following values on the instance of the Puter class. This means that for
some modules it is already possible to eliminate the setAuthToken and
setAPIOrigin listeners (out of scope for this commit). Any which remain
could eventually be replaced with a listener on the Context object
itself.
This commit also moves the initSubmodules method to the top of the class
so that it's easier for new devs to find, in case they're looking into
an issue on a specific module rather than the Puter class itself.
2024-11-07 13:29:18 -05:00
jelveh
1a6d648a6e
fix: persist clock visibility change
2024-11-05 18:31:03 -08:00
KernelDeimos
ba2eb716f5
dev: add prefix logger
2024-11-05 15:57:55 -05:00
KernelDeimos
da0022abf0
feat: add puter.auth.whoami()
2024-11-05 15:49:51 -05:00
KernelDeimos
755736edee
feat: add puter.log
2024-11-05 15:31:44 -05:00
KernelDeimos
e71fe11e32
dev: add toggle logging, and fix issues in logger
2024-11-05 15:31:17 -05:00
KernelDeimos
b0cbcdf743
dev: add logger to putility
2024-11-05 15:03:21 -05:00
KernelDeimos
fe8d6af1b5
sync: update claude model (take 2)
2024-11-04 22:46:57 -05:00
KernelDeimos
52a54d2248
sync: update claude model
2024-11-04 22:28:34 -05:00
jelveh
9263cbaedd
Merge branch 'main' of https://github.com/heyputer/puter
2024-11-04 17:33:13 -08:00
jelveh
9590bbdad1
fix: don't access metadata.credentialless
if it doesn't exist
2024-11-04 17:33:08 -08:00
KernelDeimos
16b9f09e66
fix: reinitialize settings tabs for DOM events
2024-11-04 19:25:04 -05:00
KernelDeimos
856688f884
dev: add database and config access for extensions
2024-11-04 16:42:42 -05:00
jelveh
c44b9ab8d5
fix: use correct cursor when hovering over sidebar items
2024-11-04 10:08:11 -08:00
jelveh
79cff7ba29
Update style.css
2024-11-04 09:33:48 -08:00
jelveh
4e7979b50e
Update style.css
2024-11-03 20:57:53 -08:00
jelveh
1056231004
feat: collapsible sidebar menu in Dev Center
2024-11-03 20:50:46 -08:00
jelveh
06d5dd763d
tweak: dev center table visible when overflowing
2024-11-03 20:13:35 -08:00
jelveh
666912a8a3
revert style update
2024-11-03 17:20:09 -08:00
jelveh
452e3383e8
Update style.css
2024-11-03 17:18:12 -08:00
jelveh
05950b0fc3
tweak: automatically update sidebar_items
every 2 seconds
2024-11-03 17:13:24 -08:00
jelveh
2e122c2cab
Update style.css
2024-11-03 16:16:00 -08:00
jelveh
ff30de1d69
feat: customize the order of Explorer sidebar items
2024-11-03 16:00:39 -08:00
jelveh
121043d312
fix: issue with context menu divider item stealing the event from previous item
2024-11-02 18:54:30 -07:00
jelveh
0315cb3337
fix: issue with non-scrollable window body and document Context Menu
2024-11-02 17:51:07 -07:00
KernelDeimos
05573dad51
tweak: load mods from extensions directory
2024-11-01 19:29:16 -04:00
KernelDeimos
f836ac30a9
fix: temporary fix because .on can't call ensure_service
2024-11-01 18:21:05 -04:00
KernelDeimos
84989367a7
dev: hook extensions into service event bus
2024-11-01 17:42:12 -04:00
KernelDeimos
58f34b948a
dev: simplify module/extension setup
2024-11-01 16:13:00 -04:00
KernelDeimos
7569e8a703
tweak: endpoints are authorized by default
2024-11-01 15:43:40 -04:00
KernelDeimos
4b6c70fa5e
dev: expose more core definitions to extensions
2024-11-01 15:43:27 -04:00
KernelDeimos
a614145250
dev: run npm install after copying extensions
2024-11-01 15:26:39 -04:00
KernelDeimos
d958c01111
dev: add support for single-file extensions
2024-11-01 14:42:42 -04:00
KernelDeimos
3f6900f26b
dev: add get() and post() to extension API
2024-11-01 14:41:29 -04:00
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