@amiable-dev/docusaurus-plugin-stentorosaur 0.21.5 → 0.21.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"StatusDataProvider.d.ts","sourceRoot":"","sources":["../../src/context/StatusDataProvider.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAOZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,gBAAgB,EAAqB,MAAM,UAAU,CAAC;AAEpE;;GAEG;AACH,UAAU,cAAc;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,UAAU,GAAG,aAAa,CAAC;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,UAAU,aAAa;IACrB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,MAAM,EAAE,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC1D,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,qCAAqC;IACrC,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACtC,6CAA6C;IAC7C,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB;;;OAGG;IACH,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;IACtD,mBAAmB;IACnB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAgID;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,QAAQ,GACT,EAAE,uBAAuB,GAAG,KAAK,CAAC,YAAY,CAgK9C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,sBAAsB,CAMtD;AAGD,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"StatusDataProvider.d.ts","sourceRoot":"","sources":["../../src/context/StatusDataProvider.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAOZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,gBAAgB,EAAqB,MAAM,UAAU,CAAC;AAEpE;;GAEG;AACH,UAAU,cAAc;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,UAAU,GAAG,aAAa,CAAC;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,UAAU,aAAa;IACrB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,MAAM,EAAE,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC1D,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,qCAAqC;IACrC,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACtC,6CAA6C;IAC7C,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB;;;OAGG;IACH,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;IACtD,mBAAmB;IACnB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAgID;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,QAAQ,GACT,EAAE,uBAAuB,GAAG,KAAK,CAAC,YAAY,CAyL9C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,sBAAsB,CAMtD;AAGD,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"}
@@ -136,6 +136,7 @@ function StatusDataProvider({ baseUrl, children, }) {
136
136
  * Fetch both data files in parallel
137
137
  */
138
138
  const fetchData = (0, react_1.useCallback)(async () => {
139
+ console.log('[StatusDataProvider] Starting fetch from baseUrl:', baseUrl);
139
140
  setLoading(true);
140
141
  setError(null);
141
142
  setSummaryFailed(false);
@@ -144,14 +145,23 @@ function StatusDataProvider({ baseUrl, children, }) {
144
145
  let currentOk = false;
145
146
  try {
146
147
  // Fetch both files in parallel
148
+ const summaryUrl = `${baseUrl}/daily-summary.json`;
149
+ const currentUrl = `${baseUrl}/current.json`;
150
+ console.log('[StatusDataProvider] Fetching:', summaryUrl, currentUrl);
147
151
  const [summaryResponse, currentResponse] = await Promise.all([
148
- fetch(`${baseUrl}/daily-summary.json`).catch(() => null),
149
- fetch(`${baseUrl}/current.json`).catch(() => null),
152
+ fetch(summaryUrl).catch((e) => { console.error('[StatusDataProvider] Summary fetch error:', e); return null; }),
153
+ fetch(currentUrl).catch((e) => { console.error('[StatusDataProvider] Current fetch error:', e); return null; }),
150
154
  ]);
151
155
  // Handle summary response
156
+ console.log('[StatusDataProvider] Summary response:', summaryResponse?.ok, summaryResponse?.status);
152
157
  if (summaryResponse?.ok) {
153
158
  try {
154
159
  const data = await summaryResponse.json();
160
+ console.log('[StatusDataProvider] Parsed daily-summary:', {
161
+ version: data.version,
162
+ lastUpdated: data.lastUpdated,
163
+ serviceKeys: data.services ? Object.keys(data.services) : 'no services',
164
+ });
155
165
  setDailySummary(data);
156
166
  summaryOk = true;
157
167
  // Check for stale data
@@ -163,11 +173,13 @@ function StatusDataProvider({ baseUrl, children, }) {
163
173
  }
164
174
  }
165
175
  }
166
- catch {
176
+ catch (e) {
177
+ console.error('[StatusDataProvider] JSON parse error for summary:', e);
167
178
  setSummaryFailed(true);
168
179
  }
169
180
  }
170
181
  else {
182
+ console.warn('[StatusDataProvider] Summary fetch not ok:', summaryResponse?.status);
171
183
  setSummaryFailed(true);
172
184
  }
173
185
  // Handle current response
@@ -188,17 +200,21 @@ function StatusDataProvider({ baseUrl, children, }) {
188
200
  }
189
201
  // Only set error if both files failed
190
202
  if (!summaryOk && !currentOk) {
203
+ console.error('[StatusDataProvider] Both fetches failed');
191
204
  setError(new Error('No data available'));
192
205
  }
206
+ console.log('[StatusDataProvider] Fetch complete:', { summaryOk, currentOk });
193
207
  setLoading(false);
194
208
  }
195
209
  catch (err) {
210
+ console.error('[StatusDataProvider] Unexpected error:', err);
196
211
  setError(err instanceof Error ? err : new Error('Network error'));
197
212
  setLoading(false);
198
213
  }
199
214
  }, [baseUrl]);
200
215
  // Fetch data on mount
201
216
  (0, react_1.useEffect)(() => {
217
+ console.log('[StatusDataProvider] useEffect triggered, calling fetchData');
202
218
  fetchData();
203
219
  }, [fetchData]);
204
220
  /**
@@ -207,12 +223,18 @@ function StatusDataProvider({ baseUrl, children, }) {
207
223
  const getMerged90Days = (0, react_1.useCallback)((serviceName) => {
208
224
  // Return empty array if no data or unknown service
209
225
  const lowerServiceName = serviceName.toLowerCase();
226
+ console.log('[getMerged90Days] Called for:', serviceName, {
227
+ hasDailySummary: !!dailySummary,
228
+ hasServices: !!dailySummary?.services,
229
+ availableServices: dailySummary?.services ? Object.keys(dailySummary.services) : [],
230
+ });
210
231
  const entries = [];
211
232
  const today = new Date().toISOString().split('T')[0];
212
233
  // Get historical data from summary
213
234
  const historicalEntries = dailySummary?.services?.[lowerServiceName] ||
214
235
  dailySummary?.services?.[serviceName] ||
215
236
  [];
237
+ console.log('[getMerged90Days] Historical entries:', historicalEntries.length);
216
238
  // Get today's readings from current.json
217
239
  const todayReadings = currentStatus?.readings
218
240
  ? groupReadingsByDate(currentStatus.readings, serviceName).get(today) ||
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/theme/UptimeBar/index.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;GAOG;AAEH,OAAO,KAAqE,MAAM,OAAO,CAAC;AAC1F,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAGjF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IACnB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uCAAuC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB;IAClB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IACvD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9D,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EACxB,WAAW,EACX,IAAI,EAAE,YAAY,EAClB,IAAS,EACT,MAAW,EACX,GAAO,EACP,cAAqB,EACrB,cAAqB,EACrB,UAA+B,EAC/B,OAAe,EACf,KAAK,EACL,OAAO,EACP,SAAS,EACT,UAAU,EACV,UAAU,EACV,SAAS,GACV,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CAkMrC;AAGD,eAAe,SAAS,CAAC;AAGzB,YAAY,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/theme/UptimeBar/index.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;GAOG;AAEH,OAAO,KAAqE,MAAM,OAAO,CAAC;AAC1F,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAGjF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IACnB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uCAAuC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB;IAClB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IACvD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9D,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EACxB,WAAW,EACX,IAAI,EAAE,YAAY,EAClB,IAAS,EACT,MAAW,EACX,GAAO,EACP,cAAqB,EACrB,cAAqB,EACrB,UAA+B,EAC/B,OAAe,EACf,KAAK,EACL,OAAO,EACP,SAAS,EACT,UAAU,EACV,UAAU,EACV,SAAS,GACV,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CA2MrC;AAGD,eAAe,SAAS,CAAC;AAGzB,YAAY,EAAE,SAAS,EAAE,CAAC"}
@@ -82,9 +82,11 @@ function generateAriaLabel(serviceName, days, averageUptime) {
82
82
  */
83
83
  function UptimeBar({ serviceName, data: providedData, days = 90, height = 34, gap = 2, showPercentage = true, showDateLabels = true, thresholds = DEFAULT_THRESHOLDS, loading = false, error, onRetry, ariaLabel, onDayClick, onDayHover, className, }) {
84
84
  // Get data and loading state from context
85
- const { getMerged90Days, loading: contextLoading, error: contextError } = (0, StatusDataProvider_1.useStatusData)();
85
+ const { getMerged90Days, loading: contextLoading, error: contextError, dailySummary } = (0, StatusDataProvider_1.useStatusData)();
86
86
  // Use context loading/error if no data is provided (not using override props)
87
- const isLoading = loading || (!providedData && contextLoading);
87
+ // Also consider loading if dailySummary hasn't been fetched yet (even if contextLoading is false)
88
+ const dataNotYetAvailable = !providedData && !dailySummary;
89
+ const isLoading = loading || contextLoading || dataNotYetAvailable;
88
90
  const displayError = error || (!providedData && contextError);
89
91
  // Roving tabindex state - track which day has focus
90
92
  const [focusedIndex, setFocusedIndex] = (0, react_1.useState)(0);
@@ -168,8 +170,15 @@ function UptimeBar({ serviceName, data: providedData, days = 90, height = 34, ga
168
170
  if (displayError) {
169
171
  return ((0, jsx_runtime_1.jsxs)("div", { className: `${styles_module_css_1.default.uptimeBarContainer} ${styles_module_css_1.default.error} ${className || ''}`, children: [(0, jsx_runtime_1.jsx)("span", { className: styles_module_css_1.default.errorMessage, children: "Failed to load uptime data" }), onRetry && ((0, jsx_runtime_1.jsx)("button", { type: "button", className: styles_module_css_1.default.retryButton, onClick: onRetry, "aria-label": "Retry loading uptime data", children: "Retry" }))] }));
170
172
  }
171
- // Empty state
173
+ // Empty state - add debug info
172
174
  if (dayData.length === 0) {
175
+ // Log debug info
176
+ console.log('[UptimeBar] Empty state for', serviceName, {
177
+ contextLoading,
178
+ contextError: contextError?.message,
179
+ loading,
180
+ isLoading,
181
+ });
173
182
  return ((0, jsx_runtime_1.jsx)("div", { className: `${styles_module_css_1.default.uptimeBarContainer} ${styles_module_css_1.default.empty} ${className || ''}`, role: "img", "aria-label": `No uptime data available for ${serviceName}`, children: (0, jsx_runtime_1.jsx)("span", { className: styles_module_css_1.default.emptyMessage, children: "No data available" }) }));
174
183
  }
175
184
  // Reverse for display (oldest first, newest last)
package/lib/version.d.ts CHANGED
@@ -2,5 +2,5 @@
2
2
  * Plugin version - auto-generated during build
3
3
  * DO NOT EDIT MANUALLY - This file is generated from package.json
4
4
  */
5
- export declare const PLUGIN_VERSION = "0.21.5";
5
+ export declare const PLUGIN_VERSION = "0.21.8";
6
6
  //# sourceMappingURL=version.d.ts.map
package/lib/version.js CHANGED
@@ -5,4 +5,4 @@
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.PLUGIN_VERSION = void 0;
8
- exports.PLUGIN_VERSION = '0.21.5';
8
+ exports.PLUGIN_VERSION = '0.21.8';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amiable-dev/docusaurus-plugin-stentorosaur",
3
- "version": "0.21.5",
3
+ "version": "0.21.8",
4
4
  "description": "A Docusaurus plugin for displaying status monitoring dashboard powered by GitHub Issues and Actions, similar to Upptime",
5
5
  "main": "lib/index.js",
6
6
  "types": "src/plugin-status.d.ts",