mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-25 06:50:55 +01:00
2b4c551b0e
Summary: Fixes T430. Fixes T4834. Obsoletes D7641. Currently, we do some things less-well than we could: - We just let the browser queue and prioritize requests, so if you load a revision with 50 changes and then click "Award Token", the action blocks until the changes load in most/all browsers. It would be better to prioritize this action and queue it immediately. - Similarly, changes tend to load in order, even if the user has clicked to a specific file. When the user expresses a preference for a specific file, we should prioritize it. - We show a spinning GIF when waiting on requests. This is appropriate for some types of reuqests, but distracting for others. To fix this: - Queue all (or, at least, most) requests into a new queue in JX.Router. - JX.Router handles prioritizing the requests. Principally: - You can submit a request with a specific priority (500 = general content loading, 1000 = default, 2000 = explicit user action) and JX.Router will get the higher stuff fired off sooner. - You can name requests and then adjust their prorities later, if the user expresses an interest in specific results. - Only use the spinner gif for "workflow" requests, which is bascially when the user clicked something and we're waiting on the server. I think it's useful and not-annoying in this case. - Don't show any status for draft requests. - For content requests, show a subtle hipster-style top loading bar. Test Plan: - Viewed a diff with 93 changes, and clicked award token. - Prior to this patch, the action took many many seconds to resolve. - After this patch, it resolves quickly. - Viewed a diff with 93 changes and saw a pleasant subtle hipster-style loading bar. - Viewed a diff with 93 changes and typed some draft text. Previews populated fairly quickly and there was no spinner. - Viewed a diff with 93 changes and clicked something with workflow, saw a spinner after a moment. - Viewed a diff with 93 changes and clicked a file in the table of contents near the end of the list. - Prior to this patch, it took a long time to show up. - After this patch, it loads directly. Reviewers: chad, btrahan Reviewed By: btrahan Subscribers: epriestley Maniphest Tasks: T430, T4834 Differential Revision: https://secure.phabricator.com/D8979 |
||
---|---|---|
.. | ||
behavior-active-nav.js | ||
behavior-audio-source.js | ||
behavior-autofocus.js | ||
behavior-crop.js | ||
behavior-dark-console.js | ||
behavior-device.js | ||
behavior-drag-and-drop-textarea.js | ||
behavior-error-log.js | ||
behavior-fancy-datepicker.js | ||
behavior-file-tree.js | ||
behavior-form.js | ||
behavior-gesture.js | ||
behavior-global-drag-and-drop.js | ||
behavior-high-security-warning.js | ||
behavior-history-install.js | ||
behavior-hovercard.js | ||
behavior-keyboard-pager.js | ||
behavior-keyboard-shortcuts.js | ||
behavior-konami.js | ||
behavior-lightbox-attachments.js | ||
behavior-line-linker.js | ||
behavior-more.js | ||
behavior-object-selector.js | ||
behavior-oncopy.js | ||
behavior-phabricator-nav.js | ||
behavior-phabricator-remarkup-assist.js | ||
behavior-refresh-csrf.js | ||
behavior-remarkup-preview.js | ||
behavior-reveal-content.js | ||
behavior-search-typeahead.js | ||
behavior-select-on-click.js | ||
behavior-toggle-class.js | ||
behavior-tokenizer.js | ||
behavior-tooltip.js | ||
behavior-watch-anchor.js | ||
behavior-workflow.js | ||
Busy.js | ||
DragAndDropFileUpload.js | ||
DraggableList.js | ||
FileUpload.js | ||
Hovercard.js | ||
KeyboardShortcut.js | ||
KeyboardShortcutManager.js | ||
MultirowRowManager.js | ||
Notification.js | ||
phtize.js | ||
Prefab.js | ||
ShapedRequest.js | ||
TextAreaUtils.js | ||
ToolTip.js |