Hello,
I’d like to use Workers for a project but it seems to be missing some basic features:
You can see some of the topics I have created to see more details, but here is a summary:
-
UI: Durable Object data read/write The only way to read/write data is through the durable object storage API, but given the distributed nature of durable objects this means there needs to be some system to collect the data from all the objects into a single DB and show the developer in an admin style UI. Writing to this data would also be useful. This would also be useful in development - the only way to observe the current state is to console.log things. Exporting all data for a backup is also needed.
-
API: Observing the lifetime of a durable object An API to detect if a durable object is currently on, and its location would be useful. For example, if you write some admin code to read a durable object, and it is currently off, it will need to boot, and likely in a location far away from the actual end user. Being able to boot it and then kill it after the admin function runs would be useful. Killing the object in development is also useful to reset any state without having to reboot the server. Detecting if a durable object is on/off also allows you to detect if the websocket connections it manages are active or if the clients have disconnected.
-
Dev: The ability to run multiple dependent workers locally Developing two workers that have a dependency is hard - it does not work locally, and then you have to deploy them separately and test the dependency works in prod. It is not clear how you are supposed to manage two code bases and build processes.
-
Dev: Use source maps Logging and traces show the minified JS file lines instead of your source code.
Thanks!