@buoy-gg/network 2.1.10 → 2.1.12

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.
@@ -156,7 +156,9 @@ const UrlBreakdown = ({
156
156
  }), showParams ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_dataViewer.DataViewer, {
157
157
  title: "",
158
158
  data: urlParts.params,
159
- showTypeFilter: false
159
+ showTypeFilter: true,
160
+ rawMode: true,
161
+ initialExpanded: true
160
162
  }) : null]
161
163
  }) : null]
162
164
  });
@@ -45,6 +45,7 @@ function NetworkModalInner({
45
45
  } = (0, _sharedUi.useFeatureGate)();
46
46
  const {
47
47
  events,
48
+ allEvents,
48
49
  stats,
49
50
  filter,
50
51
  setFilter,
@@ -332,12 +333,17 @@ function NetworkModalInner({
332
333
  return generateCopyText();
333
334
  }, [filteredEvents.length, generateCopyText]);
334
335
 
335
- // Compute badge stats from filtered events (respects ignored patterns)
336
+ // Compute badge stats from all events (before status filtering) with ignored patterns applied.
337
+ // This ensures counts stay stable when toggling between status filters.
336
338
  const badgeStats = (0, _react.useMemo)(() => {
337
339
  let successful = 0;
338
340
  let failed = 0;
339
341
  let pending = 0;
340
- for (const event of filteredEvents) {
342
+ const eventsForStats = ignoredPatterns.size === 0 ? allEvents : allEvents.filter(event => {
343
+ const url = event.url.toLowerCase();
344
+ return !Array.from(ignoredPatterns).some(pattern => url.includes(pattern.toLowerCase()));
345
+ });
346
+ for (const event of eventsForStats) {
341
347
  if (event.status && event.status >= 200 && event.status < 300) {
342
348
  successful++;
343
349
  } else if (event.error || event.status && event.status >= 400) {
@@ -351,7 +357,7 @@ function NetworkModalInner({
351
357
  failed,
352
358
  pending
353
359
  };
354
- }, [filteredEvents]);
360
+ }, [allEvents, ignoredPatterns]);
355
361
 
356
362
  // FlatList optimization - only keep what's needed for FlatList performance
357
363
  const keyExtractor = item => item.id;
@@ -3,32 +3,19 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.TickProvider = TickProvider;
6
+ Object.defineProperty(exports, "TickProvider", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _sharedUi.TickProvider;
10
+ }
11
+ });
7
12
  exports.useTickEveryMinute = useTickEveryMinute;
8
- var _react = require("react");
9
- var _jsxRuntime = require("react/jsx-runtime");
10
- const TickContext = /*#__PURE__*/(0, _react.createContext)(Date.now());
11
- function TickProvider({
12
- children,
13
- intervalMs = 60_000
14
- }) {
15
- const [tick, setTick] = (0, _react.useState)(() => Date.now());
16
- (0, _react.useEffect)(() => {
17
- const id = setInterval(() => {
18
- setTick(Date.now());
19
- }, intervalMs);
20
- return () => {
21
- clearInterval(id);
22
- };
23
- }, [intervalMs]);
24
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(TickContext.Provider, {
25
- value: tick,
26
- children: children
27
- });
28
- }
29
- function useTickEveryMinute() {
30
- const tick = (0, _react.useContext)(TickContext);
13
+ var _sharedUi = require("@buoy-gg/shared-ui");
14
+ // Re-export TickProvider from shared package
31
15
 
32
- // Expose stable object so consumers can memoize on value changes
33
- return (0, _react.useMemo)(() => tick, [tick]);
16
+ // Re-export useTick as useTickEveryMinute for backward compatibility.
17
+ // Falls back to Date.now() when no provider is present (matches original behavior).
18
+
19
+ function useTickEveryMinute() {
20
+ return (0, _sharedUi.useTick)() ?? Date.now();
34
21
  }
@@ -153,7 +153,9 @@ const UrlBreakdown = ({
153
153
  }), showParams ? /*#__PURE__*/_jsx(DataViewer, {
154
154
  title: "",
155
155
  data: urlParts.params,
156
- showTypeFilter: false
156
+ showTypeFilter: true,
157
+ rawMode: true,
158
+ initialExpanded: true
157
159
  }) : null]
158
160
  }) : null]
159
161
  });
