New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lexical kg-cards missing on website after ghost update with zip #18948
Comments
An example from the website I'm running (lyonel-feininger-gymnasium.de): As you can see, the snow picture is nowhere to be seen. |
Ok, I've got some more information: Here is the code snippet from the working original docker version
And here the one I'm getting with my updated version inside docker
Now the question where does this go wrong? |
Another Update: Result: So it seems like in the build or update process the reference to the js for the kg-cards/nodes goes missing. log output
lfg-ghost | CodeBlockNode must implement static "getType" method
lfg-ghost | CodeBlockNode must implement static "clone" method
lfg-ghost | CodeBlockNode must implement "decorate" method
lfg-ghost | CodeBlockNode should implement "importJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | CodeBlockNode should implement "exportJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | ImageNode must implement static "getType" method
lfg-ghost | ImageNode must implement static "clone" method
lfg-ghost | ImageNode must implement "decorate" method
lfg-ghost | ImageNode should implement "importJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | MarkdownNode must implement static "getType" method
lfg-ghost | MarkdownNode must implement static "clone" method
lfg-ghost | MarkdownNode must implement "decorate" method
lfg-ghost | MarkdownNode should implement "importJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | MarkdownNode should implement "exportJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | VideoNode must implement static "getType" method
lfg-ghost | VideoNode must implement static "clone" method
lfg-ghost | VideoNode must implement "decorate" method
lfg-ghost | VideoNode should implement "importJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | AudioNode must implement static "getType" method
lfg-ghost | AudioNode must implement static "clone" method
lfg-ghost | AudioNode must implement "decorate" method
lfg-ghost | AudioNode should implement "importJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | AudioNode should implement "exportJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | CalloutNode must implement static "getType" method
lfg-ghost | CalloutNode must implement static "clone" method
lfg-ghost | CalloutNode must implement "decorate" method
lfg-ghost | CalloutNode should implement "importJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | CalloutNode should implement "exportJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | HorizontalRuleNode must implement static "getType" method
lfg-ghost | HorizontalRuleNode must implement static "clone" method
lfg-ghost | HorizontalRuleNode must implement "decorate" method
lfg-ghost | HorizontalRuleNode should implement "importJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | HorizontalRuleNode should implement "exportJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | HtmlNode must implement static "getType" method
lfg-ghost | HtmlNode must implement static "clone" method
lfg-ghost | HtmlNode must implement "decorate" method
lfg-ghost | HtmlNode should implement "importJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | HtmlNode should implement "exportJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | FileNode must implement static "getType" method
lfg-ghost | FileNode must implement static "clone" method
lfg-ghost | FileNode must implement "decorate" method
lfg-ghost | FileNode should implement "importJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | ToggleNode must implement static "getType" method
lfg-ghost | ToggleNode must implement static "clone" method
lfg-ghost | ToggleNode must implement "decorate" method
lfg-ghost | ToggleNode should implement "importJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | ToggleNode should implement "exportJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | ButtonNode must implement static "getType" method
lfg-ghost | ButtonNode must implement static "clone" method
lfg-ghost | ButtonNode must implement "decorate" method
lfg-ghost | ButtonNode should implement "importJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | ButtonNode should implement "exportJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | HeaderNode must implement static "getType" method
lfg-ghost | HeaderNode must implement static "clone" method
lfg-ghost | HeaderNode must implement "decorate" method
lfg-ghost | HeaderNode should implement "importJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | HeaderNode should implement "exportJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | BookmarkNode must implement static "getType" method
lfg-ghost | BookmarkNode must implement static "clone" method
lfg-ghost | BookmarkNode must implement "decorate" method
lfg-ghost | PaywallNode must implement static "getType" method
lfg-ghost | PaywallNode must implement static "clone" method
lfg-ghost | PaywallNode must implement "decorate" method
lfg-ghost | PaywallNode should implement "importJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | PaywallNode should implement "exportJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | ProductNode must implement static "getType" method
lfg-ghost | ProductNode must implement static "clone" method
lfg-ghost | ProductNode must implement "decorate" method
lfg-ghost | ProductNode should implement "importJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | EmbedNode must implement static "getType" method
lfg-ghost | EmbedNode must implement static "clone" method
lfg-ghost | EmbedNode must implement "decorate" method
lfg-ghost | EmbedNode should implement "importJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | EmbedNode should implement "exportJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | EmailNode must implement static "getType" method
lfg-ghost | EmailNode must implement static "clone" method
lfg-ghost | EmailNode must implement "decorate" method
lfg-ghost | EmailNode should implement "importJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | EmailNode should implement "exportJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | GalleryNode must implement static "getType" method
lfg-ghost | GalleryNode must implement static "clone" method
lfg-ghost | GalleryNode must implement "decorate" method
lfg-ghost | GalleryNode should implement "importJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | GalleryNode should implement "exportJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | EmailCtaNode must implement static "getType" method
lfg-ghost | EmailCtaNode must implement static "clone" method
lfg-ghost | EmailCtaNode must implement "decorate" method
lfg-ghost | EmailCtaNode should implement "importJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | EmailCtaNode should implement "exportJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | SignupNode must implement static "getType" method
lfg-ghost | SignupNode must implement static "clone" method
lfg-ghost | SignupNode must implement "decorate" method
lfg-ghost | SignupNode should implement "importJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | SignupNode should implement "exportJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | CollectionNode must implement static "getType" method
lfg-ghost | CollectionNode must implement static "clone" method
lfg-ghost | CollectionNode must implement "decorate" method
lfg-ghost | CollectionNode should implement "importJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | CollectionNode should implement "exportJSON" method to ensure JSON and default HTML serialization works as expected
lfg-ghost | [2023-11-12 21:53:13] INFO Adding one-off job to queue with current length = 0 called 'sendWebmentions'
lfg-ghost | [2023-11-12 21:53:13] INFO "PUT /ghost/api/admin/posts/654ff84b2fecd90001949776/?formats=mobiledoc%2Clexical&save_revision=1&include=tags%2Cauthors%2Cauthors.roles%2Cemail%2Ctiers%2Cnewsletter%2Ccount.clicks%2Cpost_revisions%2Cpost_revisions.author" 200 133ms
|
Something in the build system is broken. I build my docker instance similar to how you do it, and since 5.71.0, at least, I get two The duplicate module import creates two definitions of KoenigDecoratorNode. This causes the I know very little about Ghost's build system, but someone with more knowledge than me should be able to fix this fairly quickly. The official images do not exhibit this problem. They may be building ghost differently. |
Wow great! Thanks @sergiosgc Looks like When I delete the line in the Maybe this could be a valid fix? |
This issue is currently awaiting triage from @daniellockyer. We're having a busy time right now, but we'll update this issue ASAP. If you have any more information to help us triage faster please leave us some comments. Thank you for understanding 🙂 |
This problem seems to impact Ghost(Pro) subscribers as well. I have a JavaScript code that uses the Admin API JavaScript Client that updates the content of one post. It used to work but now isn't working. I am seeing no errors. The post history shows that it is being updated but the content isn't changing. If I recall correctly, the source for the blog post used to show that it uses a markdown card. Now, I don't see a markdown class in the post's source. I tried troubleshooting the code for several hours with the help of Bing AI to no avail. I agree, partially, with its observation:
I think the problem is that the API isn't creating the cards, so my post's history shows it is being updated but the Markdown card inside the post isn't changing. |
This issue is currently awaiting triage from @daniellockyer. We're having a busy time right now, but we'll update this issue ASAP. If you have any more information to help us triage faster please leave us some comments. Thank you for understanding 🙂 |
Our bot has automatically marked this issue as stale because there has not been any activity here in some time. The issue will be closed soon if there are no further updates, however we ask that you do not post comments to keep the issue open if you are not actively working on a PR. We keep the issue list minimal so we can keep focus on the most pressing issues. Closed issues can always be reopened if a new contributor is found. Thank you for understanding 🙂 |
Issue Summary
I updated my custom Ghost to version 5.71.2.
It runs fine in development via
yarn dev
, but upgrading the 5.70 docker with an .tgz file fromyarn archive
brings up some problems.When editing existing posts (mobiledoc) and saving them with the new editor (lexical) ALL images and other kg-cards will not show up anymore on the website of this post.
There is not a single error in webconsole or
docker-compose logs -f
during/saving editing or while upgrading ghost.When running the original 5.71 docker image or
yarn dev
everything runs fine without this issue.Looking into the sqlite database, I'll found that the lexical code is complete with the image.So it seems like an update problem, that I cant narrow down without some help.
Any idea how to fix this?
Steps to Reproduce
sudo docker-compose build
,sudo docker-compose up -d
Ghost Version
5.71.2
Node.js Version
18
How did you install Ghost?
docker-compose
Database type
SQLite3
Browser & OS version
Win 11/Ubuntu 20/Chrome/Firefox/Edge
Relevant log / error output
No response
Code of Conduct
The text was updated successfully, but these errors were encountered: