Old feedback system data disappeared

The old feedback system’s data was imported during the migration to Discourse. It used to be available to view at the bottom of a user’s profile summary page. I just tried to view someone’s (and my own) but can no longer find it. I had just looked at someone’s about a month-ish back so perhaps a recent change broke displaying the data.

cc @codinghorror

4 Likes

Bump, pls bring this back. So much better than rep thread clutter, and encourages more feedback due to ease of access

Edit: and signatures too

4 Likes

Agreed. I think at one point I had the highest number of trade and sell feedback and would hate to have all that lost

5 Likes

Seems like it’s not showing up for any accounts that existed prior to the Discourse migration. I.e. for an account registered post July (?) 2018 migration, it shows:

Whereas on an older account that would have feedback from the old system, that spot is blank:

I suspect the data is still there and that something broke with respect to how it’s rendered on the front end.

Ahh, yep, there we go, stack trace in the console from an older user’s profile summary page:

Uncaught ReferenceError: assignment to undeclared variable feedback

I am not a javascript dev but I suspect it might be able to be fixed by declaring feedback by prepending the line w/ var. Perhaps it’s original instantiation was removed during a refactor, idk, again I’m not a js dev so could be talking completely out of my butt.

diff --git a/yoyoexpert-discourse-479d2a47407fa34fe7eac2e76fb4dd6c623618c5.js b/yoyoexpert-discourse-479d2a47407fa34fe7eac2e76fb4dd6c623618c5-patched.js
index 10ba176..d18c006 100644
--- a/yoyoexpert-discourse-479d2a47407fa34fe7eac2e76fb4dd6c623618c5.js
+++ b/yoyoexpert-discourse-479d2a47407fa34fe7eac2e76fb4dd6c623618c5-patched.js
@@ -161,7 +161,7 @@ define("discourse/theme-12/initializers/theme-field-46-common-html-script-1", ["
         api.createWidget("trade-stats", {
           tagName: "div.top-section",
           setupUserTrades: function setupUserTrades() {
-            feedback = user.get("custom_fields.feedbacks");
+            var feedback = user.get("custom_fields.feedbacks");
             fields = $.parseJSON(feedback).reverse();
             totalTrades = fields.length;
             buyTrade = $.grep(fields, function (e) {
3 Likes

Aha! So sorry, we got stricter on our theming system and this was a side effect. The fix is in and should be in place, my apologies!

(Also, anyone who wants a ti-vayder sticker… send me a PM.)

8 Likes

Thanks! I can now see the summary of the old trade feedback system on users’ profiles. Unfortunately running into a similar issue when you try to open the modal to view the feedback, an uninstantiated variable field causing a stacktrace. Once you click to view, the page gets the dimmed but the modal doesn’t load, can’t clear out the dimming without refreshing the page either.

diff --git a/yoyoexpert-1a5fc.js b/yoyoexpert-1a5fc-patched.js
index 5cd8160..cd8a584 100644
--- a/yoyoexpert-1a5fc.js
+++ b/yoyoexpert-1a5fc-patched.js
@@ -214,7 +214,7 @@ define("discourse/theme-12/initializers/theme-field-46-common-html-script-1", ["
             if (!hasTrades) return;
             var markup = [];
             $.each(fields, function () {
-              field = this;
+              var field = this;
               markup.push(h("div.feedback-wrapper", [h("div.from.margin-right", [h("a", {
                 href: "/u/".concat(field.from.username),
                 attributes: {

Hey Isaac :wave: Taylor here from Discourse. Thanks for pointing that other spot out! I just tested opening the feedback modal and I think we are all clear of errors now. Let me know if there are any further issues.

4 Likes

Confirmed, works as expected, thanks so much for the quick resolution!

4 Likes

Thanks for all your help here @Isaac!

2 Likes