Index: includes/EditPage.php =================================================================== RCS file: /cvsroot/wikipedia/phase3/includes/EditPage.php,v retrieving revision 1.240 diff -u -r1.240 EditPage.php --- includes/EditPage.php 5 Dec 2005 05:37:10 -0000 1.240 +++ includes/EditPage.php 11 Dec 2005 11:54:36 -0000 @@ -546,11 +546,22 @@ $this->mArticle->clear(); # Force reload of dates, etc. $this->mArticle->forUpdate( true ); # Lock the article - - if( ( $this->section != 'new' ) && - ($this->mArticle->getTimestamp() != $this->edittime ) ) - { + + if( $this->mArticle->getTimestamp() != $this->edittime ) { $this->isConflict = true; + if( $this->section = 'new' ) { + if( $this->mArticle->getUserText() == $wgUser->getName() && + $this->mArticle->getComment() == $this->summary ) { + // Probably a duplicate submission of a new comment. + // This can happen when squid resends a request after + // a timeout but the first one actually went through. + wfDebug( "EditPage::editForm duplicate new section submission; trigger edit conflict!\n" ); + } else { + // New comment; suppress conflict. + $this->isConflict = false; + wfDebug( "EditPage::editForm conflict suppressed; new section\n" ); + } + } } $userid = $wgUser->getID();