IRC Archive for channel #xwiki on 03 February 2016
Last modified by Vincent Massol on 2016/02/03 23:02
<cjd> has joined #xwiki
00:48 <abusenius> has quit
05:34 <mflorea> has joined #xwiki
07:18 <msmeria> has joined #xwiki
07:34 <vmassol> has joined #xwiki
08:02 <mflorea> has quit
08:24 <vmassol> has quit
08:35 <cjd> has quit
08:49 <KermitTheFragger> has joined #xwiki
08:54 <tmortagne> has joined #xwiki
09:01 <cjd> has joined #xwiki
09:02 <vmassol> has joined #xwiki
09:18 <vmassol> has quit
09:27 <mflorea> has joined #xwiki
09:38 <vmassol> has joined #xwiki
09:45 <Slashman> has joined #xwiki
09:55 <msmeria1> has joined #xwiki
09:56 <msmeria> has quit
10:03 <evalica> has joined #xwiki
10:03 <Enygma`> has joined #xwiki
10:12 <woshilapin> has joined #xwiki
10:19 <gdelhumeau> has joined #xwiki
10:59 <Denis> has quit
11:00 <Denis> has joined #xwiki
11:02 <vmassol> gdelhumeau: gm, do you know what user we use when creating a new subwiki? I'm trying to find the code, do you know where it is?
11:03 <gdelhumeau> You mean the provisionning? superadmin
11:03 <vmassol> ok thanks, do you know where the code is?
11:04 <gdelhumeau> https://github.com/xwiki/xwiki-platform/blob/master/xwiki-platform-core/xwiki-platform-wiki/xwiki-platform-wiki-creationjob/src/main/java/org/xwiki/platform/wiki/creationjob/internal/ExtensionInstaller.java#L70-70
11:04 <vmassol> thanks
11:05 <vmassol> I'm asking because Ludovic reported some perf issue on some xwiki instance
11:05 <vmassol> wiki creation taking very long time (more than 10mn)
11:05 <vmassol> and it seems the reason was autowatch on the Admin user
11:06 <vmassol> adding all the docs to the autowatch....
11:06 <vmassol> I mean watchlist
11:06 <vmassol> if it's superadmin I don't see why it would do that
11:06 <vmassol> maybe it's an older version
11:07 <vmassol> before we installed docs with superadmin
11:12 <vmassol> could you check the version of hte groovy jar in WEB-INF/lib?
11:14 <vmassol> oops
11:14 <vmassol> wrong chat
11:14 <tmortagne> "the reason was autowatch on the Admin user" wiki are supposed to be created inside folded events not taken into account by autowatch
11:16 <tmortagne> I think at some point (before provisionning job system and extension based wiki creation) there was a bug like this but now I don't see how autowatch could react to document imported during wiki creation
11:17 <cjd_> has joined #xwiki
11:17 <vmassol> watchlist is coded to ignore folded events?
11:17 <vmassol> answer: yes
11:17 <vmassol> (just checked the code)
11:18 <vmassol> if (observationContext.isIn(IGNORED_EVENTS)) {
11:18 <vmassol> }
11:18 <vmassol> :)
11:18 <vmassol> done in http://jira.xwiki.org/browse/XWIKI-9543 , ie XWiki 5.3M1
11:19 <tmortagne> autowatch has been disgned to ignore certain kind of event (before folding event concept existed), I don't know if gdelhumeau refactored it to use the new folded events API
11:19 <cjd> has quit
11:20 <gdelhumeau> Haven't do anything regarding this
11:20 <tmortagne> XWIKI-9543 is activity stream
11:20 <tmortagne> not watchlist
11:20 <vmassol> ah sorry my bad I mixed the to
11:20 <vmassol> *two
11:20 <gdelhumeau> I beileve EM triggers a Fold Event before it installs pages
11:20 <tmortagne> anyway the event produced by XAR import are taken into account by autowatch
11:21 <tmortagne> and EM produce XAR import events
11:21 <tmortagne> (which also happen to be folded events)
11:21 <tmortagne> we need to refactor it to use new folded events API but anyway autowatch ignore import since a very long time
11:22 <vmassol> ok
11:22 <tmortagne> it also ignore WikiCreatingEvent and JobEvent so it's ignoring whatever a Job is doing
11:22 <vmassol> ok
11:23 <Bugendol1> has quit
11:23 <vmassol> doesn't seem to ignore fold events though
11:25 <vmassol> but WikiCreatingEvent should be enough
11:27 <gdelhumeau> note: the WikiCreatedEvent is sent just when the wiki is created, not after the provisioning
11:27 <gdelhumeau> https://github.com/xwiki/xwiki-platform/blob/master/xwiki-platform-core/xwiki-platform-wiki/xwiki-platform-wiki-default/src/main/java/org/xwiki/wiki/internal/manager/DefaultWikiManager.java#L91-91
11:27 <gdelhumeau> The provision step does not send any event by itself
11:27 <tmortagne> gdelhumeau: it's a job
11:27 <tmortagne> so it's ignored
11:28 <gdelhumeau> I'm wrong it sends WikiProvisioningEvent actually
11:28 <gdelhumeau> ok
11:28 <cjd_> is now known as <cjd>
11:28 <tmortagne> right now any job is ignored so it covers a lot of long tasks
11:29 <tmortagne> but using FoldedEvent API would be cleaner since that's what this API is for
11:29 <tmortagne> for example with the new refactoring job we don't autowatch moved or copied document which is not accurate IMO
11:32 <vmassol> actually FoldedEvent is not meant to ignore events
11:32 <vmassol> it's meant to indicate a group of events
11:32 <vmassol> it shouldn't be ignore
11:32 <vmassol> *ignored
11:32 <vmassol> the listeners need to decide what to do with it
11:33 <vmassol> ie display only 1 event or all the nested ones
11:36 <evalica> has quit
11:37 <Pbas> has quit
11:43 <Pbas> has joined #xwiki
11:44 <vmassol> starting work on XWIKI-13055
11:50 <tmortagne> vmassol: the use case that leaded to design FoldedEvent was to indicate that event inside should be ignored (not FoldedEvent themself)
11:51 <vmassol> not really
11:51 <tmortagne> yes really :)
11:51 <vmassol> for example the AS should not ignore them
11:51 <vmassol> i should group them together but offer the ability to expand them
11:51 <vmassol> *it
11:52 <vmassol> if it was to ignore them it would have been called IgnoredEvent
11:52 <vmassol> and not FoldEvent
11:52 <vmassol> fold is for …. folding… :)
11:52 <vmassol> not ignoring
11:53 <tmortagne> I'm explaining to you what it was designed for when it was introduced, you can reinterpret it if you want to that's another subject
11:55 <tmortagne> the goal was to indicate what was the actual action so that AS knows what is a "sub-action" (document created during an import, etc.) and ignore it (which it does right now)
11:56 <vmassol> I was part of the design so I remember very well :)
11:58 <vmassol> you're confusing what it was designed for and how it's been used (which is temporary for AS)
12:06 <evalica> has joined #xwiki
12:16 <vmassol> mflorea: maybe you can help me. Apparently we have some JS that removes <div class="bottombuttons"> and put some other <div class="bottombuttons"> which makes ConfigurableClass rendering generate the new div outside of the form. Any idea where that could be located?
12:16 <vmassol> rings a bell?
12:33 <mflorea> vmassol: no, I would check actionbuttons.js first
13:02 <vmassol> ok thanks
13:03 <cjd> has quit
13:28 <evalica> has quit
13:32 <vmassol1> has joined #xwiki
13:34 <vmassol> has quit
13:50 <evalica> has joined #xwiki
13:58 <vmassol1> ok found the JS I think, it's in a JSX in ConfigurableClass
14:07 <vmassol1> wow can't believe how hacky this code is....
14:07 <vmassol1> I won't congratulate caleb :) too bad he's not here
14:30 <vmassol1> grrr actionButtons.js is minified...
14:47 <vmassol1> I need some js expert help :)
14:47 <vmassol1> in actionButtons.js we have:
14:48 <vmassol1> this.form.action.contains("/preview/")
14:48 <vmassol1> I have verified that this.form.action returns a string
14:48 <vmassol1> the error I get on this line is: Uncaught TypeError: this.form.action.contains is not a function(…)
14:49 <vmassol1> I've checked that contains() doesn't seem to a pure js function
14:49 <vmassol1> since this code works on 7.1.x and not on 7.4, I assume that somewhere we've defined the contains() function and added it to String
14:49 <vmassol1> is now known as <vmassol>
14:50 <vmassol> any idea mflorea or gdelhumeau?
14:55 <mflorea> vmassol: it's not part of the standard String API https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String and is not provided by Prototype.js either http://api.prototypejs.org/language/String/
14:57 <mflorea> I do have this function when I check with the JavaScript console
14:57 <mflorea> $('inline').action.contains
14:57 <mflorea> (from inline edit mode)
14:58 <vmassol> any idea how to find how it's registered?
14:58 <mflorea> $('inline').action.contains.toString()
14:59 <mflorea> [native code]
14:59 <mflorea> so it looks like it is provided by the browser
14:59 <mflorea> otherwise you would get the actual function code
15:01 <vmassol> if it was provied by the browser then I would get it on all pages right?
15:01 <vmassol> trying your example on another page now
15:01 <mflorea> $('inline').action.contains is undefined on Chrome
15:02 <mflorea> I tried Firefox first
15:02 <vmassol> hmmm
15:02 <vmassol> I'm on chrome indeed
15:02 <mflorea> so it looks like Firefox supports it while Chrome doesn't
15:02 <vmassol> however it works on 7.1.x from xwiki.org but fails locally on a 7.4
15:02 <vmassol> (both using chrome)
15:03 <vmassol> checking
15:03 <mflorea> https://github.com/xwiki/xwiki-platform/commit/999b14bece246adfa5b5d9d89c892f45d4bbc437#diff-c96ca895f6b4766e80a3282f4b68203aR209
15:04 <Bugendolf> has joined #xwiki
15:04 <mflorea> vmassol: is was added by Enygma` recently
15:04 <mflorea> 7.4M2
15:04 <mflorea> he probably tested only on Firefox
15:04 <vmassol> haha
15:05 <vmassol> that explains it
15:05 <vmassol> thanks, I can take it from there
15:05 <mflorea> in any case, it's an easy fix, replace contains with indexOf
15:05 <vmassol> yes
15:06 <msmeria1> has quit
15:10 <cjd> has joined #xwiki
15:15 <Enygma`> bad java habits :)
15:16 <vmassol> cost me 2 hours :)
15:17 <Enygma`> debugging JS usually does :/
15:17 <cjd> it's not js, it's that pseudo-oop prototypejs crap
15:17 <vmassol> I'm glad I found the issue and fixed it before 7.4.1
15:17 <vmassol> BTW it shows our QA is pretty poor on chrome
15:57 <vmassol> gotcha quickbooks!
16:04 <Slashman> has quit
16:22 <vmassol> has quit
16:23 <tmortagne> :)
16:25 <vmassol> has joined #xwiki
16:35 <vmassol> has quit
16:47 <vmassol> has joined #xwiki
16:47 <finstern_xwiki> good by here
16:48 <finstern_xwiki> has quit
17:15 <vmassol> has quit
17:16 <vmassol> has joined #xwiki
17:21 <KermitTheFragger> has quit
17:35 <vmassol> mflorea: do you think you could add ckeditor to ci.xwikiorg?
17:35 <vmassol> (I've been asked for a snapshot for example but it's also useful as a general good practice)
17:36 <mflorea> I will try
18:07 <mflorea> has quit
18:20 <tmortagne> has quit
18:20 <tmortagne> has joined #xwiki
18:24 <tmortagne> has quit
18:28 <vmassol> has quit
18:54 <vmassol> has joined #xwiki
18:56 <evalica> has quit
18:57 <evalica> has joined #xwiki
18:57 <evalica> has quit
19:02 <cjd> has quit
19:02 <evalica> has joined #xwiki
19:05 <evalica> has quit
19:05 <Enygma`> has quit
19:07 <tmortagne> has joined #xwiki
19:08 <vmassol> has quit
19:48 <woshilapin> has quit
19:57 <tmortagne> has quit
20:15 <cjd_> has joined #xwiki
20:15 <abusenius> has joined #xwiki
20:35 <vmassol> has joined #xwiki
20:42 <woshilapin> has joined #xwiki
21:06 <gdelhumeau> has quit
22:00 <mflorea> has joined #xwiki
22:06 <mflorea> has quit
22:17 <mflorea> has joined #xwiki
22:22 <mflorea> has quit
23:02 <vmassol> has quit
00:48 <abusenius> has quit
05:34 <mflorea> has joined #xwiki
07:18 <msmeria> has joined #xwiki
07:34 <vmassol> has joined #xwiki
08:02 <mflorea> has quit
08:24 <vmassol> has quit
08:35 <cjd> has quit
08:49 <KermitTheFragger> has joined #xwiki
08:54 <tmortagne> has joined #xwiki
09:01 <cjd> has joined #xwiki
09:02 <vmassol> has joined #xwiki
09:18 <vmassol> has quit
09:27 <mflorea> has joined #xwiki
09:38 <vmassol> has joined #xwiki
09:45 <Slashman> has joined #xwiki
09:55 <msmeria1> has joined #xwiki
09:56 <msmeria> has quit
10:03 <evalica> has joined #xwiki
10:03 <Enygma`> has joined #xwiki
10:12 <woshilapin> has joined #xwiki
10:19 <gdelhumeau> has joined #xwiki
10:59 <Denis> has quit
11:00 <Denis> has joined #xwiki
11:02 <vmassol> gdelhumeau: gm, do you know what user we use when creating a new subwiki? I'm trying to find the code, do you know where it is?
11:03 <gdelhumeau> You mean the provisionning? superadmin
11:03 <vmassol> ok thanks, do you know where the code is?
11:04 <gdelhumeau> https://github.com/xwiki/xwiki-platform/blob/master/xwiki-platform-core/xwiki-platform-wiki/xwiki-platform-wiki-creationjob/src/main/java/org/xwiki/platform/wiki/creationjob/internal/ExtensionInstaller.java#L70-70
11:04 <vmassol> thanks
11:05 <vmassol> I'm asking because Ludovic reported some perf issue on some xwiki instance
11:05 <vmassol> wiki creation taking very long time (more than 10mn)
11:05 <vmassol> and it seems the reason was autowatch on the Admin user
11:06 <vmassol> adding all the docs to the autowatch....
11:06 <vmassol> I mean watchlist
11:06 <vmassol> if it's superadmin I don't see why it would do that
11:06 <vmassol> maybe it's an older version
11:07 <vmassol> before we installed docs with superadmin
11:12 <vmassol> could you check the version of hte groovy jar in WEB-INF/lib?
11:14 <vmassol> oops
11:14 <vmassol> wrong chat
11:14 <tmortagne> "the reason was autowatch on the Admin user" wiki are supposed to be created inside folded events not taken into account by autowatch
11:16 <tmortagne> I think at some point (before provisionning job system and extension based wiki creation) there was a bug like this but now I don't see how autowatch could react to document imported during wiki creation
11:17 <cjd_> has joined #xwiki
11:17 <vmassol> watchlist is coded to ignore folded events?
11:17 <vmassol> answer: yes
11:17 <vmassol> (just checked the code)
11:18 <vmassol> if (observationContext.isIn(IGNORED_EVENTS)) {
11:18 <vmassol> }
11:18 <vmassol> :)
11:18 <vmassol> done in http://jira.xwiki.org/browse/XWIKI-9543 , ie XWiki 5.3M1
11:19 <tmortagne> autowatch has been disgned to ignore certain kind of event (before folding event concept existed), I don't know if gdelhumeau refactored it to use the new folded events API
11:19 <cjd> has quit
11:20 <gdelhumeau> Haven't do anything regarding this
11:20 <tmortagne> XWIKI-9543 is activity stream
11:20 <tmortagne> not watchlist
11:20 <vmassol> ah sorry my bad I mixed the to
11:20 <vmassol> *two
11:20 <gdelhumeau> I beileve EM triggers a Fold Event before it installs pages
11:20 <tmortagne> anyway the event produced by XAR import are taken into account by autowatch
11:21 <tmortagne> and EM produce XAR import events
11:21 <tmortagne> (which also happen to be folded events)
11:21 <tmortagne> we need to refactor it to use new folded events API but anyway autowatch ignore import since a very long time
11:22 <vmassol> ok
11:22 <tmortagne> it also ignore WikiCreatingEvent and JobEvent so it's ignoring whatever a Job is doing
11:22 <vmassol> ok
11:23 <Bugendol1> has quit
11:23 <vmassol> doesn't seem to ignore fold events though
11:25 <vmassol> but WikiCreatingEvent should be enough
11:27 <gdelhumeau> note: the WikiCreatedEvent is sent just when the wiki is created, not after the provisioning
11:27 <gdelhumeau> https://github.com/xwiki/xwiki-platform/blob/master/xwiki-platform-core/xwiki-platform-wiki/xwiki-platform-wiki-default/src/main/java/org/xwiki/wiki/internal/manager/DefaultWikiManager.java#L91-91
11:27 <gdelhumeau> The provision step does not send any event by itself
11:27 <tmortagne> gdelhumeau: it's a job
11:27 <tmortagne> so it's ignored
11:28 <gdelhumeau> I'm wrong it sends WikiProvisioningEvent actually
11:28 <gdelhumeau> ok
11:28 <cjd_> is now known as <cjd>
11:28 <tmortagne> right now any job is ignored so it covers a lot of long tasks
11:29 <tmortagne> but using FoldedEvent API would be cleaner since that's what this API is for
11:29 <tmortagne> for example with the new refactoring job we don't autowatch moved or copied document which is not accurate IMO
11:32 <vmassol> actually FoldedEvent is not meant to ignore events
11:32 <vmassol> it's meant to indicate a group of events
11:32 <vmassol> it shouldn't be ignore
11:32 <vmassol> *ignored
11:32 <vmassol> the listeners need to decide what to do with it
11:33 <vmassol> ie display only 1 event or all the nested ones
11:36 <evalica> has quit
11:37 <Pbas> has quit
11:43 <Pbas> has joined #xwiki
11:44 <vmassol> starting work on XWIKI-13055
11:50 <tmortagne> vmassol: the use case that leaded to design FoldedEvent was to indicate that event inside should be ignored (not FoldedEvent themself)
11:51 <vmassol> not really
11:51 <tmortagne> yes really :)
11:51 <vmassol> for example the AS should not ignore them
11:51 <vmassol> i should group them together but offer the ability to expand them
11:51 <vmassol> *it
11:52 <vmassol> if it was to ignore them it would have been called IgnoredEvent
11:52 <vmassol> and not FoldEvent
11:52 <vmassol> fold is for …. folding… :)
11:52 <vmassol> not ignoring
11:53 <tmortagne> I'm explaining to you what it was designed for when it was introduced, you can reinterpret it if you want to that's another subject
11:55 <tmortagne> the goal was to indicate what was the actual action so that AS knows what is a "sub-action" (document created during an import, etc.) and ignore it (which it does right now)
11:56 <vmassol> I was part of the design so I remember very well :)
11:58 <vmassol> you're confusing what it was designed for and how it's been used (which is temporary for AS)
12:06 <evalica> has joined #xwiki
12:16 <vmassol> mflorea: maybe you can help me. Apparently we have some JS that removes <div class="bottombuttons"> and put some other <div class="bottombuttons"> which makes ConfigurableClass rendering generate the new div outside of the form. Any idea where that could be located?
12:16 <vmassol> rings a bell?
12:33 <mflorea> vmassol: no, I would check actionbuttons.js first
13:02 <vmassol> ok thanks
13:03 <cjd> has quit
13:28 <evalica> has quit
13:32 <vmassol1> has joined #xwiki
13:34 <vmassol> has quit
13:50 <evalica> has joined #xwiki
13:58 <vmassol1> ok found the JS I think, it's in a JSX in ConfigurableClass
14:07 <vmassol1> wow can't believe how hacky this code is....
14:07 <vmassol1> I won't congratulate caleb :) too bad he's not here
14:30 <vmassol1> grrr actionButtons.js is minified...
14:47 <vmassol1> I need some js expert help :)
14:47 <vmassol1> in actionButtons.js we have:
14:48 <vmassol1> this.form.action.contains("/preview/")
14:48 <vmassol1> I have verified that this.form.action returns a string
14:48 <vmassol1> the error I get on this line is: Uncaught TypeError: this.form.action.contains is not a function(…)
14:49 <vmassol1> I've checked that contains() doesn't seem to a pure js function
14:49 <vmassol1> since this code works on 7.1.x and not on 7.4, I assume that somewhere we've defined the contains() function and added it to String
14:49 <vmassol1> is now known as <vmassol>
14:50 <vmassol> any idea mflorea or gdelhumeau?
14:55 <mflorea> vmassol: it's not part of the standard String API https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String and is not provided by Prototype.js either http://api.prototypejs.org/language/String/
14:57 <mflorea> I do have this function when I check with the JavaScript console
14:57 <mflorea> $('inline').action.contains
14:57 <mflorea> (from inline edit mode)
14:58 <vmassol> any idea how to find how it's registered?
14:58 <mflorea> $('inline').action.contains.toString()
14:59 <mflorea> [native code]
14:59 <mflorea> so it looks like it is provided by the browser
14:59 <mflorea> otherwise you would get the actual function code
15:01 <vmassol> if it was provied by the browser then I would get it on all pages right?
15:01 <vmassol> trying your example on another page now
15:01 <mflorea> $('inline').action.contains is undefined on Chrome
15:02 <mflorea> I tried Firefox first
15:02 <vmassol> hmmm
15:02 <vmassol> I'm on chrome indeed
15:02 <mflorea> so it looks like Firefox supports it while Chrome doesn't
15:02 <vmassol> however it works on 7.1.x from xwiki.org but fails locally on a 7.4
15:02 <vmassol> (both using chrome)
15:03 <vmassol> checking
15:03 <mflorea> https://github.com/xwiki/xwiki-platform/commit/999b14bece246adfa5b5d9d89c892f45d4bbc437#diff-c96ca895f6b4766e80a3282f4b68203aR209
15:04 <Bugendolf> has joined #xwiki
15:04 <mflorea> vmassol: is was added by Enygma` recently
15:04 <mflorea> 7.4M2
15:04 <mflorea> he probably tested only on Firefox
15:04 <vmassol> haha
15:05 <vmassol> that explains it
15:05 <vmassol> thanks, I can take it from there
15:05 <mflorea> in any case, it's an easy fix, replace contains with indexOf
15:05 <vmassol> yes
15:06 <msmeria1> has quit
15:10 <cjd> has joined #xwiki
15:15 <Enygma`> bad java habits :)
15:16 <vmassol> cost me 2 hours :)
15:17 <Enygma`> debugging JS usually does :/
15:17 <cjd> it's not js, it's that pseudo-oop prototypejs crap
15:17 <vmassol> I'm glad I found the issue and fixed it before 7.4.1
15:17 <vmassol> BTW it shows our QA is pretty poor on chrome
15:57 <vmassol> gotcha quickbooks!
16:04 <Slashman> has quit
16:22 <vmassol> has quit
16:23 <tmortagne> :)
16:25 <vmassol> has joined #xwiki
16:35 <vmassol> has quit
16:47 <vmassol> has joined #xwiki
16:47 <finstern_xwiki> good by here
16:48 <finstern_xwiki> has quit
17:15 <vmassol> has quit
17:16 <vmassol> has joined #xwiki
17:21 <KermitTheFragger> has quit
17:35 <vmassol> mflorea: do you think you could add ckeditor to ci.xwikiorg?
17:35 <vmassol> (I've been asked for a snapshot for example but it's also useful as a general good practice)
17:36 <mflorea> I will try
18:07 <mflorea> has quit
18:20 <tmortagne> has quit
18:20 <tmortagne> has joined #xwiki
18:24 <tmortagne> has quit
18:28 <vmassol> has quit
18:54 <vmassol> has joined #xwiki
18:56 <evalica> has quit
18:57 <evalica> has joined #xwiki
18:57 <evalica> has quit
19:02 <cjd> has quit
19:02 <evalica> has joined #xwiki
19:05 <evalica> has quit
19:05 <Enygma`> has quit
19:07 <tmortagne> has joined #xwiki
19:08 <vmassol> has quit
19:48 <woshilapin> has quit
19:57 <tmortagne> has quit
20:15 <cjd_> has joined #xwiki
20:15 <abusenius> has joined #xwiki
20:35 <vmassol> has joined #xwiki
20:42 <woshilapin> has joined #xwiki
21:06 <gdelhumeau> has quit
22:00 <mflorea> has joined #xwiki
22:06 <mflorea> has quit
22:17 <mflorea> has joined #xwiki
22:22 <mflorea> has quit
23:02 <vmassol> has quit