@networkpro/web 1.25.21 → 1.25.22

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.
@@ -14,10 +14,10 @@ on:
14
14
 
15
15
  jobs:
16
16
  gitleaks-scan:
17
+ if: github.actor != 'dependabot[bot]'
17
18
  runs-on: ubuntu-24.04
18
19
  permissions:
19
20
  contents: read
20
- security-events: write
21
21
  issues: write
22
22
  env:
23
23
  CODEQL_ACTION_ANALYSIS_KEY: gitleaks
@@ -49,7 +49,7 @@ jobs:
49
49
  # (either not a PR, or a PR from the same repo)
50
50
  # ---------------------------------------------------------------------
51
51
  - name: Upload Gitleaks Report
52
- if: always() && (github.event.pull_request.head.repo.full_name == github.repository || github.event_name != 'pull_request')
52
+ if: always() && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
53
53
  uses: actions/upload-artifact@v6
54
54
  with:
55
55
  name: gitleaks-report
@@ -59,6 +59,10 @@ jobs:
59
59
  # LAYER 1: Output redaction
60
60
  # Public-safe summary – shows only secret descriptions, hides file paths.
61
61
  # ---------------------------------------------------------------------
62
+ - name: Ensure jq is installed
63
+ if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
64
+ run: sudo apt-get update && sudo apt-get install -y jq
65
+
62
66
  - name: Post Gitleaks summary
63
67
  if: always()
64
68
  run: |
@@ -91,7 +95,7 @@ jobs:
91
95
  # Create issue only in trusted repo context (avoids using tokens on forks)
92
96
  # ---------------------------------------------------------------------
93
97
  - name: Create issue for detected secrets
94
- if: failure() && (github.event.pull_request.head.repo.full_name == github.repository || github.event_name != 'pull_request')
98
+ if: failure() && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
95
99
  uses: actions/github-script@v7
96
100
  with:
97
101
  github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -111,7 +115,7 @@ jobs:
111
115
  # Send ntfy alert only for trusted repo context.
112
116
  # ---------------------------------------------------------------------
113
117
  - name: Send ntfy notification
114
- if: failure() && (github.event.pull_request.head.repo.full_name == github.repository || github.event_name != 'pull_request')
118
+ if: failure() && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
115
119
  run: |
116
120
  curl -d "🚨 Gitleaks found secrets in repo: $GITHUB_REPOSITORY on commit $GITHUB_SHA" \
117
- https://ntfy.neteng.pro/${{ secrets.NTFY_TOPIC }}
121
+ https://ntfy.neteng.pro/${{ secrets.NTFY_TOPIC }}
package/CHANGELOG.md CHANGED
@@ -24,6 +24,37 @@ version increments reflecting both user-visible and operational impact.
24
24
 
25
25
  ---
26
26
 
27
+ ## [1.25.22] - 2026-01-01
28
+
29
+ ### Added
30
+
31
+ - Conditional guards to ensure artifacts, issues, and external notifications are only created when workflows run in a trusted context (non-PR runs or PRs originating from the same repository).
32
+ - Redacted, public-safe Gitleaks scan summaries in GitHub Actions step output to prevent accidental exposure of sensitive file paths or values.
33
+ - Optional installation of `jq` gated to trusted execution contexts to support future structured output (e.g., SARIF) while preserving fork safety.
34
+
35
+ ### Changed
36
+
37
+ - Updated the Gitleaks secret scanning workflow to explicitly exclude Dependabot pull requests, avoiding failures caused by unavailable organization secrets in bot-triggered PRs.
38
+ - Refined workflow trust boundaries to distinguish between forked pull requests and trusted repository contexts.
39
+ - Updated `.gitignore` to stop tracking generated `.svelte-kit` files.
40
+ - Bumped project version to `v1.25.22`.
41
+ - Updated dependencies:
42
+ - `stylelint-order` `^7.0.0` → `^7.0.1`
43
+ - `posthog-js` `^1.310.1` → `^1.313.0`
44
+ - `globals` `^16.5.0` → `^17.0.0`
45
+
46
+ ### Removed
47
+
48
+ - Removed Mastodon verification in `src/routes/posts/+page.svelte`, as it was not functioning properly. This route will remain unverified.
49
+
50
+ ### Security
51
+
52
+ - Hardened secret-handling logic in CI by preventing the use of organization-level secrets, write permissions, and external notifications in untrusted pull request contexts.
53
+ - Ensured Gitleaks license usage is restricted to safe execution paths, eliminating false-negative or false-positive failures caused by GitHub Actions secret scoping rules.
54
+ - Added transitive dependency override for `qs` to `^6.14.1`, in order to address CVE-2025-15284.
55
+
56
+ ---
57
+
27
58
  ## [1.25.21] - 2025-12-27
28
59
 
29
60
  ### Added
@@ -2090,7 +2121,7 @@ This enables analytics filtering and CSP hardening for the audit environment.
2090
2121
 
2091
2122
  ---
2092
2123
 
2093
- ## 1.12.0 – 2025-06-04
2124
+ ## [1.12.0] – 2025-06-04
2094
2125
 
2095
2126
  ### Added
2096
2127
 
@@ -2118,7 +2149,8 @@ This enables analytics filtering and CSP hardening for the audit environment.
2118
2149
 
2119
2150
  <!-- Link references -->
2120
2151
 
