Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Opening file from non-refreshed folder view triggers false version conflict

Đang mở
#9,194 0 bình luận 1 reaction 0 người được giao Xem trên GitHub

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ả

bug

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:

Image

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:

Image

To Reproduce
Steps to reproduce the behavior:

  1. Open a folder with an existing file in the web. Note file's last modified date
  2. Without reloading the webpage, edit the file locally via the desktop client and wait until sync is complete
  3. In the still open browser tab (folder view), open the file, without refreshing the tab. Note last modified date did not change
  4. 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

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của nextcloud/text

Tất cả issue của nextcloud/text

Issue tương tự

Thêm issue về JavaScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.