[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-10-04 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16637872#comment-16637872
 ] 

ASF subversion and git services commented on WICKET-6544:
-

Commit efc8ceb42ef47c91e15cbc9b24d7a1253aeade9b in wicket's branch 
refs/heads/wicket-8.x from Martin Tzvetanov Grigorov
[ https://git-wip-us.apache.org/repos/asf?p=wicket.git;h=efc8ceb ]

WICKET-6544 Add deprecation message to DynamicJQueryResourceReference


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Sven Meier
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-07-17 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16546420#comment-16546420
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user klopfdreh commented on the issue:

https://github.com/apache/wicket/pull/275
  
Hey @solomax - sadly I am totally busy right now, but I try my best to 
change this. 


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Sven Meier
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-07-16 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16545234#comment-16545234
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user solomax commented on the issue:

https://github.com/apache/wicket/pull/275
  
@klopfdreh can you create wicketstuff module?


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Sven Meier
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-06-26 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16524596#comment-16524596
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user klopfdreh closed the pull request at:

https://github.com/apache/wicket/pull/275


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Sven Meier
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-06-26 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16524595#comment-16524595
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user klopfdreh commented on the issue:

https://github.com/apache/wicket/pull/275
  
Due to the vote that Wicket is going to drop the support of Browser 
detection I am closing this branch right now.

@solomax - yes why not a wicketstuff module. 👍 

/closed




> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Sven Meier
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-06-25 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16522525#comment-16522525
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user solomax commented on the issue:

https://github.com/apache/wicket/pull/275
  
I believe we can add browser detection as wicketstuff module and/or as 
confluence example
Should be easy and useful


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Sven Meier
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-06-25 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16522492#comment-16522492
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user svenmeier commented on the issue:

https://github.com/apache/wicket/pull/275
  
Hi Niels,
thanks for chiming in, but just today we decided to drop all code related 
to user agent detection, as Wicket itself doesn't need/utilizes it.
Actually your remarks affirm my position that user agent detection is hard 
business and Wicket shouldn't hide the details and configuration behind our 
very broad API.



> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Sven Meier
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-06-25 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16522274#comment-16522274
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user nielsbasjes commented on the issue:

https://github.com/apache/wicket/pull/275
  
On a more general note: I think the DeviceClass field might be useful for 
Wicket as it indicates if the device is a phone, tablet or desktop.



> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-06-25 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16522261#comment-16522261
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user nielsbasjes commented on the issue:

https://github.com/apache/wicket/pull/275
  
@klopfdreh 
A few points about the slow startup.
When you explicitly specify which fields you really need the system will 
completely 'not load' the rules that have no impact. Especially if you do not 
need the DeviceBrand/DeviceName the impact will be quite large. You can simply 
pass something like this .withField("AgentName") .withField("DeviceClass") 
.withField("AgentVersion") and it will have a big impact on both startup times 
and run times for a not yet cached parse.

I had a look at your project and with this patch the startup time drops to 
less than 1.5 seconds.

```
diff --git pom.xml pom.xml
index 00cc8f8..7910bd9 100644
--- pom.xml
+++ pom.xml
@@ -146,7 +146,7 @@

nl.basjes.parse.useragent
yauaa
-   4.2
+   4.5


com.google.code.findbugs
diff --git 
wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
 
wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
index 5a02a3d..1e488e9 100644
--- 
wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
+++ 
wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
@@ -151,6 +151,9 @@ public class WebClientInfo extends ClientInfo
{
userAgentAnalyzer = UserAgentAnalyzer.newBuilder()
.hideMatcherLoadStats()
+   .dropTests()
+   .withField("AgentName")
+   .withField("AgentVersion")
.withCache(25000)
.build();
Application.get().setMetaData(UAA_META_DATA_KEY, 
userAgentAnalyzer);
@@ -217,7 +220,7 @@ public class WebClientInfo extends ClientInfo
 */
protected void 
setBrowserVersion(nl.basjes.parse.useragent.UserAgent parsedUserAgent)
{
-   String value = 
parsedUserAgent.get("AgentVersion").getValue();
+   String value = parsedUserAgent.getValue("AgentVersion");
if (!"Hacker".equals(value))
{
properties.setBrowserVersion(value);
```



> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-26 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16453813#comment-16453813
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user klopfdreh commented on the issue:

https://github.com/apache/wicket/pull/275
  
To create UserAgentAnalyzer takes rather a long time. Maybe we are able to 
find a way to resolve the bottleneck, but my concerns to implement the browser 
detection in such a bad way like it was before also still hold.

Also when I see the benchmarks I would consider to just inform about the 
bottleneck and keep it that way, or to turn it gatherExtendedInfo() off if 
0.011ms are to much.


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-26 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16453809#comment-16453809
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user klopfdreh commented on a diff in the pull request:

https://github.com/apache/wicket/pull/275#discussion_r184343253
  
--- Diff: 
wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
 ---
@@ -133,24 +140,99 @@ public final String getUserAgent()
}
 
