Commit Graph
4676 Commits
Author SHA1 Message Date
appleguy 745f724fae Merge pull request #933 from garrettmoon/fixCrashRelatedToOutOfOrderMainQueueBlocks
Fixes an issue where reloadDataImmediately interleaves with asynchronous loading in ASDataController.
2015-12-11 11:08:05 -08:00
Garrett Moon 941a732fd6 Rename and move ASMainSerialQueue to its own class 2015-12-11 10:53:06 -08:00
Garrett Moon 066596314e Fix deadlock when an editing transaction needs to perform its work on the main thread, and then elsewhere, on the main thread, we block waiting for all editing transactions to finish 2015-12-11 10:45:23 -08:00
Garrett Moon f94229796c Fixes out of order blocks running on main queue in ASDataController
ASDataController’s completedNodes is accessed by treating the main thread as a serial queue. The ​*problem*​ is, operations can cut in line by being added while on the main thread. I.e. it just calls the block instead of dispatch_async’ing to the main thread. This results in data inconsistency.

To address this, I've added a queue of operations which get run serially (not to be confused with a serial dispatch queue). Instead of running blocks directly on the main thread, if it’s called while not on the main thread, it dispatch_asyncs to the main thread and runs any blocks in the queue. If it ​*is*​ on the main thread, it runs any blocks already in the queue and then runs the block.
2015-12-11 10:45:22 -08:00
appleguy 2d9064dd1e Merge pull request #932 from garrettmoon/exposeRecursivelyEnsureDisplay
Introduce ASDisplayNode+Beta.h - Expose recursivelyEnsureDisplay
2015-12-10 20:17:10 -08:00
Garrett Moon 082dc1cbca Expose recursivelyEnsureDisplay 2015-12-10 19:42:17 -08:00
Luke Parham eeb49859f0 view controller node is resized to match layoutspec for cells 2015-12-09 13:13:39 -06:00
Luke Parham 5e34f10b81 added sample app that initializes ASCollectionView cells using view controllers, wip though 2015-12-08 21:57:14 -06:00
Alexey Glushkov ad282132ff merge master 2015-12-08 22:04:34 +03:00
Aaron Schubert 1dfb8fac67 Changed init method, as well as further clean up to get ASMapNode ready for 2.0 2015-12-08 10:37:00 +00:00
appleguy c9a0a3d46f Merge pull request #918 from levi/master
Inline supplementary kind iteration in data controller
2015-12-07 12:58:25 -08:00
appleguy f5d06c5989 Merge pull request #919 from facebook/ASDataControllerVisibleNodes
[ASDataController] Ensure an empty array is returned if visibleNodes is called before any nodes are complete.
1.9.3
2015-12-06 22:01:27 -08:00
Scott Goodson 88b36f58e7 Ensure an empty array is returned if visibleNodes is called before any nodes are complete. 2015-12-06 21:45:46 -08:00
Levi McCallum 223cac1784 Inline supplementary kind iteration in data controller 2015-12-06 21:31:40 -08:00
appleguy f6cc2067e9 Merge pull request #917 from levi/master
Ensure that newly inserted section supplementary nodes are added to backing store
2015-12-06 21:25:47 -08:00
appleguy 0cf89535d0 Merge pull request #842 from aaronschubert0/ASMapNode
[ASMapNode] Initial implementation.  Some changes planned, including a replacement initializer method.
2015-12-06 21:07:29 -08:00
Scott Goodson a47a1b8c2a Bump podspec to 1.9.3. Remove Cocoapods-generated workspace files. 2015-12-06 20:32:21 -08:00
Levi McCallum 64da9e7ece Ensure that new section supplementary nodes are inserted into backing store 2015-12-06 20:07:29 -08:00
Scott Goodson 1e9c4563f3 Improve factoring of locking and early returns for -setInterfaceState: and -setHierarchyState: 2015-12-06 19:30:04 -08:00
appleguy ea144310c8 Merge pull request #915 from facebook/ASHierarchyState
[ASDisplayNode] Introduced ASHierarchyState, eliminating upward traversal and locking.  Fixes rare deadlock.
2015-12-06 19:29:07 -08:00
Scott Goodson c11d90cd3a Fix an issue with ASHierarchyState when disabling rasterization after having enabled it. 2015-12-06 18:46:29 -08:00
Scott Goodson 271f288a19 Polish ASHierarchyState implementation, fix old comment typos, work on test breakages. 2015-12-06 15:04:47 -08:00
Adlai Holler b16a9e294e Merge branch 'master' into update-objc
Conflicts:
	AsyncDisplayKit/ASDisplayNode+Subclasses.h
