Что такое Hard Delete и Soft Delete
Hard delete навсегда удаляет данные из базы через физическое удаление. Восстановить их можно только при наличии резервных копий. Soft delete работает иначе. Вместо физического удаления система логически помечает данные как удалённые. Они остаются в базе, но считаются неактивными. Поэтому записи, удалённые таким образом, обычно можно восстановить. У каждого подхода есть свои плюсы и минусы с точки зрения целостности данных, соответствия требованиям и удобства для пользователей. При создании надёжного и удобного сервиса для совместного распределения расходов важно найти баланс между сохранением и очисткой данных. В Splync этот баланс критичен для доверия и удобства.
В Splync 1.13 был только Hard Delete
До версии 1.14 удаление расходов в Splync означало немедленное и окончательное удаление из базы данных. Это создавало скрытую, но серьёзную проблему, особенно для Splync, который помогает парам и друзьям легко управлять общими бюджетами. Представьте себе совместный проект с десятками расходов. Если партнёр или друг удалит запись, случайно или намеренно, данные исчезнут без следа. Это может привести к неправильным расчётам и, что важнее, подорвать доверие между участниками. Часто пользователи даже не замечали, что чего-то не хватает. Версия 1.14 решает эту проблему, добавляя видимость и возможность восстановления. Теперь при удалении расходов пользователи получают уведомление и могут восстановить данные при необходимости.
Splync 1.14 использует Soft Delete по умолчанию
В версии 1.14 большинство удалений обрабатываются как Soft Delete. Когда участник проекта удаляет расход, остальные получают уведомление. Расход переводится в статус «корзины», а не физически удаляется. В течение 7 дней после удаления любой участник проекта может восстановить расход в список активных. Это отражает подход современных систем, где безопасность выше окончательности. Однако не все случаи одинаковы. Что делать, если пользователь случайно добавил личные расходы в групповой проект или запись абсолютно неуместна? Мгновенное удаление может потребоваться, чтобы избежать путаницы или проблем с конфиденциальностью. В этих случаях уведомления и сохранение возможности восстановления могут быть неуместны.
Исключения: когда разрешён Hard Delete
Для таких случаев в Splync 1.14 введены контролируемые условия для Hard Delete. Расход можно удалить навсегда без уведомлений, если пользователь является одновременно создателем и последним редактором расхода, и удаление происходит в течение 30 минут после создания. В этих условиях система рассматривает действие как быстрое отмену, а не как совместное событие. Все остальные сценарии удаления по умолчанию обрабатываются как Soft Delete. Так Splync находит баланс между гибкостью, конфиденциальностью и прозрачностью.
Как увидеть удалённые в корзину расходы
Мы сделали эту функцию максимально интуитивной. В версии 1.14 мы добавили новую кнопку фильтра рядом с существующей кнопкой фильтра участников, позволяющую переключаться между активными и удалёнными в корзину расходами. Из-за этого область фильтрации и сортировки интерфейса немного обновлена. Чтобы интерфейс был простым и понятным, кнопки фильтра теперь используют символы. Для удаления активного расхода пользователи могут провести влево. После нажатия на кнопку удаления появляется предупреждение, которое уточняет, будет ли это Hard Delete или Soft Delete, чтобы пользователи могли действовать с уверенностью. Для восстановления удалённого в корзину расхода пользователи могут также провести влево.
Следующий шаг после Soft Delete для расходов
Теперь, когда мы улучшили процесс удаления расходов, следующий шаг — сделать удаление проектов более гибким. Сейчас пользователи могут удалить проект только после его завершения. Нет прямого способа удалить незавершённый проект, что требует выполнения лишних шагов. Это неудобно, если проект создан по ошибке, дублирован случайно или просто больше не нужен. Улучшение удаления расходов было важным шагом к решению этой проблемы, потому что удаление проекта сложнее, чем удаление отдельного расхода. Это может повлиять на расходы, балансы и доверие всех участников проекта. Поэтому удаление проектов требует более тщательного подхода. Скоро будет предложено лучшее решение.