Skip to content
Commits on Jan 28, 2013
  1. @snej

    Make sure views compiled from JS get rebuilt if the map/reduce fn cha…

    …nges
    
    …Although currently this only takes effect next time the app is launched, i.e.
    it isn't watching for edits of the design docs while running.
    
    Also moved the code that triggers the compilation out of TDRouter and into
    TD_View and TD_Database.
    snej committed Jan 28, 2013
Commits on Jan 24, 2013
  1. @snej
Commits on Jan 23, 2013
  1. @snej

    Fix crash in TDJSViewCompiler

    The compiled function objects were getting GC'd, after which calling them would crash.
    snej committed Jan 23, 2013
Commits on Jan 17, 2013
  1. @snej

    Fix a path-escaping bug with replication

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

    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. @snej

    Oops, I broke replication with that last commit

    Fixes #219
    snej committed Jan 15, 2013
  2. @snej

    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 14, 2013
  3. @snej

    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. @snej

    Dumb bug fixes (TDReplication, TDBrowserIDAuthorizer)

    Conflicts:
    	Source/API/TDReplication.m
    snej committed Jan 13, 2013
  5. @snej

    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. @snej

    Merge branch 'stable'

    1.0.1 release
    
    Conflicts:
    	TouchDB.xcodeproj/project.pbxproj
    snej committed Jan 15, 2013
  7. @snej
  8. @snej

    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. @snej

    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. @snej
  3. @snej

    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
  4. @snej

    Bump version to 1.004

    snej committed Jan 9, 2013
Commits on Jan 9, 2013
  1. @snej

    Bump version to 1.004

    snej committed Jan 9, 2013
  2. @snej

    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. @snej

    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 4, 2013
Commits on Jan 4, 2013
  1. @snej

    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. @snej

    Merge branch 'master' into stable

    snej committed Jan 2, 2013
  2. @snej
  3. @snej

    Merge branch 'master' into stable

    snej committed Jan 2, 2013
  4. @snej

    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. @snej

    Better error handling in _bulk_docs

    Fixes #200.
    snej committed Dec 31, 2012
  2. @snej

    Updated FMDB

    snej committed Dec 31, 2012
Commits on Dec 31, 2012
  1. @snej

    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. @snej

    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. @snej

    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. @snej

    Merge branch 'master' into stable

    snej committed Dec 14, 2012
  2. @snej
Commits on Dec 13, 2012
  1. @snej

    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. @snej
  3. @snej

    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
Something went wrong with that request. Please try again.