Commits on Oct 18, 2012
  1. @fmpwizard

    Prepare for 2.5-M2

    fmpwizard committed Oct 18, 2012
Commits on Oct 12, 2012
  1. @nafg
  2. @nafg

    Only catch Exception

    nafg committed Sep 19, 2012
Commits on Oct 11, 2012
  1. @dpp

    Merge pull request #1332 from lift/asc_issue_1332

    Use ThreadLocalRandom when available for StringHelpers
    dpp committed Oct 11, 2012
  2. @dpp

    Merge pull request #1328 from lift/asc_issue_1328

    AJAX Request deduplication, take 2
    dpp committed Oct 11, 2012
  3. @dpp

    Merge pull request #1327 from lift/asc_issue_1327

    lift_uriSuffix can get lost during long-running AJAX requests
    dpp committed Oct 11, 2012
  4. @dpp

    Merge pull request #1319 from lift/asc_issue_1319

    net.liftweb.util.SoftReferenceCache deadlocks when accessing an evicted reference
    dpp committed Oct 11, 2012
  5. @Shadowfiend

    Use ThreadLocalRandom in StringHelpers.randomString on Java 7.

    On Java <7, we use the default SecureRandom, which locks on access.
    ThreadLocalRandom will not lock as it is thread-local (!).
    Shadowfiend committed Oct 11, 2012
  6. @fmpwizard

    Fixed #1330 - HTTP basic authentication not working in 2.5

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

    …Fix memoization
    Joni Freeman committed Oct 10, 2012
Commits on Oct 8, 2012
  1. Fix off-by one when escaping control char in JSON

    Joni Freeman committed Oct 8, 2012
Commits on Oct 6, 2012
  1. @dpp
Commits on Oct 4, 2012
  1. @nafg
  2. @nafg
Commits on Oct 2, 2012
  1. @Shadowfiend

    Make AjaxRequestInfo track a Long version id.

    Not sure how I got this to compile locally without this change...
    Shadowfiend committed Oct 2, 2012
Commits on Sep 28, 2012
  1. @Shadowfiend

    Guard for JS number size overflows.

    If you hit the maximum of a JS integer, math starts getting wonky. We
    make sure at that point we wrap to 0.
    Shadowfiend committed Sep 28, 2012
  2. @Shadowfiend

    Track sequence numbers of arbitrary length.

    We track sequence numbers as Longs now, and the client side encodes the
    sequence number as an arbitrarily-long base-36 number.
    Shadowfiend committed Sep 28, 2012
Commits on Sep 24, 2012
  1. @Shadowfiend

    Implement the meat of AJAX deduplication.

    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.
    Shadowfiend committed Sep 24, 2012
  2. @Shadowfiend

    Add tracking for AJAX requests in LiftSession.

    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.
    Shadowfiend committed Sep 24, 2012
  3. @Shadowfiend

    Drop the timeout on comet-related AJAX requests.

    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.
    Shadowfiend committed Sep 24, 2012
  4. @Shadowfiend

    Encode an AJAX request version in the request URI.

    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.
    Shadowfiend committed Sep 24, 2012
  5. @Shadowfiend

    Move uriSuffix extraction into lift_ajaxHandler.

    By having it in doAjaxCycle, there were situations where the uri suffix
    could get lost. The most obvious one was when a long-running ajax
    request was occurring, and two AJAX requests were queued during that
    time frame. This would result in the first request getting the second
    request's uriSuffix, and the second request getting no suffix at all.
    
    We now immediately put the uriSuffix into the sending data when
    lift_ajaxHandler is called.
    Shadowfiend committed Sep 24, 2012
Commits on Sep 14, 2012
  1. @Shadowfiend

    Fix deadlock in SoftReferenceCache apply function.

    When we find a stale SoftReference, release the read lock, then acquire
    the write lock, double-check that the reference is still stale, and then
    finally remove the entry from the cache.
    Shadowfiend committed Sep 14, 2012
Commits on Sep 13, 2012
  1. @dpp
Commits on Sep 10, 2012
  1. @fmpwizard

    * modified unsafePublishLift to use publish instead of publish-local

    * made unsafePublishLift executable
    * updated scala versions we build against
    fmpwizard committed Sep 10, 2012
Commits on Sep 6, 2012
  1. @dpp

    Fixed a missed implicit conversion issue a NodeSeq is a NodeSeq not a…

    …n Iterable[NodeSeq]
    dpp committed Sep 6, 2012
Commits on Sep 5, 2012
  1. @dpp
  2. @dpp
Commits on Aug 31, 2012
  1. @fmpwizard

    Revert "Add !< to LiftCometActor."

    This reverts commit 4b61567.
    fmpwizard committed Aug 31, 2012
  2. @fmpwizard

    Revert "Include a version on the end of the Ajax GUID."

    This reverts commit bbd703d.
    fmpwizard committed Aug 31, 2012
  3. @fmpwizard
  4. @fmpwizard

    Revert "AJAX version-based deduplication."

    This reverts commit ba0b313.
    fmpwizard committed Aug 31, 2012
  5. @fmpwizard

    Revert "Delimit version in GUID string by a dash."

    This reverts commit 1c46530.
    fmpwizard committed Aug 31, 2012
  6. @fmpwizard
  7. @fmpwizard