You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Simply, have a way to toggle between two instances (instead of saving one or the other); an upstream (e.g. design.penpot.app) and the local/offline (e.g. localhost:9001) one, then sync with a button to automate exporting/importing the changed files on either side.
This could either be fully through the rpc, or also as a plugin, probably.
Then it could sync all the (changed**) files (could be taxing) or add a sync button (as a plugin) to the current file, export it and import to the other one (via access tokens or the cookie itself) etc.
**The plugin could probably also track events and autosync every x minutes if the current file is changed.
For all the files, tracking via webhooks (if the client can't see by itself) and syncing with rpc every x minute.
Or with a button in the desktop ui next to the instances, manually
Lastly, the tabs could indicate the instance or the sync status with an icon.
Thank you for the suggestion and technical options. There is a lot to unwrap here, so I will briefly address the main aspects of the feature and the associated discussion from the Penpot repo thread.
Support for connecting to multiple instances is high in the Penpot Desktop backlog and is one of the features I will start working on soon.
I didn’t think about sync and backup at this point, but those would be valuable features - added to the backlog. I would probably opt for RPC API, and with IPC the app has access to the Plugin system API too.
It all needs to provide solid UX, especially around tab navigation (instance opening selector, instance tab indicator, multiple windows, etc.) which makes most of the UI and depends on an all-in-one web component that has been discontinued. I experienced its limits already when adding the reload button and believe workarounds (for the tab navigation itself and other UI elements) will only get us so far, then something has to be done - a fork or an in-house solution. More work with tabs should give a better idea of the way to go.
The desktop thread in the Penpot repo is interesting and reminds me of evaluating reviving this project. The idea is mentioned there too, but abstracting the offline setup is in the backlog. There is no exact plan on the scope and form yet, Penpot Desktop shouldn’t become Podman/Docker Desktop though.
For a start, the focus is on the support for multiple instances. That should open ways to the other features.
Simply, have a way to toggle between two instances (instead of saving one or the other); an upstream (e.g. design.penpot.app) and the local/offline (e.g. localhost:9001) one, then sync with a button to automate exporting/importing the changed files on either side.
This could either be fully through the rpc, or also as a plugin, probably.
Then it could sync all the (changed**) files (could be taxing) or add a sync button (as a plugin) to the current file, export it and import to the other one (via access tokens or the cookie itself) etc.
**The plugin could probably also track events and autosync every x minutes if the current file is changed.
For all the files, tracking via webhooks (if the client can't see by itself) and syncing with rpc every x minute.
Or with a button in the desktop ui next to the instances, manually
Lastly, the tabs could indicate the instance or the sync status with an icon.
Reference: penpot/penpot#475 (reply in thread)
The text was updated successfully, but these errors were encountered: