Commit Graph

22 Commits

Author SHA1 Message Date
Jeff Arena
047186401b moved logic for initiating a call to the server based on an empty local cache from initial load code path to the reload code path, thus simplifying this use case when in offline mode 2011-03-16 14:28:30 -07:00
Jeff Arena
7896232cc2 completed rollback of changes to default refresh rate code by setting the default loaded time for an app to the first-run date of the app 2011-03-12 09:40:35 -08:00
Blake Watters
a056aff2b8 dont check the online state when creating an object loader in the TTModel, prevents load issues at app launch 2011-03-11 12:58:40 -05:00
Blake Watters
cbc4c7169c Remove unnecessary retain from object loader initialization 2011-03-08 12:00:36 -05:00
Jeremy Ellison
ac53cf9f2e Always return an NSManagedObjectContext from the NSThreadDictionary. Do not bless the one on the main thread. Ensure merges happen on the main thread.
Clean up error alert because of removal of goOffline support (as it was broken).
2011-01-13 14:33:28 -05:00
Jeremy Ellison
6a5ee2af7e Revert "Remove per-file copyrights"
This reverts commit 91e7c6bb5e.
2011-01-12 15:27:19 -05:00
Jeremy Ellison
91e7c6bb5e Remove per-file copyrights 2011-01-12 15:05:22 -05:00
Jeremy Ellison
90c85e632f Default loaded time should be equal to -defaultRefreshRate ago, thus ensuring the cache is outdated on the first load 2011-01-12 14:35:50 -05:00
Jeremy Ellison
378aaac12b Topic and post creating, editing, and deleting 2011-01-11 12:32:18 -05:00
Jeff Arena
2b4a95df3c added caching for filteredObject on the filterable model class to prevent expensive filtering operations every time we grab the objects from the model; added code to prevent an automatic load in offline mode when we have no cached objects, as our use of an error condition to signal a request failed in offline mode triggers a three20 error overlay that we likely do not want in what should be considered a normal operating mode (e.g. app offline with no objects for a view is not an error) 2010-12-09 11:47:20 -08:00
Jeff Arena
e991ad7033 change RKRequest delegate didfinishload method signature to be a bit cleaner; added code to turn off the reachability observer when the app becomes inactive; changed online/offline state code to support an undetermined state at initial launch, so as to ensure we get all our proper notifications during first run; remove unnecessary debug logging from rkrequestqueue; removed three20 model code that was triggering a forced offline state, which currently does not have a recovery path (e.g. if the app is forced offline, we currently have no built-in mechanism to allow a force back online) 2010-12-08 09:45:26 -08:00
Jeff Arena
f875ec167d fixed timing issue with setting loadedTime 2010-12-04 22:23:30 -08:00
Jeff Arena
af0c7ab36e fix bug with setting loaded time when loading from cache 2010-12-04 09:06:39 -08:00
Jeff Arena
d91223b6fa fixed a crash related to parsing a non-JSON error from a response string; fixed issue with callbacks being fired after a request has been cancelled; fixed leak of resourcePath in RKRequestTTModel; fixed issue with autoreleasepool being drained before background thread objects have been transferred to the callback method; fixed issues with mutating the requestqueue array during enumeration while performing bulk cancels; added additional logging that has been helpful in tracking down many of these crashes (to be removed prior to merge to master) 2010-12-02 19:28:25 -08:00
Jeff Arena
c9ba879937 removed duplicate delegates on RKObjectLoader; inverted control for communicating request completion from RKResponse to RKRequest; added state tracking to RKRequest for loaded and loading states; changed queue processing logic to check request states before firing new requests; removed retains of RKObjectLoader from RKRequestTTModel since our queue is handling retains for all asynchronous RKRequest flavors; added separate state tracking to RKRequestTTModel since there are subtle differences between the meaning of loaded/loading in Three20 versus our RKRequest states; removed delegate forwarding code from RKObjectLoader since it is no longer an RKRequestDelegate (which was quite ugly to begin with); removed unnecessary error contructor for RKResponse that was only being used to fire delegate callbacks when an RKRequest failed to fire in offline mode; added TODOs to deep-dive into synchronous request handling 2010-12-02 13:22:38 -08:00
Jeff Arena
6249ece2bc Merge branch 'reachability-queue-three20' of git://github.com/twotoasters/RestKit into reachability-queue-three20
Conflicts:
	Code/Network/RKRequest.m
	RestKit.xcodeproj/project.pbxproj
2010-12-01 21:06:54 -08:00
Jeff Arena
39f3d568e2 added reachability support at the manager and client level; added code to short circuit requests if offline; fixed issue with source parameter on loader related to passing managed objects across thread boundaries; added resource path property to the loader 2010-11-30 19:38:27 -08:00
Jeff Arena
c19d305b45 fix for mapper bug that was assuming a 1:1 mapping between object classes and elements; removed method from dictionary category that made the 1:1 mapping assumption that caused the mapper bug; collapsed the RKRequestModel and RKRequestTTModel classes into RKRequestTTModel; made changes to the Three20 integration to perform all cache loading and network loading in response to Three20 load calls; used isOutdated TTModel method to enforce refreshRate on RKRequestTTModel 2010-11-30 15:08:05 -08:00
Jeff Arena
2a4f9435b9 new init methods on three20 models to allow for parameter setting 2010-11-12 15:17:42 -08:00
Jeff Arena
1a6fdeafd4 introduce RKManagedObjectCache protocol to CoreData component; cleanup remaining NSFetchRequest ivars that are now unused; add RKURL class for making resourcepath and baseurl params available to higher level components; cleanup Three20 library to incorporate latest updates from GateGuru codebase 2010-10-18 16:36:24 -04:00
timkerchmar
320e96e48e Update headers for three20 support.
Add keyPath support to the object loader.
2010-10-12 14:32:06 -04:00
Blake Watters
579272bea0 Created new Three20 target for using RestKit with Three20. Expects ../three20 to exist 2010-07-09 14:59:00 -04:00