Incorrect ETag expiration for realtime changes endpoints in importers
We're using and always were using ETag caching for realtime changes endpoint, which is (by default) polled every 3 seconds: https://gitlab.com/gitlab-org/gitlab/blob/17f708417151518a2f86c259258ce106622aca1b/app/controllers/import/base_controller.rb#L21 However, it seems we never properly expire these caches - the only place where we expire it found in [github_controller.rb](https://gitlab.com/gitlab-org/gitlab/blob/0fb3f04c59e1e7912623f9afeb843def13cca4c0/app/controllers/import/github_controller.rb#L11) This means that status of imports is "for real" updated only when user leaves tab/comes back (in that case we restart polling and ETag is ignored). Additionally we're using [query params](https://gitlab.com/gitlab-org/gitlab/blob/17f708417151518a2f86c259258ce106622aca1b/app/controllers/import/base_controller.rb#L73) in this endpoint, which is against our caching documentation: > Do not use query parameters (for example ?scope=all) for endpoints where you want to enable ETag caching. The middleware takes into account only the request path and ignores query parameters. All parameters should be included in the request path https://docs.gitlab.com/ee/development/polling.html
epic