Permalink
Switch branches/tags
Commits on Nov 4, 2012
  1. Started to merge in 210

    hjast committed Nov 4, 2012
Commits on Nov 3, 2012
  1. Issue #1350

    karma4u101 committed Nov 3, 2012
Commits on Nov 2, 2012
  1. Check for nulls when looking for an ajax version.

    Shadowfiend committed Nov 2, 2012
    Before we were checking for falseys (doing if (version)), which meant
    that when the initial version value of 0 came up, we assumed there was
    no version and sent a non-versioned request. This then restricts that
    request from being retried properly using the new retry flows.
Commits on Oct 30, 2012
  1. Merge pull request #1344 from lift/asc_issue_1344

    David Pollak
    David Pollak committed Oct 30, 2012
    RenderVersion does not get set/restored on AJAX requests without version info
  2. Properly set the render version on AJAX requests without AJAX version…

    Shadowfiend committed Oct 30, 2012
    … info.
    
    Requests of the form /ajax_request/F<render version>, without the -<ajax
    version info> on the end, should now properly restore the RenderVersion,
    resulting in proper state management for these requests.
Commits on Oct 29, 2012
Commits on Oct 28, 2012
  1. Rewrite SoftReferenceCache.apply for type safety.

    Shadowfiend authored and fmpwizard committed Oct 25, 2012
    We were using a tuple assignment, which converts into a Scala pattern
    match that doesn't carry particularly nice type safety guarantees. We
    now instead assign to a typed tuple and then unpack the tuple with our
    own match statement, with a clarifying comment on the original
    assignment to indicate what each part of the tuple means.
  2. Fixed #1232 - Cache resource lookup in production mode

    fmpwizard committed Oct 13, 2012
    The only mode that the resources are not cached is DevMode
  3. Space changes

    nafg authored and fmpwizard committed Oct 25, 2012
Commits on Oct 26, 2012
  1. Fix spelling in comment

    dcbriccetti committed Oct 26, 2012
Commits on Oct 25, 2012
  1. Issue 1336 - Move validations in OptionalEmailField and OptionalPosta…

    eltimn committed Oct 21, 2012
    …lCodeField from TypedField
  2. Deprecated MongoId

    eltimn committed Oct 20, 2012
Commits on Oct 24, 2012
  1. Merge branch 'master' into nafg_wip_scala210

    nafg committed Oct 24, 2012
    * master:
      Css: Parse failures return ParamFailure, not Empty
      Only catch Exception
      Use ThreadLocalRandom in StringHelpers.randomString on Java 7.
      Fixed #1330 - HTTP basic authentication not working in 2.5
      Do not escape unnecessarily ranges which JSON spec does not require. Fix memoization
      Fix off-by one when escaping control char in JSON
      Added a method to release all the long polling connections
      Allow, once again, to bind anything that is convertable to NS=>NS
      Remove ToCssBindPromoter implicits in package object
      Make AjaxRequestInfo track a Long version id.
      Guard for JS number size overflows.
      Track sequence numbers of arbitrary length.
      Implement the meat of AJAX deduplication.
      Add tracking for AJAX requests in LiftSession.
      Drop the timeout on comet-related AJAX requests.
      Encode an AJAX request version in the request URI.
      Move uriSuffix extraction into lift_ajaxHandler.
      Fix deadlock in SoftReferenceCache apply function.
      Changed *Var backing store to concurrent hashmap
  2. 2.10.0-{M7->RC1}

    nafg committed Oct 24, 2012
  3. Use ThreadLocalRandom in StringHelpers.randomString on Java 7.

    Shadowfiend authored and nafg committed Oct 11, 2012
    On Java <7, we use the default SecureRandom, which locks on access.
    ThreadLocalRandom will not lock as it is thread-local (!).
  4. Fixed #1330 - HTTP basic authentication not working in 2.5

    fmpwizard authored and nafg committed Oct 11, 2012
    we lost an important "else" in LiftServlet - (Thanks to Aditya Vishwakarma for pointing it out)
  5. Do not escape unnecessarily ranges which JSON spec does not require. …

    Joni Freeman authored and nafg committed Oct 10, 2012
    …Fix memoization
  6. Fix off-by one when escaping control char in JSON

    Joni Freeman authored and nafg committed Oct 8, 2012
  7. Make AjaxRequestInfo track a Long version id.

    Shadowfiend authored and nafg committed Oct 2, 2012
    Not sure how I got this to compile locally without this change...
  8. Guard for JS number size overflows.

    Shadowfiend authored and nafg committed Sep 28, 2012
    If you hit the maximum of a JS integer, math starts getting wonky. We
    make sure at that point we wrap to 0.
  9. Track sequence numbers of arbitrary length.

    Shadowfiend authored and nafg committed Sep 28, 2012
    We track sequence numbers as Longs now, and the client side encodes the
    sequence number as an arbitrarily-long base-36 number.
  10. Implement the meat of AJAX deduplication.

    Shadowfiend authored and nafg committed Sep 24, 2012
    AJAX requests now come in with a two-part version number, one a sequence
    number for the ajax request's count in the overall list of requests sent
    by the client, and one a number indicating how many other requests are
    queued up on the client.
    
    If this is the first request seen with its sequence number, we record
    the request in the session and run regular AJAX request handling. When
    that request handling is complete, it satisfies the future that is
    recorded in the session. Subsequent requests for a given sequence number
    wait on the future from the first request up to the ajax post timeout,
    then fail.
    
    When we get a request coming in with a 0 count for pending requests on
    the client, we clear out all other pending requests in the session's
    list, since that means none of them will be getting a chance to report
    their responses again.
  11. Add tracking for AJAX requests in LiftSession.

    Shadowfiend authored and nafg committed Sep 24, 2012
    Request info consists of three things:
     - The request version.
     - A future for the response to the request, satisfied by the first
       request for this version when the response is ready.
     - A lastSeen timestamp, used to expire the entry after the usual
       function lifespan.
    
    LiftSession.withAjaxRequests exposes the request list, which is a Map
    mapping a page version to the list of AjaxRequestInfos currently being
    tracked for that page. AjaxRequestInfos are cleaned up according to
    their lastSeen timestamp, which is updated the same way as those of
    functions on the page.
  12. Drop the timeout on comet-related AJAX requests.

    Shadowfiend authored and nafg committed Sep 24, 2012
    While this will tie up a request thread for longer, it means we can
    reliably say that when the AJAX request thread completes, it will
    actually have the correct response to the original request.
  13. Encode an AJAX request version in the request URI.

    Shadowfiend authored and nafg committed Sep 24, 2012
    The AJAX request version has two components: the actual version number
    and a count of queued requests. This is presented as two base-36 values
    after a dash. So a request now looks like:
    
    /ajax_request/F<page version>-v8
    
    Where v indicates request number 31 and 8 indicates that there are 8
    queued requests that have not been handled yet.