Return-Path: X-Original-To: apmail-wicket-commits-archive@www.apache.org Delivered-To: apmail-wicket-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9EDAF10CD2 for ; Tue, 12 Nov 2013 16:59:28 +0000 (UTC) Received: (qmail 54809 invoked by uid 500); 12 Nov 2013 16:59:28 -0000 Delivered-To: apmail-wicket-commits-archive@wicket.apache.org Received: (qmail 54173 invoked by uid 500); 12 Nov 2013 16:59:23 -0000 Mailing-List: contact commits-help@wicket.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@wicket.apache.org Delivered-To: mailing list commits@wicket.apache.org Received: (qmail 54138 invoked by uid 99); 12 Nov 2013 16:59:22 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Nov 2013 16:59:22 +0000 Date: Tue, 12 Nov 2013 16:59:22 +0000 (UTC) From: "Lorentz Green (JIRA)" To: commits@wicket.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (WICKET-5409) wicket-native-websocket does not work with Safari/Safari iOS MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/WICKET-5409?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13820243#comment-13820243 ] Lorentz Green commented on WICKET-5409: --------------------------------------- Retested precious scenario with : jetty-9.0.6.v20130930, wicket 6.12.0, wicket-native-websocket 0.14 with patched Jetty9UpgradeHttpRequest - replaced usage of org.eclipse.jetty.websocket.server.ServletWebSocketRequest (deprecated) with org.eclipse.jetty.websocket.servlet.ServletUpgradeRequest - otherwise above setup crashes on opening of the page: Caused by: java.lang.IllegalStateException: org.eclipse.jetty.websocket.server.ServletWebSocketRequest has no 'req' field! at org.apache.wicket.protocol.ws.jetty9.Jetty9UpgradeHttpRequest.(Jetty9UpgradeHttpRequest.java:41) ... 25 more Caused by: java.lang.NoSuchFieldException: req at java.lang.Class.getDeclaredField(Class.java:1938) at org.apache.wicket.protocol.ws.jetty9.Jetty9UpgradeHttpRequest.(Jetty9UpgradeHttpRequest.java:38) ... 25 more Please, fix this deprecation issue too :-) Results are the same as described previously AbstractUpgradeFilter puts dublicate "Connection: Upgrade" entry into header which causes Safari 6.1 to show error "failed: Error during WebSocket handshake: 'Connection' header value is not 'Upgrade' " and disconnect websocket. Removing of line 124 and 125, from abstract upgrade filter resulted in upgrade response with valid header (no duplicate entries) and correct behavior of Safari. At the moment do not have jetty 9.1.x setup, did not test it. Also I would rather not use 9.1.x for production - is not officially stable yet. > wicket-native-websocket does not work with Safari/Safari iOS > ------------------------------------------------------------ > > Key: WICKET-5409 > URL: https://issues.apache.org/jira/browse/WICKET-5409 > Project: Wicket > Issue Type: Bug > Components: wicket-native-websocket > Affects Versions: 6.11.0 > Reporter: Lorentz Green > Assignee: Martin Grigorov > Attachments: Screen Shot 2013-11-07 at 11.41.06 PM.png, double_upgrade_header.pcapng, wicket-quickstart-websocket.zip > > > I noticed issue when tried this sample app: https://github.com/martin-g/blogs/tree/master/wicket6-websocket-broadcast > Browsers I tried: > Firefox v25.0 > Chrome v30.0.1599.101 > Safari v6.1 > Broadcast example seems to be not working with Safari: > Firefox - works (broadcast messages displayed), > Chrome - works, > Safari - no broadcast messages displayed, console shows error: WebSocket connection to 'ws://localhost:8080/feed?0&pageId=0&wicket-ajax-baseurl=feed?0' failed: Error during WebSocket handshake: 'Connection' header value is not 'Upgrade' > After bunch of different tests, decided to create basic wicket quickstart app - one home page with WebSocketBehaviour added, got same results: > Firefox - works (no errors in console, websocket connection estabished), > Chrome - works, > Safari - websocked connection fails, console shows error: WebSocket connection to 'ws://localhost:8080/?0&pageId=0&wicket-ajax-baseurl=?0' failed: Error during WebSocket handshake: 'Connection' header value is not 'Upgrade' > Another example (jetty chat app on websockets, unrelated to wicket) that I tested with minor fixes (upgraded to 7.6.9 jetty): http://webtide.intalio.com/wp-content/uploads/2011/08/example-websocket.zip > Chat example works for all three browsers: Firefox, Chrome and Safari. > Seems that wicket-native-websocket integration has issues with Safari. -- This message was sent by Atlassian JIRA (v6.1#6144)