Opening file from non-refreshed folder view triggers false version conflict
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 72/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- javascript
- Lĩnh vực
- frontend
Hướng nghiên cứu
Trước tiên, hãy tái hiện workflow với thư mục cũ, sau đó lần theo xung đột từ sync.ts và PollingBackend.ts qua SyncService.ts đến Editor.vue. So sánh metadata của tệp được sử dụng khi mở tệp với phiên bản trên server được trả về trong quá trình đồng bộ session. Hoàn thành khi tệp được đồng bộ mới nhất mở được từ một thư mục chưa được làm mới mà không phát sinh xung đột giả.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Describe the bug
After editing a file locally and letting the sync complete, webversion still shows version conflict even though the versions are the same.
I edited the file and let the sync complete in the nextcloud files app:
Then I open the file in the web and it says there's a conflict between these two versions, but they both already have the latest edits:
To Reproduce
Steps to reproduce the behavior:
- Open a folder with an existing file in the web. Note file's last modified date
- Without reloading the webpage, edit the file locally via the desktop client and wait until sync is complete
- In the still open browser tab (folder view), open the file, without refreshing the tab. Note last modified date did not change
- Text app reports a version conflict, even though the edit done locally is already synced. Both versions shown are also the same
Expected behavior
The text app should fetch latest version from server without a conflict.
Screenshots
See bug description
Server details:
- Nextcloud version: 33.0.7 AIO docker
- PHP Version: 8.3.33
- Database: PostgreSQL 18.4 on x86_64-pc-linux-musl, compiled by gcc (Alpine 15.2.0) 15.2.0, 64-bit
Client details:
- OS: Windows
- Browser: Firefox/chrome/edge
- Browser version: 155.0.1 / 153.0.8010.37 / 152.0.4191.66
- Device: Desktop
- Nextcloud Files version: 3.17.0. / 34.0.3
Logs
Nextcloud log (data/nextcloud.log)
No visible log entries for this
Browser Console log
POST https://<DOMAIN>/apps/text/session/260486/sync 409 (Conflict)
(anonymous) @ sync.ts:76
_fetchSteps @ PollingBackend.ts:138
setInterval
connect @ PollingBackend.ts:109
startSync @ SyncService.ts:192
(anonymous) @ Editor.vue:535
Promise.then
onOpened @ Editor.vue:534
open @ SyncService.ts:181
await in open
constructor @ WebSocketPolyfill.ts:56
(anonymous) @ y-websocket.js:165
connect @ y-websocket.js:560
constructor @ y-websocket.js:444
(anonymous) @ SyncServiceProvider.js:41
initSession @ Editor.vue:448
created @ Editor.vue:425
mounted @ ViewerView.js:35
Promise.then
(anonymous) @ Viewer.vue:1294
Promise.then
beforeOpen @ Viewer.vue:610
openFileInfo @ Viewer.vue:706
openFile @ Viewer.vue:667
await in openFile
file @ Viewer.vue:452
Promise.then
open @ Viewer.js:320
execAction @ viewerAction.ts:80
execDefaultAction @ FileEntryMixin.ts:329
click @ FileEntry.vue:5
PollingBackend.ts:208 [ERROR] text: Conflict during file save, please resolve
{app: 'text', uid: '<UID>', level: 2}
_handleError @ PollingBackend.ts:208
Promise.then
_fetchSteps @ PollingBackend.ts:140
setInterval
connect @ PollingBackend.ts:109
startSync @ SyncService.ts:192
(anonymous) @ Editor.vue:535
Promise.then
onOpened @ Editor.vue:534
open @ SyncService.ts:181
await in open
constructor @ WebSocketPolyfill.ts:56
(anonymous) @ y-websocket.js:165
connect @ y-websocket.js:560
constructor @ y-websocket.js:444
(anonymous) @ SyncServiceProvider.js:41
initSession @ Editor.vue:448
created @ Editor.vue:425
mounted @ ViewerView.js:35
Promise.then
(anonymous) @ Viewer.vue:1294
Promise.then
beforeOpen @ Viewer.vue:610
openFileInfo @ Viewer.vue:706
openFile @ Viewer.vue:667
await in openFile
file @ Viewer.vue:452
Promise.then
open @ Viewer.js:320
execAction @ viewerAction.ts:80
execDefaultAction @ FileEntryMixin.ts:329
click @ FileEntry.vue:5
</details>
- Ngôn ngữ chính
- JavaScript
- Star
- 665
- Fork
- 133
- Merge trung bình
- 1 ngày 17 giờ
- Pull request đã merge (30 ngày)
- 172
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của nextcloud/text
-
0. Needs triage bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
nextcloud/text#9482 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
0. Needs triage bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
folder description not shows when using folder tree to navigateCó thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mởbug feature: folder description
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
1. to develop design call discuss discussion ux
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 58/100
nextcloud/text#9334 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của nextcloud/text
Issue tương tự
-
Package downloads never retry: getUrlWithResuming's retry catch cannot see a rejected requestĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 1 ngày
-
account: profile bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 5 ngày
-
ai-driven-fuzzing bug claude Minor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
linagora/cozy-client#1777 · 1 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
NanmiCoder/dsh-agent-teams#326 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[guide] AGENTS.md claims the coverage gate, e2e and full lint run on every PR after ADR 0011 focused validationCó thể đã có người làm @hivecommons-hive đã nhận hôm nay. Đang mởagent/guide documentation hive/claimed-by-guide stage/040-covered-by-pr
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 81/100
cncf/endusers#2006 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày