@networkpro/web 1.15.2 → 1.15.4

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/.node-version CHANGED
@@ -1 +1 @@
1
- 24.4.0
1
+ 24.4.1
package/.nvmrc CHANGED
@@ -1 +1 @@
1
- 24.4.0
1
+ 24.4.1
package/CHANGELOG.md CHANGED
@@ -22,6 +22,46 @@ This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en
22
22
 
23
23
  ---
24
24
 
25
+ ## [1.15.4] - 2025-07-20
26
+
27
+ ### Changed
28
+
29
+ - Bumped version to `v1.15.4`
30
+ - **Updated "Copy SMS Code - OTP Helper" entry** in `src/lib/data/fossData.js` to maintain visual consistency with previous "FOSS Spotlight" entries
31
+
32
+ ---
33
+
34
+ ## [1.15.3] - 2025-07-20
35
+
36
+ ### Added
37
+
38
+ - New FOSS Spotlight entry: **Copy SMS Code – OTP Helper**
39
+ - Added `otp-helper.png` and `otp-helper.webp` to `src/img/posts`
40
+ - Imported image assets via `images.js` as `otphelpPng` and `otphelpWbp`
41
+
42
+ ### Changed
43
+
44
+ - **Bumped version** to `v1.15.3`
45
+ - **Updated Node.js version** to `v24.4.1` in `.node-version` and `.nvmrc`
46
+ - **Updated generator metadata** in `app.html` to reflect `SvelteKit 2.25.1`
47
+ - **Updated "Last Updated"** timestamp on FOSS Spotlight to `2025-07-20`
48
+ - **Updated `sitemap.xml`** with current post dates
49
+
50
+ - **Upgraded dependencies**:
51
+ - `@sveltejs/adapter-netlify` from `^5.0.2` to `^5.1.0`
52
+ - `@sveltejs/kit` from `2.22.5` to `2.25.1`
53
+ - `@sveltejs/vite-plugin-svelte` from `^6.0.0` to `^6.1.0`
54
+ - `eslint-config-prettier` from `^10.1.5` to `^10.1.8`
55
+ - `eslint-plugin-jsdoc` from `^51.3.4` to `^51.4.1`
56
+ - `eslint-plugin-svelte` from `^3.10.1` to `^3.11.0`
57
+ - `stylelint` from `^16.21.1` to `^16.22.0`
58
+ - `svelte` from `5.35.6` to `5.36.12`
59
+ - `svelte-check` from `^4.2.2` to `^4.3.0`
60
+ - `svelte-eslint-parser` from `^1.2.0` to `^1.3.0`
61
+ - `vite` from `^7.0.4` to `^7.0.5`
62
+
63
+ ---
64
+
25
65
  ## [1.15.2] - 2025-07-12
26
66
 
27
67
  ### Added
@@ -665,7 +705,9 @@ This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en
665
705
 
666
706
  <!-- Link references -->
667
707
 
668
- [Unreleased]: https://github.com/netwk-pro/netwk-pro.github.io/compare/v1.15.2...HEAD
708
+ [Unreleased]: https://github.com/netwk-pro/netwk-pro.github.io/compare/v1.15.4...HEAD
709
+ [1.15.4]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.15.4
710
+ [1.15.3]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.15.3
669
711
  [1.15.2]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.15.2
670
712
  [1.15.1]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.15.1
671
713
  [1.15.0]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.15.0
@@ -690,4 +732,4 @@ This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en
690
732
  [1.12.3]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.12.3
691
733
  [1.12.1]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.12.1
692
734
 
693
- <!-- cspell:ignore qrcode cryptom -->
735
+ <!-- cspell:ignore qrcode cryptom otphelp -->
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@networkpro/web",
3
3
  "private": false,
4
- "version": "1.15.2",
4
+ "version": "1.15.4",
5
5
  "description": "Locking Down Networks, Unlocking Confidence™ | Security, Networking, Privacy — Network Pro Strategies",
6
6
  "keywords": [
7
7
  "advisory",
@@ -81,25 +81,25 @@
81
81
  "dompurify": "^3.2.6",
82
82
  "posthog-js": "^1.257.0",
83
83
  "semver": "^7.7.2",
84
- "svelte": "5.35.6"
84
+ "svelte": "5.36.12"
85
85
  },
