banji-project / ring-issues

Old issues before it was moved to kde.org
0 stars 0 forks source link

disable loading ring-client automatically upon startup/login to Plasma #1

Closed star-buck closed 7 years ago

Elv13 commented 7 years ago

Hello,

This was already fixed at the time this was posted. The code was commented until yesterday to allow easier testing. It was enabled yesterday in my last commit of the day. The wizard now show only once and will honor the "skip" button and never show up again (if the client is otherwise killed, it will show again). Ring-KDE can be used without Ring accounts.

As of yesterday, the main window does only show up once the wizard is closed normally (either using "finish" or "skip")

star-buck commented 7 years ago

Tested the latest version: This ticket is about not having the whole program auto-start when logging into KDE. It should always started manually and not load the client right away after logged in, also not in the background or minimized in systray. The ring daemon is another case, but the ring-client should only loaded on purpose, like an email client or pidgin or any other communication tool.

Elv13 commented 7 years ago

The ring daemon is another case, but the ring-client should only loaded on purpose, like an email client or pidgin or any other communication tool.

It is implemented the other way. Ring clients start the daemon on purpose and close it when it quits. This is an upstream decision. This is similar to kded5 or kdeinit5

Elv13 commented 7 years ago

Adding to the previous answer, this is necessary for features such as KNotification, the Plasmoid (currently disabled) and Kontact itegration to work. The same is true for the Gnome client. The client has an option to start daemonified in the systray, it isn't enabled by default.

star-buck commented 7 years ago

okay, then lets not start the client plus daemon at all when logging into KDE.

Like viber or skype one has to manually start the client on the desktop for it to become active.

Also Kontact is disabled on all my machines and the Netrunner distro i ship by default, as its deprecated and doesnt work well anymore, so therefore, loets not rely on that and make ring-kde client independent.

I am not sure how skype works on android, but i never see a client started in-your-face when logging into my mobile or tablet, hence i assume some background daemon is started, but not the client, as the client is invoked then by the daemon in case some call or message comes through? Like googlemail client is not started but the mailcheck daemon is?

star-buck commented 7 years ago

also i think people in opensoruce dont like bigger things like ring-kde clients started in the background, as they hated when the whole akonadi was started + mysql.

star-buck commented 7 years ago

we can thinka bout it later and find a solution to turn things on smart again, but for now lets have it turned off default and only loaded when concisously started.

Elv13 commented 7 years ago

Also Kontact is disabled on all my machines and the Netrunner distro i ship by default, as its deprecated and doesnt work well anymore, so therefore, loets not rely on that and make ring-kde client independent.

Correct. It is also disabled on my machine and Ring-KDE only enable it when it's installed and running. Ring-KDE has a lot of code to re-implement the necessary APIs to avoid the hard dependency on Akonadi. While some more advanced contact management features are disabled when Akonadi is unavailable, the most basic ones use it's own Collection system on top of the vCard and MIME IETF standards.

I am not sure how skype works on android, but i never see a client started in-your-face when logging into my mobile or tablet, hence i assume some background daemon is started, but not the client, as the client is invoked then by the daemon in case some call or message comes through? Like googlemail client is not started but the mailcheck daemon is?

Android, iOS and Windows phone have a special mode for messaging applications. They are the only ones allowed to auto start a ContentProvider [1] or iOS equivalent (aka, a daemon). Other apps, such as Ring or CSipSimple use a workaround where an application having an active notification is allowed to stay awake in the background.

Ring-KDE uses none of that. It sometime place a .desktop file in ~/.config/autostart when Settings->Display->On start is checked. I will change the default from true to false. Note that this change wont take effect on existing installs (unless the setting cache is flushed). I will also fix the iconified issues. Some of the code is commented because it was crashing with Qt 5.6.0 (fixed in Qt 5.6.1). As Qt 5.7 is now the minimum version, this is no longer a concern. No development time is required, just uncommenting some code.

[1] https://developer.android.com/guide/topics/providers/content-providers.html

star-buck commented 7 years ago

Sounds good!

Elv13 commented 7 years ago

Done

star-buck commented 7 years ago

works and closed

star-buck commented 7 years ago

hmm, i tested the latest package and the client starts again right when logging in. Is there any place i can check or a config file to delete?

star-buck commented 7 years ago

okay, i checked this: .config/autostart/ has a cx.ring.ring-kde.desktop file, if i remove it and restart ring, it gets added there again. This should not be done automatically, but an option in settings that is UNCHECKED default and can be checked so the file gets placed, or deleted again if unchecked.

star-buck commented 7 years ago

works, but oddly has a bug upon configuring this option (will open a new ticket)

Elv13 commented 7 years ago

works, but oddly has a bug upon configuring this option (will open a new ticket)

After investigating, I found the following limitations:

Is your issue part of this list?

star-buck commented 7 years ago

yes, it actually was the first point. :) Now after fresh install, it works as expected.