Permalink
Switch branches/tags
Nothing to show
Commits on Jan 17, 2013
  1. Fix a path-escaping bug with replication

    Regression from the initial BrowserID patch (649d14f)
    snej committed Jan 17, 2013
  2. BrowserID improvements

    * Parse email address out of assertion rather than requiring it to be provided separately.
    * Also get the expiration date, and don't return assertions that have expired.
    
    Conflicts:
    	Source/API/TDReplication.h
    	Source/API/TDReplication.m
    snej committed Jan 16, 2013
Commits on Jan 15, 2013
  1. Oops, I broke replication with that last commit

    Fixes #219
    snej committed Jan 15, 2013
  2. More BrowserID work (don't store assertion in database)

    BrowserID assertions are extremely short-lived, so it doesn't make sense
    to store them in a persistent replication's document. Instead, store the
    email address only. The assertion is registered with the authorizer
    before starting replication.
    
    Conflicts:
    	Source/API/TDReplication.h
    	Source/API/TDReplication.m
    	TouchDB.xcodeproj/project.pbxproj
    snej committed Jan 15, 2013
  3. Change tracker needs to send cookies in its request

    TDSocketChangeTracker uses CFHTTPMessageCreateRequest, which is too low-level to use the shared
    cookie store, so it doesn't send any cookies. This breaks BrowserID auth, which is session-based.
    Fixed this by explicitly getting the cookies from the NSHTTPCookieStore and adding their headers.
    snej committed Jan 13, 2013
  4. Dumb bug fixes (TDReplication, TDBrowserIDAuthorizer)

    Conflicts:
    	Source/API/TDReplication.m
    snej committed Jan 13, 2013
  5. More replicator improvements

    * Created a TD_DatabaseManager method to create replicators
    
    Conflicts:
    	Source/TDReplicatorManager.m
    	Source/TD_DatabaseManager.m
    snej committed Jan 11, 2013
  6. Merge branch 'stable'

    1.0.1 release
    
    Conflicts:
    	TouchDB.xcodeproj/project.pbxproj
    snej committed Jan 15, 2013
  7. Support for BigCouch array-format sequence IDs

    BigCouch is now using arrays as sequence IDs; TouchDB didn't format these properly.
    Fixes #218.
    snej committed Jan 15, 2013
Commits on Jan 11, 2013
  1. BrowserID support for replicator (untested)

    To use it with non persistent replications, set a TDBrowserIDAuthorizer.
    
    With persistent replications, add a "auth" sub-object of the "source"
    or "target" object (just as for OAuth) and in it put a "browserid"
    object with an "assertion" property whose value is the BrowserID
    assertion.
    
    This obviously requires that the remote server have BrowserID support.
    There is a CouchDB-BrowserID plugin, and IrisCouch's servers have it.
    snej committed Jan 10, 2013
  2. Allow multiple replications with the same (source, target) dbs

    It can be useful to have multiple replications with the same source and target,
    if their filters are different.
    snej committed Jan 11, 2013
  3. Bump version to 1.004

    snej committed Jan 9, 2013
Commits on Jan 9, 2013
  1. Bump version to 1.004

    snej committed Jan 9, 2013
  2. Fix a crash when TDSocketChangeTracker gets an error

    During the -errorOccurred: method's call to [self stop], the delegate would end up releasing the tracker,
    causing it to be dealloced prematurely. Moved the stop call to the end, and for safety's sake added a
    temporary retain during the entire stream:handleEvent: call.
    (Bug reported by Joerg Birkhold.)
    snej committed Jan 4, 2013
Commits on Jan 5, 2013
  1. Added optional JavaScript map/reduce capability.

    TDJSViewCompiler is a plugin that allows TouchDB to run JavaScript
    map/reduce functions. It requires JavaScriptCore, which on iOS you'll
    need to build and link into your app.
    
    This class is included as source code but not built into TouchDB.
    If you want to use it, compile it into your app.
    snej committed Jan 5, 2013
Commits on Jan 4, 2013
  1. Fix a crash when TDSocketChangeTracker gets an error

    During the -errorOccurred: method's call to [self stop], the delegate would end up releasing the tracker,
    causing it to be dealloced prematurely. Moved the stop call to the end, and for safety's sake added a
    temporary retain during the entire stream:handleEvent: call.
    (Bug reported by Joerg Birkhold.)
    snej committed Jan 4, 2013
Commits on Jan 2, 2013
  1. Merge branch 'master' into stable

    snej committed Jan 2, 2013
  2. Merge branch 'master' into stable

    snej committed Jan 2, 2013
  3. Real fix for 'resurrection' of deleted doc

    A PUT, DELETE, PUT sequence should result in a rev with generation 3
    that's a child of the tombstone revision.
    This fixes #207 and is the real fix for #205.
    snej committed Jan 2, 2013
Commits on Jan 1, 2013
  1. Better error handling in _bulk_docs

    Fixes #200.
    snej committed Jan 1, 2013
  2. Updated FMDB

    snej committed Jan 1, 2013
Commits on Dec 31, 2012
  1. Properly handle identical re-creation of deleted document

    If a document is deleted and then re-created with the same contents as its former first revision,
    the new revision's revID is the same as the former one, causing a SQLite table constraint violation.
    Fixed this by re-using the old row and setting its 'current' back to 1.
    Fixes #205.
    snej committed Dec 31, 2012
Commits on Dec 20, 2012
  1. Replicator now proactively sends auth credentials on every request.

    I think this will fix the remaining Cloudant errors (timeout / socket-closed errors pushing large docs).
    Speculatively fixes #185.
    snej committed Dec 20, 2012
  2. Replicator now proactively sends auth credentials on every request.

    I think this will fix the remaining Cloudant errors (timeout / socket-closed errors pushing large docs).
    Speculatively fixes #185.
    snej committed Dec 20, 2012
Commits on Dec 14, 2012
  1. Merge branch 'master' into stable

    snej committed Dec 14, 2012
Commits on Dec 13, 2012
  1. Fix an assertion failure in TDSocketChangeTracker

    -start should just return NO if called when tracker is already running.
    Fixes #196.
    snej committed Dec 13, 2012
  2. Fix unnecessary 401 challenges

    MYURLUtils' method -my_credentialForRealm: is returning a credential with no persistence
    when the URL has a baked-in username and password. This turns out to prevent NSURLConnection
    from proactively sending the same credential on the next connection to the host, with the bad
    effect that every connection initially gets a 401 and only then gets the credential and retries. This
    slows down performance.
    Fixed this by changing the persistence to NSURLCredentialPersistenceForSession.
    I believe this fixes #197 in TouchDB.
    snej committed Dec 13, 2012
  3. Better retry behavior on failure to get password from keychain

    For some reason TDSocketChangeTracker sometimes fails to get the password of the credential it's just looked up.
    Added some fallback code to make a second attempt to reload the credential.
    Also, if it fails to get the password it will clear the busted credential so that it can try to look it up again when it gets
    the 401 response.
    Fixes #195 ... I hope?
    snej committed Dec 13, 2012
Commits on Dec 12, 2012
  1. Make direct PUT to attachment URL work with streamed request body

    This case was accidentally not fixed back in commit 7f24896.
    Fixes #198.
    snej committed Dec 12, 2012
Commits on Dec 5, 2012
  1. Merge branch 'master' into stable

    Conflicts:
    	TouchDB.xcodeproj/project.pbxproj
    snej committed Dec 5, 2012