codex-devtools 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -187,7 +187,8 @@ const logger = CodexServiceContext.createLogger("Standalone");
187
187
  const __filename$1 = node_url.fileURLToPath(require("url").pathToFileURL(__filename).href);
188
188
  const __dirname$1 = path.dirname(__filename$1);
189
189
  const createStandaloneServer = async (options = {}) => {
190
- const app = Fastify({ logger: true });
190
+ const enableHttpLogs = process.env.CODEX_DEVTOOLS_HTTP_LOGS === "1";
191
+ const app = Fastify({ logger: enableHttpLogs });
191
192
  const serviceContext = new CodexServiceContext.CodexServiceContext({
192
193
  sessionsPath: options.sessionsPath ?? process.env.CODEX_SESSIONS_PATH,
193
194
  configPath: options.configPath
@@ -7734,7 +7734,7 @@ const createAppStore = (client2 = api) => create()((...args) => ({
7734
7734
  }));
7735
7735
  const useAppStore = createAppStore();
7736
7736
  const REFRESH_DEBOUNCE_MS = 120;
7737
- const FALLBACK_POLL_INTERVAL_MS = 1500;
7737
+ const FALLBACK_POLL_INTERVAL_MS = 15e3;
7738
7738
  function initializeEventListeners(store = useAppStore, client2 = api) {
7739
7739
  let refreshTimer = null;
7740
7740
  let pollTimer = null;
@@ -7761,6 +7761,9 @@ function initializeEventListeners(store = useAppStore, client2 = api) {
7761
7761
  }, REFRESH_DEBOUNCE_MS);
7762
7762
  });
7763
7763
  const runFallbackRefresh = () => {
7764
+ if (typeof document !== "undefined" && document.visibilityState !== "visible") {
7765
+ return;
7766
+ }
7764
7767
  if (polling) {
7765
7768
  return;
7766
7769
  }
@@ -11564,6 +11567,7 @@ const DateGroupedSessions = () => {
11564
11567
  const {
11565
11568
  sessions,
11566
11569
  sessionsLoading,
11570
+ activeProjectCwd,
11567
11571
  activeSessionId,
11568
11572
  sessionPreviews,
11569
11573
  sessionUpdateBadges,
@@ -11572,6 +11576,7 @@ const DateGroupedSessions = () => {
11572
11576
  } = useAppStore((state) => ({
11573
11577
  sessions: state.sessions,
11574
11578
  sessionsLoading: state.sessionsLoading,
11579
+ activeProjectCwd: state.activeProjectCwd,
11575
11580
  activeSessionId: state.activeSessionId,
11576
11581
  sessionPreviews: state.sessionPreviews,
11577
11582
  sessionUpdateBadges: state.sessionUpdateBadges,
@@ -11594,7 +11599,7 @@ const DateGroupedSessions = () => {
11594
11599
  return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sidebar-loading", children: "Loading sessions..." });
11595
11600
  }
11596
11601
  if (groups.length === 0) {
11597
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sidebar-empty", children: "No sessions found for this project." });
11602
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sidebar-empty", children: activeProjectCwd ? "No sessions found for this project." : "Select a project to load sessions." });
11598
11603
  }
11599
11604
  return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "session-groups", children: groups.map((group) => /* @__PURE__ */ jsxRuntimeExports.jsxs("section", { className: "session-group", children: [
11600
11605
  /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "session-group-title", children: group.label }),
@@ -11679,6 +11684,11 @@ const Sidebar = () => {
11679
11684
  }
11680
11685
  )
11681
11686
  ] }),
11687
+ !projectsLoading && projects.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sidebar-empty", children: [
11688
+ "No projects discovered. Set ",
11689
+ /* @__PURE__ */ jsxRuntimeExports.jsx("code", { children: "CODEX_SESSIONS_PATH" }),
11690
+ " and restart."
11691
+ ] }) : null,
11682
11692
  /* @__PURE__ */ jsxRuntimeExports.jsx(DateGroupedSessions, {})
11683
11693
  ] });
11684
11694
  };
@@ -555,6 +555,9 @@ video {
555
555
  max-width: 1536px;
556
556
  }
557
557
  }
558
+ .visible {
559
+ visibility: visible;
560
+ }
558
561
  .static {
559
562
  position: static;
560
563
  }
@@ -7,8 +7,8 @@
7
7
  <link rel="icon" type="image/png" sizes="32x32" href="./assets/32x32-DQgygEFU.png" />
8
8
  <link rel="icon" type="image/png" sizes="16x16" href="./assets/16x16-B2_QkmoB.png" />
9
9
  <title>codex-devtools</title>
10
- <script type="module" crossorigin src="./assets/index-CR8-JZrV.js"></script>
11
- <link rel="stylesheet" crossorigin href="./assets/index-r_pK0Xle.css">
10
+ <script type="module" crossorigin src="./assets/index-NyaijTgK.js"></script>
11
+ <link rel="stylesheet" crossorigin href="./assets/index-z5pXbBkY.css">
12
12
  </head>
13
13
  <body class="bg-slate-950 text-slate-100">
14
14
  <div id="root">
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "codex-devtools",
3
3
  "type": "module",
4
- "version": "0.1.2",
4
+ "version": "0.1.3",
5
5
  "description": "Desktop app for inspecting Codex session data",
6
6
  "license": "MIT",
7
7
  "author": {