/**
-* returns the user agent string (lower case).
+* Initializes the {@link WebClientInfo} user agent detection. This can 
be overridden to choose
+* a different detection as YAUAA 
(https://github.com/nielsbasjes/yauaa) - if you do so, you
+* might exclude the maven dependency from your project in favor of a 
different framework.
+*/
--- End diff --

Ok, then keep the dependency and just override it. We have to adjust the 
documentation here.


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-26 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16453594#comment-16453594
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user svenmeier commented on a diff in the pull request:

https://github.com/apache/wicket/pull/275#discussion_r184288167
  
--- Diff: 
wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
 ---
@@ -133,24 +140,99 @@ public final String getUserAgent()
}
 
/**
-* returns the user agent string (lower case).
+* Initializes the {@link WebClientInfo} user agent detection. This can 
be overridden to choose
+* a different detection as YAUAA 
(https://github.com/nielsbasjes/yauaa) - if you do so, you
+* might exclude the maven dependency from your project in favor of a 
different framework.
+*/
--- End diff --

No, you can't exclude the dependency - with UserAgentAnalyzer in the 
signature of #detectBrowserProperties(UserAgentAnalyzer) you will get a 
NoClassDefFoundError if the dependency is not present.


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-25 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16453564#comment-16453564
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user svenmeier commented on the issue:

https://github.com/apache/wicket/pull/275
  
My concerns still hold :(

Most importantly: with that single UserAgentAnalyzer instance you've 
introduced a bottleneck for all concurrent request that need to 
gatherExtendedInfo().


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-25 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16453549#comment-16453549
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user solomax closed the pull request at:

https://github.com/apache/wicket/pull/269


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-25 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16453548#comment-16453548
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user solomax commented on the issue:

https://github.com/apache/wicket/pull/269
  
OK, let's close this one :)


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-25 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16453533#comment-16453533
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user klopfdreh commented on the issue:

https://github.com/apache/wicket/pull/269
  
Close this one in favour of the mentioned one? 
(https://github.com/apache/wicket/pull/275)


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-25 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16453530#comment-16453530
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user klopfdreh commented on the issue:

https://github.com/apache/wicket/pull/275
  
What about merging this? Or do we proceed with this PR after the release 
@bitstorm ?


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16445583#comment-16445583
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user klopfdreh commented on the issue:

https://github.com/apache/wicket/pull/275
  
I send you an invitation to the repo in which the branch of the PR is 
located. just push to it and merge if you are done. I think we are on a good 
way with this integration.


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16445579#comment-16445579
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user solomax commented on the issue:

https://github.com/apache/wicket/pull/275
  
OK :) I'll merge my changes



> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16445578#comment-16445578
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user klopfdreh commented on the issue:

https://github.com/apache/wicket/pull/275
  
Hi @solomax - thanks a lot for the review. Because I am not able to work on 
it currently I am going to grant you access to my repo for further commits. Is 
this ok for you?



> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16445524#comment-16445524
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user solomax commented on a diff in the pull request:

https://github.com/apache/wicket/pull/275#discussion_r182993206
  
--- Diff: 
wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java
 ---
@@ -59,9 +58,52 @@ public void before()
}

/**
-* Test IE 6.x user-agent strings
+* Test check check all user agents
 */
@Test
+   public void testBrowsersAndVersionsOfUserAgents() {
+   // Internet Explorers
--- End diff --

Sorry for delay, here is the code works for me:

```
private static ThreadLocal localAnalyzer = new 
ThreadLocal();

@Before
public void before()
{
requestCycleMock = mock(RequestCycle.class);

webRequest = mock(ServletWebRequest.class);
when(requestCycleMock.getRequest()).thenReturn(webRequest);

servletRequest = mock(HttpServletRequest.class);

when(webRequest.getContainerRequest()).thenReturn(servletRequest);

if (localAnalyzer.get() == null) {
WebClientInfo webClientInfo = new 
WebClientInfo(requestCycleMock, "test");
webClientInfo.gatherExtendedInfo();

localAnalyzer.set(Application.get().getMetaData(WebClientInfo.UAA_META_DATA_KEY));
} else {

Application.get().setMetaData(WebClientInfo.UAA_META_DATA_KEY, 
localAnalyzer.get());
}
}

@AfterClass
public static void staticAfter()
{
localAnalyzer.set(null);
}
```

Here are the measurment results:
```
Combined tests
real0m24.123s
user1m30.748s
sys 0m1.804s


Individual tests (after above changes were applied)
real0m22.844s
user1m23.948s
sys 0m1.832s

```


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16445504#comment-16445504
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user solomax commented on a diff in the pull request:

https://github.com/apache/wicket/pull/275#discussion_r182987156
  
--- Diff: 
wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
 ---
@@ -143,215 +150,133 @@ private String getUserAgentStringLc()
}
 