2015-12-06 12:25:13 -08:00
Scott Goodson 67aec97523 Adopt ASHierarchyState to replace manual checking for ASCellNode parent. 2015-12-05 22:41:40 -08:00
Scott Goodson 840884272d Introduced ASHierarchyState. Created ASDisplayNode+FrameworkPrivate.h. Fixed deadlock. 2015-12-05 22:20:16 -08:00
appleguy 29897297c5 Merge pull request #913 from Adlai-Holler/WorkaroundCellContentsLoading
Provide Basic Interface State Support for Nodes Outside of Cells
2015-12-05 17:35:28 -08:00
appleguy faf9d266c5 Merge pull request #914 from Adlai-Holler/UpdateInterfaceStateBeforeCallout
Minimize critical section in -setInterfaceState:, and move ivar set before subclass hooks are called.
2015-12-05 16:03:57 -08:00
appleguy 6e13368463 Merge pull request #911 from Adlai-Holler/FixTextNodeHighlightingLogic
Reduce Reliance on -textNode:shouldHighlightLinkAttribute:value:atPoint:
2015-12-05 11:01:56 -08:00
Adlai Holler 4284b6e23a Set _interfaceState before calling fetchData et al. 2015-12-05 00:20:44 -08:00
Adlai Holler 34c487de5b Fix test 2015-12-04 13:01:15 -08:00
Adlai Holler 0bfb5a0401 Make new interface state a first-class value 2015-12-04 12:49:38 -08:00
Adlai Holler 9579420cd7 Add static constant ASInterfaceStateInHierarchy which we'll return if the node is not in a cell but its view is in a window 2015-12-04 12:47:36 -08:00
Adlai Holler 05ff0e40ec Add test case for non-cell node interface state 2015-12-04 12:46:34 -08:00
Levi McCallum 8f5b498381 Move data controller classes into separate details group 2015-12-04 11:44:02 -08:00
appleguy 3a04cb7cc8 Merge pull request #898 from Adlai-Holler/OptimizeNodeDidRelayout
Reduce Frequency of beginUpdates/endUpdates Due to Node Relayout
2015-12-03 21:02:22 -08:00
Adlai Holler 835acd6a25 Change assumed value for text node highlighting delegate method to YES and don't consult it unless highlighting. 2015-12-03 20:52:02 -08:00
appleguy 61f2f73b16 Merge pull request #910 from Adlai-Holler/FixMovingLinkTouches
Allow User to Move While Touching Link As Long As They Stay In Range
2015-12-03 10:58:54 -08:00
Adlai Holler f39105a8f4 Optimize 2015-12-03 09:45:45 -08:00
Adlai Holler f723452756 Allow link taps to continue if touches move within the same link 2015-12-03 09:25:37 -08:00
Aaron Schubert e1b50ce77a Fix merge conflicts 2015-12-03 14:23:27 +00:00
Aaron Schubert 630bd23820 Merge branch 'master' into ASMapNode 2015-12-03 14:22:45 +00:00
Aaron Schubert 945e6fdb44 Revert accidental changes to Kittens example. Apologies @nguyenhuy ! 2015-12-03 11:28:10 +00:00
Aaron Schubert 79b4c95749 Substantially improved ASMapNode and made it a lot clearer and less complex internally. 2015-12-03 11:22:05 +00:00
Adlai Holler 73b90023dc Merge branch 'master' into update-objc 2015-12-01 22:16:36 -08:00
Adlai Holler 1fd65c2f25 Annotate ASAsciiArtBoxCreator.h 2015-12-01 21:57:45 -08:00
appleguy e42bcf47be Merge pull request #901 from Adlai-Holler/ModernizeCellLoading
ASTableView: Use Fancy dequeueReusableCellWithIdentifier:forIndexPath: Method
2015-12-01 17:54:45 -08:00
Scott Goodson 3b6b48175d Fix for an incorrect assertion firing when transforming an ASLayoutSpec-positioned node. 2015-12-01 17:49:11 -08:00
Scott Goodson ee917ae210 Disable verbose logging, re-enable working window to merge WIP and avoid conflicts. 2015-12-01 16:48:59 -08:00
Adlai Holler 8e75c594c7 Add some more annotations 2015-12-01 16:48:55 -08:00
Adlai Holler fdfe18873a Merge branch 'master' into update-objc
Conflicts:
	AsyncDisplayKit/ASDisplayNodeExtras.h
	AsyncDisplayKit/Details/ASTextNodeRenderer.h
	AsyncDisplayKit/Details/ASTextNodeShadower.h
2015-12-01 16:45:25 -08:00