Версия источника: 613500afd8eca5143b4094f6f5cd48e67844f8ff
Синхронизировано: 2026-11-11T03:48:23.836Z
Источник: https://github.com/sergey-from-riders/vibecoding-base/tree/613500afd8eca5143b4094f6f5cd48e67844f8ff

<a id="interface-editing-locks"></a>

# Конкурентное редактирование

## Коротко

Показывайте, кто редактирует запись, и предотвращайте параллельную запись поверх чужих изменений.

## Плохо

```text
Два редактора открыли форму.
Последний запрос молча перезаписал чужой текст.
```

## Хорошо

```text
Запись редактирует Редактор А до 14:30.
Остальным доступен просмотр.
Освободить чужую блокировку может уполномоченный пользователь.
```

## Почему

Блокировка объясняет доступность формы. Проверка версии на сервере остаётся нужна: срок блокировки может истечь или сеть может задержать старый запрос.

## Когда применять

Стандарт редактирования записи или поля в этой админке. Блокировка имеет срок и владельца; сервер проверяет её для человека и агента. Освобождение не публикует и не отменяет черновик.

## Как проверить

- Откройте запись двумя пользователями и дождитесь истечения блокировки.
- Старый запрос не должен перезаписать свежую версию.

## Человек

Определяет права освобождения и область блокировки.

## Агент

Реализует серверную проверку владельца, срока и версии, показывает конфликт.

## Пример применения

При HTTP 412 или прикладном конфликте редактор предлагает сравнить значения. Кнопка «Освободить запись» сначала дожидается сохранения черновика.

## Источники

- [If-Match header - HTTP | MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/If-Match)

Уровень: Обязательно. Опубликовано: 2026-11-11. Проверено: 2026-11-11. Изменено: 2026-11-11.

[Исходный файл](https://github.com/sergey-from-riders/vibecoding-base/blob/613500afd8eca5143b4094f6f5cd48e67844f8ff/registry/standards/ui/admin-interface/rules/editing-locks.md)
