Skip to content
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

fix: Updated content is not reflected on the View screen even after refreshing the page #9086

Merged
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions apps/app/src/stores/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ export const useTemplateBodyData = (initialData?: string): SWRResponse<string, E
export const useSWRxCurrentPage = (initialData?: IPagePopulatedToShowRevision|null): SWRResponse<IPagePopulatedToShowRevision|null> => {
const key = 'currentPage';

const { data: isLatestRevision } = useIsLatestRevision();

const { cache } = useSWRConfig();

// Problem 1: https://github.com/weseek/growi/pull/7772/files#diff-4c1708c4f959974166c15435c6b35950ba01bbf35e7e4b8e99efeb125a8000a7
Copy link
Member

@yuki-takei yuki-takei Sep 10, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ここの Problem 列挙コメントにこの問題へのリンクも追加した方がよさそう

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

追加しました

Expand All @@ -81,8 +83,11 @@ export const useSWRxCurrentPage = (initialData?: IPagePopulatedToShowRevision|nu
return true;
}

// mutate When a different revision is opened
if (cachedData.revision?._id != null && initialData.revision?._id != null && cachedData.revision._id !== initialData.revision._id) {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ページ更新時にもここが実行され、最後に getServerSideProps が実行された時 (対象ページに遷移時) の initialData が入ってしまうことで、ページ更新時に古い revisionBody が View に表示されてしまっていた。

// mutate when opening a previous revision.
if (!isLatestRevision
&& cachedData.revision?._id != null && initialData.revision?._id != null
&& cachedData.revision._id !== initialData.revision._id
) {
return true;
}

Expand Down
Loading