Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Daemon on host device for synchronization in the background #7

Closed
Terkyz opened this issue Oct 23, 2022 · 6 comments
Closed

Daemon on host device for synchronization in the background #7

Terkyz opened this issue Oct 23, 2022 · 6 comments
Labels
enhancement New feature or request

Comments

@Terkyz
Copy link

Terkyz commented Oct 23, 2022

A simple process running in the background of the OS used as Host that automatically synchronizes real-time changes occurring on any of the synchronized devices, and that is able to remember the synchronized devices.

@GleammerRay
Copy link
Collaborator

True, classic server based synchronization should be an option. However, what do you mean by remembering the synchronized devices?

I can see this working this way:

  1. Host device has a server IP and port specified in settings and the server feature switched on.
  2. Client devices have the host IP address and port entered in their settings.
  3. Synchronization happens whenever clients log in and every minute while they are logged in + there is a manual synchronization feature (pull down to synchronize, like refresh in mobile browser).

Since this is flutter, it is not possible to make it work while the app is closed. I would also prefer keeping current synchronization code instead of inventing a new method, which would mean that synchronization only happens when a person is logged into their account. I realize that this would mean that people would be unable to synchronize multiple accounts at once, but opening ports while not logged in seems like a security concern to me.

@Terkyz
Copy link
Author

Terkyz commented Oct 24, 2022

By remembering synchronized devices I mean that there is no need that every time I want to synchronize Passy, I must read the QR code, but just by pressing the update button when I am in the same network and the host is on, it will update.

Your way of making this work seems well thought out, I would suggest adding some notes so that the user is aware that it only happens with the app open and doesn't think it's a bug.

@GleammerRay GleammerRay added the enhancement New feature or request label Oct 27, 2022
@GleammerRay GleammerRay changed the title [Feature Request] Daemon on host device for synchronization in the background Daemon on host device for synchronization in the background Oct 27, 2022
@GleammerRay
Copy link
Collaborator

Glare synchronization layer implemented - e88711c.

Glare synchronization layer is a powerful RESTful API layer that can serve as a base for a server daemon. I can not promise the daemon to be available in the next release (coming out in about a month), as it already takes care of plenty other features and issues. However, it will be one of the priority features after the next release comes out.

@GleammerRay
Copy link
Collaborator

GleammerRay commented Aug 25, 2023

Hello! I apologize for failing to deliver this feature for a long time now.

Status update: the standalone server functionality has been implemented today. There's still server installer functionality left to implement, but that should not be too hard. Only that and Flutter UI are left to be made for this feature, it is ready to be included in the next release.

I will notify you again once the feature is included in a stable release.

@GleammerRay GleammerRay added the next release Will be resolved before next release label Aug 25, 2023
@GleammerRay
Copy link
Collaborator

GleammerRay commented Nov 29, 2023

@Terkyz great news! The feature is implemented in https://github.com/GlitterWare/Passy/releases/v1.7.0.

You can access it via ⚙️ -> Synchronization servers. The setup process is available for desktop computers. You may also use passy cli command (.\passy.exe cli on Windows) for installation, if you wish (see passy cli help on the install commands for more information).

The server is fully standalone. It utilizes the same codebase as Passy thanks to Dart's command-line compilation support. The tool I made to facilitate this is called Passy CLI which is the same thing that the browser extension uses to talk to the Passy database.

Edit 1: The server does not require any additional authorization for it to run and can be easily added to autostart. Do note that you're going to need another v1.7.0 instance to connect to it as it uses a new synchronization process that was not supported before. This can be done via ⚙️ -> Synchronization servers -> Connect.

@GleammerRay GleammerRay removed the next release Will be resolved before next release label Nov 29, 2023
@GleammerRay
Copy link
Collaborator

Additionally, I want to thank you for proposing this feature. Passy's new synchronization server provides a safe way of synchronization that may be utilized for GlitterWare's official online synchronization solution that may come later next year.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants