From e06a2061313a05b0f20327d1a0f52b4cbccb1b93 Mon Sep 17 00:00:00 2001 From: Jarek Radosz Date: Mon, 31 May 2021 14:41:35 +0200 Subject: [PATCH] DEV: Remove `cache` option from `ajax()` (#13142) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. It defaults to `cache: true` already 2. Setting it to `false` for non-GET request doesn't do anything 3. We were correcting `cache: false` GET requests to use `cache: true` …so setting it to anything at all, for any type of request doesn't make sense (anymore) --- .../admin/addon/components/admin-report.js | 2 +- .../javascripts/discourse/app/lib/ajax.js | 4 --- .../discourse/app/lib/category-tag-search.js | 1 - .../discourse/app/lib/load-script.js | 1 - .../discourse/app/lib/screen-track.js | 1 - .../discourse/app/models/bookmark.js | 2 +- .../javascripts/discourse/app/models/post.js | 1 - .../app/models/user-drafts-stream.js | 2 +- .../discourse/app/models/user-posts-stream.js | 2 +- .../discourse/app/models/user-stream.js | 2 +- .../javascripts/discourse/app/models/user.js | 32 ++++++++----------- .../pre-initializers/theme-errors-handler.js | 1 - .../app/widgets/quick-access-bookmarks.js | 14 +++----- .../javascripts/pretty-text/addon/oneboxer.js | 1 - .../select-kit/addon/mixins/tags.js | 1 - 15 files changed, 23 insertions(+), 44 deletions(-) diff --git a/app/assets/javascripts/admin/addon/components/admin-report.js b/app/assets/javascripts/admin/addon/components/admin-report.js index 3ecf00451df..2fe0ab68d8d 100644 --- a/app/assets/javascripts/admin/addon/components/admin-report.js +++ b/app/assets/javascripts/admin/addon/components/admin-report.js @@ -366,7 +366,7 @@ export default Component.extend({ }, _buildPayload(facets) { - let payload = { data: { cache: true, facets } }; + let payload = { data: { facets } }; if (this.startDate) { payload.data.start_date = moment(this.startDate) diff --git a/app/assets/javascripts/discourse/app/lib/ajax.js b/app/assets/javascripts/discourse/app/lib/ajax.js index b7be9db2ec9..a47ed559dee 100644 --- a/app/assets/javascripts/discourse/app/lib/ajax.js +++ b/app/assets/javascripts/discourse/app/lib/ajax.js @@ -162,10 +162,6 @@ export function ajax() { args.headers["Discourse-Script"] = true; } - if (args.type === "GET" && args.cache !== true) { - args.cache = true; // Disable JQuery cache busting param, which was created to deal with IE8 - } - ajaxObj = $.ajax(getURL(url), args); } diff --git a/app/assets/javascripts/discourse/app/lib/category-tag-search.js b/app/assets/javascripts/discourse/app/lib/category-tag-search.js index ef84ac811f1..eba355ad616 100644 --- a/app/assets/javascripts/discourse/app/lib/category-tag-search.js +++ b/app/assets/javascripts/discourse/app/lib/category-tag-search.js @@ -33,7 +33,6 @@ function searchTags(term, categories, limit) { function () { oldSearch = $.ajax(getURL("/tags/filter/search"), { type: "GET", - cache: true, data: { limit: limit, q }, }); diff --git a/app/assets/javascripts/discourse/app/lib/load-script.js b/app/assets/javascripts/discourse/app/lib/load-script.js index 9eebebff36a..7966e41d476 100644 --- a/app/assets/javascripts/discourse/app/lib/load-script.js +++ b/app/assets/javascripts/discourse/app/lib/load-script.js @@ -99,7 +99,6 @@ export default function loadScript(url, opts) { ajax({ url: fullUrl, dataType: "text", - cache: true, }).then(cb); } else { // Always load JavaScript with script tag to avoid Content Security Policy inline violations diff --git a/app/assets/javascripts/discourse/app/lib/screen-track.js b/app/assets/javascripts/discourse/app/lib/screen-track.js index 0e17697f0ee..3391c8ccfea 100644 --- a/app/assets/javascripts/discourse/app/lib/screen-track.js +++ b/app/assets/javascripts/discourse/app/lib/screen-track.js @@ -156,7 +156,6 @@ export default class { ajax("/topics/timings", { data, - cache: false, type: "POST", headers: { "X-SILENCE-LOGGER": "true", diff --git a/app/assets/javascripts/discourse/app/models/bookmark.js b/app/assets/javascripts/discourse/app/models/bookmark.js index b18402dbd2b..208dcdb07cb 100644 --- a/app/assets/javascripts/discourse/app/models/bookmark.js +++ b/app/assets/javascripts/discourse/app/models/bookmark.js @@ -141,7 +141,7 @@ const Bookmark = RestModel.extend({ url += "?" + $.param(params); } - return ajax(url, { cache: "false" }); + return ajax(url); }, loadMore(additionalParams) { diff --git a/app/assets/javascripts/discourse/app/models/post.js b/app/assets/javascripts/discourse/app/models/post.js index 610fa3dd43c..5da002ab513 100644 --- a/app/assets/javascripts/discourse/app/models/post.js +++ b/app/assets/javascripts/discourse/app/models/post.js @@ -172,7 +172,6 @@ const Post = RestModel.extend({ return ajax(`/posts/${this.id}/recover`, { type: "PUT", - cache: false, }) .then((data) => { this.setProperties({ diff --git a/app/assets/javascripts/discourse/app/models/user-drafts-stream.js b/app/assets/javascripts/discourse/app/models/user-drafts-stream.js index 90864e13ffc..e703e5acb8a 100644 --- a/app/assets/javascripts/discourse/app/models/user-drafts-stream.js +++ b/app/assets/javascripts/discourse/app/models/user-drafts-stream.js @@ -66,7 +66,7 @@ export default RestModel.extend({ this.set("loading", true); - return ajax(findUrl, { cache: "false" }) + return ajax(findUrl) .then((result) => { if (result && result.no_results_help) { this.set("noContentHelp", result.no_results_help); diff --git a/app/assets/javascripts/discourse/app/models/user-posts-stream.js b/app/assets/javascripts/discourse/app/models/user-posts-stream.js index b152630bc19..53f48c9f247 100644 --- a/app/assets/javascripts/discourse/app/models/user-posts-stream.js +++ b/app/assets/javascripts/discourse/app/models/user-posts-stream.js @@ -50,7 +50,7 @@ export default EmberObject.extend({ this.set("loading", true); - return ajax(this.url, { cache: false }) + return ajax(this.url) .then((result) => { if (result) { const posts = result.map((post) => UserAction.create(post)); diff --git a/app/assets/javascripts/discourse/app/models/user-stream.js b/app/assets/javascripts/discourse/app/models/user-stream.js index b66c95d5169..21b6b53d2cf 100644 --- a/app/assets/javascripts/discourse/app/models/user-stream.js +++ b/app/assets/javascripts/discourse/app/models/user-stream.js @@ -100,7 +100,7 @@ export default RestModel.extend({ } this.set("loading", true); - return ajax(findUrl, { cache: "false" }) + return ajax(findUrl) .then((result) => { if (result && result.no_results_help) { this.set("noContentHelp", result.no_results_help); diff --git a/app/assets/javascripts/discourse/app/models/user.js b/app/assets/javascripts/discourse/app/models/user.js index 667f9153a46..4d8a9cfe083 100644 --- a/app/assets/javascripts/discourse/app/models/user.js +++ b/app/assets/javascripts/discourse/app/models/user.js @@ -524,27 +524,23 @@ const User = RestModel.extend({ loadUserAction(id) { const stream = this.stream; - return ajax(`/user_actions/${id}.json`, { cache: "false" }).then( - (result) => { - if (result && result.user_action) { - const ua = result.user_action; + return ajax(`/user_actions/${id}.json`).then((result) => { + if (result && result.user_action) { + const ua = result.user_action; - if ( - (this.get("stream.filter") || ua.action_type) !== ua.action_type - ) { - return; - } - if (!this.get("stream.filter") && !this.inAllStream(ua)) { - return; - } - - ua.title = emojiUnescape(escapeExpression(ua.title)); - const action = UserAction.collapseStream([UserAction.create(ua)]); - stream.set("itemsLoaded", stream.get("itemsLoaded") + 1); - stream.get("content").insertAt(0, action[0]); + if ((this.get("stream.filter") || ua.action_type) !== ua.action_type) { + return; } + if (!this.get("stream.filter") && !this.inAllStream(ua)) { + return; + } + + ua.title = emojiUnescape(escapeExpression(ua.title)); + const action = UserAction.collapseStream([UserAction.create(ua)]); + stream.set("itemsLoaded", stream.get("itemsLoaded") + 1); + stream.get("content").insertAt(0, action[0]); } - ); + }); }, inAllStream(ua) { diff --git a/app/assets/javascripts/discourse/app/pre-initializers/theme-errors-handler.js b/app/assets/javascripts/discourse/app/pre-initializers/theme-errors-handler.js index 05a9a0e153f..dd08a637ce9 100644 --- a/app/assets/javascripts/discourse/app/pre-initializers/theme-errors-handler.js +++ b/app/assets/javascripts/discourse/app/pre-initializers/theme-errors-handler.js @@ -29,7 +29,6 @@ function reportToLogster(name, error) { Ember.$.ajax(getURL("/logs/report_js_error"), { data, type: "POST", - cache: false, }); } diff --git a/app/assets/javascripts/discourse/app/widgets/quick-access-bookmarks.js b/app/assets/javascripts/discourse/app/widgets/quick-access-bookmarks.js index 4931ed97632..6d1e8463366 100644 --- a/app/assets/javascripts/discourse/app/widgets/quick-access-bookmarks.js +++ b/app/assets/javascripts/discourse/app/widgets/quick-access-bookmarks.js @@ -63,24 +63,18 @@ createWidgetFrom(QuickAccessPanel, "quick-access-bookmarks", { }, loadBookmarksWithReminders() { - return ajax(`/u/${this.currentUser.username}/bookmarks.json`, { - cache: "false", - }).then((result) => { - result = result.user_bookmark_list; - return result.bookmarks; - }); + return ajax(`/u/${this.currentUser.username}/bookmarks.json`).then( + ({ user_bookmark_list }) => user_bookmark_list.bookmarks + ); }, loadUserActivityBookmarks() { return ajax("/user_actions.json", { - cache: "false", data: { username: this.currentUser.username, filter: UserAction.TYPES.bookmarks, no_results_help_key: "user_activity.no_bookmarks", }, - }).then(({ user_actions }) => { - return user_actions; - }); + }).then(({ user_actions }) => user_actions); }, }); diff --git a/app/assets/javascripts/pretty-text/addon/oneboxer.js b/app/assets/javascripts/pretty-text/addon/oneboxer.js index dad766d216b..ada1bd4d4f2 100644 --- a/app/assets/javascripts/pretty-text/addon/oneboxer.js +++ b/app/assets/javascripts/pretty-text/addon/oneboxer.js @@ -71,7 +71,6 @@ function loadNext(ajax) { category_id: categoryId, topic_id: topicId, }, - cache: true, }) .then( (html) => { diff --git a/app/assets/javascripts/select-kit/addon/mixins/tags.js b/app/assets/javascripts/select-kit/addon/mixins/tags.js index b9240bd3f56..400e921dfc7 100644 --- a/app/assets/javascripts/select-kit/addon/mixins/tags.js +++ b/app/assets/javascripts/select-kit/addon/mixins/tags.js @@ -11,7 +11,6 @@ export default Mixin.create({ searchTags(url, data, callback) { return ajax(getURL(url), { quietMillis: 200, - cache: true, dataType: "json", data, })