After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 567858 - Logging should be optional
Logging should be optional
Status: RESOLVED FIXED
Product: empathy
Classification: Core
Component: Archives
2.25.x
Other Linux
: Normal enhancement
: ---
Assigned To: empathy-maint
: 582384 587217 591675 608207 614690 (view as bug list)
Depends on: 518414 610956
Blocks:
 
 
Reported: 2009-01-15 13:27 UTC by Chris Carlin
Modified: 2011-08-29 10:12 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
add gconf key to enable/disable chat logs (6.91 KB, patch)
2009-05-24 22:09 UTC, Vincent Untz
needs-work Details | Review
Patch providing option to disable logging via GConf (5.11 KB, patch)
2009-11-11 05:27 UTC, Steve McGrath
none Details | Review
Patch adding option to disable logging via GConf (5.35 KB, patch)
2009-11-13 04:50 UTC, Steve McGrath
reviewed Details | Review
Patch adding preferences checkbox to enable/disable logging (5.17 KB, patch)
2009-11-13 04:50 UTC, Steve McGrath
reviewed Details | Review
http://git.Collabora.co.uk/?p=user/cassidy/empathy;a=shortlog;h=refs/heads/disable-logging-567858 (4.16 KB, patch)
2010-08-17 10:44 UTC, Guillaume Desmottes
none Details | Review

Description Chris Carlin 2009-01-15 13:27:05 UTC
There should be an option to turn off logging entirely. Leaving it turned on by default is fine, IMO.

I imagine this isn't a particularly difficult or controversial request, so I'll spare a pedantic list of reasons why someone would (and I do) need logging turned off :)
Comment 1 Xavier Claessens 2009-01-15 13:47:10 UTC
please give your list of reasons :)
Comment 2 Chris Carlin 2009-01-15 14:10:17 UTC
Ha.

Well the main reason facing me at the moment is wanting to use empathy on my computers at work as I use it on computers at home. For policy reasons I'm comfortable saving things like account information on the computers, and I'm even comfortable sending conversations over the network even if they're not strongly encrypted, but having an actual record of conversations saved on work computers becomes problematic.

I work in a government installation at the moment, so I'm subject to that style of nonsensical bureaucratic regulation, but these days that stuff is coming even to fully private organizations through data discovery regulations and other internal policy decisions made as the orgs try not to get sued. With non-optional logging, it might be trouble to run empathy in many non-personal settings.


In the past I've had trouble with logging from many technical directions, mainly involving disk access. For example, one of the other jabber clients implemented mandatory logging, which caused my laptop harddrive to spin up and my system to churn for a full second every time a message was received... even though I knew I'd never use the logs. Others complained about this behavior in their bugtracker as well, so I know I'm not the only person who would give up logging for the sake of performance.

And in the end, as I say, I'll never use the log here. I prefer my logging to take place server-side so I have a complete record instead of the record of only what individual clients happen to catch when they're logged in. Even for chat protocols without server-side logging, I'd prefer to leave a single instance connected and logging all the time, disabling logging everywhere else, for the sake of having one complete log.

So that was long-winded, which is why I didn't include it before. In the end is it that much trouble to not log? My uninformed assumption is that there's a "log this message" instruction to trivially bypass if the preference was there.
Comment 3 Xavier Claessens 2009-01-15 14:30:28 UTC
Right, that should be an option. I was not expecting such a big reply, just wanted to know the uses cases because nobody complained about that yet :)

