핵심 요약
- 오른쪽으로 넘기는 유지는 Instagram의 저장 상태를 바꾸지 않고 현재 검토 목록에서만 카드를 치운다.
- 저장 해제 요청이 실패하면 먼저 넘긴 카드를 다시 보여주고 성공한 동작만 이력에 넣는다.
- 되돌리기는 최근 20개 동작의 세션 내 이력이며, 저장 상태 복원은 Instagram 요청이 성공해야 끝난다.
Instagram에서 게시물을 저장할 때는 대개 나중에 다시 보겠다는 생각을 합니다. 막상 저장 목록을 열면 그때 필요했던 자료와 여전히 남겨둘 자료가 섞여 있습니다. Insta Saved Cleaner를 만들면서 먼저 정한 것은 카드를 넘기는 방향보다 어떤 동작이 실제 계정을 바꾸는지였습니다.
왼쪽으로 넘기면 저장을 해제합니다. 오른쪽으로 넘기면 그 게시물은 이번 검토에서 ‘유지’로 처리하고 다음 카드로 넘어갑니다. 오른쪽 동작은 Instagram에 새 저장 요청을 보내지 않습니다. 이미 저장된 게시물을 그대로 두기 때문입니다. 화면에서 카드가 사라진다는 점은 같아도 계정 상태에는 큰 차이가 있습니다. 그래서 코드에서도 UNSAVE와 KEEP을 별도 이력으로 기록합니다.
카드가 먼저 움직여도 성공으로 기록하지는 않습니다
사용자가 넘길 때마다 네트워크 응답을 기다린 뒤 카드가 움직이면 정리가 끊기는 느낌이 듭니다. 현재 구현은 저장 해제 카드를 먼저 치우고 요청을 실행합니다. 요청이 실패하면 그 카드를 맨 앞으로 돌려놓습니다. 성공한 뒤에야 검토 수와 저장 해제 수를 올리고 이력에 추가합니다. ‘유지’는 외부 저장 상태를 변경하지 않으므로 바로 검토 수만 올립니다.
이 순서가 필요한 이유는 화면의 속도와 실제 처리 결과가 다를 수 있어서입니다. 카드가 지나갔다는 사실만으로 저장이 해제됐다고 표시하면, 사용자는 정리가 끝났다고 생각한 채 실패한 게시물을 놓칠 수 있습니다. 반대로 실패한 카드를 되돌릴 때 통계까지 성공으로 올려두면 다음에 보이는 숫자도 틀어집니다. 이 확장 프로그램의 통계는 어디까지나 확장 프로그램이 처리했다고 판단한 기록이며, Instagram의 전체 저장 목록을 독립적으로 대조한 결과는 아닙니다.
‘되돌리기’라는 말의 범위
되돌리기 버튼은 최근 동작 이력에서 한 건을 꺼냅니다. ‘유지’를 되돌릴 때는 해당 카드를 검토 목록의 앞에 놓고 검토 수를 줄이면 됩니다. 저장 해제를 되돌릴 때는 다릅니다. Instagram에 다시 저장하는 동작이 필요하고, 그 요청이 성공한 뒤에 카드를 복원합니다. 요청이 실패하면 오류를 보여줍니다. 카드만 되돌려 놓고 계정에도 복원됐다고 말할 수 없기 때문입니다.
이력은 최대 20건이며 검토 화면을 닫거나 새 검토를 시작하면 비워집니다. 영구 백업이나 모든 저장 게시물의 복구 기능은 아닙니다. 저장 해제를 여러 건 연속으로 진행하기 전에는 몇 건씩 결과를 확인하는 편이 안전합니다. 컬렉션으로 옮긴 동작의 복원도 저장 해제와 같은 의미의 원상 복구라고 보기 어렵습니다. 현재 코드는 이전 컬렉션 정보를 항상 기록하지 않으므로, 컬렉션 이동 뒤에는 대상 컬렉션을 직접 확인해야 합니다.
외부 화면에 기대는 도구의 한계
이 확장 프로그램은 Instagram 저장 화면의 게시물 링크와 버튼을 읽고, 일부 동작에는 Instagram 웹 요청을 사용합니다. Instagram이 화면 구조나 요청 방식을 바꾸면 카드 수집이나 저장 해제가 실패할 수 있습니다. 오래된순으로 보려면 게시물을 더 불러와야 해서 저장 목록이 클수록 시간이 걸립니다. 그래서 로딩을 중단할 수 있게 했지만, 불러오지 않은 게시물까지 정렬됐다고 볼 수는 없습니다.
사용 순서는 저장 게시물 정리 가이드에 적었습니다. 이 글은 사용법보다 동작의 경계를 설명하려고 썼습니다. 오른쪽 넘기기는 ‘그대로 두기’, 왼쪽 넘기기는 실제 저장 상태 변경, 되돌리기는 그 변경을 다시 시도하는 동작입니다. 세 가지를 구분해야 화면에서 보인 결과를 과신하지 않을 수 있습니다.
글쓴이 · 1인 개발 스튜디오
A2Z Studio
앱인토스 미니앱, iOS 앱, Next.js 웹 서비스를 직접 만들고 운영합니다. 글은 실제 운영 코드에서 겪은 문제만 다룹니다. 소개 보기