@@ -41,6 +41,7 @@ function NetworkModalInner({
41
41
  } = useFeatureGate();
42
42
  const {
43
43
  events,
44
+ allEvents,
44
45
  stats,
45
46
  filter,
46
47
  setFilter,
@@ -328,12 +329,17 @@ function NetworkModalInner({
328
329
  return generateCopyText();
329
330
  }, [filteredEvents.length, generateCopyText]);
330
331
 
331
- // Compute badge stats from filtered events (respects ignored patterns)
332
+ // Compute badge stats from all events (before status filtering) with ignored patterns applied.
333
+ // This ensures counts stay stable when toggling between status filters.
332
334
  const badgeStats = useMemo(() => {
333
335
  let successful = 0;
334
336
  let failed = 0;
335
337
  let pending = 0;
336
- for (const event of filteredEvents) {
338
+ const eventsForStats = ignoredPatterns.size === 0 ? allEvents : allEvents.filter(event => {
339
+ const url = event.url.toLowerCase();
340
+ return !Array.from(ignoredPatterns).some(pattern => url.includes(pattern.toLowerCase()));
341
+ });
342
+ for (const event of eventsForStats) {
337
343
  if (event.status && event.status >= 200 && event.status < 300) {
338
344
  successful++;
339
345
  } else if (event.error || event.status && event.status >= 400) {
@@ -347,7 +353,7 @@ function NetworkModalInner({
347
353
  failed,
348
354
  pending
349
355
  };
350
- }, [filteredEvents]);
356
+ }, [allEvents, ignoredPatterns]);
351
357
 
352
358
  // FlatList optimization - only keep what's needed for FlatList performance
353
359
  const keyExtractor = item => item.id;
@@ -1,29 +1,11 @@
1
1
  "use strict";
2
2
 
3
- import { createContext, useContext, useEffect, useMemo, useState } from "react";
4
- import { jsx as _jsx } from "react/jsx-runtime";
5
- const TickContext = /*#__PURE__*/createContext(Date.now());
6
- export function TickProvider({
7
- children,
8
- intervalMs = 60_000
9
- }) {
10
- const [tick, setTick] = useState(() => Date.now());
11
- useEffect(() => {
12
- const id = setInterval(() => {
13
- setTick(Date.now());
14
- }, intervalMs);
15
- return () => {
16
- clearInterval(id);
17
- };
18
- }, [intervalMs]);
19
- return /*#__PURE__*/_jsx(TickContext.Provider, {
20
- value: tick,
21
- children: children
22
- });
23
- }
24
- export function useTickEveryMinute() {
25
- const tick = useContext(TickContext);
3
+ // Re-export TickProvider from shared package
4
+ export { TickProvider } from "@buoy-gg/shared-ui";
26
5
 
27
- // Expose stable object so consumers can memoize on value changes
28
- return useMemo(() => tick, [tick]);
6
+ // Re-export useTick as useTickEveryMinute for backward compatibility.
7
+ // Falls back to Date.now() when no provider is present (matches original behavior).
8
+ import { useTick } from "@buoy-gg/shared-ui";
9
+ export function useTickEveryMinute() {
10
+ return useTick() ?? Date.now();
29
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkEventDetailView.d.ts","sourceRoot":"","sources":["../../../../src/network/components/NetworkEventDetailView.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAU7C,UAAU,2BAA2B;IACnC,KAAK,EAAE,YAAY,CAAC;IACpB,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C;AAmKD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,eAA2B,EAC3B,eAA0B,GAC3B,EAAE,2BAA2B,+BAkZ7B"}
1
+ {"version":3,"file":"NetworkEventDetailView.d.ts","sourceRoot":"","sources":["../../../../src/network/components/NetworkEventDetailView.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAU7C,UAAU,2BAA2B;IACnC,KAAK,EAAE,YAAY,CAAC;IACpB,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C;AAqKD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,eAA2B,EAC3B,eAA0B,GAC3B,EAAE,2BAA2B,+BAkZ7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkModal.d.ts","sourceRoot":"","sources":["../../../../src/network/components/NetworkModal.tsx"],"names":[],"mappings":"AA4CA,UAAU,iBAAiB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC;AA0iCD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,+BAMpD"}
1
+ {"version":3,"file":"NetworkModal.d.ts","sourceRoot":"","sources":["../../../../src/network/components/NetworkModal.tsx"],"names":[],"mappings":"AA4CA,UAAU,iBAAiB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC;AAsjCD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,+BAMpD"}
@@ -1,9 +1,3 @@
1
- import { type ReactNode } from "react";
2
- interface TickProviderProps {
3
- children: ReactNode;
4
- intervalMs?: number;
5
- }
6
- export declare function TickProvider({ children, intervalMs, }: TickProviderProps): import("react").JSX.Element;
1
+ export { TickProvider } from "@buoy-gg/shared-ui";
7
2
  export declare function useTickEveryMinute(): number;
8
- export {};
9
3
  //# sourceMappingURL=useTickEveryMinute.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTickEveryMinute.d.ts","sourceRoot":"","sources":["../../../../src/network/hooks/useTickEveryMinute.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAIf,UAAU,iBAAiB;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,UAAmB,GACpB,EAAE,iBAAiB,+BAcnB;AAED,wBAAgB,kBAAkB,WAKjC"}
1
+ {"version":3,"file":"useTickEveryMinute.d.ts","sourceRoot":"","sources":["../../../../src/network/hooks/useTickEveryMinute.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buoy-gg/network",
3
- "version": "2.1.10",
3
+ "version": "2.1.12",
4
4
  "description": "network package",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -26,7 +26,7 @@
26
26
  ],
27
27
  "sideEffects": false,
28
28
  "dependencies": {
29
- "@buoy-gg/shared-ui": "2.1.10"
29
+ "@buoy-gg/shared-ui": "2.1.12"
30
30
  },
31
31
  "peerDependencies": {
32
32
  "react": "*",