4229 Commits

Author SHA1 Message Date
Adlai Holler
a7656766f9 Make Cell Node Properties Atomic (#74)
* Make ASCellNode indexPath and supplementaryElementKind atomic

* Update the change log

* Fix licenses

* Be explicit with atomic

* Rename the protocol

* And the file
2017-05-02 14:09:12 -07:00
Phil Larson
471f02daa7 Automatically resume ASVideoNode after returning from background (#13) 2017-05-02 13:13:16 -07:00
Adlai Holler
b1e1bfda20 Improve Our Handling of Subnodes (#223)
* Improve the subnodes/fast enumeration situation

* Increment changlag

* Assert our subnodes match
2017-05-02 13:02:07 -07:00
appleguy
71d5b3205d [ASNodeController+Beta] Provide an option to allow nodes to own their controllers. (#61)
* [ASNodeController+Beta] Provide an option to allow nodes to own their controllers.

We should certainly remove this before moving ASNodeController out of Beta. However, I think
it will require at least ASCollectionNode to be able to retain its top level set of node controllers.

Without this facility built in, it's very difficult for apps supporting both UIKit and ASDK to
manually manage the controllers and keep them in sync with perfect timing.

* [ASNodeController] Fix one of the #if's.
2017-05-01 10:51:59 -07:00
Adlai Holler
4d5e3ce81e Tighten Rasterization API, Undeprecate It (#82)
* Tamp down the rasterization API, and undeprecate it

* Update license header

* Update chornglorg

* Address comments
2017-05-01 08:26:37 -07:00
appleguy
03a1aa2660 [ASDisplayNode] Implement a std::atomic-based flag system for superb performance (#89)
* [ASDisplayNode] Convert isSynchronous to an Objective-C atomic BOOL.

This reduces lock contention, and should also fix a very rarely seen deadlock.

* [ASDisplayNode] Implement a std::atomic-based flag system for superb performance

Although Objective-C atomics are equally fast, or better that std::atomic when
access through method calls, for the most intense use cases it is best to avoid
method calls entirely.

In ASDisplayNode, we could benefit significantly from avoiding both method calls
(already true today) but also avoid locking the mutex, for both CPU and contention
gains.

There will still be many methods that need locking for transactional
consistency - however, there are currently dozens of accessor methods that could
avoid frequent lock / unlock cycles with use of atomics, and other usages of the
ivars directly where locking could be delayed until after early-return conditions
are checked and passed.
2017-04-29 23:10:59 -07:00
rewcraig
e18d1394e4 Fix issue with swipe to delete cell gesture. (#46)
Ensure superclass scroll view delegate methods are called when the scroll view parameter is not the current ASTableView.
2017-04-29 15:54:00 -07:00
Adlai Holler
456dc8535d Simplify Hashing Code (#86)
* Simplify hashing

* Update chingling

* Update license
2017-04-29 15:23:00 -07:00
appleguy
411817b58c [Yoga] Ensure that calculated layout is nil'd in invalidate*Layout (#87)
This is a simple additional fix to the last YOGA patch.
2017-04-29 15:06:23 -07:00
Levi McCallum
4745089044 Fix site header (#84) 2017-04-28 15:23:13 -07:00
Garrett Moon
120b60cd07 Remove unneeded buildkite files 2017-04-28 11:33:48 -07:00
appleguy
6f82d0f059 [Yoga Beta] Improvements to the experimental support for Yoga layout. (#59)
* [Yoga Beta] Improvements to the experimental support for Yoga layout.

Yoga remains an unsupported / speculative feature, but these improvements are important for
the functionality of clients that are experimenting with it.

For example, without these changes, ASButtonNode is not able to lay out correctly. These
changes allow certain subtrees that use layout specs to coexist properly in a Yoga heirarchy.

The most significant change here is moving ASEdgeInsets into the #if YOGA gating. Although
this is technically an API change, this type was added with no known use cases and is
really only useful for flexbox layout specification. So, before usages of it are created,
it makes sense to constrain the Texture API surface until that time.

* [RTL] Bridge the UISemanticContentAttribute property for more convenient RTL support.

Although apps could handle this before by setting the view's property in didLoad, it's
useful to bridge this property for setting during off-main initialization.

This change also makes RTL fully functional / automatic for Yoga layout users.

* Remove RTL property addition and depend on PR #60 landing first.

* Fix warnings

* Add line to changelog
2017-04-27 15:43:29 -07:00
Garrett Moon
95c3a68bac Update to 2.3.1 2017-04-27 14:30:02 -07:00
Garrett Moon
5cd7704a4d Don't run tests for the docs directory. (#79)
* Don't run tests for the docs directory.

* Don't need to build for this either.

* Spell it right;
2017-04-27 13:57:57 -07:00
Levi McCallum
d82f5076c8 Fix SCSS build (#78) 2017-04-27 13:42:40 -07:00
Garrett Moon
f92dd7f967 Fix documentation warning on ASCollectionLayoutState.h (#77) 2017-04-27 13:34:25 -07:00
Huy Nguyen
29d6d7df58 ASLayoutSpec to use more default implementations (#73) 2017-04-27 10:46:47 +01:00
appleguy
32c036f440 [CGPointNull] Rename globally exported C function to avoid collisions #trivial (#62)
* [CGPointNull] Rename globally exported C function to avoid collisions.

Some other frameworks also declare this. Let's try to minimize collisions
without making the name too ugly.

* Fix build errors
2017-04-26 17:21:01 -07:00
Adlai Holler
fbb14f5c7c Remove References to IGListSectionType, Now that It's Gone (#49)
* Remove references to IGListSectionType now that it’s gone

* Update changelog
2017-04-26 13:04:03 -07:00
Garrett Moon
c929a77178 Add danger-slack 2017-04-26 11:25:35 -07:00
Garrett Moon
820ad6ddd0 Update the CI to the new ruby version (#71) 2017-04-25 16:59:56 -07:00
djblake
1456366153 Missing a word (#68)
Missing `[ASInsetLayoutSpec` from ASInsetLayoutSpec creation line.
2017-04-25 07:22:24 -07:00
appleguy
09ad3b79b2 [RTL] Bridge the UISemanticContentAttribute property for more convenient RTL support. (#60)
Although apps could handle this before by setting the view's property in didLoad, it's
useful to bridge this property for setting during off-main initialization.

This change also makes RTL fully functional / automatic for Yoga layout users.
2017-04-24 20:08:03 -07:00
appleguy
ce91d3cb3c [ASCollectionView] Prevent prefetching from being enabled to eliminate overhead. (#65)
Some apps explicitly enable this, which is counterproductive with ASDK.
2017-04-24 20:06:28 -07:00
Garrett Moon
8013e25524 Update license v2 (#67)
* Fixed license

* Update all licenses

* Update Dangerfile for new license

* Update already updated licenses

* Closer…

* Closer…

* Closer…

* Closer…

* Closer…

* Closer…

* Closer…

* Closer…

* Closer…

* Closer…

* Closer…
2017-04-24 16:59:57 -07:00
Garrett Moon
2d6ccdb1d9 Fixes a potential deadlock; it's not safe to message likely super nod… (#56)
* Fixes a potential deadlock; it's not safe to message likely super nodes while holding the lock.

* I think this is what @nguyenhuy is looking for :)

* Fix up CHANGELOG.md
2017-04-24 11:25:28 -07:00
Philipp Smorygo
e45c68646a Fix __has_include check in ASLog.h #trivial (#55)
* Fix __has_include check in ASLog.h

* Fix __has_include check in ASLog.h

update changelog

* Fix __has_include check in ASLog.h

Add proper copyright in comment for ASLog.h
2017-04-22 16:50:22 +01:00
Huy Nguyen
e910af851e Layout debugger proposal (#52)
* RFC doc for layout debugger

* Fix typos

* Fix wordings
2017-04-22 16:48:22 +01:00
Stephen
1f69274a90 GLKit workaround #trivial (#54)
* GLKit workaround:
canClearContentsOfLayer now turned off for views with CAEAGLLayer

* Nits fixed

* Missed square bracket

* Copyright added
2017-04-22 16:47:02 +01:00
Garrett Moon
23e84f2ea4 Fixes header check to accept the 'new' header for modified files. (#50)
* Fixes header check to accept the 'new' header for modified files.

* Disable licensing header check for now, will re-enable when we have answers regarding simplification.
2017-04-21 09:18:03 -07:00
Levi McCallum
8ebd903e67 Move doc stylesheets to sass (#47) 2017-04-20 09:55:46 -07:00
Adlai Holler
67387c0978 Build a Tips system (#19) 2017-04-19 19:51:24 -07:00
Garrett Moon
92c1c1b43e Update the homepage URL (#10) 2017-04-19 19:51:02 -07:00
Garrett Moon
bd85ac71f9 Fixes for Dangerfile header checks (#45) 2017-04-19 19:50:40 -07:00
Garrett Moon
72c5579bf3 Add CHANGELOG.md 2017-04-19 17:46:30 -07:00
Garrett Moon
2568be581e Fix dumb mistake in dangerfile 2017-04-19 17:28:35 -07:00
Garrett Moon
0609e70245 Enforce header file changes (#44)
* Enforce header file changes

* cleanup
2017-04-19 17:22:58 -07:00
Garrett Moon
ec7479d819 Fix podspec twitter 2017-04-19 16:57:56 -07:00
Garrett Moon
86d13e4e13 Add danger (#18)
* Add Danger

* Move danger up

* Remove slather for now

* Have danger failures in log

* Add print out of API token for debugging

* Make verbose

* Make verbose for real

* Try this

* Revert "Try this"

This reverts commit 3bfc16382122ee1200ab82f8cbc76b967653606f.

* Try another thing

* Get rid of logging
2017-04-19 14:27:42 -07:00
Eugene Dymov
a9be79c977 Bumped PINRemoteImage (3.0.0-beta.9), PINCache (3.0.1-beta.4) (#37) 2017-04-19 14:17:42 -07:00
Phil Larson
dca67c3d49 Use _ASCollectionReusableView inside ASIGListSupplementaryViewSourceMethods (#40) 2017-04-19 13:26:35 -07:00
Huy Nguyen
ed5a13976b ASCollectionLayout needs to set size to measured cells (#24) 2017-04-19 10:35:50 -07:00
Levi McCallum
7c86faf42b Remove hero dropshadow (#35) 2017-04-18 17:37:31 -07:00
Levi McCallum
e727d9a75f Add announcement banner to documentation site (#31)
* Add announcement banner to documentation site

* Move css to the file

* Remove css from inline
2017-04-18 14:04:43 -07:00
Adlai Holler
fdb54a02d9 Fix case where we forget to unlock in ASNetworkImagenode (#17) 2017-04-17 11:38:07 -07:00
Garrett Moon
9f6ec95b53 Add blog post (#9) 2017-04-14 11:42:24 -07:00
Garrett Moon
b793613e04 Update podspec 2017-04-14 09:37:38 -07:00
Garrett Moon
722b8b2f53 Update media.css 2017-04-14 09:37:38 -07:00
Garrett Moon
0d658af1e6 New logo on github pages (#8) 2017-04-14 09:37:38 -07:00
Garrett Moon
3fe11f2fd5 New logo (#7) 2017-04-14 09:37:38 -07:00