summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilipa Lacerda <filipa@gitlab.com>2017-03-17 10:04:19 +0000
committerFilipa Lacerda <filipa@gitlab.com>2017-03-17 10:04:19 +0000
commit7bc7fb5104062f8755682f09f28ec02473b2f313 (patch)
tree6f85d7c7d090e9cb4d82fa98073106f5494b0e9c
parent4bf4612cfbe73845391375bf721592426d7b4181 (diff)
downloadgitlab-ce-update-realtime-docs.tar.gz
Updates realtime documentation for the Frontendupdate-realtime-docs
-rw-r--r--doc/development/frontend.md21
1 files changed, 14 insertions, 7 deletions
diff --git a/doc/development/frontend.md b/doc/development/frontend.md
index 766b5f1f477..0f17e528e17 100644
--- a/doc/development/frontend.md
+++ b/doc/development/frontend.md
@@ -36,16 +36,23 @@ You can find documentation about the desired architecture for a new feature buil
When writing code for realtime features we have to keep a couple of things in mind:
1. Do not overload the server with requests.
-1. It should feel realtime.
+1. It should feel realtime.
-Thus, we must strike a balance between sending requests and the feeling of realtime. Use the following rules when creating realtime solutions.
+Thus, we must strike a balance between sending requests and the feeling of realtime.
+Use the following rules when creating realtime solutions.
-1. The server will tell you how much to poll by sending `X-Poll-Interval` in the header. Use that as your polling interval. This way it is easy for system administrators to change the polling rate. A `X-Poll-Interval: -1` means you should disable polling, and this must be implemented.
-1. A response of `HTTP 429 Too Many Requests`, should disable polling as well. This must also be implemented.
+1. The server will tell you how much to poll by sending `GitLab-Poll-Interval` in the header.
+Use that as your polling interval. This way it is easy for system administrators to change the
+polling rate.
+A `GitLab-Poll-Interval: -1` means you should disable polling, and this must be implemented.
+1. A response with HTTP status `4XX` or `5XX` should disable polling as well.
1. Use a common library for polling.
-1. Poll on active tabs only. Use a common library to find out which tab currently has eyes on it. Please use [Focus](https://gitlab.com/andrewn/focus). Specifically [Eyeballs Detector](https://gitlab.com/andrewn/focus/blob/master/lib/eyeballs-detector.js).
-1. Use regular polling intervals, do not use backoff polling, or jitter, as the interval will be controlled by the server.
-1. The backend code will most likely be using etags. You do not and should not check for status `304 Not Modified`. The browser will transform it for you.
+1. Poll on active tabs only. Use a common library to find out which tab currently has eyes on it.
+Please use [Focus](https://gitlab.com/andrewn/focus). Specifically [Eyeballs Detector](https://gitlab.com/andrewn/focus/blob/master/lib/eyeballs-detector.js).
+1. Use regular polling intervals, do not use backoff polling, or jitter, as the interval will be
+controlled by the server.
+1. The backend code will most likely be using etags. You do not and should not check for status
+`304 Not Modified`. The browser will transform it for you.
### Vue