2121
- [Unreleased]: https://github.com/netwk-pro/netwk-pro.github.io/compare/v1.25.21...HEAD
2152
+ [Unreleased]: https://github.com/netwk-pro/netwk-pro.github.io/compare/v1.25.22...HEAD
2153
+ [1.25.22]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.25.22
2122
2154
  [1.25.21]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.25.21
2123
2155
  [1.25.20]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.25.20
2124
2156
  [1.25.19]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.25.19
@@ -2190,5 +2222,6 @@ This enables analytics filtering and CSP hardening for the audit environment.
2190
2222
  [1.12.4]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.12.4
2191
2223
  [1.12.3]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.12.3
2192
2224
  [1.12.1]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.12.1
2225
+ [1.12.0]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.12.0
2193
2226
 
2194
2227
  <!-- cspell:ignore qrcode cryptom otphelp domcontentloaded -->
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@networkpro/web",
3
3
  "private": false,
4
- "version": "1.25.21",
4
+ "version": "1.25.22",
5
5
  "description": "Locking Down Networks, Unlocking Confidence™ | Security, Networking, Privacy — Network Pro Strategies",
6
6
  "keywords": [
7
7
  "consulting",
8
8
  "cybersecurity",
9
9
  "networking",
10
+ "policy",
10
11
  "privacy",
11
12
  "pwa",
12
13
  "security",
@@ -85,7 +86,7 @@
85
86
  },
86
87
  "dependencies": {
87
88
  "dompurify": "^3.3.1",
88
- "posthog-js": "^1.310.1",
89
+ "posthog-js": "^1.313.0",
89
90
  "semver": "^7.7.3",
90
91
  "svelte": "5.46.1"
91
92
  },
@@ -107,7 +108,7 @@
107
108
  "eslint-config-prettier": "^10.1.8",
108
109
  "eslint-plugin-jsdoc": "^61.5.0",
109
110
  "eslint-plugin-svelte": "^3.13.1",
110
- "globals": "^16.5.0",
111
+ "globals": "^17.0.0",
111
112
  "globby": "^16.1.0",
112
113
  "jsdom": "27.4.0",
113
114
  "lightningcss": "^1.30.2",
@@ -122,7 +123,7 @@
122
123
  "stylelint": "^16.26.1",
123
124
  "stylelint-config-html": "^1.1.0",
124
125
  "stylelint-config-recommended": "^17.0.0",
125
- "stylelint-order": "^7.0.0",
126
+ "stylelint-order": "^7.0.1",
126
127
  "svelte-check": "^4.3.5",
127
128
  "svelte-eslint-parser": "^1.4.1",
128
129
  "svelte-preprocess": "^6.0.3",
@@ -137,7 +138,8 @@
137
138
  "cookie": "^1.0.0",
138
139
  "glob": "^11.1.0",
139
140
  "js-yaml": "^4.1.1",
140
- "tar": ">=7.5.2",
141
- "tmp": ">=0.2.4"
141
+ "qs": "^6.14.1",
142
+ "tar": "^7.5.2",
143
+ "tmp": "^0.2.4"
142
144
  }
143
145
  }
@@ -45,13 +45,6 @@ This file is part of Network Pro.
45
45
  });
46
46
  </script>
47
47
 
48
- <svelte:head>
49
- <a
50
- rel="me"
51
- href="https://noc.social/@neteng_pro"
52
- aria-label="Mastodon profile"></a>
53
- </svelte:head>
54
-
55
48
  {#if show && target}
56
49
  <RedirectPage to={target} rel={PAGE.REL} />
57
50
  {:else}
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <!-- Sitemap last updated 2025-12-27 -->
2
+ <!-- Sitemap last updated 2026-01-01 -->
3
3
 
4
4
  <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
5
5
 
@@ -7,7 +7,7 @@
7
7
 
8
8
  <loc>https://netwk.pro</loc>
9
9
 
10
- <lastmod>2025-12-25</lastmod>
10
+ <lastmod>2026-01-01</lastmod>
11
11
 
12
12
  <changefreq>weekly</changefreq>
13
13
 
@@ -1,52 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "paths": {
4
- "$lib": [
5
- "../src/lib"
6
- ],
7
- "$lib/*": [
8
- "../src/lib/*"
9
- ],
10
- "$app/types": [
11
- "./types/index.d.ts"
12
- ]
13
- },
14
- "rootDirs": [
15
- "..",
16
- "./types"
17
- ],
18
- "verbatimModuleSyntax": true,
19
- "isolatedModules": true,
20
- "lib": [
21
- "esnext",
22
- "DOM",
23
- "DOM.Iterable"
24
- ],
25
- "moduleResolution": "bundler",
26
- "module": "esnext",
27
- "noEmit": true,
28
- "target": "esnext"
29
- },
30
- "include": [
31
- "ambient.d.ts",
32
- "non-ambient.d.ts",
33
- "./types/**/$types.d.ts",
34
- "../vite.config.js",
35
- "../vite.config.ts",
36
- "../src/**/*.js",
37
- "../src/**/*.ts",
38
- "../src/**/*.svelte",
39
- "../tests/**/*.js",
40
- "../tests/**/*.ts",
41
- "../tests/**/*.svelte"
42
- ],
43
- "exclude": [
44
- "../node_modules/**",
45
- "../src/service-worker.js",
46
- "../src/service-worker/**/*.js",
47
- "../src/service-worker.ts",
48
- "../src/service-worker/**/*.ts",
49
- "../src/service-worker.d.ts",
50
- "../src/service-worker/**/*.d.ts"
51
- ]
52
- }