about summary refs log tree commit diff
path: root/app/javascript/mastodon/base_polyfills.js
diff options
context:
space:
mode:
authorSorin Davidoi <sorin.davidoi@gmail.com>2017-05-24 17:55:00 +0200
committerEugen Rochko <eugen@zeonfederated.com>2017-05-24 17:55:00 +0200
commit8e4d1cba00b48bc52dc406956a245856c489e48a (patch)
tree80793edff7a146d5afc0b7df09da696d623111a6 /app/javascript/mastodon/base_polyfills.js
parent676ba50601d04dcd15930bb92aea918cb6cdf041 (diff)
Lazy load toots using IntersectionObserver (#3191)
* refactor(components/status_list): Lazy load using IntersectionObserver

* refactor(components/status_list): Avoid setState bottleneck

* refactor(components/status_list): Update state correctly

* fix(components/status): Render if isIntersecting is undefined

* refactor(components/status): Recycle timeout

* refactor(components/status): Reduce animation duration

* refactor(components/status): Use requestIdleCallback

* chore: Split polyfill bundles

* refactor(components/status_list): Increase rootMargin to 300%

* fix(components/status): Check if onRef is not defined

* chore: Add note about polyfill bundle splitting

* fix(components/status): Reduce animation duration to 0.3 seconds
Diffstat (limited to 'app/javascript/mastodon/base_polyfills.js')
-rw-r--r--app/javascript/mastodon/base_polyfills.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/app/javascript/mastodon/base_polyfills.js b/app/javascript/mastodon/base_polyfills.js
new file mode 100644
index 000000000..266a0020c
--- /dev/null
+++ b/app/javascript/mastodon/base_polyfills.js
@@ -0,0 +1,18 @@
+import 'intl';
+import 'intl/locale-data/jsonp/en.js';
+import 'es6-symbol/implement';
+import includes from 'array-includes';
+import assign from 'object-assign';
+import isNaN from 'is-nan';
+
+if (!Array.prototype.includes) {
+  includes.shim();
+}
+
+if (!Object.assign) {
+  Object.assign = assign;
+}
+
+if (!Number.isNaN) {
+  Number.isNaN = isNaN;
+}