From d6bbcdc32fd88c16afebb5ff856f2aaf0ad1edc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=98=AD?= <81747598+lan-yonghui@users.noreply.github.com> Date: Mon, 20 Apr 2026 14:44:56 +0800 Subject: [PATCH] fix: improve pagination handling and directory naming in recycle bin (#12535) --- agent/app/service/recycle_bin.go | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/agent/app/service/recycle_bin.go b/agent/app/service/recycle_bin.go index 109dfbeac..fa7b4b425 100644 --- a/agent/app/service/recycle_bin.go +++ b/agent/app/service/recycle_bin.go @@ -62,11 +62,18 @@ func (r RecycleBinService) Page(search dto.PageInfo) (int64, []response.RecycleB result = append(result, collectTrashEntries(clashRoot)...) result = append(result, collectLegacyEntries(clashRoot)...) } - startIndex := (search.Page - 1) * search.PageSize + if search.PageSize <= 0 { + return int64(len(result)), []response.RecycleBinDTO{}, nil + } + page := search.Page + if page < 1 { + page = 1 + } + startIndex := (page - 1) * search.PageSize endIndex := startIndex + search.PageSize - if startIndex > len(result) { - return int64(len(result)), result, nil + if startIndex >= len(result) { + return int64(len(result)), []response.RecycleBinDTO{}, nil } if endIndex > len(result) { endIndex = len(result) @@ -174,7 +181,7 @@ func (r RecycleBinService) Clear() error { if !op.Stat(dir) { continue } - newDir := path.Join(p.Mountpoint, "1panel_clash") + newDir := path.Join(p.Mountpoint, recycleBinClashDir+"-"+strings.ReplaceAll(common.GetUuid(), "-", "")) if err := op.Mv(dir, newDir); err != nil { return err }