Use ETag to improve performance of issue notes polling
Description
Improve performance of polling for issue notes by using caching with ETag as described in https://gitlab.com/gitlab-org/gitlab-ce/issues/26926.
- This is very unlikely to make the performance worse.
- It should provide quite generic mechanism that can be easily applied to other endpoints
- It will be implemented only in the Rails app
- It is performed before authentication and authorization to avoid querying the database on cache hit at all
Decisions
- Introduce new route
/:namespace/:project/noteable/:target_type/:target_id/notes
- Modify frontend code to pass
last_fetched_at
as a request header