# 수정 충돌: 다른 사용자가 해당 게시물을 수정하여 변경 사항을 더 이상 저장할 수 없습니다

**URL:** https://meta.discourse.org/t/edit-conflict-that-post-was-edited-by-another-user-and-your-changes-can-no-longer-be-saved/193749
**Category:** Bug
**Created:** [6월 14, 2021, 11:26오전 UTC](https://meta.discourse.org/t/edit-conflict-that-post-was-edited-by-another-user-and-your-changes-can-no-longer-be-saved/193749 "2021-06-14T11:26:15Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Richie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/richie/32/115110_2.png) [@Richie](https://meta.discourse.org/u/Richie)
#### Post date: [6월 14, 2021, 11:26오전 UTC](https://meta.discourse.org/t/edit-conflict-that-post-was-edited-by-another-user-and-your-changes-can-no-longer-be-saved/193749/1 "2021-06-14T11:26:15Z")

</div>

방금 생성한 게시물을 수정하려고 하면 다음과 같은 오류가 발생합니다:

`그 게시물은 다른 사용자가 수정하여 더 이상 변경 사항을 저장할 수 없습니다`

예:

 ![image](https://global.discourse-cdn.com/meta/original/3X/b/9/b95ce6df80880181850b490ae79f541450422c52.png)

“수정 저장” 버튼도 "수정 덮어쓰기"로 이름이 바뀝니다.

이 문제는 금요일에 “2.8.0.beta2”( [4681c670c0](https://github.com/discourse/discourse/commits/4681c670c0f8645459e007f881e49a5d5276eaf3) )로 업데이트한 이후부터 발생하기 시작했습니다.

참고로, 저는 매주 업데이트를 하므로 이 문제는 2021년 6월 4일(금)과 2021년 6월 11일(금) 사이에 발생한 새로운 문제입니다.

메타 사이트에서도 같은 문제가 발생합니다(스크린샷 참고).

이 패턴을 파악할 수 없습니다. 매번 발생하는 것이 아니라 가끔씩만 발생하거든요 🤔

다른 사용자들도 이 문제를 보고했습니다.

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [6월 14, 2021, 12:18오후 UTC](https://meta.discourse.org/t/edit-conflict-that-post-was-edited-by-another-user-and-your-changes-can-no-longer-be-saved/193749/2 "2021-06-14T12:18:57Z")

</div>

> [@Richie](#):
>
> 도움이 된다면, 저는 매주 업데이트를 하므로 이 문제는 2021년 6월 4일(금)과 2021년 6월 11일(금) 사이에 발생한 새로운 문제입니다.

> [@Slowhand](#):
>
> 이것은 수요일에 처음 제게 보고되었습니다.

---

<div class="post-metadata">

### Author: ![Richie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/richie/32/115110_2.png) [@Richie](https://meta.discourse.org/u/Richie)
#### Post date: [6월 14, 2021, 12:31오후 UTC](https://meta.discourse.org/t/edit-conflict-that-post-was-edited-by-another-user-and-your-changes-can-no-longer-be-saved/193749/3 "2021-06-14T12:31:07Z")

</div>

정확히 같은 문제인 것 같습니다 👍

---

<div class="post-metadata">

### Author: ![Richie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/richie/32/115110_2.png) [@Richie](https://meta.discourse.org/u/Richie)
#### Post date: [6월 14, 2021, 12:32오후 UTC](https://meta.discourse.org/t/edit-conflict-that-post-was-edited-by-another-user-and-your-changes-can-no-longer-be-saved/193749/4 "2021-06-14T12:32:12Z")

</div>

방금 여기서 다시 일어났어요!

 ![image](https://global.discourse-cdn.com/meta/original/3X/8/c/8c6ae591937f2fd0dd56aca659f413cf16d54a08.jpeg)

---

<div class="post-metadata">

### Author: ![justin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/justin/32/157614_2.png) [@justin](https://meta.discourse.org/u/justin)
#### Post date: [6월 14, 2021, 7:35오후 UTC](https://meta.discourse.org/t/edit-conflict-that-post-was-edited-by-another-user-and-your-changes-can-no-longer-be-saved/193749/6 "2021-06-14T19:35:43Z")

</div>

팀에서 몇몇 분들이 같은 문제를 확인했습니다. 인지하고 있으며 조사 중입니다.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [6월 15, 2021, 2:34오전 UTC](https://meta.discourse.org/t/edit-conflict-that-post-was-edited-by-another-user-and-your-changes-can-no-longer-be-saved/193749/7 "2021-06-15T02:34:53Z")

</div>

네, 오늘 이걸 하나 받았어요. @nbianca가 확인해 줄 거예요.

---

<div class="post-metadata">

### Author: ![andrei](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/andrei/32/205142_2.png) [@andrei](https://meta.discourse.org/u/andrei)
#### Post date: [6월 15, 2021, 9:35오전 UTC](https://meta.discourse.org/t/edit-conflict-that-post-was-edited-by-another-user-and-your-changes-can-no-longer-be-saved/193749/10 "2021-06-15T09:35:11Z")

</div>

[Error message when editing posts](https://meta.discourse.org/t/error-message-when-editing-posts/193692) 주제는 이 주제와 중복됩니다.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [6월 15, 2021, 9:05오후 UTC](https://meta.discourse.org/t/edit-conflict-that-post-was-edited-by-another-user-and-your-changes-can-no-longer-be-saved/193749/12 "2021-06-15T21:05:23Z")

</div>

네, 그러면 [FIX: Update raw and cooked immediate after edit - Pull Request #13387 - discourse/discourse - GitHub](https://github.com/discourse/discourse/pull/13387) @nbianca 로 완전히 수정된 건가요?

---

<div class="post-metadata">

### Author: ![nbianca](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nbianca/32/157984_2.png) [@nbianca](https://meta.discourse.org/u/nbianca)
#### Post date: [6월 15, 2021, 9:24오후 UTC](https://meta.discourse.org/t/edit-conflict-that-post-was-edited-by-another-user-and-your-changes-can-no-longer-be-saved/193749/13 "2021-06-15T21:24:30Z")

</div>

네, 알려진 모든 문제가 수정되었습니다.

---

<div class="post-metadata">

### Author: ![Wingtip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/wingtip/32/102039_2.png) [@Wingtip](https://meta.discourse.org/u/Wingtip)
#### Post date: [6월 16, 2021, 12:14오전 UTC](https://meta.discourse.org/t/edit-conflict-that-post-was-edited-by-another-user-and-your-changes-can-no-longer-be-saved/193749/14 "2021-06-16T00:14:08Z")

</div>

훌륭해요, 감사합니다!

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [6월 16, 2021, 12:50오전 UTC](https://meta.discourse.org/t/edit-conflict-that-post-was-edited-by-another-user-and-your-changes-can-no-longer-be-saved/193749/15 "2021-06-16T00:50:56Z")

</div>

이제 병합되었습니다. 20~30분 내에 여기에 배포될 것입니다.

---

<div class="post-metadata">

### Author: ![Wingtip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/wingtip/32/102039_2.png) [@Wingtip](https://meta.discourse.org/u/Wingtip)
#### Post date: [6월 16, 2021, 3:25오후 UTC](https://meta.discourse.org/t/edit-conflict-that-post-was-edited-by-another-user-and-your-changes-can-no-longer-be-saved/193749/16 "2021-06-16T15:25:37Z")

</div>

불행히도 아직 수정되지 않았습니다. 내 사용자들은 여전히 ‘수정 내역 덮어쓰기’ 메시지를 받고 있으며, 방금 제가 직접 확인했습니다. 현재 2.8.0.beta2([0f9d31a85e](https://github.com/discourse/discourse/commits/0f9d31a85e8ec645909afd6e237cfde5f5dd8df8)) 버전을 실행 중입니다.

 ![ScreenShot 2021-06-16 at 11.23.21 AM](https://global.discourse-cdn.com/meta/original/3X/6/5/6582b8b60c078bd7f0074ef49e914700127c8b10.png)

 ![ScreenShot 2021-06-16 at 11.23.36 AM](https://global.discourse-cdn.com/meta/original/3X/d/d/ddb1058135f64658dde7cf93d947c1c9f20d5f8e.png)

다른 사안으로, 첫 번째 스크린샷을 meta.discourse에 업로드하려고 할 때 오류가 발생했습니다.

`PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "uploads_pkey"`

다시 시도하니 정상적으로 작동했습니다.

---

<div class="post-metadata">

### Author: ![jomaxro](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jomaxro/32/126216_2.png) [@jomaxro](https://meta.discourse.org/u/jomaxro)
#### Post date: [6월 16, 2021, 4:33오후 UTC](https://meta.discourse.org/t/edit-conflict-that-post-was-edited-by-another-user-and-your-changes-can-no-longer-be-saved/193749/17 "2021-06-16T16:33:34Z")

</div>

저도 여전히 Meta에서 이 문제를 재현할 수 있습니다.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [6월 17, 2021, 12:59오전 UTC](https://meta.discourse.org/t/edit-conflict-that-post-was-edited-by-another-user-and-your-changes-can-no-longer-be-saved/193749/19 "2021-06-17T00:59:11Z")

</div>

@nbianca 이 문제를 분리해내는 데 매우 어려웠지만, 100% 재현 가능한 방법을 찾았습니다.

다음 텍스트로 게시글을 작성해 보세요:

`hello world 123 hello world `

**반드시** 마지막 `world` 단어 뒤에 공백이 하나 있음을 확인하세요.

`world`를 입력한 뒤 SPACE를 누릅니다.

그런 다음 게시글을 편집하여 끝에 몇 글자를 추가해 보세요.

우리의 내부 로직이 앞뒤 공백을 제거(stripping)하는 과정에서 게시글이 변경되었음을 감지하는 알고리즘이 오류를 일으키는 것 같습니다.

---

<div class="post-metadata">

### Author: ![nbianca](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nbianca/32/157984_2.png) [@nbianca](https://meta.discourse.org/u/nbianca)
#### Post date: [6월 17, 2021, 8:27오전 UTC](https://meta.discourse.org/t/edit-conflict-that-post-was-edited-by-another-user-and-your-changes-can-no-longer-be-saved/193749/20 "2021-06-17T08:27:47Z")

</div>

이 기능을 오랫동안 테스트했지만, 공백을 추가하는 것에 대해서는 생각하지 못했습니다. 내용보다 타이밍에 집중하고 있었거든요.

> <https://github.com/discourse/discourse/pull/13414>
>
> The client used to update the raw, but sometimes the server changed the
> raw tex…t, which resulted in false edit conflicts.

위 PR은 서버가 원본(raw)을 반환하도록 하고, 이를 사용하여 게시물 레코드를 업데이트하게 합니다.

---

<div class="post-metadata">

### Author: ![Wingtip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/wingtip/32/102039_2.png) [@Wingtip](https://meta.discourse.org/u/Wingtip)
#### Post date: [6월 17, 2021, 1:05오후 UTC](https://meta.discourse.org/t/edit-conflict-that-post-was-edited-by-another-user-and-your-changes-can-no-longer-be-saved/193749/21 "2021-06-17T13:05:30Z")

</div>

무엇이었는지 생각하면, 찾았다는 게 정말 인상 깊네요. 지금까지 수정은 잘된 것 같으니, 다시 한번 모두 감사드립니다.

---

<div class="post-metadata">

### Author: ![Wingtip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/wingtip/32/102039_2.png) [@Wingtip](https://meta.discourse.org/u/Wingtip)
#### Post date: [6월 17, 2021, 4:25오후 UTC](https://meta.discourse.org/t/edit-conflict-that-post-was-edited-by-another-user-and-your-changes-can-no-longer-be-saved/193749/23 "2021-06-17T16:25:43Z")

</div>

죄송합니다, @nbianca 님. 아직 수정되지 않았습니다. @sam 님이 지적한 정확한 시퀀스가 여전히 버그를 유발합니다. 2.8.0.beta2 ( [0c42a29dc4](https://github.com/discourse/discourse/commits/0c42a29dc4ad8e541d7b220623de09ec6354a12e) )를 실행 중입니다.

사실 방금 meta.discourse에서 이 게시물을 편집하던 중 오류가 발생했습니다.

 ![ScreenShot 2021-06-17 at 12.29.29 PM](https://global.discourse-cdn.com/meta/original/3X/0/f/0f300fb3f1ff9c7b87f4dfe75839dc381918b630.png)

---

<div class="post-metadata">

### Author: ![nbianca](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nbianca/32/157984_2.png) [@nbianca](https://meta.discourse.org/u/nbianca)
#### Post date: [6월 17, 2021, 5:15오후 UTC](https://meta.discourse.org/t/edit-conflict-that-post-was-edited-by-another-user-and-your-changes-can-no-longer-be-saved/193749/24 "2021-06-17T17:15:56Z")

</div>

이 부분에 대해 특별히 한 것이 있나요? 게시글을 작성한 후 바로 수정을 시도했나요, 아니면 잠시 기다린 후(페이지를 새로고침한 후) 수정을 시도했나요?

이전과 마찬가지로 게시글에 공백이 있었나요?

---

<div class="post-metadata">

### Author: ![Wingtip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/wingtip/32/102039_2.png) [@Wingtip](https://meta.discourse.org/u/Wingtip)
#### Post date: [6월 17, 2021, 5:17오후 UTC](https://meta.discourse.org/t/edit-conflict-that-post-was-edited-by-another-user-and-your-changes-can-no-longer-be-saved/193749/25 "2021-06-17T17:17:26Z")

</div>

제 사이트에서 테스트할 때는 Sam의 지시에 따랐습니다. 하지만 여기서는 태그를 편집하려고 했더니 오류가 발생했습니다.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [6월 17, 2021, 5:32오후 UTC](https://meta.discourse.org/t/edit-conflict-that-post-was-edited-by-another-user-and-your-changes-can-no-longer-be-saved/193749/26 "2021-06-17T17:32:57Z")

</div>

음, try.discourse.org에서 쉽게 재현할 수 있습니다 .. 게시글을 작성한 후 편집해서 문자를 추가하면

> 그 게시글은 다른 사용자가 편집했기 때문에 변경 사항을 더 이상 저장할 수 없습니다.

라는 메시지가 표시됩니다.

 ![image](https://global.discourse-cdn.com/meta/original/3X/d/e/de211fb1ecb15f5a1229a6ce23d8e9f3f14400aa.png)

이 코드 경로가 이렇게 쉽게 깨지고 수정하기도 이렇게 어려우니 조금 걱정됩니다 😢

[Next page](https://meta.discourse.org/t/edit-conflict-that-post-was-edited-by-another-user-and-your-changes-can-no-longer-be-saved/193749.md?page=2)
