Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[IGListKit] Extended IGListKit support for displaying delegates #1011

Merged
merged 128 commits into from
May 21, 2020

Commits on Jul 5, 2018

  1. Configuration menu
    Copy the full SHA
    3a007fc View commit details
    Browse the repository at this point in the history
  2. Proposal of renaming willDisplayItemWithNode and didEndDisplayingItem…

    …WithNode to be similiar to UICollectionView
    hebertialmeida committed Jul 5, 2018
    Configuration menu
    Copy the full SHA
    755a1eb View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c1699c4 View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2018

  1. Configuration menu
    Copy the full SHA
    fc94d8e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    822f16d View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2018

  1. Configuration menu
    Copy the full SHA
    37398c0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7905d1e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d941a03 View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2018

  1. Configuration menu
    Copy the full SHA
    6ee40ba View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2019

  1. Configuration menu
    Copy the full SHA
    4657343 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    05e2ce2 View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2019

  1. Configuration menu
    Copy the full SHA
    0078f5f View commit details
    Browse the repository at this point in the history

Commits on May 10, 2019

  1. Add an experimental flag to use native dispatch_apply (TextureGroup#1345

    )
    
    * Add an experimental flag to use native dispatch_apply instead of our core count * 2 approach. This has shown performance wins in some profiling.
    
    * Add in other places
    Adlai-Holler authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    ac08bb8 View commit details
    Browse the repository at this point in the history
  2. Don't return non-animated GIFs for animation (update to latest PINRem…

    …oteImage beta) (TextureGroup#940)
    
    * Don't return non-animated GIFs for animation
    
    * Update to latest PINRemoteImage beta
    garrettmoon authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    2fbc452 View commit details
    Browse the repository at this point in the history
  3. Fix typos (TextureGroup#1348)

    * Update containers-overview.md
    
    * Update subclassing.md
    
    * Update node-overview.md
    
    ASImageNode, ASNetworkImageNode and ASMultiplexImageNode are in place of UIImageView, not UIImage.
    dirtmelon authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    37e5955 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c284847 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    60ee8d4 View commit details
    Browse the repository at this point in the history
  6. Lock up to yogaRoot during layout to avoid deadlocks. (TextureGroup#1356

    )
    
    * Lock up to yogaRoot during layout to avoid dead lock.
    
    1) lock to root for tree
    2) lock self to change parent (& consequently root)
    3) Implement ASLocking (tryLock) on ASNodeController
    4) add lockPair to try-lock node & controller together
    5) lock controllers if they exist in lockToRoot...
    
    Disable some asserts due to lock to root. :(
    
    LL# No commands remaining.
    
    * Add macro so non-Yoga still builds :)
    
    * wut
    wiseoldduck authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    71eb5a3 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    72d4d79 View commit details
    Browse the repository at this point in the history
  8. Optimize ASTwoDimensionalArrayUtils (TextureGroup#1351)

    * Optimize ASTwoDimensionalArrayUtils
    
    These methods are called on the main thread during range controller updates (i.e. every frame) and so they should be as fast as possible.
    
    * Rename
    
    * Use vector instead of stack array to handle really big cases (e.g. photos)
    Adlai-Holler authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    877b6cd View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    378e0d2 View commit details
    Browse the repository at this point in the history
  10. Do not lock the nodeController if we are not locking to root. (Textur…

    …eGroup#1360)
    
    Doing so leaves it locked when we elsewhere explicitly unlock the node to ascend.
    wiseoldduck authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    49dd925 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    fd223d0 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    f3c2ad7 View commit details
    Browse the repository at this point in the history
  13. Make ASCollectionElement Public (TextureGroup#1303)

    * Update AsyncDisplayKit.h
    
    * Update project.pbxproj
    JonathanDowning authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    d4a1754 View commit details
    Browse the repository at this point in the history
  14. Optimize _assertSubnodeState (TextureGroup#1352)

    * Optimize _assertSubnodeState
    
    This method is actually pretty painful in today's world. In one iPad mini trace, the first page of nodes spent 6.6ms in this call, just in time profiler.
    
    * Clean it up, check count
    
    * Check the right value
    Adlai-Holler authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    03746f0 View commit details
    Browse the repository at this point in the history
  15. _ASCollectionViewCell - The point isn't converted before to send to n…

    …ode, impossible to touch button into the node hierarchy (TextureGroup#1362)
    
    * Revert node call, useless, the node has a ASDisplayView, and this view forward on the node in first.
    
    * Use convertPoint to convert the given point in hittest & pointInside methods.
    Keep the standard usage if the node didn't rasterized a view.
    
    * Removed isNodeLoaded, finally it's useless in this case
    In these methods, we are on the mainThread, we can create the view if the view is not created.
    Idefix60 authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    e20c651 View commit details
    Browse the repository at this point in the history
  16. Optimize ASCATransactionQueue (TextureGroup#1350)

    * Optimize ASCATransactionQueue. This queue is very busy, and it runs on the main thread so it's important for it to be fast.
    
    Avoid waking up the run loop for every single node.
    Avoid a ton of NSPointerArray overhead that we don't need.
    Avoid retain/release traffic on the singleton by using an inline function. I confirmed that in release mode, the static __strong is correctly inlined and no ARC traffic is incurred.
    
    * Comment
    
    * Unlock right
    
    * Remove magic number
    Adlai-Holler authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    954382d View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    e498969 View commit details
    Browse the repository at this point in the history
  18. Add forwarding of UIAccessibilityAction methods (TextureGroup#1344)

    * Add forwarding of UIAccessibilityAction methods
    
    * Use OCMock for testing UIAccessibilityAction method forwarding
    smeis authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    abf0212 View commit details
    Browse the repository at this point in the history
  19. Don't add extraneous truncation token during kCTLineTruncationMiddle. (

    …TextureGroup#1297)
    
    * Don't add extraneous truncation token during kCTLineTruncationMiddle
    
    * Expand these comments a little.
    wiseoldduck authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    f7182c7 View commit details
    Browse the repository at this point in the history
  20. Update the FAQ to throw less shade. (TextureGroup#1379)

    * Update the FAQ to throw less shade.
    
    Both of these technologies have their place, no point in being assholes.
    
    * Update faq.md
    garrettmoon authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    88dd4a2 View commit details
    Browse the repository at this point in the history
  21. [Updated Snapshots] Don't add extraneous truncation token during kCTL…

    …ineTruncationMiddle (TextureGroup#1375)
    
    * Don't add extraneous truncation token during kCTLineTruncationMiddle
    
    * Expand these comments a little.
    
    * Update snapshot tests with beautiful correct behavior
    wiseoldduck authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    1a2e397 View commit details
    Browse the repository at this point in the history
  22. Launches switching ASNetworkImageNode callbacks to global queue. (Tex…

    …tureGroup#1369)
    
    * Launches switching ASNetworkImageNode callbacks to global queue.
    
    * Good catch configuration tests!
    garrettmoon authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    9d633d5 View commit details
    Browse the repository at this point in the history
  23. Make ASTextNode2 more forgiving when searching for links (TextureGrou…

    …p#1374)
    
    * Make ASTextNode2 more forgiving when searching for links by searching a 44x44 square around the touch
    
    * Trailing whitespace
    
    * Safely handle end-of-line
    Adlai-Holler authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    5b1e14c View commit details
    Browse the repository at this point in the history
  24. Experiment with different strategies for image downloader priority (T…

    …extureGroup#1349)
    
    Right now when an image node enters preload state, we kick off an image request with the default priority. Then when it enters display state, we change the priority to "imminent" which is mapped to the default priority as well. This means that requests from preload and display nodes have the same priority and are put to the same pool. The right behavior would be that preload requests should have a lower priority from the beginning.
    
    Another problem is that, due to the execution order of -didEnter(Preload|Display|Visible)State calls, a node may kick off a low priority request when it enters preload state even though it knows that it's also visible. By the time -didEnterVisibleState is called, the low priority request may have already been consumed and the download/data task won't pick up the new higher priority, or some work needs to be done to move it to another queue. A better behavior would be to always use the current interface state to determine the priority. This means that visible nodes will kick off high priority requests as soon as -didEnterPreloadState is called.
    
    The last (and smaller) issue is that a node marks its request as preload/low priority as soon as it exits visible state. I'd argue that this is too agressive. It may be reasonble for nodes in the trailing direction. Even so, we already handle this case by (almost always) have smaller trailing buffers. So this diff makes sure that nodes that exited visible state will have imminent/default priority if they remain in the display range.
    
    All of these new behaviors are wrapped in an experiment and will be tested carefully before being rolled out.
    
    * Add imports
    
    * Fix build failure
    
    * Encapsulate common logics into methods
    
    * Address comments
    nguyenhuy authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    0547eaa View commit details
    Browse the repository at this point in the history
  25. Whoops, someone forgot an else! (TextureGroup#1385)

    Luckily it seems this didn't cause huge memory bloat because there's
    a check below that keeps the display flag from being set in low memory
    conditions when the node is off the screen.
    garrettmoon authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    54ddc3d View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    4a16e99 View commit details
    Browse the repository at this point in the history
  27. Correct View vs. Layer here (tho it doesn't make any difference) (Tex…

    …tureGroup#1378)
    
    Older FBSnapshot versions, however, don't use VerifyViewOrLayer
    wiseoldduck authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    5827e97 View commit details
    Browse the repository at this point in the history
  28. Expose initial constrained size before layout in case anyone is inter…

    …ested later during the layout on the same thread. (TextureGroup#1377)
    
    Optionally, clients are expected to clean it up after usage to avoid accessing outdated data.
    wiseoldduck authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    2c0dfda View commit details
    Browse the repository at this point in the history
  29. Assert for context creation failure during displayBlock. (TextureGrou…

    …p#1373)
    
    Nothing good can possibly happen if we continue without one.
    wiseoldduck authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    975cd37 View commit details
    Browse the repository at this point in the history
  30. Fix an issue where state change notifications can be sent mulitple ti…

    …mes. (TextureGroup#1372)
    
    Before the change: both - (void)setShouldInvertStrongReference:(BOOL)shouldInvertStrongReference and - (void)setNode:(ASDisplayNode *)node will call through [self setupReferencesWithNode:node]; which call the [node addInterfaceStateDelegate:self];
    wiseoldduck authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    46e2a81 View commit details
    Browse the repository at this point in the history
  31. Add Yoga support to ASButtonNode (TextureGroup#1381)

    * Add Yoga support to ASButtonNode
    
    * Drop unowned ASLayoutElementStyle parameter
    
    * Fix access of Yoga properties
    
    * Move ASButtonNode Yoga logic to Category
    
    * Update header
    maicki authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    17f9b00 View commit details
    Browse the repository at this point in the history
  32. Fix CTLineRef leaks (TextureGroup#1386)

    Found by Clang Static Analyzer:
    
    ~/Texture/Source/ASTextNode2.mm:663:39: warning: Potential leak of an object stored into 'truncationTokenLine'
          CTLineRef truncationTokenLine = CTLineCreateWithAttributedString((CFAttributedStringRef)_truncationAttributedText);
                                          ^
    ~/Texture/Source/ASTextNode2.mm:666:49: warning: Potential leak of an object stored into 'additionalTruncationTokenLine'
          CTLineRef additionalTruncationTokenLine = CTLineCreateWithAttributedString((CFAttributedStringRef)_additionalTruncationMessage);
                                                    ^
    2 warnings generated.
    bolsinga authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    f17b9e2 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    932289f View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    b20e007 View commit details
    Browse the repository at this point in the history
  35. Adds support for using UIGraphicsImageRenderer in ASTextNode. (Textur…

    …eGroup#1384)
    
    * Adds support for using UIGraphicsImageRenderer in ASTextNode.
    
    In many cases this reduces the backing store of text nodes by 1/2.
    
    * Guard for UIGraphicsRenderer availability.
    
    * Comma
    garrettmoon authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    19e7bc3 View commit details
    Browse the repository at this point in the history
  36. Add UIDataSourceModelAssociation to ASTableView and ASCollectionView (T…

    …extureGroup#1354)
    
    * Add UIDataSourceModelAssociation protocol conformance to ASTableView and ASCollectionView.
    
    * Implementing review feedback from @Adlai-Holler
    farktronix authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    36d14ac View commit details
    Browse the repository at this point in the history
  37. Rename ASDN C++ namespace to AS (TextureGroup#1366)

    * Rename ASDN C++ namespace to "AS." Referring to the framework as ASDisplayNode is pretty out-dated and verbose. See CoreAnimation which usees CA for their internal namespace.
    
    More using
    
    * More cases
    Adlai-Holler authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    fbddcd4 View commit details
    Browse the repository at this point in the history
  38. Clean up a clang analyzer cast error (TextureGroup#1387)

    ~/Texture/Source/Private/ASMutableElementMap.mm:32:24: warning: Conversion from value of type 'NSMutableArray<NSMutableArray *> *' to incompatible type 'ASMutableCollectionElementTwoDimensionalArray *'
        _sectionsOfItems = (id)ASTwoDimensionalArrayDeepMutableCopy(items);
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1 warning generated.
    bolsinga authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    a1768e2 View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    f67f968 View commit details
    Browse the repository at this point in the history
  40. Remove experimental features (exp_skip_a11y_wait && exp_new_default_c…

    …ell_layout_mode) (TextureGroup#1383)
    
    * Remove experimental features
    
    * prevent blocking main thread
    
    * remove small content all together as none is the default
    
    * Update ASExperimentalFeatures.h
    ernestmama authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    fb5820a View commit details
    Browse the repository at this point in the history
  41. Make experiment checks faster (TextureGroup#1393)

    * Make experiment checks use dispatch_once when not debugging, clean up singleton
    
    * One more
    
    * Pull out the variable
    Adlai-Holler authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    ad53898 View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    79323c1 View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    d5339ac View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    902131a View commit details
    Browse the repository at this point in the history
  45. Configuration menu
    Copy the full SHA
    88291f2 View commit details
    Browse the repository at this point in the history
  46. Add layer-action support to nodes (TextureGroup#1396)

    * Add layer-action support to nodes, unify hierarchy notifications on it
    
    * Better pending state
    
    * Fix bool
    
    * Skip extra copy
    
    * Never run default actions
    
    * Continue the search
    Adlai-Holler authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    45d9050 View commit details
    Browse the repository at this point in the history
  47. Configuration menu
    Copy the full SHA
    602a1b2 View commit details
    Browse the repository at this point in the history
  48. Add clang-format for a common source code format (TextureGroup#1365)

    * Add clang-format
    
    * Update format to be as close as our current style
    maicki authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    ad0d4d6 View commit details
    Browse the repository at this point in the history
  49. Fix GIF Caching (TextureGroup#1405)

    ay8s authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    44846e8 View commit details
    Browse the repository at this point in the history
  50. Add support for reverse direction to yoga layouts (TextureGroup#1413)

    * Add support for reverse direction to yoga layouts
    
    * #ifdef YOGA yoga-specific additions
    
    * oops
    wiseoldduck authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    1bbddab View commit details
    Browse the repository at this point in the history
  51. Configuration menu
    Copy the full SHA
    66532c6 View commit details
    Browse the repository at this point in the history
  52. Fix bug in ASRangeController that causes some cell nodes of a collect…

    …ion view which is about to becomes invisible to load their backing view/layer and render (TextureGroup#1418)
    nguyenhuy authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    4766a0b View commit details
    Browse the repository at this point in the history
  53. Configuration menu
    Copy the full SHA
    30600cb View commit details
    Browse the repository at this point in the history
  54. Follow up on the ASRangeController fix in TextureGroup#1418 (TextureG…

    …roup#1419)
    
    The changes in TextureGroup#1418 is a bit too aggressive when it comes to nodes that are in display range. It forces those nodes to not preload.
    
    Also update the changes to avoid diluting the experiment data by triggering too broadly (i.e avoid triggering when the old and new implementations yield the same result leading to no behavior change).
    nguyenhuy authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    3415d1b View commit details
    Browse the repository at this point in the history
  55. Dev docs for threading in Texture (TextureGroup#1319)

    * Getting started on adding threading by example
    
    * writing writing writing
    
    * more info
    
    * More threading
    
    * More more more
    
    * Threading
    
    * self lock
    
    * Some language fixes
    
    * Update docs/_docs/development/threading.md
    
    Co-Authored-By: mikezucc <[email protected]>
    
    * fix image references
    mikezucc authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    c340fff View commit details
    Browse the repository at this point in the history
  56. Configuration menu
    Copy the full SHA
    6aaf0dc View commit details
    Browse the repository at this point in the history
  57. Configuration menu
    Copy the full SHA
    d34a182 View commit details
    Browse the repository at this point in the history
  58. Configuration menu
    Copy the full SHA
    b6a6b0f View commit details
    Browse the repository at this point in the history
  59. [Experiment] Dont forget about these collection view background deall…

    …ocs (TextureGroup#1424)
    
    * Dont forget about these collection view background deallocs
    
    * Also Table view for completeness
    mikezucc authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    a631803 View commit details
    Browse the repository at this point in the history
  60. Fix retain cycle with transaction operations (TextureGroup#1429)

    Add unit tests that help find cycles. `-testWeakWithSingleOperation` fails without the code fix applied.
    bolsinga authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    6b81f5a View commit details
    Browse the repository at this point in the history
  61. Replace +load initializers with __attribute__((constructor)) functions (

    TextureGroup#1425)
    
    * Replace +load initializers with __attribute__((constructor)) functions
    
    * Updating the documentation for textureDidInitialize, per @nguyenhuy
    farktronix authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    7d105ec View commit details
    Browse the repository at this point in the history
  62. Fix dealloc on bg (TextureGroup#1410)

    * fix SIMULATE_WEB_RESPONSE not imported TextureGroup#449
    
    * Fix to make rangeMode update in right time
    
    * remove uncessary assert
    
    * Fix collection cell editing bug for iOS 9 & 10
    
    * Revert "Fix collection cell editing bug for iOS 9 & 10"
    
    This reverts commit 06e18a1.
    
    * Fix dealloc long gesture in background
    wsdwsd0829 authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    2234c47 View commit details
    Browse the repository at this point in the history
  63. Add support for clipping only specific corners, add unit tests (Textu…

    …reGroup#1415)
    
    * Add support for clipping only specific corners, add unit tests
    
    * Remove some cleanup to make the diff smaller
    
    * Fix
    Adlai-Holler authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    c47d6d5 View commit details
    Browse the repository at this point in the history
  64. [ASImageNode]fix incorrect backing size calculation (TextureGroup#1189)

    * fix backing size for image node which content mode is scaleAspectFit
    
    * chore: update comments and naming
    
    * add change log
    
    * Update CHANGELOG.md
    
    * Update CHANGELOG.md
    
    Co-Authored-By: junjielu <[email protected]>
    
    * add unit test for backing size calculation
    
    * correct license
    junjielu authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    fb1a586 View commit details
    Browse the repository at this point in the history
  65. Have image nodes draw into opaque contexts automatically if possible (T…

    …extureGroup#1432)
    
    * Have image nodes draw into opaque contexts if the image is opaque and it fills the context
    
    * Call backingSize once
    Adlai-Holler authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    976fd43 View commit details
    Browse the repository at this point in the history
  66. Configuration menu
    Copy the full SHA
    c345733 View commit details
    Browse the repository at this point in the history
  67. [ASDisplayNode] Stop infinite layout in _u_measureNodeWithBoundsIfNec…

    …essary (TextureGroup#1434)
    
    We came across an infinite layout loop in `_u_measureNodeWithBoundsIfNecessary`. After requesting a layout from above, the sizes between pending and caluclated layout still do not match. We continue to prefer to use the pending layout and ask for another layout loop from above. We can’t seem to break out of this loop. The solution (thanks to Huy for the guidance) was to nil out the pending layout we get from requesting the layout from above.
    
    I was only able to reproduce this when working with a node in a `UINavigationBarItem’s` `titleView`. I think that UIKit must be doing something sneaky with setting the frame on the view. While I was not able to create a unit test to catch this issue (I tried for a long time, and can post what I’ve come up with to see if anyone has any suggestions), I was able to create a pretty simple example project that shows the behavior:
    https://github.com/rcancro/TextureLayoutLoopExample
    rcancro authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    0143c9f View commit details
    Browse the repository at this point in the history
  68. Add a verbose log for locking operations. Has no effect in production (

    …TextureGroup#1436)
    
    * Add a verbose log for locking operations. Has no effect in production
    
    * Need check
    Adlai-Holler authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    ef10f42 View commit details
    Browse the repository at this point in the history
  69. Wrap transaction operation retain cycle fix in an experiment (Texture…

    …Group#1438)
    
    * Wrap transaction operation retain cycle fix in an experiment
    
    This is a follow on to TextureGroup#1429.
    
    * fix typo in experiment name. fix copyright in tests file.
    bolsinga authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    026eb1d View commit details
    Browse the repository at this point in the history
  70. Fix scroll node in yoga (TextureGroup#1435)

    * fix SIMULATE_WEB_RESPONSE not imported TextureGroup#449
    
    * Fix to make rangeMode update in right time
    
    * remove uncessary assert
    
    * Fix collection cell editing bug for iOS 9 & 10
    
    * Revert "Fix collection cell editing bug for iOS 9 & 10"
    
    This reverts commit 06e18a1.
    
    * Fix child not fit to full scroll node's bounds when flex_grow = 1.0 is used on child
    wsdwsd0829 authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    da3d4a2 View commit details
    Browse the repository at this point in the history
  71. Fix the stub for layerActionForKey: to let CA continue the search (Te…

    …xtureGroup#1441)
    
    * Fix the stub for layerActionForKey: to let CA continue the search
    
    * Kick CI
    Adlai-Holler authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    14c1b76 View commit details
    Browse the repository at this point in the history
  72. Configuration menu
    Copy the full SHA
    9fed474 View commit details
    Browse the repository at this point in the history
  73. Use instance lock for ASPrimitiveTraitCollection (TextureGroup#1442)

    * Use instance lock for ASPrimitiveTraitCollection
    
    * Remove the atomic
    maicki authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    0a94eb0 View commit details
    Browse the repository at this point in the history
  74. Configuration menu
    Copy the full SHA
    7930476 View commit details
    Browse the repository at this point in the history
  75. Configuration menu
    Copy the full SHA
    4ec9ac6 View commit details
    Browse the repository at this point in the history
  76. Configuration menu
    Copy the full SHA
    8dea604 View commit details
    Browse the repository at this point in the history
  77. Configuration menu
    Copy the full SHA
    377aeeb View commit details
    Browse the repository at this point in the history
  78. Configuration menu
    Copy the full SHA
    70b1161 View commit details
    Browse the repository at this point in the history
  79. Configuration menu
    Copy the full SHA
    5e98f46 View commit details
    Browse the repository at this point in the history
  80. [TextureGroup#1451] Add support for UIAccessibilityCustomAction (Text…

    …ureGroup#1452)
    
    This PR adds support for UIAccessibilityCustomAction propagation through ASPendingState so that it can be picked up by VoiceOver.
    shamanskyh authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    3ca9f0c View commit details
    Browse the repository at this point in the history
  81. Shut down graphics contexts experiment (TextureGroup#1458)

    * Shut down graphics contexts experiment
    
    * Remove dead import
    
    * Remove gone class
    Adlai-Holler authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    dcd9905 View commit details
    Browse the repository at this point in the history
  82. Remove lock of ASTextNodeRendererKey (TextureGroup#1454)

    * Remove lock of ASTextNodeRendererKey
    
    * Remove class check for isEqual
    
    * Add const specifier to function parameter
    
    * Fixes typo
    
    * Fixes typo
    zhongwuzw authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    429891d View commit details
    Browse the repository at this point in the history
  83. Configuration menu
    Copy the full SHA
    6f1d359 View commit details
    Browse the repository at this point in the history
  84. Try to remove global lock when initialising TextKit components (Textu…

    …reGroup#1455)
    
    * Try to remove global lock when initialising TextKit components
    
    * Adding experiment flag to dis/enable lock of textkit component
    
    * Adding tests
    
    * code clean
    
    fix typo
    
    Make remove lock optional
    
    Keep locks
    
    code clean
    zhongwuzw authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    b0aabba View commit details
    Browse the repository at this point in the history
  85. Make ASCollectionNode's pan gesture customizable (TextureGroup#1457)

    * changes done
    
    * complete set of uigesturedeleagte methods
    OskarZhang authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    68a16b2 View commit details
    Browse the repository at this point in the history
  86. Configuration menu
    Copy the full SHA
    601d4e2 View commit details
    Browse the repository at this point in the history
  87. Configuration menu
    Copy the full SHA
    46f0266 View commit details
    Browse the repository at this point in the history
  88. Remove ASEventLog (TextureGroup#1460)

    * Remove ASEventLog. We'll focus on ASLog for the future, possibly making it triggerable on a per-node basis
    
    * See ya!
    
    * Hello semicolon
    
    * Remove refs to gone tree methods
    
    * Fix
    
    * Remove irrelevant change, kick CI
    
    * Clean up
    Adlai-Holler authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    1a7fdb8 View commit details
    Browse the repository at this point in the history
  89. Configuration menu
    Copy the full SHA
    7757a60 View commit details
    Browse the repository at this point in the history
  90. Passthrough pagingEnabled for ASCollectionNode / ASTableNode (Texture…

    …Group#1466)
    
    * Passthrough pagingEnabled for ASCollectionNode and ASTableNode
    
    * Add tvOS handling
    maicki authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    6346e49 View commit details
    Browse the repository at this point in the history
  91. Configuration menu
    Copy the full SHA
    de7a206 View commit details
    Browse the repository at this point in the history
  92. Make sure all ASDisplayNode properties have backing ivars for consist…

    …ency. (TextureGroup#1475)
    
    * Make sure all ASDisplayNodes have backing ivars for consistency.
    
    Found this by enabling #pragma clang diagnostic error "-Wobjc-missing-property-synthesis" for ASDisplayNode. One property is unused, saving 8 bytes of heap space per instance on 64-bit builds. Implement setter/getters for these properties, and add appropriate locking. add the warning as error to the build for this file.
    Greg Bolsinga authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    aee694b View commit details
    Browse the repository at this point in the history
  93. Ensure ASControlMode properties lock before accessing their ivars (Te…

    …xtureGroup#1476)
    
    Enable `#pragma clang diagnostic error "-Wobjc-missing-property-synthesis"` for this file.
    Greg Bolsinga authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    5995708 View commit details
    Browse the repository at this point in the history
  94. Add a new "global drawing" experiment to use UIGraphicsRenderer (Text…

    …ureGroup#1469)
    
    * Add a new "global drawing" experiment to use UIGraphicsRenderer everywhere, when available
    
    * Fix logic
    
    * Use preferredFormat
    Adlai-Holler authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    069f61b View commit details
    Browse the repository at this point in the history
  95. Configuration menu
    Copy the full SHA
    0ce0ad0 View commit details
    Browse the repository at this point in the history
  96. Clean up documentation issues around periods (TextureGroup#1490)

    There were so unnecessary `'` around periods for some reason. Just deleting those because they are distracting.
    amonshiz authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    3fe200f View commit details
    Browse the repository at this point in the history
  97. Configuration menu
    Copy the full SHA
    cdfa08f View commit details
    Browse the repository at this point in the history
  98. Configuration menu
    Copy the full SHA
    d758fc7 View commit details
    Browse the repository at this point in the history
  99. Shrink _ASCollectionPendingState from 144 to 128 bytes, a 12.5% reduc…

    …tion (TextureGroup#1485)
    
    * Shrink _ASCollectionPendingState from 144 to 128 bytes, a 12.5% reduction
    
    These objects accumulate in the heap, so reducing their size will allow more to accumulate before memory warnings.
    
    Group the `BOOL`s into a struct. Shrink the various stored `enum`s to fit the size of their contents. Move the ivars around so that the smaller `enum` are near eachother and the bitfield struct.
    
    * address review comments. move enums out. add comment. rename struct to _flags
    
    * fix a missing rename
    Greg Bolsinga authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    3e4ab11 View commit details
    Browse the repository at this point in the history
  100. Shrink _ASPendingState from 824 to 808 bytes, reduction of ~2% (Textu…

    …reGroup#1483)
    
    * Shrink _ASPendingState from 824 to 808 bytes, reduction of ~2%
    
    These objects accumulate in the heap, so reducing their size will allow more to accumulate before memory warnings.
    
    Shrink ASPendingState BOOLs. Use unsigned int for these bitfields for clarity. Separate from `_flags` as that struct is compared to `0` for testing. The `_boolFlags` struct is just storing other `BOOL`s.
    
    * rename struct fields as suggested in garret's review.
    Greg Bolsinga authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    44117ea View commit details
    Browse the repository at this point in the history
  101. Shrink ASDisplayNode from 1072 to 968 bytes, reduction of 10.74% (Tex…

    …tureGroup#1484)
    
    * Shrink ASDisplayNode from 1088 to 976 bytes, reduction of 11.48%
    
    These objects accumulate in the heap, so reducing their size will allow more to accumulate before memory warnings.
    
    Group the `BOOL`s into a struct. Shrink the various stored `enum`s to fit the size of their contents. Move the ivars around so that the smaller `enum` are near eachother and the bitfield struct.
    
    * Forgot to bit-field-ify placeholderEnable; new small size is 968, old size is 1072 (measured consistentlyl on iPhoneSE simulator). 10.74% reduction.
    Greg Bolsinga authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    01208b7 View commit details
    Browse the repository at this point in the history
  102. Shrink Button Node (TextureGroup#1494)

    Button: 1312 to 1288 bytes, running on iPhone SE simulator. 1.9% reduction.
    
    Shrink the enums it stores, and place them next to each other (along with a BOOL) to reduce instance size.
    Greg Bolsinga authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    8d0457c View commit details
    Browse the repository at this point in the history
  103. Shrink TextNode(2) (TextureGroup#1495)

    Running in iPhone SE Simulator:
    - ASTextNode: 1360 to 1352 bytes .6% reduction
    - ASTextNode2: 1360 to 1304 bytes 4.3% redction
    
    Shrink stored enum sizes. Group BOOLs near these smaller enums. Override -usingExperiment to return constant instead of never set, but allocated ivar.
    Greg Bolsinga authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    ad6b6ab View commit details
    Browse the repository at this point in the history
  104. Shrink Pager and Scroll Node (TextureGroup#1496)

    Running on iPhone SE Simulator:
    ASPagerNode 1240 to 1232 bytes .7% reduction
    ASScrollNode 1104 to 1096 bytes .7% reduction
    
    - make ASScrollNode smaller by shrinking ASScrollDirection, which requires a change to ASRangeController
    - shrink ASPagerNode by declaring the BOOL next to the struct
    Greg Bolsinga authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    b6fedde View commit details
    Browse the repository at this point in the history
  105. Shrink ASImageNode by .6% and ASNetworkImageNode by 2.2% (TextureGrou…

    …p#1487)
    
    * Shrink ASImageNode by .6% and ASNetworkImageNode by 2.2%
    
    ASImageNode goes from 1384 to 1376. ASNetworkImageNode goes from 1496 to 1464.
    
    These objects accumulate in the heap, so reducing their size will allow more to accumulate before memory warnings.
    
    Group the `BOOL`s into a struct. Shrink the various stored `enum`s to fit the size of their contents. Move the ivars around so that the smaller `enum` are near eachother and the bitfield struct.
    
    * add comments as requested in garrett's review.
    
    * access ivar directly since already locked as suggested in review.
    Greg Bolsinga authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    d2ffbc0 View commit details
    Browse the repository at this point in the history
  106. Configuration menu
    Copy the full SHA
    d62967f View commit details
    Browse the repository at this point in the history
  107. Keep the atomics - does not affect memory work (TextureGroup#1498)

    Revert "Ensure ASControlMode properties lock before accessing their ivars (TextureGroup#1476)"
    This reverts commit ce1e195.
    
    Revert "Make sure all ASDisplayNode properties have backing ivars for consistency. (TextureGroup#1475)"
    This reverts commit d6061f4.
    - Except the unused property `interfaceStateSuspended` is still removed (this is a memory saver).
    Greg Bolsinga authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    9eb4053 View commit details
    Browse the repository at this point in the history
  108. Shrink ASCellNode by 8 bytes (TextureGroup#1499)

    Group the BOOLs together, since there are only 4 (and there are no other auto-generated ivars that are < 64 bits) this is sufficient and keeps the properties `atomic`.
    Greg Bolsinga authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    b4ed8c9 View commit details
    Browse the repository at this point in the history
  109. Shrink ASEditableTextNode by 16 bytes (TextureGroup#1500)

    Just shuffle some BOOLs around and explicitly declare an ivar so it is grouped with the others.
    Greg Bolsinga authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    27ef809 View commit details
    Browse the repository at this point in the history
  110. ASSignpost: Add support for the os_signpost API, fixes (TextureGroup#…

    …1501)
    
    * ASSignpost: Add support for the os_signpost API
    
    - Removes support for colored intervals. These weren't really useful and they aren't part of the signpost api.
    - Fixes an issue with range controller interval logging.
    - Adds an interval for interface orientation changes.
    
    * Rename
    
    * Support Xcode 9
    
    * Commentary
    Adlai-Holler authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    8892800 View commit details
    Browse the repository at this point in the history
  111. Shrink ASLayout (TextureGroup#1503)

    - Shrink the enum. Save 8 bytes. There are 1000s of these in the heap after running Pinterest for 10 minutes.
    Greg Bolsinga authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    6329cf2 View commit details
    Browse the repository at this point in the history
  112. Cleanup whitespace #trivial (TextureGroup#1507)

    (It's easier to deal with these as silly oneoffs IMO than to
    have them conflated with real work)
    wiseoldduck authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    a1b28e7 View commit details
    Browse the repository at this point in the history
  113. Shrink LayoutSpec classes (TextureGroup#1502)

    - Resize enums to make `ASStackLayoutSpec` 40 bytes smaller. This applies to the subclasses too.
    Greg Bolsinga authored and hebertialmeida committed May 10, 2019
    Configuration menu
    Copy the full SHA
    79a9982 View commit details
    Browse the repository at this point in the history
  114. Configuration menu
    Copy the full SHA
    1ffbc64 View commit details
    Browse the repository at this point in the history

Commits on May 20, 2020

  1. Configuration menu
    Copy the full SHA
    99e68a0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    238d5ff View commit details
    Browse the repository at this point in the history