오프 바이 원 오류로 최신 버전이 사라졌습니다

배경

특정 게시글에서 다른 편집자의 변경 사항이 무효화되는 것을 방지하기 위해 위키 편집과 공유 편집 기능이 모두 활성화되어 있었기 때문에, Discourse Shared Edits 이슈인지 wiki-posts 기능 때문인지 정확히 알 수 없습니다.

즉, 위키와 공유 편집이 모두 활성화된 단일 게시글의 경우…

버그 설명

편집자 A가 55번째 개정판을 생성하고 "완료"를 누릅니다.

편집자 B가 변경 사항을 확인하기 위해 바로 개정 이력으로 이동합니다. 개정판 수는 54 / 55로 표시되지만, 55번째 개정판에 접근할 수 있는 방법이 없습니다. 편집자 B가 변경 사항을 입력하면 이는 54번째 개정판을 기준으로 적용되어, 결과적으로 55번째 개정판이 완전히 제거됩니다.

버그 해결

이 문제를 우회할 방법은 없습니다. 단일 게시글에 여러 편집자가 동시에 참여하는 것은 위키 모드에서 지원되지 않지만, 공유 편집은 위키 개정판과 함께 이 버그를 유발하는 것 같습니다. HedgeDoc처럼 두 기능을 함께 사용할 수 있거나, 두 편집 모드 간의 잠재적인 불일치를 중립화할 수 있다면 좋겠습니다.

1개의 좋아요

복잡한 문제입니다. 두 명의 편집자가 동시에 편집할 경우, 수정 이력 수가 크게 증가할 가능성이 있어 이것이 단점이 됩니다.

플러그인에 사이트 설정을 추가하여 여러 사용자가 동시에 편집을 접는 기능을 비활성화할 수 있는지 확인해 보겠습니다.

1개의 좋아요

이 버그의 또 다른 측면을 발견한 것 같습니다. 다만 무관할 수도 있습니다.

게시물에 '공유 편집’이 활성화된 상태에서, 게시물을 너무 빨리(대략 20초 이내) 편집하면 충돌이 발생하는 것 같습니다. 이 경우 한쪽 또는 다른 쪽의 편집 내용만 저장됩니다. 다시 말해, 공유 편집 기능이 활성화된 것처럼 보이지만 실제로는 작동하지 않는 것입니다. 작성자 중 한 명이 게시물을 닫았다가 다시 들어가면 편집 내용이 나타났다 사라지는 등 상황이 매우 혼란스러워집니다.

그냥 두면 시간이 지나면서 모든 것이 정상으로 돌아오는 것 같습니다(일부 콘텐츠가 손실되더라도요). 공유 편집이 켜져 있을 때 게시물을 약 30초 동안 잠그는 기능이 이 문제를 방지할 수 있을까요?

1개의 좋아요

네, 알림 전송과 동기화가 여기서는 적절한 접근 방식인 것 같고, 수정해야 한다는 데 동의합니다.

2개의 좋아요

오늘 이미 잘 정립된 Shared Edits + Wiki 게시글에서 이 문제가 재발하면서, 문제가 두 기능 간의 상호작용에서 비롯된 것임이 분명해졌습니다.

관리자 권한을 가진 사용자들 간에 Shared Edits를 꽤 오래 사용해 왔는데, 이런 문제가 발생한 적은 없었습니다. 같은 게시글에 Wiki가 활성화될 때만 문제가 생깁니다.

명백한 우회책은 모든 관련자를 카테고리 모더레이터나 TL4로 지정하여 Wiki가 필요 없게 만드는 것입니다. 하지만 이 방법에는 여러 가지 후유증이 따릅니다.

1개의 좋아요

음. 위키에서 공유 편집이 켜져 있는 게시물에서 편집 내용이 사라지는 이유가 이것인 것 같습니다. 저는 무지하게 위키 모드를 사용하여 편집이 허용되는 사용자의 범위를 확장했습니다.
위키 모드의 백업 기능이 없는 상태에서, 모든 독자에게 동시 편집 허용 범위를 확장하는 것은 다른 백업 수단(예: “수정본 저장” 버튼)이 부족한 상황에서 좋은 생각이 아닐 것 같습니다?

2개의 좋아요

여전히 문제가 남아 있다고 생각합니다. 어젯밤 중요한 회의 중에 큰 혼란을 야기했거든요!

문제는 여러 사람이 공유 편집 게시글에 대해 편집 권한을 가져야 하는 경우가 매우 흔하다는 점입니다. 그래서 위키 + 공유 편집 조합은 매우 유용합니다.

또한, 짧은 기간 동안 집중적인 동시 작업이 필요할 때 위키 게시글을 공유 편집 게시글로 '업그레이드’하고 싶은 경우도 꽤 흔합니다. 개인적으로는 이것이 가장 좋은 사고 방식이라고 생각하며, UI도 이에 맞춰져야 한다고 봅니다. 즉, 공유 편집은 위키 기능의 대체재가 아니라 확장 기능이어야 합니다.

아니면, 공유 편집 패키지에 게시글 편집 권한을 기본적으로 포함시켜서 둘 중 하나만 선택할 수 있도록(동시 선택 불가) 하면 어떨까요? 그렇게 해서 문제가 생길 이유가 전혀 없어 보입니다.

1개의 좋아요

이 버그에 영향을 받아, 우리는 외부 패드(HedgeDoc)를 사용하고 그 결과를 나중에 Discourse에 복사하여 붙여넣고 있습니다. Commonmark와 HedgeDoc 마크다운 사이에 몇 가지 차이가 있기 때문에(예: HD에는 Discourse에 없는 공지사항, 다양한 다이어그램 플러그인 등이 있고, 반대로 Discourse의 일부 마크다운 기능은 HedgeDoc에서 사용할 수 없습니다. 예: 화살표: - + > = → 및 일부 이모지) 약간 번거롭습니다. 하지만 편집 내용을 잃어버리는 것보다는 훨씬 낫습니다!

2개의 좋아요