Vanilla 1 is no longer supported or maintained. If you need a copy, you can get it here.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

Opera Users; Add your comments = WAIT (without end)

edited June 2006 in Vanilla 1.0 Help
Dear Lussumo and Vanilla users, I have recently fallen in love with Vanilla v0.9.2 after searching for a AJAX community solution. Unfortunately I’ve discovered a bug (which I am unable to find in either this community forum or in the WIKI) in which prevents the comments.php page from “refreshing� after a user clicks on “Add your comments�. Steps for duplication: 1. Sign in 2. Visit a topic (just like this one) 3. Type in a comment and press ADD YOUR COMMENTS 4. The button then changes to read WAIT 5. and you wait… 6. and wait… 7. and wait… 8. and wait… This happens to me on all Vanilla powered sites, including this one. Using Opera, v8.x. I notice that after you submit a comment that everything appears to reload (ie the status is 100%) yet I remain at “Requesting�. The comments [b]DO[/b] post, visible after I manually refresh the page. I’ve noticed that Patrix is an Opera user, so I hope (or rather I hope not) he has experienced this issue as well? P.S. This “issue� occured on three different workstations (WinXP, Win2K, and Win98) when I tried to debug the problem. All three using Opera v8.x. P.S.S. Some times the first comment submitted will post, but the second and forward will hang. P.S.S.S. Start a new discussion does NOT have this issue, only comment. P.S.S.S.S. Watching the "Page Load", the last thing to display is ALWAYS ""Images: 0/0"". P.S.S.S.S.S. Page edit does NOT have this problem either. THANKS!


  • edited August 2005
    yep I sent a bug report about that, glad to see I'm not the only one it's happening too (opera 8.0x winxp,. freebsd and linux). edit: whoa I wrote this before noticing you mentioned me in there lol.
  • edited August 2005
    Superb, thanks you for the reply. I've been digging around into functions and codes for 24 hours attempt to fix it myself (while waiting to be approved for a membership here). No luck of course. As long as the developer(s) are aware I'll continue to do my manual refresh. Edit: Proves you aren't namewhoring ;-)
  • MarkMark Vanilla Staff
    Opera is a wierd browser.
  • Yeah. Opera is not fully compliant with the standards that the AJAX suite of technology comprises. I learned this while reading some documentation about AJAX.
  • edited August 2005
    If you're clever about it, you can use a XMLHttpRequest() emulater to make Opera and old IE play ball. Opera 7.60(beta) supports XMLHttpRequest (ajax), but there are lots of holes. Whenever I design stuff, I don't lose sleep about it not working in Opera, but always make it backwards compatible so that it doesn't leave Opera users high & dry. M.
  • It's weird that Opera handles all posts without issues, except add a comment. *Shrugs*.
  • Probably something minor and extremely hard to track. lol
  • lechlech Chicagoland
    Could be a possible misfire in the request itself. Mark, I'm right in guessing that the "Add your comments" button is triggered via ajax/js and performs this request in place of a basic submit button to a degree, right? I haven't looked that deep into the code but it's probably stupidly simple in the way opera is rendering code in. I'm willing to bet it's the DTD claiming it's xhtml transitional when it doesn't exactly validate, and as a result not firing correctly. I've seen stupid shit like this happen across many browsers and it's the likely culprit half the time.
  • MarkMark Vanilla Staff
    Umm. Nope. The comment form actually does a postback. I think the problem may lie in the fact that after the comment is added, a header is sent that posts the user back to the discussion.
  • lechlech Chicagoland
    mark, I propose to look into and maybe fix this bug first to see if it still occurs : It could be both though.
  • MarkMark Vanilla Staff
    Yes - and I plan on making vanilla xhtml 1.0 Strict for the next rev. I'm going to need some help from that guy who offered. Was it dwclifton?
  • Yeah this does happen in Opera, but oddly enough it sometimes happens on Invision Power Boards as well. I don't really know why or anything, but it says "Completed Request" or something, and if you refresh the post is there. It's not really a bother to me, since it only happens on certain boards.
  • Why would you want to go on to xhtml 1.0 strict? It doesn't add any advantages to vanilla.Instead it could even harm: <blockquote> <h3>Appendix B: Advanced Authors</h3> <hr> <p>Some advanced authors are able to send back XHTML as application/xhtml+xml to UAs that support it, and as text/html to legacy UAs.</p> <p>Assuming you are using XHTML 1.0 compliant to Appendix C (or have otherwise checked that the XHTML 1.0 you send is compatible with Tag Soup processors), then that's fine. All I am saying in this document is that sending XHTML as text/html ONLY is harmful.</p> <p>Note: Sending XHTML 1.1 as text/html is NEVER fine. There is no spec that allows this. Sending XHTML 2.0 as anything in a production (non-testing) context is NEVER fine either, since that spec has not reached CR yet.</p> <p>Also note that I would personally suggest that even advanced authors not use XHTML sent as text/html, since many authors copy and paste markup from others and thus may easily end up copying the valid XHTML markup but using it as HTML4.</p> </blockquote> It's an pretty old article (first published 2002), but relevant even nowadays. PS: backttotopic: the opera-submit problem sucks - i like the wait button, but not the neverending wait ;)
  • i want that preview :P
  • Just tracked down the Opera problem with the redirect after posting, there is a bug in Opera where if you use both GET parameters and reference a page anchor with the # symbol the redirect just hangs. I'm yet to find a viable workaround though, would you maybe able to use Javscript and focus on the last comment in a discussion instead?
  • MarkMark Vanilla Staff
    Thanks for the find. That is an absolutely retarded bug, though.
  • edited August 2005
    Okay it is one of those "features" apparently... If you redirect to the exact same URL with an anchor it thinks you just want to goto the anchor on the page and of course that anchor doesn't exist until you reload, you can get around that by adding a GET parameter with the CommentID like: header("location:comments.php?DiscussionID=".$ResultComment->DiscussionID."&page=".$this->Discussion->LastPage."&CommentID=".$ResultComment->CommentID.($ResultComment->CommentID > 0 ? "#Comment_".$ResultComment->CommentID:"#pgbottom")); But that doesn't clear the Comments box (or reset anything else I am guessing), is there some clean way to reset the comments form either on load or through a GET parameter?
  • Would it be possible to first redirect to something like comments-redirect.php and all that would do is take the parameters and redirect back to comments.php? If that sounds plausible then I will see if that works, if not then I'll return to the drawing board. What if you always just focused the Enter your comments textarea? Wouldn't that do the same thing as the text area is pretty much at the bottom of the page, although if the last post was really long you'd only see the end of it.
  • what about putting an anchor in just below the last comment? Or just forwarding to the last comment before you posted after you'd posted (if you get me) as it does when you click to read the thread anyway?
  • It wouldn't refresh the page still, it might stop waiting but you'd be looking at the old page still. ARGH why did I have to start using Opera yesterday?
This discussion has been closed.