Release Meeting: 2 May 2016

Details

1. Urgent Task review

  • NEW 14061 (Closed): Non-admin users are unable to refresh the page cache using the refresh query param. It's silently ignored.

2. Development Discussion

Accepted proposals listed on ReleasePlan

Review of features / Feature branches

New proposals - Proposals on 14 day clock

  • AddDefaultWebName Accepted Proposal: Add configuration parameters {HomeWebName}, {ConfigWebName}.

14 Day timer ended - Last call

  • AddNoProxyFeature Merged To Core: Add a 'NoProxy' configuration option to Foswiki::Net

Major redesign proposals / Development discussion for 3.0+ / 4.0

Proposals that need more work.

These are not fully specified, and should probably have their clock reset as incomplete proposals.

  • ContinueCanonicalSCRIPTURLDev Merged To Core: Continue extending the canonical form of the SCRIPT / PUB URL macros - Need way to specify the anchor (fragment) as a parameter. Might also be useful to allow configurable query string separator ; or &.
  • ReduceImpactOfCGIDotPMinFoswiki Accepted Proposal: Reduce impact of CGI.pm in Foswiki Plans to untangle from using CGI menthods for HTML generation. Do we want to tackle this for 2.2 or 3.0? Spec needs further clarification.

Old proposals never slotted into a release

No changes / status updates to report

These need up dates from their developers.

3. Next release

Patch release 2.1.2

  • Release from: Release02x01
  • Beta start: TBD
  • Release target: March 2016

Feature release 2.2.0

We are approximately 30 days from the feature freeze, and no proposals on the ReleasePlan have been merged!

  • Feature Freeze: 1 Jun 2016
  • Release from: master
  • Beta start: 15 Jun 2016
  • Release target: July 2016

Next meeting - - Monday 30 May 2016 1300Z — ReleaseMeeting02x02_20160530

IRC Log