Thanks.
Comment 4 Frederic Peters 2009-05-12 18:42:06 UTC
*** Bug 582384 has been marked as a duplicate of this bug. ***
Comment 5 Vincent Untz 2009-05-24 22:09:26 UTC
Created attachment 135284 [details] [review]
add gconf key to enable/disable chat logs
Comment 6 Vincent Untz 2009-05-24 22:10:07 UTC
FWIW, I couldn't test the patch since master doesn't build at the moment.
Comment 7 Vincent Untz 2009-05-24 22:14:51 UTC
(also, ideally, this should work from libempathy-gtk too, for other apps using this library -- but I couldn't find a good place to integrate this)
Comment 8 Jonny Lamb 2009-05-26 11:04:03 UTC
I've not tested it, but the patch looks alright.

Regarding working from libempathy-gtk too, I'm not quite sure what you mean? In the log window or something?
Comment 9 Vincent Untz 2009-05-26 11:30:27 UTC
(In reply to comment #8)
> Regarding working from libempathy-gtk too, I'm not quite sure what you mean? In
> the log window or something?

Imagine an app that uses the chat windows from libempathy-gtk. Since the code calling empathy_log_manager_set_enabled() is in the empathy app, and not the library, the setting will be ignored by this app -- it will only be used by empathy itself.

Comment 10 Xavier Claessens 2009-05-26 11:58:25 UTC
I think we didn't polished such question yet. To be honest libempathy-gtk should not contain chat widgets yet.

IMO ideally if we want to expose widgets, they should not have settings policy on them. Probably libempathy-gtk should not depend on gconf. Widgets should have properties for such options but it's up to the library user to set those properties using gconf keys, etc.
Comment 11 Xavier Claessens 2009-05-26 12:01:25 UTC
About the patch, I don't think it should prevent reading logs. Only adding more messages should be disabled. There is no point in pretending there is no logs for a contact if there are in fact logged messages.
Comment 12 Nicolò Chieffo 2009-06-17 13:13:45 UTC
This patch should also avoid showing the last N messages received/sent when opening a new conversation window.
Comment 13 Jonny Lamb 2009-06-29 09:25:41 UTC
*** Bug 587217 has been marked as a duplicate of this bug. ***
Comment 14 Frederic Peters 2009-08-13 11:44:17 UTC
*** Bug 591675 has been marked as a duplicate of this bug. ***
Comment 15 Tom Kirby 2009-08-13 13:08:11 UTC
I seriously do not think that adding a gConf key to turn off logging is enough. When I'm using instant messaging, I want to be able to reassure my friends that I am not keeping records of what they say.

I don't think that people would react very well if I told them I kept a dictaphone in my pocket and left it on constantly so that my conversations with everyone were recorded. For some users, me included, the same should apply to instant messaging. We shouldn't be forced to look under the hood to find options that are this important.

It would also be good to be able to turn logging on and off for individual conversations too, from the conversation window itself.
Comment 16 Praveen Thirukonda 2009-08-13 18:10:15 UTC
^^+1

This really should be given higher priority.
Comment 17 Ben Leung 2009-10-31 20:12:09 UTC
I agree with Chris Carlin. I don't work in government, but in some clinical counseling setting, where privacy is important.
At least an option to clear the conversation history, or let us know where it is stored and how to delete it would be great at the mean time.

I think it deserves a higher priority, not just a "nice to have" enhancement.
Comment 18 Luca Ferretti 2009-10-31 22:34:31 UTC
(In reply to comment #17)
> At least an option to clear the conversation history, or let us know where it
> is stored and how to delete it would be great at the mean time.
> 

It's stored in .local/share/Empathy/logs/

If you don't want to store logs at all, you could 
 
  $ cd ~/.local/share/Empathy
  $ rm -rf logs
  $ ln -s  /dev/null logs

;)
Comment 19 Luca Ferretti 2009-10-31 23:39:37 UTC
(In reply to comment #18)

> If you don't want to store logs at all, you could 
> 
>   $ cd ~/.local/share/Empathy
>   $ rm -rf logs
>   $ ln -s  /dev/null logs
> 
> ;)

PS Honestly I haven't yet tried if this works.
Comment 20 Luca Ferretti 2009-11-07 15:45:03 UTC
BTW, 'cause chat logging "stores" files on disk, should we also disable logging in order to honour /desktop/gnome/lockdown/disable_save_to_disk GConf key?
Comment 21 Steve McGrath 2009-11-11 05:27:56 UTC
Created attachment 147445 [details] [review]
Patch providing option to disable logging via GConf

I'm not sure how clean/useful this is, but this is the patch I've been using to create Ubuntu packages of Empathy 2.28.1.1. It's based on the other patch provided in this bug report, but does not prevent accessing existing logs.

I've just started trying to contribute to OSS when I can, so I may not have things exactly right, but I thought I'd attach this here in case it's usable for anyone.
Comment 22 Steve McGrath 2009-11-13 04:50:10 UTC
Created attachment 147633 [details] [review]
Patch adding option to disable logging via GConf

This is one of two patches to add the option to disable logging in Empathy.
It applies to current code in git.

These implement the empathy/conversation/enable_logging GConf key, and also add a checkbutton in the preferences dialog.

They will prevent logging conversations if logging is disabled, but still allow reviewing previously-logged conversations.

These should really be a single patch, but for some reason I created them over 2 commits and haven't figured out how to combine them into one patch file. Still learning Git as I go.

These changes are also implemented in my Git clone at http://github.com/smcgrath/empathy-smcgrath/tree/optional-logging.

I haven't had much of a change to test these against HEAD, but the patches apply and work as advertised on Empathy 2.28.1.1.
Comment 23 Steve McGrath 2009-11-13 04:50:51 UTC
Created attachment 147634 [details] [review]
Patch adding preferences checkbox to enable/disable logging
Comment 24 Guillaume Desmottes 2009-11-25 15:57:33 UTC
Review of attachment 147633 [details] [review]:

Hi Steve.
Thanks a lot for your patch. Here is my review.

::: data/empathy.schemas.in
@@ +458,3 @@
+        <short>Keep logs of conversations</short>
+        <long>
+        Whether or not Empathy should keep log of conversations with your contacts.

This affect chatrooms as well.

::: libempathy/empathy-log-manager.c
@@ +462,3 @@
+void
+empathy_log_manager_set_enabled (EmpathyLogManager *log_manager,
+                                 gboolean          enabled)

new style would be:

empathy_log_manager_set_enabled (EmpathyLogManager *log_manager,
    gboolean  enabled)

::: src/empathy.c
@@ +340,3 @@
+{
+  EmpathyLogManager *log_manager = user_data;
+  gboolean          enable_logging;

No need to align this arg.

@@ +342,3 @@
+  gboolean          enable_logging;
+
+  if (empathy_conf_get_bool (conf, key, &enable_logging)) {

Problem with this function is that it will return FALSE if the schema are not installed (thanks gconf_client_get_bool...). That means that people running master from the source will have logs disabled. :\
We should check if the schema of the key is present and if it's not, enable logging.

@@ +1029,3 @@
 
+  enable_logging_notify_cb (empathy_conf_get (), EMPATHY_PREFS_CHAT_ENABLE_LOGGING, log_manager);
+  empathy_conf_notify_add (empathy_conf_get (), EMPATHY_PREFS_CHAT_ENABLE_LOGGING, enable_logging_notify_cb, log_manager);

Those 2 lignes are too long. Please wrap them.
Comment 25 Guillaume Desmottes 2009-11-25 15:58:38 UTC
Review of attachment 147634 [details] [review]:

This patch looks good.
Comment 26 Guillaume Desmottes 2010-02-08 15:31:12 UTC
*** Bug 608207 has been marked as a duplicate of this bug. ***
Comment 27 Guillaume Desmottes 2010-02-15 18:20:16 UTC
Logging is about to be done by a separated component (bug #518414). Let's reconsider this bug once it's done.
Comment 28 Martin Meyer 2010-03-11 16:14:37 UTC
I would really like to be able to change my logging status on per-contact (or maybe per-group?) basis. Reason: while at work, I only want/need to log conversations with co-workers. I'd rather not save what I say to my friends while at work.

It would be nice if there were a sub-menu under "Conversation" to change logging status. There would be three radio buttons:
X Use global logging setting (currently (en|dis)abled)
_ [Do not] log this conversation
_ (Never|Always) log for this contact

Obviously each of the three messages changes slightly depending on the state of the global logging preference.

It would also be nice (assuming you implement per-contact/per-convo logging settings) to indicate on the conversation window what the current logging status is for this particular conversation. Example strings:
"Logging is (en|dis)abled globally."
"This conversation will [not] be logged."
"This contact is [never] logged."
Comment 29 tobias zellner 2010-03-16 19:47:07 UTC
@Guillaume Desmottes It's seem that #518414 is done now. What about this one? I think it's realy important to have this feature. Logging all conversations by default is really most worse, you can do, when thinking about privacy. Especialy the privacy of the conversation partners is trampled under foot!

So I think you should realy work on this feature. And is is not "a nice to have" in my opinion, it's "a must have"! And because of this, im realy not happy with your desition to use Empathy as default IM client in gnome!
Comment 30 Guillaume Desmottes 2010-03-17 09:14:55 UTC
I agree that's an useful thing to have, we'll do that in 2.31.x

Also, it's not that much of a privacy issue. Linux is a multi-user system and each user is supposed to have his own account...
Comment 31 tobias zellner 2010-03-17 17:55:36 UTC
@ Guillaume Desmottes: I agree that an own user account helps to keep the logs private. 

But this does help nothing against a "bad super user", or physical access to the machnine. That's why i think, data that is not stored, can not be abused.

I don't want discuss this here, that much. I'm happy that you will implement that feature soon, and hope that it will work fine.
Comment 32 Chris Carlin 2010-03-17 20:35:32 UTC
The reason it's a privacy issue is because it leaves a record of private conversations regardless of the wishes of the person being recorded. Saying that the record is "supposed to be" stored in a person's own account does little to make up for the simple notion that, again, this creates a record of private data.

And that's not even getting into the myriad reasons why can't assume users have their own locked down accounts. In the end the multi-user nature of linux is a feature available for use, but nothing more.
Comment 33 Frederic Peters 2010-04-03 11:23:20 UTC
*** Bug 614690 has been marked as a duplicate of this bug. ***
Comment 34 stevegula 2010-05-10 16:36:20 UTC
How has this taken a year to become added as a feature? I just tried to symlink my logs directory to /dev/null and then chmod -w the logs directory to prevent logging but this results in a crash when an IM is sent/received. So not only is logging enabled by default with no ability to change it, it's apparently considered a requirement for proper Empathy execution. This means I can't use Empathy at work at all for security purposes. 

Ubuntu 10.04 / Empathy 2.30.1
Comment 35 Avery Jenkins 2010-05-19 14:19:13 UTC
For anyone in journalism, legal, or medical fields, the inability to turn off logging in Empathy makes it not only unusable but quite possibly illegal.

I am a doctor. I have confidential discussions with patients and patients' attorneys. Sometimes, such discussions will be by necessity confidential and off the record.

The fact that this bug has been brushed off for over a year is, to my mind, unfathomable. 

While Ubuntu's historical user base may have once been computer geeks and x-gens chatting with their peeps, increasingly these days, Ubuntu is the core operating system for corporations such as mine. Core Ubuntu applications need to grow up as well and recognize that fact.
Comment 36 Guillaume Desmottes 2010-08-17 10:44:03 UTC
Created attachment 168045 [details] [review]
http://git.Collabora.co.uk/?p=user/cassidy/empathy;a=shortlog;h=refs/heads/disable-logging-567858

 libempathy/empathy-gsettings.h |    3 +++
 src/empathy-preferences.c      |   11 +++++++++++
 src/empathy-preferences.ui     |   14 ++++++++++++++
 3 files changed, 28 insertions(+), 0 deletions(-)
Comment 37 Guillaume Desmottes 2010-08-17 11:24:25 UTC
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.