/**
-* When using ProxyPass, requestCycle().getHttpServletRequest(). 
getRemoteAddr() returns the IP
-* of the machine forwarding the request. In order to maintain the 
clients ip address, the
-* server places it in the http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#x-headers";>X-Forwarded-For
-* Header.
-*
-* Proxies may also mask the original client IP with tokens like 
"hidden" or "unknown".
-* If so, the last proxy ip address is returned.
-*
-* @param requestCycle
-*the request cycle
-* @return remoteAddr IP address of the client, using the 
X-Forwarded-For header and defaulting
-* to: getHttpServletRequest().getRemoteAddr()
+* Initializes the {@link WebClientInfo} user agent detection. This can 
be overridden to choose
+* a different detection as YAUAA 
(https://github.com/nielsbasjes/yauaa) - if you do so, you
+* might exclude the maven dependency from your project in favor of a 
different framework.
 */
-   protected String getRemoteAddr(RequestCycle requestCycle)
+   public void gatherExtendedInfo()
{
-   ServletWebRequest request = 
(ServletWebRequest)requestCycle.getRequest();
-   HttpServletRequest req = request.getContainerRequest();
-   String remoteAddr = request.getHeader("X-Forwarded-For");
-
-   if (remoteAddr != null)
-   {
-   if (remoteAddr.contains(","))
-   {
-   // sometimes the header is of form client 
ip,proxy 1 ip,proxy 2 ip,...,proxy n ip,
-   // we just want the client
-   remoteAddr = Strings.split(remoteAddr, 
',')[0].trim();
-   }
-   try
-   {
-   // If ip4/6 address string handed over, simply 
does pattern validation.
-   InetAddress.getByName(remoteAddr);
-   }
-   catch (UnknownHostException e)
-   {
-   remoteAddr = req.getRemoteAddr();
-   }
-   }
-   else
+   UserAgentAnalyzer userAgentAnalyzer = 
Application.get().getMetaData(UAA_META_DATA_KEY);
+   if (userAgentAnalyzer == null)
{
-   remoteAddr = req.getRemoteAddr();
+   userAgentAnalyzer = UserAgentAnalyzer.newBuilder()
+   .hideMatcherLoadStats()
+   .withCache(25000)
+   .build();
+   Application.get().setMetaData(UAA_META_DATA_KEY, 
userAgentAnalyzer);
}
-   return remoteAddr;
+   detectBrowserProperties(userAgentAnalyzer);
}
 
/**
-* Initialize the client properties object
+* Detects browser properties like versions or the type of the browser 
and applies them to the
+* {@link ClientProperties}, override this method if there are errors 
within the browser /
+* version detection due to newer browsers
+* 
+* @param userAgentAnalyzer
+*the user agent analyzer to detect browsers and versions
 */
-   private void init()
+   protected void detectBrowserProperties(UserAgentAnalyzer 
userAgentAnalyzer)
{
-   setInternetExplorerProperties();
-   setOperaProperties();
-   setMozillaProperties();
-   setKonquerorProperties();
-   setChromeProperties();
-   setEdgeProperties();
-   setSafariProperties();
 
-   log.debug("determined user agent: {}", properties);
-   }
+   nl.basjes.parse.useragent.UserAgent parsedUserAgent = 
userAgentAnalyzer
+   .parse(getUserAgent());
+   String userAgentName = parsedUserAgent.getValue("AgentName");
 