Conversation with #foswiki-release at Mon 02 May 2016 08:07:09 AM EDT on gac410@chat.freenode.net (irc)
(08:08:25 AM) MichaelDaum: hi there
(08:08:30 AM) MichaelDaum: release meeting
(08:08:44 AM) gac410: Hi Michael
(08:09:00 AM) gac410: 1300Z That's in an hour ... I hope ;)
(09:02:15 AM) uebera||: Time for cake!
(09:02:27 AM) uebera||: Sorry, I meant: release meeting time! ;)
(09:02:30 AM) gac410: hello all. Agenda at https://foswiki.org/Development/ReleaseMeeting02X02_20160502
(09:03:50 AM) gac410: Foswiki 2.1.1 has been released. And in less that 24 hours flipflip reported the first major bug. https://foswiki.org/Tasks/Item14061
(09:04:53 AM) gac410: refresh=cache is broken for non-admins no way to refresh a page. It's fixed. But now the question for the dev's .... do we defer annoucing 2.1.1 and go for a 2.1.2
(09:05:06 AM) vrurg: Hi everybody
(09:05:22 AM) gac410: Hi Vadim
(09:06:22 AM) uebera||: What would be a common situation in which a user would like to use "refresh=case" (given that "refresh=fire" is used upon editing a topic)?
(09:06:40 AM) foswiki_irc0  entered the room.
(09:06:47 AM) uebera||: AFAIK, dynamic content is not affected.
(09:07:03 AM) gac410: well there is a link at the bottom of every page that allows a user to refresh the cache. Typically not needed. but really annoying if you do need it.
(09:07:05 AM) uebera||: Can the rendered topic be considered "outdated"? (what about CSS changes?)
(09:07:15 AM) foswiki_irc0: hi
(09:07:17 AM) gac410: Yes. rendered topic can be stale
(09:07:27 AM) gac410: Hi foswiki_irc0 ... please introduce yourself
(09:07:51 AM) foswiki_irc0: jomo here via browser... my irc client is bugged.. ;(
(09:08:22 AM) gac410: uebera||: example is a topic with a %SEARCH which is not listed in the WEBDEPENDENCIES setting. So it becomes stale as other topics are updatd.
(09:08:56 AM) uebera||: I see.
(09:09:58 AM) gac410: hi jomo ... welcome back ;)
(09:10:21 AM) foswiki_irc0: :)
(09:10:38 AM) gac410: So building 2.1.2 is not a huge issue. We won't look too bad, as no publicity went out.
(09:11:25 AM) gac410: I think it's worth it, as who knows how long before 2.2, or 3.0 comes out.
(09:11:58 AM) uebera||: +1
(09:12:26 AM) JulianLevens: +1
(09:13:45 AM) gac410: Okay, So I'll work on 2.1.2 over the next day or so. Then we'll announce. Michael, do you have time this week to do publicity?
(09:14:31 AM) MichaelDaum: yes sure
(09:14:41 AM) MichaelDaum: though not on Thursday
(09:15:02 AM) gac410: great. Okay. I should be able to get it done before Wednesday.
(09:15:30 AM) gac410: Okay, next on the agenda Feature proposals. New proposals on 14 day clock: only one:
(09:15:32 AM) gac410: https://foswiki.org/Development/AddDefaultWebName
(09:15:37 AM) MichaelDaum: shall we first create the release announcement in the blog and then work onwards?
(09:16:37 AM) MichaelDaum: there are two f.p's actually that just passed 14days. the otherone is https://foswiki.org/Development/AddNoProxyFeature
(09:16:50 AM) gac410: I kinda have a rather poor announcement already in https://foswiki.org/Download/FoswikiRelease02x01x01
(09:17:37 AM) gac410: Yes. That was next on agenda. Passed the 14 days ... last call. Though it's already accepted. So not really. +1 on it anyway. sounded like a good idea.
(09:17:52 AM) MichaelDaum: okay cool
(09:18:28 AM) MichaelDaum: I hope the motivation behind AddDefaultWebName is quite clear
(09:18:41 AM) gac410: I don't have any concerns on either of them.
(09:19:39 AM) uebera||: The less redirects, the better (especially in conjunction w/ HTTP/2, if I'm not mistaken)
(09:20:03 AM) MichaelDaum: just to recap. moving user profiles out of the Main web into a Users web will make it the default web as well. i.e. accessing http://yourfoswiki.org/ will render http://yourfoswiki.org/Users/WebHome ... however you'd want it to be Main/WebHome
(09:20:45 AM) gac410: We have to be a bit careful on just replacing userWebName with DefaultWebname ... A lot of that code was reworked in the Item14033: branch
(09:21:20 AM) gac410: I'll be merging that to master sometime soon.
(09:22:17 AM) MichaelDaum: it really is a deeper issue that has long been kind of ignored since tmwiki
(09:22:40 AM) gac410: Yes I agree. No concerns other than us not tripping over each other with the changes to Request parsing.
(09:22:57 AM) MichaelDaum: it was ignored when the pref var %USERSWEB% was introduced instead of a %MAINWEB%
(09:23:30 AM) MichaelDaum: using the macro %MAINWEB was considered deprecated in favor of %USERSWEB .... alas that bites back now
(09:23:54 AM) gac410: Item14033 creates new classes Foswiki::Request::Attachment Foswiki::Request::Rest and (not yet written) Foswiki::Request::Json
(09:24:14 AM) gac410: And moves all of the parsing of the query path into the request objects.
(09:24:15 AM) MichaelDaum: so to make things even worse: do we want to invent a %DEFAULTWEB% macro?
(09:24:40 AM) gac410: Hm Yes I think that would be useful.
(09:25:23 AM) gac410: And we need to revew USERSWEB usage and replace with DEFAULTWEB when not referencing user related stuff.
(09:25:44 AM) MichaelDaum: there are a couple of fixes then in the System web generating urls based on these macros, such as Set WIKILOGOURL = %SCRIPTURL{"view"}%/%USERSWEB%/%HOMETOPIC%
(09:25:47 AM) gac410: One more question. Does SitePreferences remain in DEFAULTWEB ? or follow the users into USERSWEB
(09:26:30 AM) vrurg: Can DEFAULT be replaced with HOME? Shorter, easier to type, less mistypes.
(09:26:43 AM) MichaelDaum: it is where you've configured it to be in LSC, current default is in $Foswiki::cfg{LocalSitePreferences} = '$Foswiki::cfg{UsersWebName}.SitePreferences';
(09:27:07 AM) gac410: Ah. yeah that's configurable. I forgot. good.
(09:28:05 AM) gac410: So this request to be "complete" needs to make sure the documentation is clear on all these interrelationships between usersweb, defaultweb, etc.
(09:28:28 AM) MichaelDaum: imho SitePreferences belongs into the default web
(09:28:52 AM) MichaelDaum: any use of %USERSWEB or {UsersWebName} should only be refering to the web where the user profiles are located
(09:29:17 AM) gac410: vrurg: good point. We use HOMETOPIC but USERSWEB. maybe HOMEWEB would be more consistent
(09:29:33 AM) gac410: So: Set WIKILOGOURL = %SCRIPTURL{"view"}%/%HOMEWEB%/%HOMETOPIC%
(09:29:40 AM) MichaelDaum: I like that
(09:29:57 AM) JulianLevens: +1
(09:30:13 AM) MichaelDaum: let me fix the proposal
(09:32:19 AM) gac410: So no other new proposals. Next up on agenda is Vadim and the OO redesign
(09:33:09 AM) gac410: vrurg: The floor is yours
(09:33:38 AM) vrurg: Not much on my side. Except that it's time to get somebody else involved.
(09:33:59 AM) vrurg: First, the amount of changes is big and it's time to share the knowelge.
(09:34:06 AM) foswiki_irc0 left the room (quit: Ping timeout: 250 seconds).
(09:34:09 AM) gac410: The question is what type of involvement. I'm certainly glad to make another merge from master attempt.
(09:34:12 AM) JulianLevens: I'm really keen to be involved
(09:34:35 AM) vrurg: Second, configure is broken and it would take me too much time to locate the problem as I didn't work with JS for years.
(09:34:44 AM) JulianLevens: But I have commitments so it'd have to wait until June at the earliset
(09:35:16 AM) JulianLevens: and I'd have to learn JS properly it seems
(09:35:32 AM) gac410: I can look at configure. Configure itself is pretty simple. bin/configure really does nothing. The meat is all in the json requests.
(09:35:33 AM) vrurg: I need help with adapting plugins in first place.
(09:36:02 AM) vrurg: There are still a lot to be done to the core and Func.pm.
(09:36:30 AM) gac410: So the js code in configure should reallly be very stable. It's pretty isolated by json.
(09:36:42 AM) vrurg: JQuery, Json and Configure plugins are kind of reference implementation.
(09:37:14 AM) vrurg: gac410: JS is untouched. Something wrong with JSON generated.
(09:37:31 AM) gac410: okay. yeah that's the key. I'll look at it later today.
(09:37:46 AM) vrurg: It looks ok but configure doesn't start. To me to find out the issue is to see what's going wrong on the JS side.
(09:38:03 AM) gac410: I'll look.
(09:38:19 AM) vrurg: Actually, this is a HUGE issue of JS: it hides away a lot of errors.
(09:38:28 AM) MichaelDaum: we have quite a few complains about configure's usability
(09:39:04 AM) vrurg: MichaelDaum: I broke it somehow.
(09:39:25 AM) MichaelDaum: no it is related to the way the Extensions section works
(09:39:43 AM) MichaelDaum: how do I say it polite: it sux
(09:39:54 AM) vrurg: As it's Json+JQuery+Configure working all together it's too much and quite complicated.
(09:40:21 AM) vrurg: MichaelDaum: Ok, you know better. ;)
(09:40:40 AM) vrurg: This is why I want eventually sit on plugins and rework them from bttom up.
(09:40:56 AM) gac410: Well let's not boil the ocean. vrrurg's OO rewrite is not the place to redesign the configure ui.
(09:41:44 AM) MichaelDaum: there is also a misuse of json-rpc while creating those tables.
(09:41:59 AM) vrurg: gac410: Nah, this is not what I wanna do for sure. ;) I just complain that when something goes wrong I never know what happend judging from the web-side output.
(09:42:12 AM) gac410: So for configure on the Item13897 branch. I'll take the task to try to resolve it.
(09:42:38 AM) vrurg: gac410: Thanks! I'm on hold for the last few days becasue of this.
(09:42:42 AM) gac410: for bin/configure the easiest way to debug the json, is to look at the browser Net panel, and look at the requests and responses.
(09:43:14 AM) gac410: Unless a json request returns json, configure just hangs.
(09:43:28 AM) vrurg: Anyway, if somebody would take care of the plugins conversion while I'm back on the core – that would speed things up a lot.
(09:44:27 AM) gac410: What would be really helpful for me is a Recipe "To convert a plugin: 1)... 2)... 3).... ... success
(09:44:36 AM) vrurg: gac410: I use komodo debugging and I see a normal JSON in the output. But ok, we can get back on it later.
(09:45:26 AM) gac410: Is anyone else willing to sign up to convert more plugins to the new structure.
(09:45:36 AM) MichaelDaum: not me atm
(09:45:41 AM) vrurg: gac410: This is the forth thing to metion: somebody would have to write the documentation. :)
(09:46:27 AM) vrurg: The third is the test framework. But this one couldn't be done until the core is stable.
(09:46:36 AM) gac410: And... Compatibility layer. I don't think we can completely abandon the 300+ existing extensions. At some point that needs to be re-visited.
(09:46:51 AM) vrurg: As for the docs – I'm thinking of a page with some simple summary of changes.
(09:48:25 AM) gac410: So... "Next release" ... we are sitting 29 days away from "Feature Freeze" and there have been no merges of new features, nothing on the ReleasePlan marked merged or completed, or even ready to merge.
(09:48:26 AM) vrurg: gac410: Compatibility is the worst. I'm not sure it would be possible to have it 100%. $Foswiki::app isn't $Foswiki::Plugins::SESSION.
(09:49:50 AM) vrurg: JulianLevens: I'll be looking forward for June. :)
(09:49:58 AM) gac410: I'll let others speak up. But I cannot imagine that we will just discard the past and start over. If you have any hope of OOFoswiki shipping as a 'next release', then we have to have *some* compatibilty
(09:50:24 AM) vrurg: gac410: Not without some code changes.
(09:52:12 AM) vrurg: For example, there are places where the old use was $obj->{generic_attribute} – where 'generic' means it's not object property but a generated name. The new use is $obj->attr->{generic_attribute} – and there is no way one can make it compatible with the old form.
(09:53:13 AM) ***gac410 is very skeptical that that will fly. Can't we insert a compatibiliyt shim which maps $obj->attr->{} to $compatobj->{}
(09:53:49 AM) vrurg: gac410: No.
(09:54:03 AM) JulianLevens: We can change extensions in the foswiki git repo, but any site local Extensions will break
(09:54:06 AM) gac410: Anyone else? Am I the only one who sees a problem in this?
(09:54:42 AM) JulianLevens: Could you tie these or would that add too much overhead
(09:55:24 AM) vrurg: It is a problem, yes. For commercial users I can provide a service of converting their plugins. For the rest - volunteers, including myself, would do it.
(09:55:47 AM) vrurg: JulianLevens: overhead+potential of hard to catch bugs.
(09:56:49 AM) gac410: So where we currently stand. 2.2 has NO features merged. Should we kill the release plan for 2.2, and move toward a more "fork-like" 3.0 for late 2016?
(09:57:04 AM) vrurg: Unfortuantely, this is the problem we have with the current code: either we stick in the past, or do that step.
(09:57:27 AM) JulianLevens: How diffucult is it to write a script be written to convert extensions?
(09:58:06 AM) vrurg: JulianLevens: impossible without AI. Though mostly it's about refactoring but there are logic changes too.
(09:58:34 AM) vrurg: Though a simple plugin can be converted in as much as an hour.
(09:58:51 AM) vrurg: More complicated may take a day.
(09:58:55 AM) JulianLevens: gac410: I need to get BACKLINKs off my list 2.2 or not
(09:59:39 AM) gac410: So put on a "marketing" hat. I'm "Joe Fortune500" and have a wiki. You've just come and announced 3.0 I need to staff to rewrite all my localized extensions. What's my ROI / Payback for that effort.
(09:59:56 AM) vrurg: gac410: I think we need no rush here anyway. It is really a huge move and a lot of work and testing will be required.
(10:01:04 AM) vrurg: gac410: More robust and flexible platform, PSGI support (yes, I think we'll have it).
(10:02:01 AM) gac410: we currently have ... what 10 (at most) active developers? 300+ extensions, most unmaintained. I'm concerned that we have enough committed developers to pull this off. Especially if 2.2 is still on the table.
(10:03:18 AM) vrurg: I'll be away for two minutes.
(10:04:11 AM) vrurg: Later... Have a lawn mower finishing his job...
(10:04:14 AM) vrurg: Ok.
(10:04:40 AM) JulianLevens: I am concerned about compatibility but cannot assess how big an issue it is until I properly understand the changes
(10:04:45 AM) vrurg: gac410: I think those issues are not something we can make our mind about over here.
(10:05:15 AM) vrurg: This more to a topic commenting with extended arguments and discussions.
(10:05:34 AM) gac410: And active dev's committing code regularly over the past year. there are 5 devs That's it.
(10:05:46 AM) JulianLevens: We need to move forward on 3.0 and assess the risk/reward
(10:05:55 AM) vrurg: JulianLevens: look into my latest commits to the three plugins mentioned.
(10:06:36 AM) vrurg: Away again, sorry ppl.
(10:08:36 AM) gac410: Okay, anyway. Back to 2.2. 28 days to feature freeze, with no features to actually freeze. Cancel the 2.2 release scheduled in July?
(10:09:06 AM) JulianLevens: Cancel or postpone a bit?
(10:09:36 AM) gac410: It depends on 3.0. The longer we delay 2.2. the more realilstic 3.0 becomes ... hopefully
(10:09:55 AM) uebera||: What about the https-only support?
(10:10:03 AM) gac410: what's that?
(10:10:03 AM) uebera||: Would this be a candidate for 2.2?
(10:10:09 AM) vrurg: gac410: Don't cancel. I don't think it's reasonable to consider 3.0 release before mid-autumn
(10:10:11 AM) gac410: Is there a feature proposal.
(10:10:26 AM) JulianLevens: As I say I really like to get BACKLINKs finished, that's all I'm really committed too IIRC
(10:10:31 AM) uebera||: The changes needed to redirect everything to https (thereby breaking the old update).
(10:11:10 AM) gac410: So not a Foswiki development proposal, an update to the web site? I'd lean towards never.
(10:11:29 AM) vrurg: Also considering people being busy with other staff it'll take time to get everybody involved with the new code.
(10:11:31 AM) gac410: logged in users are pushed to https automatically. wha't wrong with guests using http
(10:11:38 AM) MichaelDaum: uebera||, what exactliy was it that broke on http->https redirect? simply forgotten...
(10:11:53 AM) gac410: Extensions updates on olde foswiki's
(10:12:34 AM) MichaelDaum: okay there really is a problem updating extensions over plain http ... as I've mentioned a couple of times already
(10:12:37 AM) gac410: we are redirecting all logged in access to https. The only thing not redirecting are guests, bots, and Extensions installer
(10:12:47 AM) uebera||: When we activated the https redirect, gac410 mentioned that redirects did not work. Was on the FoswikiServer page once, but have to look it up in the history.
(10:13:07 AM) gac410: Older versions of LWP fail.
(10:13:18 AM) gac410: As do newer versions with missing dependencies
(10:13:27 AM) uebera||: yes, that's it.
(10:13:30 AM) MichaelDaum: what we should do is to secure the way software is delivered via the updater
(10:13:53 AM) MichaelDaum: at least the installer should check checksums
(10:14:00 AM) MichaelDaum: which I was told it doesnt
(10:14:07 AM) gac410: We can fix this all easily for new version. The problem is. Do we simply abandon/crash the old sites.
(10:14:25 AM) gac410: Foswiki 2.1.1 defaults to https:// in the installer.
(10:14:32 AM) MichaelDaum: y
(10:14:48 AM) gac410: y, kill the old sites. Silently?
(10:14:50 AM) MichaelDaum: but is there a configure checker that warns on http?
(10:14:56 AM) gac410: No
(10:15:23 AM) MichaelDaum: so even people upgrading taking over an old LSC will think they are secure now ... which is wrong
(10:15:56 AM) MichaelDaum: anyway we don't have to go into details now
(10:16:02 AM) MichaelDaum: thing is: uebera|| is right
(10:16:04 AM) gac410: Unless we also check the certificate, then even https is insecure
(10:16:30 AM) MichaelDaum: we have to figure out how to get rid of http, at least for sensitive data
(10:16:33 AM) gac410: Which means sites need Timothe's code active that checks for revocations and the CA certificate chain.
(10:16:55 AM) MichaelDaum: sure thing: https but no verify = http
(10:16:56 AM) gac410: https without CA chain validation is as insecure as http
(10:17:42 AM) MichaelDaum: our certificate is trusted via letsencrypt, isnt it.
(10:17:53 AM) uebera||: yes
(10:18:12 AM) gac410: So making foswiki.org redirect is pretty much window dressing. We need a more comprehensive effort to: 1) redirect, 2) CA checking (currently disabled), 3) notification to the community
(10:18:35 AM) gac410: And TBH probably ought to be a CVE
(10:18:48 AM) vrurg: Sorry, it's time for me to leave. Thanks everybody!
(10:18:57 AM) uebera||: cu, vrurg.
(10:18:58 AM) MichaelDaum: vrurg, thanks
(10:18:59 AM) gac410: oh.. .and 2b) Checksum verification
(10:19:05 AM) gac410: Thanks Vadim
(10:19:07 AM) MichaelDaum: gac410, +1
(10:19:58 AM) JulianLevens: I need to leave as well, $work calls
(10:20:07 AM) gac410: So we need a feature proposal to fully close up the update process. and a committed developer. It's not just enabling redirect
(10:20:19 AM) gac410: Okay JulianLevens thanks. we are at 1:20 so time to adjourn.
(10:20:50 AM) uebera||: 1) above is certainly the least of your problems, right.
(10:21:10 AM) gac410: And TBH we should move away from md5 checksums and use sha256 or better yet a gpg signing.
(10:21:40 AM) gac410: So uebera|| .... care to be the committed developer for this :D
(10:22:25 AM) uebera||: In that case, it's not going to be part of 2.2. :)
(10:22:28 AM) gac410: The foswiki releases (and the git release tags) are all gpg signed with my key
(10:22:54 AM) uebera||: But it should be part of 3.0 eventually.
(10:23:03 AM) gac410: well 2.2 is currently undetermined. Three are no features ready to merge.
(10:24:05 AM) gac410: I'm going to drop the push out the freeze date from the release plan. .... What say you all. MichaelDaum you have the most 'committed' features for the next release.
(10:24:10 AM) gac410: September?
(10:24:15 AM) uebera||: We were looking at possible code changes above. We should re-analyse and make sure we only do this once (e.g., for 3.0).
(10:24:38 AM) uebera||: (w.r.t. existing plugins)
(10:26:11 AM) MichaelDaum: I am behind plans I know
(10:27:31 AM) gac410: So what's a reasonable date MichaelDaum ...
(10:28:47 AM) MichaelDaum: I really don't know ... as soon as possible
(10:29:19 AM) gac410: uebera||: Could you write a https://foswiki.org/Development/FeatureProposals to secure extensions installation process, including the aspects that we discussed?
(10:29:52 AM) uebera||: Yes, I'll try. Within the month.
(10:30:11 AM) uebera||: s /the/a/
(10:30:33 AM) gac410: MichaelDaum: well "as soon as possible" Can you have 2.2 features ready for the published freeze date of June 1st, If not, you tell me a good date to work towards.
(10:30:58 AM) gac410: uebera||: If you create just a skeleton proposal at least we can discuss it in-topic.
(10:31:28 AM) uebera||: ok
(10:31:54 AM) MichaelDaum: gac410, I am not going to promise anything. all I can say: I'll try.
(10:31:58 AM) jast: apologies, I thought I'd committed code for my feature proposal. will do so on Wednesday or next week.
(10:32:35 AM) jast: my calendar says next week
(10:33:43 AM) gac410: okay jast. If we are going to stick to the June 1st date, that works fine. Michael, I don't think we have any big pressure on a July 2.2 release, so if you would be more comfortable saying code-freeze on August first, 2.2 on September 1st, that's okay with me.
(10:34:13 AM) gac410: (I don't mind more time on my own features. ... real life has been intruding lately ;)
(10:34:23 AM) jast: curse you, real life
(10:35:21 AM) gac410: Okay everyone. If no more comments. ... That's a wrap. See you on the 16th.
(10:35:34 AM) gac410: Thank you all for everything.
(10:37:02 AM) uebera||: thank you!
(10:38:59 AM) MichaelDaum: back to #foswiki
(11:06:33 AM) MichaelDaum is now known as MichaelDaum_
(11:48:16 AM) JulianLevens left the room.
(12:20:17 PM) MichaelDaum_ is now known as MichaelDaum
(12:48:40 PM) MichaelDaum left the room (quit: Quit: quit).
(01:08:01 PM) vrurg left the room (quit: Quit: vrurg).
(01:26:07 PM) vrurg entered the room.
(12:58:18 AM) The account has disconnected and you are no longer in this chat. You will automatically rejoin the chat when the account reconnects.
 

Topic revision: r3 - 30 May 2016, GeorgeClark
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy