Use counter in client to server messages to avoid duplicate handling (#11733)
An server message id counter is included in every client to server message and an
expected id is included in every server to client message. This makes it safe to
re-send any message when the client is not 100% sure the server has received the
message, without having to worry about double handling on the server side.
Change-Id: I840cc04829fc2491f35a0e6f98f07eaf46b1ea42
Breaks long polling fallback when implemented this way
This reverts commit 735f074834.
Conflicts:
push/build.xml
push/ivy.xml
server/src/com/vaadin/server/Constants.java
uitest/src/com/vaadin/tests/push/PushPathTest.java
Change-Id: I07f6fedafc648b0ee403865ccb322017d2a8d571
In order to use websockets with Weblogic 12.1.2 or later, push path 'ws'
needs to be used instead of 'PUSH'.
Change-Id: Ia90d11c20a375cef9cf4a53986a70d616a83db06
If for any reason a developer wants to parse the bootstrap html, this
constants allows easy identification of the bootstrap js.
Change-Id: I894cf6e22a7e6d9154c3c9124dda911a86a99475
Remove csrfToken if disable-xsrf-protection is true (#14111)
If the server sends no token and the client value remains "init" then
it's not sent back to the server.
Change-Id: I74fc470c5c22d57c4a48eab3e4476ae4cc2dd242
Renamed Icon to ImageIcon
Change-Id: I608815f17a3651b205fed81b5294385df0d68802
Extracted the abstract client-side Icon class
Change-Id: Ic32e270595a5796d0bbd1dd31f34282b56672aa9
Created the FontIcon class
Change-Id: Iad13871e7bf1807dee2c538c76306d4620191f5e
Renamed AbstractComponentConnector.getIcon to getIconUri
Change-Id: I6953ab79661993b561655d483c1bd013b66407f3
Added the AbstractComponentConnector.getIcon method
Change-Id: I6fb91dc643fb09da3ba53666b1a8a289901702e3
Refactored getIcon
Change-Id: Ibae39e66d0fb8449e20ac5209eb8c18b6ada4387
Made all existing uses of Icon compatible with FontIcons
Change-Id: I8f28ec5254f2e5282a887519d3f44bc1e27aba72
Initial server-side support for font icons - does not include an actual icon set yet (#13152)
Change-Id: Ie6c09b17dd577c726e0efc13567749f6f4d56d8d
Changed server side FontIcon URI generation to match the correct scheme
Change-Id: I3628b930b310b3f285bc58a3f471e31e641d307e
Initial server-side icon font (FontAwesome) with scss - to be considered placeholder for testing (#13152)
Change-Id: I361e62aba0d943a736471824e149d65c7eea9c76
Changed the FontIcon URI scheme
Change-Id: I15c92f6bb3d0aa0a800f3f0bfa80419979453e17
Added FontIcon support to AbstractOrderedLayoutConnector
Change-Id: I3b2b45b22d29622fd888dbe922aa0cc8a718104d
Added FontIcon support to table items
Change-Id: Id22ce94c96a892420aab1e39663688fc9f3bc282
Added FontIcon support to OptionGroup items
Change-Id: Ie08bef688f6802182ef5f8b2bf82cf8b1f9096bb
Switched to openly use FontAwesome (#13152)
Change-Id: I18c3325ce93915b7fd6e338c8c293a89711277bc
VaadinIcons are now FontAwesome (#13152)
Change-Id: I0ab2a80735cbf08b6e33d358e3e8c6a205626fc4
VCaption does not longer set icon to 0x0px if it's a FontIcon (#13152)
Change-Id: Ibcd96e0f79f0adf2e217a8580d17f1cc93705710
Fixed typo in @font-face, removed .otf (#13152)
Change-Id: I698ca32c560e5f198c32a6c44f7884d3030ee610
Make font icons behave more like img (display:inline-block) (#13152)
Change-Id: Ic79186c90f1fc566deae1f4d8d4ba2c21d89a42e
Use "\0" instead of "|" as a push message delimiter (#11692)
Used with TrackMessageSizeInterceptor and with client-to-server Websocket message splitting (see #11648)
The original issue that the delimiter can not appear in the message (unescaped) is apparently fixed in Atmosphere 1.0.13
Also ensure the max size of a websocket fragment in bytes does not exceed the buffer size (#11842)
Change-Id: I768524bb54a5b8b9479dc7bda821256bd843dc52
Split client-to-server messages when websockets are used (#11648)
* First part of a fragmented message prefixed by total message length plus '|'
* Atmosphere websocket buffer size set to 65536
* Fragment size is 65535 characters (Jetty requires less than buffer size)
Change-Id: I8bf872bbb03b86386070fdc99c14ea805dd2ef3a
Verify CSRF token before accepting new CSRF connection (#11635)
* Can't open push connection during client-side init because CSRF token
is not available at that point. This allows simplifying the
initialization because the push state will not be checked until the
first response has been processed.
* Add helper for checking the CSRF token
Change-Id: I31da1ac669dc9a581cbd66f58c07f10ea4b8b676
For optimal performance, the script will still be included in the host
HTML if push is enabled when the UI is bootstrapped.
Change-Id: I2245b45434f3097c32fd3580267f692dce3b7649
* Asynchronous bidirectional communication
* Use Atmosphere as a backend
* Use websockets if available, fallback to HTTP streaming
* Push mode (disabled, manual, automatic)
* Configurable via servlet parameter pushMode
* Disabled: The default; regular AJAX communication
* Manual: Need explicit UI.push() call
* Automatic: push all UIs in session when lock released
* UI.push()
* Push pending state and RPC to client asynchronously
* Must hold session lock when invoking
Change-Id: Idb5978ac81f7ff1e66665df4e3f96e29e4c419d4
Don't let /APP requests continue to the BootstrapHandler (#9553)
* Change ApplicationConstants.APP_REQUEST_PATH to not include an ending
slash so it can be used by the new check as well.
Change-Id: If613e339b0e1ef4fd9e4f07d7567cd381678b912
Bootstrap UI using relative URLs with servlets (#6771)
* Configure widgetset using URLs relative to the requested page
* Provide a Util method for getting an absolute URL from a relative URL
* Test by using an embedded Jetty acting as a transparent proxy
* Make /embed1 use the Buttons test to enable testing UIDL requests
Change-Id: I4ef9b40e3954ae16b682d743a339f4360db40d4d