-   /**
-* sets the konqueror specific properties
-*/
-   private void setKonquerorProperties()
-   {
-   
properties.setBrowserKonqueror(UserAgent.KONQUEROR.matches(getUserAgent()));
+   //

[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-13 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16437040#comment-16437040
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user klopfdreh commented on a diff in the pull request:

https://github.com/apache/wicket/pull/275#discussion_r181328485
  
--- Diff: 
wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
 ---
@@ -46,14 +46,20 @@
 
/**
 * The user agent string from the User-Agent header, app. 
Theoretically, this might differ from
-* {@link 
org.apache.wicket.protocol.http.ClientProperties#isNavigatorJavaEnabled()} 
property, which is
-* not set until an actual reply from a browser (e.g. using {@link 
BrowserInfoPage} is set.
+* {@link 
org.apache.wicket.protocol.http.ClientProperties#isNavigatorJavaEnabled()} 
property,
+* which is not set until an actual reply from a browser (e.g. using 
{@link BrowserInfoPage} is
+* set.
 */
private final String userAgent;
 
/** Client properties object. */
private final ClientProperties properties;
 
+   private final static UserAgentAnalyzer UAA = 
UserAgentAnalyzer.newBuilder()
--- End diff --

Have a look at the recent changes. A lot of stuff changed already and I 
think it is ok like it is now (except the tests)


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-13 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16436969#comment-16436969
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user svenmeier commented on a diff in the pull request:

https://github.com/apache/wicket/pull/275#discussion_r181308489
  
--- Diff: 
wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
 ---
@@ -46,14 +46,20 @@
 
/**
 * The user agent string from the User-Agent header, app. 
Theoretically, this might differ from
-* {@link 
org.apache.wicket.protocol.http.ClientProperties#isNavigatorJavaEnabled()} 
property, which is
-* not set until an actual reply from a browser (e.g. using {@link 
BrowserInfoPage} is set.
+* {@link 
org.apache.wicket.protocol.http.ClientProperties#isNavigatorJavaEnabled()} 
property,
+* which is not set until an actual reply from a browser (e.g. using 
{@link BrowserInfoPage} is
+* set.
 */
private final String userAgent;
 
/** Client properties object. */
private final ClientProperties properties;
 
+   private final static UserAgentAnalyzer UAA = 
UserAgentAnalyzer.newBuilder()
--- End diff --

UserAgentAnalyzer#parse(UserAgent) is synchronized, please check its code. 
This is even mentioned on the project home page.


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-13 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16436937#comment-16436937
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user klopfdreh commented on a diff in the pull request:

https://github.com/apache/wicket/pull/275#discussion_r181303063
  
--- Diff: 
wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java
 ---
@@ -59,9 +58,52 @@ public void before()
}

/**
-* Test IE 6.x user-agent strings
+* Test check check all user agents
 */
@Test
+   public void testBrowsersAndVersionsOfUserAgents() {
+   // Internet Explorers
--- End diff --

Hehe me too 😄 - no hurry, because I think this is going to be released in a 
further version.


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-12 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16436917#comment-16436917
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user solomax commented on a diff in the pull request:

https://github.com/apache/wicket/pull/275#discussion_r181297750
  
--- Diff: 
wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java
 ---
@@ -59,9 +58,52 @@ public void before()
}

/**
-* Test IE 6.x user-agent strings
+* Test check check all user agents
 */
@Test
+   public void testBrowsersAndVersionsOfUserAgents() {
+   // Internet Explorers
--- End diff --

Will try to provide patch later tonight
Have to do day time job right now :(


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-12 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16436915#comment-16436915
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user klopfdreh commented on a diff in the pull request:

https://github.com/apache/wicket/pull/275#discussion_r181296712
  
--- Diff: 
wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java
 ---
@@ -59,9 +58,52 @@ public void before()
}

/**
-* Test IE 6.x user-agent strings
+* Test check check all user agents
 */
@Test
+   public void testBrowsersAndVersionsOfUserAgents() {
+   // Internet Explorers
--- End diff --

May you have any other good idea to keep the tests individual.

Just send a patch to me if something would fit the requirement and I am 
going to integrate it.


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-12 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16436912#comment-16436912
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user klopfdreh commented on a diff in the pull request:

https://github.com/apache/wicket/pull/275#discussion_r181295733
  
--- Diff: 
wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java
 ---
@@ -59,9 +58,52 @@ public void before()
}

/**
-* Test IE 6.x user-agent strings
+* Test check check all user agents
 */
@Test
+   public void testBrowsersAndVersionsOfUserAgents() {
+   // Internet Explorers
--- End diff --

Yes that is true, but I think if you change the code / the browser 
detection you are going to investigate why the test is failing and fix the 
integration as long as every test is back working again.

@BeforeClass is not working, because WicketTestCase and at this stage no 
Application is attached to the main thread.


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-12 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16436907#comment-16436907
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user solomax commented on a diff in the pull request:

https://github.com/apache/wicket/pull/275#discussion_r181294275
  
--- Diff: 
wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java
 ---
@@ -59,9 +58,52 @@ public void before()
}

/**
-* Test IE 6.x user-agent strings
+* Test check check all user agents
 */
@Test
+   public void testBrowsersAndVersionsOfUserAgents() {
+   // Internet Explorers
--- End diff --

All subsequent lines will not be executed in case of failure  


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-12 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16436905#comment-16436905
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user solomax commented on a diff in the pull request:

https://github.com/apache/wicket/pull/275#discussion_r181293918
  
--- Diff: 
wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java
 ---
@@ -59,9 +58,52 @@ public void before()
}

/**
-* Test IE 6.x user-agent strings
+* Test check check all user agents
 */
@Test
+   public void testBrowsersAndVersionsOfUserAgents() {
+   // Internet Explorers
--- End diff --

You can move init to `@BeforeClass` .


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-12 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16436904#comment-16436904
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user klopfdreh commented on a diff in the pull request:

https://github.com/apache/wicket/pull/275#discussion_r181293718
  
--- Diff: 
wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java
 ---
@@ -59,9 +58,52 @@ public void before()
}

/**
-* Test IE 6.x user-agent strings
+* Test check check all user agents
 */
@Test
+   public void testBrowsersAndVersionsOfUserAgents() {
+   // Internet Explorers
--- End diff --

You will see if something fails in the test results btw.


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-12 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16436903#comment-16436903
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user klopfdreh commented on a diff in the pull request:

https://github.com/apache/wicket/pull/275#discussion_r181293658
  
--- Diff: 
wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java
 ---
@@ -59,9 +58,52 @@ public void before()
}

/**
-* Test IE 6.x user-agent strings
+* Test check check all user agents
 */
@Test
+   public void testBrowsersAndVersionsOfUserAgents() {
+   // Internet Explorers
--- End diff --

This might slow down the test execution because of the init of YAUAA - try 
it out.


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-12 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16436902#comment-16436902
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user solomax commented on a diff in the pull request:

https://github.com/apache/wicket/pull/275#discussion_r181293591
  
--- Diff: 
wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java
 ---
@@ -59,9 +58,52 @@ public void before()
}

/**
-* Test IE 6.x user-agent strings
+* Test check check all user agents
 */
@Test
+   public void testBrowsersAndVersionsOfUserAgents() {
+   // Internet Explorers
--- End diff --

I would rather have all these as individual tests, to be able to see which 
one was failed
And run all of them regardless failure state of others


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-12 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16436900#comment-16436900
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user solomax commented on a diff in the pull request:

https://github.com/apache/wicket/pull/275#discussion_r181293350
  
--- Diff: 
wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
 ---
@@ -147,6 +149,93 @@ private String getUserAgentStringLc()
return (getUserAgent() != null) ? getUserAgent().toLowerCase() 
: "";
}
 
+   /**
+* Initializes the {@link WebClientInfo} user agent detection. This can 
be overridden to choose
+* a different detection as YAUAA 
(https://github.com/nielsbasjes/yauaa) - if you do so, you
+* might exclude the maven dependency from your project in favor of a 
different framework.
+*/
+   public void initialize()
+   {
+   UserAgentAnalyzer userAgentAnalyzer = 
Application.get().getMetaData(UAA_META_DATA_KEY);
+   if (userAgentAnalyzer == null)
+   {
+   userAgentAnalyzer = UserAgentAnalyzer.newBuilder()
+   .hideMatcherLoadStats()
+   .withCache(25000)
+   .build();
+   Application.get().setMetaData(UAA_META_DATA_KEY, 
userAgentAnalyzer);
+   }
+   detectBrowserProperties(userAgentAnalyzer);
+   }
+
+   /**
+* Detects browser properties like versions or the type of the browser 
and applies them to the
+* {@link ClientProperties}, override this method if there are errors 
within the browser /
+* version detection due to newer browsers
+* 
+* @param userAgentAnalyzer
+*the user agent analyzer to detect browsers and versions
+*/
+   protected void detectBrowserProperties(UserAgentAnalyzer 
userAgentAnalyzer)
+   {
+
+   nl.basjes.parse.useragent.UserAgent parsedUserAgent = 
userAgentAnalyzer
+   .parse(getUserAgent());
+   String userAgentName = parsedUserAgent.getValue("AgentName");
+
+   // Konqueror
+   
properties.setBrowserKonqueror(UserAgent.KONQUEROR.getUaStrings().contains(userAgentName));
+
+   // Chrome
+   
properties.setBrowserChrome(UserAgent.CHROME.getUaStrings().contains(userAgentName));
+
+   // Edge
+   
properties.setBrowserEdge(UserAgent.EDGE.getUaStrings().contains(userAgentName));
+
+   // Safari
+   
properties.setBrowserSafari(UserAgent.SAFARI.getUaStrings().contains(userAgentName));
+
+   // Opera
+   
properties.setBrowserOpera(UserAgent.OPERA.getUaStrings().contains(userAgentName));
+
+   // Internet Explorer
+   properties.setBrowserInternetExplorer(
+   
UserAgent.INTERNET_EXPLORER.getUaStrings().contains(userAgentName));
+
+   // FireFox
+   boolean isFireFox = UserAgent.FIREFOX.getUaStrings()
+   .contains(parsedUserAgent.getValue("AgentName"));
+   if (isFireFox)
+   {
+   properties.setBrowserMozillaFirefox(true);
+   properties.setBrowserMozilla(true);
+   }
+   else
+   {
+   properties.setBrowserMozilla(
+   
UserAgent.MOZILLA.getUaStrings().contains(parsedUserAgent.getValue("AgentName")));
--- End diff --

`userAgentName`


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??M

[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-12 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16436899#comment-16436899
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user solomax commented on a diff in the pull request:

https://github.com/apache/wicket/pull/275#discussion_r181293318
  
--- Diff: 
wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
 ---
@@ -147,6 +149,93 @@ private String getUserAgentStringLc()
return (getUserAgent() != null) ? getUserAgent().toLowerCase() 
: "";
}
 
+   /**
+* Initializes the {@link WebClientInfo} user agent detection. This can 
be overridden to choose
+* a different detection as YAUAA 
(https://github.com/nielsbasjes/yauaa) - if you do so, you
+* might exclude the maven dependency from your project in favor of a 
different framework.
+*/
+   public void initialize()
+   {
+   UserAgentAnalyzer userAgentAnalyzer = 
Application.get().getMetaData(UAA_META_DATA_KEY);
+   if (userAgentAnalyzer == null)
+   {
+   userAgentAnalyzer = UserAgentAnalyzer.newBuilder()
+   .hideMatcherLoadStats()
+   .withCache(25000)
+   .build();
+   Application.get().setMetaData(UAA_META_DATA_KEY, 
userAgentAnalyzer);
+   }
+   detectBrowserProperties(userAgentAnalyzer);
+   }
+
+   /**
+* Detects browser properties like versions or the type of the browser 
and applies them to the
+* {@link ClientProperties}, override this method if there are errors 
within the browser /
+* version detection due to newer browsers
+* 
+* @param userAgentAnalyzer
+*the user agent analyzer to detect browsers and versions
+*/
+   protected void detectBrowserProperties(UserAgentAnalyzer 
userAgentAnalyzer)
+   {
+
+   nl.basjes.parse.useragent.UserAgent parsedUserAgent = 
userAgentAnalyzer
+   .parse(getUserAgent());
+   String userAgentName = parsedUserAgent.getValue("AgentName");
+
+   // Konqueror
+   
properties.setBrowserKonqueror(UserAgent.KONQUEROR.getUaStrings().contains(userAgentName));
+
+   // Chrome
+   
properties.setBrowserChrome(UserAgent.CHROME.getUaStrings().contains(userAgentName));
+
+   // Edge
+   
properties.setBrowserEdge(UserAgent.EDGE.getUaStrings().contains(userAgentName));
+
+   // Safari
+   
properties.setBrowserSafari(UserAgent.SAFARI.getUaStrings().contains(userAgentName));
+
+   // Opera
+   
properties.setBrowserOpera(UserAgent.OPERA.getUaStrings().contains(userAgentName));
+
+   // Internet Explorer
+   properties.setBrowserInternetExplorer(
+   
UserAgent.INTERNET_EXPLORER.getUaStrings().contains(userAgentName));
+
+   // FireFox
+   boolean isFireFox = UserAgent.FIREFOX.getUaStrings()
+   .contains(parsedUserAgent.getValue("AgentName"));
--- End diff --

`userAgentName`


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see a

[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-12 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16436897#comment-16436897
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user klopfdreh commented on the issue:

https://github.com/apache/wicket/pull/275
  
Following changes have been made:

* The init() method has been changed into gatherExtendedInfo() which is 
only be executed if 
org.apache.wicket.settings.RequestCycleSettings.setGatherExtendedBrowserInfo(boolean)
 is set to true
* MetaDataKey has been used to initialize YAUAA
* All browser specific methods have been moved into detectBrowserProperties
* gatherExtendedInfo / detectBrowserProperties are protected / public so 
that the user may override them


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-12 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16436819#comment-16436819
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user klopfdreh commented on a diff in the pull request:

https://github.com/apache/wicket/pull/275#discussion_r181286646
  
--- Diff: 
wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
 ---
@@ -46,14 +46,20 @@
 
/**
 * The user agent string from the User-Agent header, app. 
Theoretically, this might differ from
-* {@link 
org.apache.wicket.protocol.http.ClientProperties#isNavigatorJavaEnabled()} 
property, which is
-* not set until an actual reply from a browser (e.g. using {@link 
BrowserInfoPage} is set.
+* {@link 
org.apache.wicket.protocol.http.ClientProperties#isNavigatorJavaEnabled()} 
property,
+* which is not set until an actual reply from a browser (e.g. using 
{@link BrowserInfoPage} is
+* set.
 */
private final String userAgent;
 
/** Client properties object. */
private final ClientProperties properties;
 
+   private final static UserAgentAnalyzer UAA = 
UserAgentAnalyzer.newBuilder()
--- End diff --

The initialization is expensive, but the UserAgentAnalyzer is thread safe 
so it can be reused. Maybe we are able to use MetaDataKey


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-12 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16436810#comment-16436810
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user klopfdreh commented on a diff in the pull request:

https://github.com/apache/wicket/pull/275#discussion_r181286230
  
--- Diff: 
wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
 ---
@@ -193,165 +198,117 @@ protected String getRemoteAddr(RequestCycle 
requestCycle)
 */
private void init()
{
-   setInternetExplorerProperties();
-   setOperaProperties();
-   setMozillaProperties();
-   setKonquerorProperties();
-   setChromeProperties();
-   setEdgeProperties();
-   setSafariProperties();
+   nl.basjes.parse.useragent.UserAgent parsedUserAgent = 
UAA.parse(getUserAgent());
+   setInternetExplorerProperties(parsedUserAgent);
+   setKonquerorProperties(parsedUserAgent);
+   setMozillaProperties(parsedUserAgent);
+   setOperaProperties(parsedUserAgent);
+   setChromeProperties(parsedUserAgent);
+   setEdgeProperties(parsedUserAgent);
+   setSafariProperties(parsedUserAgent);
--- End diff --

Hi @solomax - yes indeed - it was due to the refactoring and those methods 
were present before - I just refactored them.


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-12 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16436780#comment-16436780
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user solomax commented on a diff in the pull request:

https://github.com/apache/wicket/pull/275#discussion_r181282823
  
--- Diff: 
wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
 ---
@@ -193,165 +198,117 @@ protected String getRemoteAddr(RequestCycle 
requestCycle)
 */
private void init()
{
-   setInternetExplorerProperties();
-   setOperaProperties();
-   setMozillaProperties();
-   setKonquerorProperties();
-   setChromeProperties();
-   setEdgeProperties();
-   setSafariProperties();
+   nl.basjes.parse.useragent.UserAgent parsedUserAgent = 
UAA.parse(getUserAgent());
+   setInternetExplorerProperties(parsedUserAgent);
+   setKonquerorProperties(parsedUserAgent);
+   setMozillaProperties(parsedUserAgent);
+   setOperaProperties(parsedUserAgent);
+   setChromeProperties(parsedUserAgent);
+   setEdgeProperties(parsedUserAgent);
+   setSafariProperties(parsedUserAgent);
--- End diff --

can be replaced with
String agent = parsedUserAgent.getValue("AgentName");

properties.setBrowserKonqueror(UserAgent.KONQUEROR.getUaStrings().contains(agent));

properties.setBrowserChrome(UserAgent.CHROME.getUaStrings().contains(agent));
.
setBrowserVersion(parsedUserAgent);


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-12 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16436776#comment-16436776
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user solomax commented on a diff in the pull request:

https://github.com/apache/wicket/pull/275#discussion_r181282313
  
--- Diff: 
wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
 ---
@@ -193,165 +198,117 @@ protected String getRemoteAddr(RequestCycle 
requestCycle)
 */
private void init()
{
-   setInternetExplorerProperties();
-   setOperaProperties();
-   setMozillaProperties();
-   setKonquerorProperties();
-   setChromeProperties();
-   setEdgeProperties();
-   setSafariProperties();
+   nl.basjes.parse.useragent.UserAgent parsedUserAgent = 
UAA.parse(getUserAgent());
+   setInternetExplorerProperties(parsedUserAgent);
+   setKonquerorProperties(parsedUserAgent);
+   setMozillaProperties(parsedUserAgent);
+   setOperaProperties(parsedUserAgent);
+   setChromeProperties(parsedUserAgent);
+   setEdgeProperties(parsedUserAgent);
+   setSafariProperties(parsedUserAgent);
--- End diff --

All these methods looks very much the same 


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-12 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16436321#comment-16436321
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user svenmeier commented on a diff in the pull request:

https://github.com/apache/wicket/pull/275#discussion_r181224559
  
--- Diff: 
wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
 ---
@@ -46,14 +46,20 @@
 
/**
 * The user agent string from the User-Agent header, app. 
Theoretically, this might differ from
-* {@link 
org.apache.wicket.protocol.http.ClientProperties#isNavigatorJavaEnabled()} 
property, which is
-* not set until an actual reply from a browser (e.g. using {@link 
BrowserInfoPage} is set.
+* {@link 
org.apache.wicket.protocol.http.ClientProperties#isNavigatorJavaEnabled()} 
property,
+* which is not set until an actual reply from a browser (e.g. using 
{@link BrowserInfoPage} is
+* set.
 */
private final String userAgent;
 
/** Client properties object. */
private final ClientProperties properties;
 
+   private final static UserAgentAnalyzer UAA = 
UserAgentAnalyzer.newBuilder()
--- End diff --

UserAgentAnalyzer isn't reentrant. Since it is expensive to create one, 
instances have to be pooled.


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-12 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16435031#comment-16435031
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user klopfdreh commented on the issue:

https://github.com/apache/wicket/pull/269
  
See my suggestion over here: https://github.com/apache/wicket/pull/269


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-12 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16435029#comment-16435029
 ] 

ASF GitHub Bot commented on WICKET-6544:


GitHub user klopfdreh opened a pull request:

https://github.com/apache/wicket/pull/275

[WICKET-6544] mobile browser detection is improved (with YAUAA)

Hi all,

here my 5 cent regarding the browser detection with 
https://github.com/nielsbasjes/yauaa

you have to extend the test to see the real benefit.

kind regards

Tobias

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/klopfdreh/wicket browser_version_detection

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/wicket/pull/275.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #275


commit 96bab261b5c9e96393737444ac9601eda97ef7bc
Author: Tobias Soloschenko 
Date:   2018-04-12T07:05:19Z

Browser / Version detection




> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-05 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16426818#comment-16426818
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user klopfdreh commented on the issue:

https://github.com/apache/wicket/pull/269
  
In my opinion and because of such a big pool of browsers I would say yes.


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-05 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16426777#comment-16426777
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user svenmeier commented on the issue:

https://github.com/apache/wicket/pull/269
  
Guys I get it, there are many good solutions to choose from, but why should 
we make Wicket dependent on anyone of them?

https://github.com/nielsbasjes/yauaa looks good, but do users really need 
assistance for this?

`UserAgent  userAgent = analyzer.parse(new 
WebClientInfo(requestCycle).getUserAgent());`


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-05 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16426607#comment-16426607
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user klopfdreh commented on the issue:

https://github.com/apache/wicket/pull/269
  
I just tested a bit around and I would suggest the following changes:

* Drop the support for minor version in exchange for a full version String 
(11.0, 3.5.8, 4.0b4a)
* Change the implementation to yauaa - I also played around a bit and found 
some not correctly resolved version numbers (the browsers are all detected 
correctly) https://github.com/nielsbasjes/yauaa/issues/75
* Change the UserAgent enum to not handle excludes, but only browser names

If the issue is fixed I can provide a PR.


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-04 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16426055#comment-16426055
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user klopfdreh commented on the issue:

https://github.com/apache/wicket/pull/269
  
I also looked a bit around and stumbled over Apache DeviceMap which has 
been moved into the Attic and from the Attic 
(http://attic.apache.org/projects/devicemap.html) I followed the link to 
https://github.com/nielsbasjes/yauaa which seems to be maintained.

@kbachl - I understand your suggestion to remove it because of reliability, 
but I would keep the functionality with the hint that there might be some not 
supported browsers which is better than no detection.


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-04-03 Thread Sven Meier (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16423835#comment-16423835
 ] 

Sven Meier commented on WICKET-6544:


We should differentiate between Wicket's internal usage of user agent sniffing, 
the JavaScript and Java API:

Wicket.Browser in wicket-ajax-jquery.js offers a JS API for detection of some 
browsers, these methods are used 6 times (3 more times in 
wicket-autocomplete.js)
- refusing to work on Safari < 2.0.0 (X)
- handling redirect for firefox 3 (X)
- uppercasing 

[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-03-28 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16417692#comment-16417692
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user kbachl commented on the issue:

https://github.com/apache/wicket/pull/269
  
drop this "feature" completely - it just wont work reliable anyway


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-03-22 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16409162#comment-16409162
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user solomax commented on the issue:

https://github.com/apache/wicket/pull/269
  
And/or maybe browser list and supported patterns can be cleaned up to 
support more recent versions only?


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-03-22 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16409160#comment-16409160
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user martin-g commented on the issue:

https://github.com/apache/wicket/pull/269
  
With the addition of these new mobile browsers user agent strings the code 
becomes more complex.
Maybe we should think in direction how to make use of external libraries to 
do this checks, e.g. https://github.com/pieroxy/java-user-agent-detection or 
https://github.com/HaraldWalker/user-agent-utils


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-03-21 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16408121#comment-16408121
 ] 

ASF GitHub Bot commented on WICKET-6544:


Github user solomax commented on a diff in the pull request:

https://github.com/apache/wicket/pull/269#discussion_r176132347
  
--- Diff: 
wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java
 ---
@@ -680,6 +708,35 @@ public void konqueror()
}
}
 
+   @Test
+   public void ffMobile()
+   {
+   final String userAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 
11_2_6 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 
Mobile/15D100 Safari/604.5.6";
+   WebClientInfo webClientInfo = new 
WebClientInfo(requestCycleMock, userAgent);
+
+   assertThat(userAgent, 
webClientInfo.getProperties().getBrowserVersionMajor(),
+   is(equalTo(10)));
+   assertThat(userAgent, 
webClientInfo.getProperties().getBrowserVersionMinor(),
+   is(equalTo(6)));
+   assertThat(userAgent, 
webClientInfo.getProperties().isBrowserMozillaFirefox(),
+   is(equalTo(true)));
+   assertThat(userAgent, 
webClientInfo.getProperties().isBrowserMozilla(),
--- End diff --

This part is something I don;t really like in this PR :(


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-03-21 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16408116#comment-16408116
 ] 

ASF GitHub Bot commented on WICKET-6544:


GitHub user solomax opened a pull request:

https://github.com/apache/wicket/pull/269

[WICKET-6544] mobile browser detection is improved



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/apache/wicket WICKET-6544-mobile-browsers

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/wicket/pull/269.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #269


commit 0cc14749903f51057cc75d011cbc8a02a4e42f4c
Author: Maxim Solodovnik 
Date:   2018-03-21T15:44:17Z

[WICKET-6544] mobile browser detection is improved




> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (WICKET-6544) Chrome and Firefox on iOS detected as Safari version -1

2018-03-21 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16408114#comment-16408114
 ] 

ASF subversion and git services commented on WICKET-6544:
-

Commit 0cc14749903f51057cc75d011cbc8a02a4e42f4c in wicket's branch 
refs/heads/WICKET-6544-mobile-browsers from [~solomax]
[ https://git-wip-us.apache.org/repos/asf?p=wicket.git;h=0cc1474 ]

[WICKET-6544] mobile browser detection is improved


> Chrome and Firefox on iOS detected as Safari version -1
> ---
>
> Key: WICKET-6544
> URL: https://issues.apache.org/jira/browse/WICKET-6544
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 7.9.0
>Reporter: Sven Ackermann
>Assignee: Maxim Solodovnik
>Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)