@qiaolei81/copilot-session-viewer 0.2.1 → 0.2.2

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.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.2.2] - 2026-02-27
9
+
10
+ ### Fixed
11
+ - **ETag Cache Bug** - `session.updated`/`session.created` field name typo (should be `updatedAt`/`createdAt`) caused ETag to always be `md5("sessionId-undefined")`, resulting in permanent 304 Not Modified responses — frontend never saw new events for WIP sessions
12
+
8
13
  ## [0.2.1] - 2026-02-25
9
14
 
10
15
  ### Changed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qiaolei81/copilot-session-viewer",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "Web UI for viewing GitHub Copilot CLI session logs",
5
5
  "author": "Lei Qiao <qiaolei81@gmail.com>",
6
6
  "license": "MIT",
@@ -182,8 +182,8 @@ class SessionController {
182
182
  // Generate ETag from session ID + timestamp + pagination params (if used)
183
183
  const crypto = require('crypto');
184
184
  const etagBase = isPaginationRequested
185
- ? `${sessionId}-${session.updated || session.created}-${limit}-${offset}`
186
- : `${sessionId}-${session.updated || session.created}`;
185
+ ? `${sessionId}-${session.updatedAt || session.createdAt}-${limit}-${offset}`
186
+ : `${sessionId}-${session.updatedAt || session.createdAt}`;
187
187
  const etag = crypto.createHash('md5').update(etagBase).digest('hex');
188
188
 
189
189
  // Check If-None-Match header (client cache)
@@ -248,7 +248,7 @@ class SessionController {
248
248
 
249
249
  // Set caching headers
250
250
  const crypto = require('crypto');
251
- const etagBase = `${sessionId}-timeline-${session.updated || session.created}`;
251
+ const etagBase = `${sessionId}-timeline-${session.updatedAt || session.createdAt}`;
252
252
  const etag = crypto.createHash('md5').update(etagBase).digest('hex');
253
253
 
254
254
  res.set({