FIX: Overwriting more computed properties

FIX: Overwriting more computed properties

diff --git a/app/assets/javascripts/discourse/app/widgets/post.js b/app/assets/javascripts/discourse/app/widgets/post.js
index 83e2fd2..93f988f 100644
--- a/app/assets/javascripts/discourse/app/widgets/post.js
+++ b/app/assets/javascripts/discourse/app/widgets/post.js
@@ -407,9 +407,7 @@ createWidget("post-contents", {
       result.push(
         h("section.embedded-posts.bottom", [
           repliesBelow.map(p => {
-            return this.attach("embedded-post", p, {
-              model: this.store.createRecord("post", p)
-            });
+            return this.attach("embedded-post", p, { model: p.asPost });
           }),
           this.attach("button", {
             title: "post.collapse",
@@ -449,8 +447,10 @@ createWidget("post-contents", {
       .find("post-reply", { postId: this.attrs.id })
       .then(posts => {
         this.state.repliesBelow = posts.map(p => {
-          p.shareUrl = `${topicUrl}/${p.post_number}`;
-          return transformWithCallbacks(p);
+          let result = transformWithCallbacks(p);
+          result.shareUrl = `${topicUrl}/${p.post_number}`;
+          result.asPost = this.store.createRecord("post", p);
+          return result;
         });
       });
   },
@@ -565,7 +565,7 @@ createWidget("post-article", {
     if (state.repliesAbove.length) {
       const replies = state.repliesAbove.map(p => {
         return this.attach("embedded-post", p, {
-          model: this.store.createRecord("post", p),
+          model: p.asPost,
           state: { above: true }
         });
       });
diff --git a/test/javascripts/widgets/post-stream-test.js b/test/javascripts/widgets/post-stream-test.js
index ed52e11..6b8276d 100644
--- a/test/javascripts/widgets/post-stream-test.js
+++ b/test/javascripts/widgets/post-stream-test.js
@@ -20,7 +20,8 @@ function postStreamTest(name, attrs) {
 postStreamTest("basics", {
   posts() {
     const site = this.container.lookup("site:main");
-    const topic = Topic.create({ details: { created_by: { id: 123 } } });
+    const topic = Topic.create();
+    topic.set("details.created_by", { id: 123 });
     return [
       Post.create({
         topic,
@@ -118,7 +119,8 @@ postStreamTest("basics", {
 
 postStreamTest("deleted posts", {
   posts() {
-    const topic = Topic.create({ details: { created_by: { id: 123 } } });
+    const topic = Topic.create();
+    topic.set("details.created_by", { id: 123 });
     return [
       Post.create({
         topic,

GitHub sha: 766cb249