Przeglądaj źródła

core: add project update timestamps to track when projects were last modified

Projects now track when they were last updated, making it easier for users
to see recent activity and identify stale projects in their workspace.
Dax Raad 2 miesięcy temu
rodzic
commit
036f5d4eef
1 zmienionych plików z 5 dodań i 0 usunięć
  1. 5 0
      packages/opencode/src/project/project.ts

+ 5 - 0
packages/opencode/src/project/project.ts

@@ -18,6 +18,7 @@ export namespace Project {
       vcs: z.literal("git").optional(),
       vcs: z.literal("git").optional(),
       time: z.object({
       time: z.object({
         created: z.number(),
         created: z.number(),
+        updated: z.number().optional(),
         initialized: z.number().optional(),
         initialized: z.number().optional(),
       }),
       }),
     })
     })
@@ -38,6 +39,7 @@ export namespace Project {
         vcs: Info.shape.vcs.parse(Flag.OPENCODE_FAKE_VCS),
         vcs: Info.shape.vcs.parse(Flag.OPENCODE_FAKE_VCS),
         time: {
         time: {
           created: Date.now(),
           created: Date.now(),
+          updated: Date.now(),
         },
         },
       }
       }
       await Storage.write<Info>(["project", "global"], project)
       await Storage.write<Info>(["project", "global"], project)
@@ -84,12 +86,15 @@ export namespace Project {
       await migrateFromGlobal(projectID, worktree)
       await migrateFromGlobal(projectID, worktree)
     }
     }
     const project: Info = {
     const project: Info = {
+      ...existing,
       id: projectID,
       id: projectID,
       worktree,
       worktree,
       vcsDir,
       vcsDir,
       vcs: "git",
       vcs: "git",
       time: {
       time: {
         created: Date.now(),
         created: Date.now(),
+        ...existing?.time,
+        updated: Date.now(),
       },
       },
     }
     }
     await Storage.write<Info>(["project", projectID], project)
     await Storage.write<Info>(["project", projectID], project)