discourse/app/assets/javascripts
Sam 110e9a455b
FEATURE: when we fail to ship topic timings attempt to retry (#10916)
* FEATURE: when we fail to ship topic timings attempt to retry

This change amends it so

1. Topic timings are treated as background requests and subject to more
 aggressive rate limits.

2. If we notice an error when we ship timings we back off exponentially

The commit allows 405, 429, 500, 501, 502, 503 and 504 errors to be retried.

500+ errors usually happen when self hosters are rebuilding or some other
weird condition.

405 happens when site is in readonly.
429 happens when user is rate limited.

The retry cadence is hardcoded in AJAX_FAILURE_DELAYS, longest delay is
40 seconds, we may consider enlarging it.

After the last delay passes we give up and do not write timings to the
server.

* Address feedback

- Omit promise, no need to use promises in sendNextConsolidatedTiming
- Correct issue where >= -1 was used and > -1 was intended
- Use objects for consolidated timings instead of Array
- Stop using shift/unshift and instead use push / pop which are faster

* Move consolidated timing initialization to constructor

* Remove TODO and just console.warn if we have an issue
2020-10-16 09:49:55 +11:00
..
admin FIX: Error messages from editing user being swallowed (#10908) 2020-10-13 10:37:33 -05:00
confirm-new-email DEV: apply new coding standards (#10592) 2020-09-04 13:42:47 +02:00
discourse FEATURE: when we fail to ship topic timings attempt to retry (#10916) 2020-10-16 09:49:55 +11:00
discourse-common REFACTOR: Support bundling our admin section as an ember addon 2020-09-22 15:14:29 -04:00
docs DEV: enforces eslint’s curly rule to the codebase (#10720) 2020-09-22 16:28:28 +02:00
ember-addons DEV: Remove ember-addons (#9559) 2020-04-28 10:14:49 -04:00
locales DEV: apply new coding standards (#10592) 2020-09-04 13:42:47 +02:00
pretty-text FIX: empty highlighted_languages resulted in ["", "auto", "nohighlight"] (#10772) 2020-09-29 14:34:46 +02:00
select-kit FIX: disabled option for sk was not working correctly (#10900) 2020-10-13 11:31:07 +02:00
wizard REFACTOR: Import visit helper rather than using a global variable 2020-10-15 13:22:05 -04:00
activate-account.js DEV: apply new coding standards (#10592) 2020-09-04 13:42:47 +02:00
admin.js.erb Add support for plugins to declare ES6 in the admin bundle 2015-08-17 15:03:55 -04:00
app-boot.js DEV: apply new coding standards (#10592) 2020-09-04 13:42:47 +02:00
application.js REFACTOR: Remove Discourse.__widget_helpers 2020-08-06 14:35:46 -04:00
auto-redirect.js DEV: apply new coding standards (#10592) 2020-09-04 13:42:47 +02:00
browser-detect.js Improve support for old browsers (#9515) 2020-04-29 21:40:21 +03:00
discourse-loader.js REFACTOR: Import visit helper rather than using a global variable 2020-10-15 13:22:05 -04:00
discourse-shims.js Create proper shim for xss library - second attempt 2020-09-15 10:42:51 -04:00
embed-application.js DEV: apply new coding standards (#10592) 2020-09-04 13:42:47 +02:00
ember_include.js.erb move template compiler into vendor for now 2015-11-25 15:54:54 +11:00
ember_jquery.js Revert "Revert "DEV: Import MessageBus from message-bus-client instead of globals"" 2020-05-28 08:42:36 -04:00
env.js FIX: attempts to fix an error with EXTEND_PROTOTYPES (#7067) 2019-02-26 11:04:05 +01:00
google-tag-manager.js DEV: apply new coding standards (#10592) 2020-09-04 13:42:47 +02:00
google-universal-analytics.js Revert "FEATURE: Upgrade analytics.js to gtag.js (#10893)" (#10910) 2020-10-13 12:20:41 -05:00
handlebars-shim.js DEV: apply new coding standards (#10592) 2020-09-04 13:42:47 +02:00
main_include_admin.js REFACTOR: Support bundling our admin section as an ember addon 2020-09-22 15:14:29 -04:00
markdown-it-bundle.js REFACTOR: Do not rely on module order for discourse-markdown loading 2020-09-18 13:31:55 -04:00
onpopstate-handler.js DEV: apply new coding standards (#10592) 2020-09-04 13:42:47 +02:00
polyfills.js DEV: apply new coding standards (#10592) 2020-09-04 13:42:47 +02:00
pretty-text-bundle.js Create proper shim for xss library - second attempt 2020-09-15 10:42:51 -04:00
print-page.js DEV: apply new coding standards (#10592) 2020-09-04 13:42:47 +02:00
service-worker.js.erb FIX: Bypass serviceworker cache for auth routes 2020-03-31 14:24:02 -03:00
set-prototype-polyfill.js DEV: apply new coding standards (#10592) 2020-09-04 13:42:47 +02:00
start-discourse.js DEV: apply new coding standards (#10592) 2020-09-04 13:42:47 +02:00
template_include.js DEV: Support for import Handlebars from 'handlebars'; (#9600) 2020-04-30 16:41:02 -04:00
test-shims.js REFACTOR: Import visit helper rather than using a global variable 2020-10-15 13:22:05 -04:00
vendor.js REFACTOR: Remove $.cookie in favor of a local library based on it (#10548) 2020-08-27 14:07:51 -04:00
widget-runtime.js DEV: apply new coding standards (#10592) 2020-09-04 13:42:47 +02:00
wizard-application.js Revert "Revert "Merge branch 'master' of https://github.com/discourse/discourse"" 2020-05-23 00:56:13 -04:00
wizard-shims.js FIX: adds shims for popper in wizard (#10658) 2020-09-14 12:33:14 -04:00
wizard-start.js DEV: apply new coding standards (#10592) 2020-09-04 13:42:47 +02:00
wizard-vendor.js FIX: adds shims for popper in wizard (#10658) 2020-09-14 12:33:14 -04:00