86
86
  "devDependencies": {
87
87
  "@eslint/compat": "^1.3.1",
88
88
  "@eslint/js": "^9.31.0",
89
89
  "@lhci/cli": "^0.15.1",
90
90
  "@playwright/test": "^1.54.1",
91
- "@sveltejs/adapter-netlify": "^5.0.2",
92
- "@sveltejs/kit": "2.22.5",
93
- "@sveltejs/vite-plugin-svelte": "^6.0.0",
91
+ "@sveltejs/adapter-netlify": "^5.1.0",
92
+ "@sveltejs/kit": "2.25.1",
93
+ "@sveltejs/vite-plugin-svelte": "^6.1.0",
94
94
  "@testing-library/jest-dom": "^6.6.3",
95
95
  "@testing-library/svelte": "^5.2.8",
96
96
  "@vitest/coverage-v8": "^3.2.4",
97
97
  "autoprefixer": "^10.4.21",
98
98
  "browserslist": "^4.25.1",
99
99
  "eslint": "^9.31.0",
100
- "eslint-config-prettier": "^10.1.5",
101
- "eslint-plugin-jsdoc": "^51.3.4",
102
- "eslint-plugin-svelte": "^3.10.1",
100
+ "eslint-config-prettier": "^10.1.8",
101
+ "eslint-plugin-jsdoc": "^51.4.1",
102
+ "eslint-plugin-svelte": "^3.11.0",
103
103
  "globals": "^16.3.0",
104
104
  "jsdom": "^26.1.0",
105
105
  "lightningcss": "^1.30.1",
@@ -110,15 +110,15 @@
110
110
  "postcss": "^8.5.6",
111
111
  "prettier": "^3.6.2",
112
112
  "prettier-plugin-svelte": "^3.4.0",
113
- "stylelint": "^16.21.1",
113
+ "stylelint": "^16.22.0",
114
114
  "stylelint-config-html": "^1.1.0",
115
115
  "stylelint-config-recommended": "^16.0.0",
116
116
  "stylelint-order": "^7.0.0",
117
- "svelte-check": "^4.2.2",
118
- "svelte-eslint-parser": "^1.2.0",
117
+ "svelte-check": "^4.3.0",
118
+ "svelte-eslint-parser": "^1.3.0",
119
119
  "svelte-preprocess": "^6.0.3",
120
120
  "typescript": "^5.8.3",
121
- "vite": "^7.0.4",
121
+ "vite": "^7.0.5",
122
122
  "vite-plugin-lightningcss": "^0.0.5",
123
123
  "vite-tsconfig-paths": "^5.1.4",
124
124
  "vitest": "^3.2.4"
package/src/app.html CHANGED
@@ -63,7 +63,7 @@
63
63
  content="bx4ham0zkpvzztzu213bhpt76m9siq" />
64
64
  <!-- cspell:enable -->
65
65
 
66
- <meta name="generator" content="SvelteKit 2.22.5" />
66
+ <meta name="generator" content="SvelteKit 2.25.1" />
67
67
 
68
68
  <script src="/disableSw.js"></script>
69
69
 
@@ -7,7 +7,7 @@ This file is part of Network Pro.
7
7
  ========================================================================== */
8
8
 
9
9
  // Import FOSS images
10
- import { acodePng, acodeWbp, cryptomPng, cryptomWbp, eauthPng, eauthWbp, hboardPng, hboardWbp, lsheetPng, lsheetWbp, pmxPng, pmxWbp, squirclePng, squircleWbp, tosPng, tosWbp, urlPng, urlWbp } from "$lib";
10
+ import { acodePng, acodeWbp, cryptomPng, cryptomWbp, eauthPng, eauthWbp, hboardPng, hboardWbp, lsheetPng, lsheetWbp, otphelpPng, otphelpWbp, pmxPng, pmxWbp, squirclePng, squircleWbp, tosPng, tosWbp, urlPng, urlWbp } from "$lib";
11
11
 
12
12
  // cspell:disable
13
13
  /**
@@ -15,7 +15,7 @@ import { acodePng, acodeWbp, cryptomPng, cryptomWbp, eauthPng, eauthWbp, hboardP
15
15
  * @type {string}
16
16
  */
17
17
  const hboardLink = "obtainium://app/%7B%22id%22%3A%22helium314.keyboard%22%2C%22url%22%3A%22https%3A%2F%2Fgithub.com%2FHelium314%2FHeliBoard%22%2C%22author%22%3A%22Helium314%22%2C%22name%22%3A%22HeliBoard%22%2C%22preferredApkIndex%22%3A0%2C%22additionalSettings%22%3A%22%7B%5C%22includePrereleases%5C%22%3Afalse%2C%5C%22fallbackToOlderReleases%5C%22%3Atrue%2C%5C%22filterReleaseTitlesByRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22filterReleaseNotesByRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22verifyLatestTag%5C%22%3Afalse%2C%5C%22dontSortReleasesList%5C%22%3Afalse%2C%5C%22useLatestAssetDateAsReleaseDate%5C%22%3Afalse%2C%5C%22trackOnly%5C%22%3Afalse%2C%5C%22versionExtractionRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22matchGroupToUse%5C%22%3A%5C%22%5C%22%2C%5C%22versionDetection%5C%22%3Atrue%2C%5C%22releaseDateAsVersion%5C%22%3Afalse%2C%5C%22useVersionCodeAsOSVersion%5C%22%3Afalse%2C%5C%22apkFilterRegEx%5C%22%3A%5C%22release%5C%22%2C%5C%22invertAPKFilter%5C%22%3Afalse%2C%5C%22autoApkFilterByArch%5C%22%3Atrue%2C%5C%22appName%5C%22%3A%5C%22HeliBoard%5C%22%2C%5C%22shizukuPretendToBeGooglePlay%5C%22%3Afalse%2C%5C%22exemptFromBackgroundUpdates%5C%22%3Afalse%2C%5C%22skipUpdateNotifications%5C%22%3Afalse%2C%5C%22about%5C%22%3A%5C%22HeliBoard%20is%20a%20privacy-conscious%20and%20customizable%20open-source%20keyboard%2C%20based%20on%20AOSP%20%2F%20OpenBoard.%20Does%20not%20use%20internet%20permission%2C%20and%20thus%20is%20100%25%20offline.%5C%22%2C%5C%22appAuthor%5C%22%3A%5C%22Helium314%5C%22%7D%22%7D";
18
- //cspell:enable
18
+ // cspell:enable
19
19
 
20
20
  // cspell:disable
21
21
  /**
@@ -23,9 +23,81 @@ const hboardLink = "obtainium://app/%7B%22id%22%3A%22helium314.keyboard%22%2C%22
23
23
  * @type {string}
24
24
  */
25
25
  const lsheetLink = "obtainium://app/%7B%22id%22%3A%22fe.linksheet.nightly%22%2C%22url%22%3A%22https%3A%2F%2Fgithub.com%2FLinkSheet%2Fnightly%22%2C%22author%22%3A%221fexd%22%2C%22name%22%3A%22LinkSheet%20Nightly%22%2C%22preferredApkIndex%22%3A0%2C%22additionalSettings%22%3A%22%7B%5C%22includePrereleases%5C%22%3Atrue%2C%5C%22fallbackToOlderReleases%5C%22%3Atrue%2C%5C%22filterReleaseTitlesByRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22filterReleaseNotesByRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22verifyLatestTag%5C%22%3Afalse%2C%5C%22dontSortReleasesList%5C%22%3Afalse%2C%5C%22useLatestAssetDateAsReleaseDate%5C%22%3Afalse%2C%5C%22trackOnly%5C%22%3Afalse%2C%5C%22versionExtractionRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22matchGroupToUse%5C%22%3A%5C%22%5C%22%2C%5C%22versionDetection%5C%22%3Afalse%2C%5C%22releaseDateAsVersion%5C%22%3Afalse%2C%5C%22useVersionCodeAsOSVersion%5C%22%3Afalse%2C%5C%22apkFilterRegEx%5C%22%3A%5C%22LinkSheet.Nightly%5C%22%2C%5C%22invertAPKFilter%5C%22%3Atrue%2C%5C%22autoApkFilterByArch%5C%22%3Atrue%2C%5C%22appName%5C%22%3A%5C%22LinkSheet%20Nightly%5C%22%2C%5C%22shizukuPretendToBeGooglePlay%5C%22%3Afalse%2C%5C%22exemptFromBackgroundUpdates%5C%22%3Afalse%2C%5C%22skipUpdateNotifications%5C%22%3Afalse%2C%5C%22about%5C%22%3A%5C%22Restore%20link%20control%20on%20Android%2012%2B%5C%22%2C%5C%22appAuthor%5C%22%3A%5C%221fexd%5C%22%7D%22%7D";
26
- //cspell:enable
26
+ // cspell:enable
27
27
 
28
28
  export const fossData = [
29
+ {
30
+ id: "otp-helper",
31
+ images: {
32
+ webp: otphelpWbp,
33
+ png: otphelpPng,
34
+ },
35
+ imgAlt: "Copy SMS Code - OTP Helper",
36
+ title: "Copy SMS Code - OTP Helper",
37
+ headline: "Secure. Effortless. 100% Open Source",
38
+ headlineDescription: `
39
+ <p>
40
+ If you've ever juggled between apps just to copy a one-time password (OTP), you know how frustrating the process can be.
41
+ </p>
42
+ <p>
43
+ <strong>Copy SMS Code - OTP Helper</strong> is a minimalist Android app that takes care of that, seamlessly detecting OTPs from SMS or notifications and copying them directly to your clipboard—<em>automatically</em>. No interaction needed. No internet access required. No user data touched.
44
+ </p>
45
+ <p>
46
+ And yes—it's fully <strong>open source</strong>, under the AGPL-3.0 license. 🔓
47
+ </p>
48
+ `,
49
+ features: [
50
+ {
51
+ emoji: "🧩",
52
+ label: "Why Copy SMS Code - OTP Helper stands out:",
53
+ isIntro: true
54
+ },
55
+ {
56
+ emoji: "✔️",
57
+ label: "100% offline",
58
+ description: "doesn't even request internet permission",
59
+ },
60
+ {
61
+ emoji: "✔️",
62
+ label: "Choose your workflow",
63
+ description: "Notification Listener or SMS access",
64
+ },
65
+ {
66
+ emoji: "✔️",
67
+ label: "Compatible with virtually any OTP-based or 2FA system",
68
+ },
69
+ {
70
+ emoji: "✔️",
71
+ label: "Lightweight, privacy-first, and customizable",
72
+ },
73
+ {
74
+ emoji: "✔️",
75
+ label: "Translated into 70+ languages and growing",
76
+ },
77
+ {
78
+ emoji: "✔️",
79
+ label: "Inspect, contribute, or fork on GitHub",
80
+ }
81
+ ],
82
+ detailsDescription: `
83
+ <p>
84
+ This is a perfect example of how small, thoughtful tools can reduce friction in our everyday workflows—<strong>while keeping user agency and transparency at the core.</strong>
85
+ </p>
86
+ <p>
87
+ Let's continue supporting software that empowers users through simplicity and openness. 💡
88
+ </p>
89
+ `,
90
+ links: [
91
+ {
92
+ label: "GitHub",
93
+ href: "https://github.com/jd1378/otphelper",
94
+ },
95
+ {
96
+ label: "F-Droid",
97
+ href: "https://f-droid.org/packages/io.github.jd1378.otphelper",
98
+ }
99
+ ],
100
+ },
29
101
  {
30
102
  id: "cryptomator",
31
103
  images: {
@@ -671,4 +743,4 @@ export const fossData = [
671
743
  },
672
744
  ];
673
745
 
674
- // cspell:ignore hboard gboard lsheet eauth tosdr cryptom
746
+ // cspell:ignore hboard gboard lsheet eauth tosdr cryptom otphelp
package/src/lib/images.js CHANGED
@@ -45,6 +45,8 @@ import hboardPng from '$lib/img/posts/hboard.png';
45
45
  import hboardWbp from '$lib/img/posts/hboard.webp';
46
46
  import lsheetPng from '$lib/img/posts/linksheet.png';
47
47
  import lsheetWbp from '$lib/img/posts/linksheet.webp';
48
+ import otphelpPng from '$lib/img/posts/otp-helper.png';
49
+ import otphelpWbp from '$lib/img/posts/otp-helper.webp';
48
50
  import pmxPng from '$lib/img/posts/pmx.png';
49
51
  import pmxWbp from '$lib/img/posts/pmx.webp';
50
52
  import squirclePng from '$lib/img/posts/squircle.png';
@@ -83,10 +85,9 @@ export {
83
85
  logoPng,
84
86
  logoWbp,
85
87
  lsheetPng,
86
- lsheetWbp,
87
- obtainiumPng,
88
- obtainiumWbp,
89
- pgpContactPng,
88
+ lsheetWbp, obtainiumPng,
89
+ obtainiumWbp, otphelpPng,
90
+ otphelpWbp, pgpContactPng,
90
91
  pgpContactWbp, pgpSecurityPng,
91
92
  pgpSecurityWbp, pgpSupportPng,
92
93
  pgpSupportWbp, pmxPng,
@@ -101,4 +102,4 @@ export {
101
102
  vcfWbp
102
103
  };
103
104
 
104
- // cspell:ignore eauth hboard cryptom tosdr
105
+ // cspell:ignore eauth hboard cryptom tosdr otphelp
Binary file
@@ -51,7 +51,7 @@ This file is part of Network Pro.
51
51
  */
52
52
  const pageInfo = {
53
53
  title: 'FOSS Spotlight',
54
- lastUpdated: 'June 12, 2025',
54
+ lastUpdated: 'July 20, 2025',
55
55
  };
56
56
  </script>
57
57
 
@@ -7,7 +7,7 @@
7
7
 
8
8
  <loc>https://netwk.pro</loc>
9
9
 
10
- <lastmod>2025-07-12</lastmod>
10
+ <lastmod>2025-07-20</lastmod>
11
11
 
12
12
  <changefreq>weekly</changefreq>
13
13
 
@@ -19,9 +19,9 @@
19
19
 
20
20
  <loc>https://netwk.pro/foss-spotlight</loc>
21
21
 
22
- <lastmod>2025-06-08</lastmod>
22
+ <lastmod>2025-07-20</lastmod>
23
23
 
24
- <changefreq>weekly</changefreq>
24
+ <changefreq>monthly</changefreq>
25
25
 
26
26
  <priority>0.8</priority>
27
27