From a5d86d4c0098087bd8dde2f4b01cbb708ff69b5a Mon Sep 17 00:00:00 2001 From: ssongliu <73214554+ssongliu@users.noreply.github.com> Date: Mon, 1 Dec 2025 22:06:59 +0800 Subject: [PATCH] fix: Fix the issue where container details cannot be fully selected and copied (#11144) --- agent/app/service/container.go | 4 ++-- agent/app/service/container_volume.go | 16 +--------------- agent/app/service/cronjob_helper.go | 13 ++++++------- .../src/components/codemirror-pro/drawer.vue | 2 +- .../views/container/container/inspect/index.vue | 2 +- .../src/views/container/network/detail/index.vue | 2 +- 6 files changed, 12 insertions(+), 27 deletions(-) diff --git a/agent/app/service/container.go b/agent/app/service/container.go index 000076301..0fd80da0c 100644 --- a/agent/app/service/container.go +++ b/agent/app/service/container.go @@ -1786,9 +1786,9 @@ func searchWithFilter(req dto.PageContainer, containers []container.Summary) []d } records = append(records, info) } - dscriptions, _ := settingRepo.GetDescriptionList(repo.WithByType("container")) + descriptions, _ := settingRepo.GetDescriptionList(repo.WithByType("container")) for i := 0; i < len(records); i++ { - for _, desc := range dscriptions { + for _, desc := range descriptions { if desc.ID == records[i].ContainerID { records[i].Description = desc.Description records[i].IsPinned = desc.IsPinned diff --git a/agent/app/service/container_volume.go b/agent/app/service/container_volume.go index 0443361dc..5aef4eb47 100644 --- a/agent/app/service/container_volume.go +++ b/agent/app/service/container_volume.go @@ -5,7 +5,6 @@ import ( "sort" "strings" "time" - "unicode" "github.com/1Panel-dev/1Panel/agent/app/dto" "github.com/1Panel-dev/1Panel/agent/buserr" @@ -57,7 +56,7 @@ func (u *ContainerService) PageVolume(req dto.SearchWithPage) (int64, interface{ var volume dto.Volume volume.Driver = item.Driver volume.Mountpoint = item.Mountpoint - volume.Name = simplifyVolumeName(item.Name) + volume.Name = item.Name for key, val := range item.Labels { volume.Labels = append(volume.Labels, dto.VolumeOption{Key: key, Value: val}) } @@ -143,16 +142,3 @@ func (u *ContainerService) CreateVolume(req dto.VolumeCreate) error { } return nil } - -func simplifyVolumeName(name string) string { - if len(name) != 64 { - return name - } - - for _, char := range name { - if !unicode.Is(unicode.ASCII_Hex_Digit, char) { - return name - } - } - return name[:12] -} diff --git a/agent/app/service/cronjob_helper.go b/agent/app/service/cronjob_helper.go index 8e2b43f5d..f4f0886bd 100644 --- a/agent/app/service/cronjob_helper.go +++ b/agent/app/service/cronjob_helper.go @@ -8,7 +8,6 @@ import ( "io" "net/http" "os" - "path" pathUtils "path" "path/filepath" "strings" @@ -147,7 +146,7 @@ func (u *CronjobService) handleShell(cronjob model.Cronjob, taskItem *task.Task) if len(cronjob.ContainerName) != 0 { scriptItem := cronjob.Script if cronjob.ScriptMode == "select" { - scriptItem = path.Join("/tmp", path.Base(cronjob.Script)) + scriptItem = pathUtils.Join("/tmp", pathUtils.Base(cronjob.Script)) if err := cmdMgr.Run("docker", "cp", cronjob.Script, cronjob.ContainerName+":"+scriptItem); err != nil { return err } @@ -252,11 +251,11 @@ func (u *CronjobService) handleCleanLog(cronjob model.Cronjob, taskItem *task.Ta if appInstall.ID > 0 { curStr := i18n.GetWithName("CleanLogByName", "OpenResty") t.LogStart(curStr) - accessLogPath := path.Join(appInstall.GetPath(), "log", "access.log") + accessLogPath := pathUtils.Join(appInstall.GetPath(), "log", "access.log") if err := os.Truncate(accessLogPath, 0); err != nil { t.LogFailedWithErr(curStr, err) } - errLogPath := path.Join(appInstall.GetPath(), "log", "error.log") + errLogPath := pathUtils.Join(appInstall.GetPath(), "log", "error.log") if err := os.Truncate(errLogPath, 0); err != nil { t.LogFailedWithErr(curStr, err) } @@ -274,8 +273,8 @@ func (u *CronjobService) handleSyncIpGroup(cronjob model.Cronjob, taskItem *task if err != nil { return err } - ipGroupDir := path.Join(appInstall.GetPath(), "1pwaf", "data", "rules", "ip_group") - urlDir := path.Join(ipGroupDir, "ip_group_url") + ipGroupDir := pathUtils.Join(appInstall.GetPath(), "1pwaf", "data", "rules", "ip_group") + urlDir := pathUtils.Join(ipGroupDir, "ip_group_url") urlsFiles, err := os.ReadDir(urlDir) if err != nil { @@ -471,7 +470,7 @@ func (u *CronjobService) removeExpiredLog(cronjob model.Cronjob) { } _ = cronjobRepo.DeleteRecord(repo.WithByID(records[i].ID)) _ = taskRepo.Delete(taskRepo.WithByID(records[i].TaskID)) - _ = os.Remove(path.Join(global.CONF.Base.InstallDir, "1panel/log/task/Cronjob", records[i].TaskID+".log")) + _ = os.Remove(pathUtils.Join(global.CONF.Base.InstallDir, "1panel/log/task/Cronjob", records[i].TaskID+".log")) } } diff --git a/frontend/src/components/codemirror-pro/drawer.vue b/frontend/src/components/codemirror-pro/drawer.vue index 5dcadb33e..419758ed3 100644 --- a/frontend/src/components/codemirror-pro/drawer.vue +++ b/frontend/src/components/codemirror-pro/drawer.vue @@ -1,6 +1,6 @@