@bobfrankston/msger 0.1.73 → 0.1.75

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.
Files changed (134) hide show
  1. package/KNOWN-BUGS.md +121 -0
  2. package/MSGER-API-SUMMARY.md +162 -0
  3. package/MSGER-API.md +376 -0
  4. package/README.md +93 -0
  5. package/SESSION-2025-11-06.md +191 -0
  6. package/SESSION-NOTES.md +678 -0
  7. package/clihandler.d.ts.map +1 -1
  8. package/clihandler.js +62 -2
  9. package/clihandler.js.map +1 -1
  10. package/clihandler.ts +60 -2
  11. package/icon.png +0 -0
  12. package/icon1.png +0 -0
  13. package/msger-native/Cargo.toml +1 -0
  14. package/msger-native/bin/msgernative.exe +0 -0
  15. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Breadcrumbs +12 -118
  16. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/BrowserMetrics/{BrowserMetrics-690552AF-DCD4.pma → BrowserMetrics-690B9AD3-657C.pma} +0 -0
  17. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/BrowserMetrics/{BrowserMetrics-69055373-F88C.pma → BrowserMetrics-690BA05A-501C.pma} +0 -0
  18. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Crashpad/settings.dat +0 -0
  19. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/BrowsingTopicsState +1 -1
  20. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Cache/Cache_Data/data_0 +0 -0
  21. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Cache/Cache_Data/data_1 +0 -0
  22. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/{BrowserMetrics/BrowserMetrics-69055587-A65C.pma → Default/Cache/Cache_Data/data_2} +0 -0
  23. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Cache/Cache_Data/data_3 +0 -0
  24. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000001 +383 -0
  25. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000002 +1091 -0
  26. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000003 +2153 -0
  27. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000004 +0 -0
  28. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000005 +626 -0
  29. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000006 +393 -0
  30. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Cache/Cache_Data/index +0 -0
  31. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/01241693cfdc32b9_0 +0 -0
  32. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/0ba1eea781f3552c_0 +0 -0
  33. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/323aa210eebefe2c_0 +0 -0
  34. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/4608446ac118e77a_0 +0 -0
  35. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/6938205dc2f77841_0 +0 -0
  36. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/6de12299dc89e5f3_0 +0 -0
  37. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/8f403c112eaa455b_0 +0 -0
  38. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/9a3aceb491137f07_0 +0 -0
  39. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/aedb266cbaf9c28f_0 +0 -0
  40. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/ca526fdda86d0b9d_0 +0 -0
  41. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/f5d11d783c9fdf69_0 +0 -0
  42. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/index-dir/the-real-index +0 -0
  43. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Collections/collectionsSQLite +0 -0
  44. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Collections/collectionsSQLite-journal +0 -0
  45. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/DIPS +0 -0
  46. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/DawnGraphiteCache/data_1 +0 -0
  47. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/DawnGraphiteCache/index +0 -0
  48. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/DawnWebGPUCache/data_1 +0 -0
  49. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/DawnWebGPUCache/index +0 -0
  50. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Extension State/LOG +3 -3
  51. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Extension State/LOG.old +3 -3
  52. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Favicons +0 -0
  53. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/GPUCache/data_0 +0 -0
  54. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/GPUCache/data_1 +0 -0
  55. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/GPUCache/data_2 +0 -0
  56. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/GPUCache/index +0 -0
  57. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/History +0 -0
  58. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Local Storage/leveldb/000003.log +0 -0
  59. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Local Storage/leveldb/LOG +3 -3
  60. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Local Storage/leveldb/LOG.old +3 -3
  61. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/MediaDeviceSalts +0 -0
  62. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/MediaDeviceSalts-journal +0 -0
  63. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Network/Network Persistent State +1 -1
  64. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Network/TransportSecurity +1 -0
  65. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Preferences +1 -1
  66. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/CacheStorage/14e849fa8522d406112ea607cf7fd6342b71b987/249ee9af-c3df-4a86-89a8-2c51f3370ee0/index +0 -0
  67. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/CacheStorage/14e849fa8522d406112ea607cf7fd6342b71b987/249ee9af-c3df-4a86-89a8-2c51f3370ee0/index-dir/the-real-index +0 -0
  68. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/CacheStorage/14e849fa8522d406112ea607cf7fd6342b71b987/index.txt +0 -0
  69. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/Database/000003.log +0 -0
  70. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/Database/CURRENT +1 -0
  71. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/Database/LOCK +0 -0
  72. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/Database/LOG +3 -0
  73. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/Database/LOG.old +3 -0
  74. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/Database/MANIFEST-000001 +0 -0
  75. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/ScriptCache/2cc80dabc69f58b6_0 +0 -0
  76. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/ScriptCache/2cc80dabc69f58b6_1 +0 -0
  77. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/ScriptCache/index +0 -0
  78. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/ScriptCache/index-dir/the-real-index +0 -0
  79. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Session Storage/000003.log +0 -0
  80. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Session Storage/LOG +3 -3
  81. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Session Storage/LOG.old +3 -3
  82. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Site Characteristics Database/000003.log +0 -0
  83. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Site Characteristics Database/LOG +3 -3
  84. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Site Characteristics Database/LOG.old +3 -3
  85. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Sync Data/LevelDB/LOG +3 -3
  86. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Sync Data/LevelDB/LOG.old +3 -3
  87. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/WebStorage/QuotaManager +0 -0
  88. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/WebStorage/QuotaManager-journal +0 -0
  89. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/favorites_diagnostic.log +27 -0
  90. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/shared_proto_db/000003.log +0 -0
  91. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/shared_proto_db/LOG +3 -3
  92. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/shared_proto_db/LOG.old +3 -3
  93. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/shared_proto_db/metadata/000003.log +0 -0
  94. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/shared_proto_db/metadata/LOG +3 -3
  95. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/shared_proto_db/metadata/LOG.old +3 -3
  96. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/GrShaderCache/data_0 +0 -0
  97. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/GrShaderCache/data_1 +0 -0
  98. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/GrShaderCache/data_3 +0 -0
  99. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/GrShaderCache/f_000003 +0 -0
  100. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/GrShaderCache/f_000004 +0 -0
  101. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/GrShaderCache/index +0 -0
  102. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/GraphiteDawnCache/data_1 +0 -0
  103. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/GraphiteDawnCache/index +0 -0
  104. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Local State +1 -1
  105. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/RevisitationBloomfilter +0 -0
  106. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/ShaderCache/data_1 +0 -0
  107. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/ShaderCache/index +0 -0
  108. package/msger-native/src/main.rs +343 -37
  109. package/msger-native/src/template.html +103 -28
  110. package/msger-storage-demo.html +290 -0
  111. package/msger.code-workspace +3 -0
  112. package/msgerdefs/README.md +122 -0
  113. package/msgerdefs/msgerdefs.d.ts +322 -0
  114. package/msgerdefs/msgerdefs.d.ts.map +1 -0
  115. package/msgerdefs/msgerdefs.js +110 -0
  116. package/msgerdefs/msgerdefs.js.map +1 -0
  117. package/msgerdefs/msgerdefs.ts +427 -0
  118. package/msgerdefs/package.json +38 -0
  119. package/msgerdefs/samples.html +431 -0
  120. package/msgerdefs/test1.cmd +1 -0
  121. package/msgerdefs/tsconfig.json +17 -0
  122. package/msgernative-linux-x64 +0 -0
  123. package/package.json +5 -1
  124. package/shower.d.ts +2 -0
  125. package/shower.d.ts.map +1 -1
  126. package/shower.js +17 -0
  127. package/shower.js.map +1 -1
  128. package/shower.ts +24 -0
  129. package/test-data-persistence.html +315 -0
  130. package/test-htmlfrom.html +29 -0
  131. package/test-ipc-reach.html +113 -0
  132. package/test-msger-api.html +120 -0
  133. package/test-msger-functions.html +325 -0
  134. package/msger-native/bin/msgernative.exe.WebView2/EBWebView/BrowserMetrics/BrowserMetrics-69055419-C8A0.pma +0 -0
package/clihandler.js CHANGED
@@ -1,4 +1,7 @@
1
1
  import packageJson from './package.json' with { type: 'json' };
2
+ import fs from 'fs';
3
+ import path from 'path';
4
+ import { execSync } from 'child_process';
2
5
  const HELP_TEXT = `
3
6
  msger v${packageJson.version} - Fast, lightweight, cross-platform message box (Rust-powered)
4
7
 
@@ -11,8 +14,9 @@ Options:
11
14
  -message <text> Specify message text (use quotes for multi-word)
12
15
  Supports ANSI color escape sequences (e.g., \x1b[31mRed\x1b[0m)
13
16
  -title <text> Set window title
14
- -html <html> Display HTML formatted message
15
- -url <url> Load and display a web page
17
+ -html <html> Display HTML formatted message (inline)
18
+ -htmlfrom <file|url> Fetch HTML from file/URL and embed in template (has buttons & msger API)
19
+ -url <url> Load URL directly in webview (no template, no buttons)
16
20
  -buttons <label...> Specify button labels (e.g., -buttons Yes No Cancel)
17
21
  -ok Add OK button
18
22
  -cancel Add Cancel button
@@ -22,10 +26,12 @@ Options:
22
26
  -zoom <percent> Set zoom level as percentage (e.g., -zoom 150 for 150%)
23
27
  -pos <x,y> Set window position (e.g., -pos 100,200)
24
28
  -screen <number> [Windows only] Screen index for multi-monitor (0=primary, 1=second, etc.)
29
+ -icon <path> Set window icon (PNG file). Default: icon.png in current directory
25
30
  -timeout <seconds> Auto-close after specified seconds
26
31
  -detach Leave window open after app exits (parent process returns immediately)
27
32
  -fullscreen Start window in fullscreen mode (F11 to toggle, Escape to exit)
28
33
  -ontop Keep window always on top of other windows
34
+ -dev Open DevTools (F12) automatically on startup (for debugging)
29
35
  -debug Return debug info (HTML, size) in result
30
36
  -v, -version, --version Show version number
31
37
  -help, -?, --help Show this help message
@@ -35,6 +41,8 @@ Examples:
35
41
  msger -message "Save changes?" -buttons Yes No Cancel
36
42
  msger -message "Enter your name:" -input "Your name" -default "John Doe"
37
43
  msger -html "<h1>Title</h1><p>Formatted content</p>"
44
+ msger -htmlfrom page.html -buttons OK Cancel
45
+ msger -htmlfrom "https://example.com" -buttons OK
38
46
  msger -url "https://example.com"
39
47
  msger -url "https://example.com" -detach
40
48
  msger -title "Alert" -message "Operation complete"
@@ -48,6 +56,11 @@ Notes:
48
56
  - Press Enter to click the last (default) button
49
57
  - Default button is OK if no buttons specified
50
58
  - Much faster than Electron-based msgview (~50-200ms vs ~2-3s startup)
59
+
60
+ Security Note:
61
+ - msger is designed for displaying trusted, friendly content (local apps, your own HTML)
62
+ - It is NOT a secure sandbox for untrusted/hostile web content
63
+ - Use -htmlfrom and -url with trusted sources only
51
64
  `;
52
65
  /**
53
66
  * Parse command line arguments into message box options
@@ -82,6 +95,10 @@ export function parseCliArgs(args) {
82
95
  cli.html = args[++i];
83
96
  i++;
84
97
  }
98
+ else if (arg === '-htmlfrom' || arg === '--htmlfrom') {
99
+ cli.htmlFrom = args[++i];
100
+ i++;
101
+ }
85
102
  else if (arg === '-url' || arg === '--url') {
86
103
  cli.url = args[++i];
87
104
  i++;
@@ -160,6 +177,14 @@ export function parseCliArgs(args) {
160
177
  cli.screen = parseInt(args[++i], 10);
161
178
  i++;
162
179
  }
180
+ else if (arg === '-icon' || arg === '--icon') {
181
+ cli.icon = args[++i];
182
+ i++;
183
+ }
184
+ else if (arg === '-dev' || arg === '--dev') {
185
+ cli.dev = true;
186
+ i++;
187
+ }
163
188
  else if (arg === '-debug' || arg === '--debug') {
164
189
  cli.debug = true;
165
190
  i++;
@@ -184,6 +209,39 @@ export function parseCliArgs(args) {
184
209
  message = cli.url;
185
210
  url = cli.url;
186
211
  }
212
+ else if (cli.htmlFrom) {
213
+ // Load HTML from file or URL
214
+ if (cli.htmlFrom.startsWith('http://') || cli.htmlFrom.startsWith('https://')) {
215
+ // Fetch from URL synchronously (using child_process to run node fetch)
216
+ try {
217
+ const fetchCommand = `node --input-type=module -e "const res = await fetch('${cli.htmlFrom}'); console.log(await res.text())"`;
218
+ const htmlContent = execSync(fetchCommand, { encoding: 'utf-8' });
219
+ message = htmlContent;
220
+ html = htmlContent;
221
+ }
222
+ catch (error) {
223
+ throw new Error(`Failed to fetch HTML from URL: ${error.message}`);
224
+ }
225
+ }
226
+ else {
227
+ // Load from file
228
+ // Resolve to absolute path
229
+ const htmlPath = path.resolve(cli.htmlFrom);
230
+ // Check if file exists
231
+ if (!fs.existsSync(htmlPath)) {
232
+ throw new Error(`HTML file not found: ${htmlPath}`);
233
+ }
234
+ // Read file content
235
+ try {
236
+ const htmlContent = fs.readFileSync(htmlPath, 'utf-8');
237
+ message = htmlContent;
238
+ html = htmlContent;
239
+ }
240
+ catch (error) {
241
+ throw new Error(`Failed to read HTML file: ${error.message}`);
242
+ }
243
+ }
244
+ }
187
245
  else if (cli.html) {
188
246
  // HTML message specified
189
247
  message = cli.html;
@@ -219,6 +277,8 @@ export function parseCliArgs(args) {
219
277
  fullscreen: cli.fullscreen,
220
278
  alwaysOnTop: cli.alwaysOnTop,
221
279
  zoomPercent: cli.zoomPercent,
280
+ icon: cli.icon,
281
+ dev: cli.dev,
222
282
  debug: cli.debug
223
283
  };
224
284
  // Only set size if explicitly specified
package/clihandler.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"clihandler.js","sourceRoot":"","sources":["clihandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clihandler.js","sourceRoot":"","sources":["clihandler.ts"],"names":[],"mappings":"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"}
package/clihandler.ts CHANGED
@@ -1,10 +1,14 @@
1
1
  import { MessageBoxOptions } from './shower.js';
2
2
  import packageJson from './package.json' with { type: 'json' };
3
+ import fs from 'fs';
4
+ import path from 'path';
5
+ import { execSync } from 'child_process';
3
6
 
4
7
  interface CliOptions {
5
8
  message?: string;
6
9
  title?: string;
7
10
  html?: string;
11
+ htmlFrom?: string;
8
12
  url?: string;
9
13
  buttons?: string[];
10
14
  input?: boolean;
@@ -21,6 +25,8 @@ interface CliOptions {
21
25
  posY?: number;
22
26
  screen?: number;
23
27
  debug?: boolean;
28
+ icon?: string;
29
+ dev?: boolean;
24
30
  help?: boolean;
25
31
  version?: boolean;
26
32
  }
@@ -37,8 +43,9 @@ Options:
37
43
  -message <text> Specify message text (use quotes for multi-word)
38
44
  Supports ANSI color escape sequences (e.g., \x1b[31mRed\x1b[0m)
39
45
  -title <text> Set window title
40
- -html <html> Display HTML formatted message
41
- -url <url> Load and display a web page
46
+ -html <html> Display HTML formatted message (inline)
47
+ -htmlfrom <file|url> Fetch HTML from file/URL and embed in template (has buttons & msger API)
48
+ -url <url> Load URL directly in webview (no template, no buttons)
42
49
  -buttons <label...> Specify button labels (e.g., -buttons Yes No Cancel)
43
50
  -ok Add OK button
44
51
  -cancel Add Cancel button
@@ -48,10 +55,12 @@ Options:
48
55
  -zoom <percent> Set zoom level as percentage (e.g., -zoom 150 for 150%)
49
56
  -pos <x,y> Set window position (e.g., -pos 100,200)
50
57
  -screen <number> [Windows only] Screen index for multi-monitor (0=primary, 1=second, etc.)
58
+ -icon <path> Set window icon (PNG file). Default: icon.png in current directory
51
59
  -timeout <seconds> Auto-close after specified seconds
52
60
  -detach Leave window open after app exits (parent process returns immediately)
53
61
  -fullscreen Start window in fullscreen mode (F11 to toggle, Escape to exit)
54
62
  -ontop Keep window always on top of other windows
63
+ -dev Open DevTools (F12) automatically on startup (for debugging)
55
64
  -debug Return debug info (HTML, size) in result
56
65
  -v, -version, --version Show version number
57
66
  -help, -?, --help Show this help message
@@ -61,6 +70,8 @@ Examples:
61
70
  msger -message "Save changes?" -buttons Yes No Cancel
62
71
  msger -message "Enter your name:" -input "Your name" -default "John Doe"
63
72
  msger -html "<h1>Title</h1><p>Formatted content</p>"
73
+ msger -htmlfrom page.html -buttons OK Cancel
74
+ msger -htmlfrom "https://example.com" -buttons OK
64
75
  msger -url "https://example.com"
65
76
  msger -url "https://example.com" -detach
66
77
  msger -title "Alert" -message "Operation complete"
@@ -74,6 +85,11 @@ Notes:
74
85
  - Press Enter to click the last (default) button
75
86
  - Default button is OK if no buttons specified
76
87
  - Much faster than Electron-based msgview (~50-200ms vs ~2-3s startup)
88
+
89
+ Security Note:
90
+ - msger is designed for displaying trusted, friendly content (local apps, your own HTML)
91
+ - It is NOT a secure sandbox for untrusted/hostile web content
92
+ - Use -htmlfrom and -url with trusted sources only
77
93
  `;
78
94
 
79
95
  /**
@@ -107,6 +123,9 @@ export function parseCliArgs(args: string[]): { options: MessageBoxOptions; show
107
123
  } else if (arg === '-html' || arg === '--html') {
108
124
  cli.html = args[++i];
109
125
  i++;
126
+ } else if (arg === '-htmlfrom' || arg === '--htmlfrom') {
127
+ cli.htmlFrom = args[++i];
128
+ i++;
110
129
  } else if (arg === '-url' || arg === '--url') {
111
130
  cli.url = args[++i];
112
131
  i++;
@@ -167,6 +186,12 @@ export function parseCliArgs(args: string[]): { options: MessageBoxOptions; show
167
186
  } else if (arg === '-screen' || arg === '--screen') {
168
187
  cli.screen = parseInt(args[++i], 10);
169
188
  i++;
189
+ } else if (arg === '-icon' || arg === '--icon') {
190
+ cli.icon = args[++i];
191
+ i++;
192
+ } else if (arg === '-dev' || arg === '--dev') {
193
+ cli.dev = true;
194
+ i++;
170
195
  } else if (arg === '-debug' || arg === '--debug') {
171
196
  cli.debug = true;
172
197
  i++;
@@ -190,6 +215,37 @@ export function parseCliArgs(args: string[]): { options: MessageBoxOptions; show
190
215
  // URL specified
191
216
  message = cli.url;
192
217
  url = cli.url;
218
+ } else if (cli.htmlFrom) {
219
+ // Load HTML from file or URL
220
+ if (cli.htmlFrom.startsWith('http://') || cli.htmlFrom.startsWith('https://')) {
221
+ // Fetch from URL synchronously (using child_process to run node fetch)
222
+ try {
223
+ const fetchCommand = `node --input-type=module -e "const res = await fetch('${cli.htmlFrom}'); console.log(await res.text())"`;
224
+ const htmlContent = execSync(fetchCommand, { encoding: 'utf-8' });
225
+ message = htmlContent;
226
+ html = htmlContent;
227
+ } catch (error: any) {
228
+ throw new Error(`Failed to fetch HTML from URL: ${error.message}`);
229
+ }
230
+ } else {
231
+ // Load from file
232
+ // Resolve to absolute path
233
+ const htmlPath = path.resolve(cli.htmlFrom);
234
+
235
+ // Check if file exists
236
+ if (!fs.existsSync(htmlPath)) {
237
+ throw new Error(`HTML file not found: ${htmlPath}`);
238
+ }
239
+
240
+ // Read file content
241
+ try {
242
+ const htmlContent = fs.readFileSync(htmlPath, 'utf-8');
243
+ message = htmlContent;
244
+ html = htmlContent;
245
+ } catch (error: any) {
246
+ throw new Error(`Failed to read HTML file: ${error.message}`);
247
+ }
248
+ }
193
249
  } else if (cli.html) {
194
250
  // HTML message specified
195
251
  message = cli.html;
@@ -224,6 +280,8 @@ export function parseCliArgs(args: string[]): { options: MessageBoxOptions; show
224
280
  fullscreen: cli.fullscreen,
225
281
  alwaysOnTop: cli.alwaysOnTop,
226
282
  zoomPercent: cli.zoomPercent,
283
+ icon: cli.icon,
284
+ dev: cli.dev,
227
285
  debug: cli.debug
228
286
  };
229
287
 
package/icon.png ADDED
Binary file
package/icon1.png ADDED
Binary file
@@ -8,3 +8,4 @@ wry = "0.47"
8
8
  tao = "0.30"
9
9
  serde = { version = "1.0", features = ["derive"] }
10
10
  serde_json = "1.0"
11
+ image = "0.24"
Binary file
@@ -1,33 +1,8 @@
1
- 0:00:02 Tab1 StartNav2 #link
2
- 0:00:03 Tab1 FinishNav2
3
- 0:00:03 Tab1 PageLoad
4
- 0:00:08 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
5
- 0:00:00 Startup
6
- 0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
7
- 0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
8
- 0:00:00 Microsoft.NewBrowser_Popup
9
- 0:00:00 Microsoft.BrowserList.AddBrowser
10
- 0:00:00 Browser1 Insert active Tab1 at 0
11
- 0:00:00 Tab1 StartNav1 #auto_toplevel
12
- 0:00:01 Tab1 FinishNav1
13
1
  0:00:01 Tab1 PageLoad
14
- 0:00:01 Tab1 StartNav2 #link
2
+ 0:00:01 Tab1 StartNav2 #typed
15
3
  0:00:01 Tab1 FinishNav2
16
- 0:00:01 Tab1 PageLoad
17
- 0:00:09 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
18
- 0:00:00 Startup
19
- 0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
20
- 0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
21
- 0:00:00 Microsoft.NewBrowser_Popup
22
- 0:00:00 Microsoft.BrowserList.AddBrowser
23
- 0:00:00 Browser1 Insert active Tab1 at 0
24
- 0:00:00 Tab1 StartNav1 #auto_toplevel
25
- 0:00:01 Tab1 FinishNav1
26
- 0:00:01 Tab1 PageLoad
27
- 0:00:01 Tab1 StartNav2 #link
28
- 0:00:01 Tab1 FinishNav2
29
- 0:00:01 Tab1 PageLoad
30
- 0:00:14 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
4
+ 0:00:02 Tab1 PageLoad
5
+ 0:00:33 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
31
6
  0:00:00 Startup
32
7
  0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
33
8
  0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
@@ -37,36 +12,10 @@
37
12
  0:00:00 Tab1 StartNav1 #auto_toplevel
38
13
  0:00:00 Tab1 FinishNav1
39
14
  0:00:00 Tab1 PageLoad
40
- 0:00:00 Tab1 StartNav2 #link
41
- 0:00:01 Tab1 FinishNav2
42
- 0:00:01 Tab1 PageLoad
43
- 0:00:19 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
44
- 0:00:00 Startup
45
- 0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
46
- 0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
47
- 0:00:00 Microsoft.NewBrowser_Popup
48
- 0:00:00 Microsoft.BrowserList.AddBrowser
49
- 0:00:00 Browser1 Insert active Tab1 at 0
50
- 0:00:00 Tab1 StartNav1 #auto_toplevel
51
- 0:00:00 Tab1 FinishNav1
15
+ 0:00:00 Tab1 StartNav2 #typed
16
+ 0:00:00 Tab1 FinishNav2
52
17
  0:00:00 Tab1 PageLoad
53
- 0:00:01 Tab1 StartNav2 #link
54
- 0:00:01 Tab1 FinishNav2
55
- 0:00:01 Tab1 PageLoad
56
- 0:00:09 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
57
- 0:00:00 Startup
58
- 0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
59
- 0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
60
- 0:00:00 Microsoft.NewBrowser_Popup
61
- 0:00:00 Microsoft.BrowserList.AddBrowser
62
- 0:00:00 Browser1 Insert active Tab1 at 0
63
- 0:00:00 Tab1 StartNav1 #auto_toplevel
64
- 0:00:01 Tab1 FinishNav1
65
- 0:00:01 Tab1 PageLoad
66
- 0:00:01 Tab1 StartNav2 #link
67
- 0:00:01 Tab1 FinishNav2
68
- 0:00:01 Tab1 PageLoad
69
- 0:00:13 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
18
+ 0:00:06 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
70
19
  0:00:00 Startup
71
20
  0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
72
21
  0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
@@ -76,24 +25,10 @@
76
25
  0:00:00 Tab1 StartNav1 #auto_toplevel
77
26
  0:00:00 Tab1 FinishNav1
78
27
  0:00:00 Tab1 PageLoad
79
- 0:00:01 Tab1 StartNav2 #link
80
- 0:00:01 Tab1 FinishNav2
81
- 0:00:01 Tab1 PageLoad
82
- 0:00:09 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
83
- 0:00:00 Startup
84
- 0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
85
- 0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
86
- 0:00:00 Microsoft.NewBrowser_Popup
87
- 0:00:00 Microsoft.BrowserList.AddBrowser
88
- 0:00:00 Browser1 Insert active Tab1 at 0
89
- 0:00:00 Tab1 StartNav1 #auto_toplevel
90
- 0:00:01 Tab1 FinishNav1
91
- 0:00:01 Tab1 PageLoad
92
- 0:00:01 Memory Pressure: Critical
93
- 0:00:01 Tab1 StartNav2 #link
94
- 0:00:01 Tab1 FinishNav2
95
- 0:00:01 Tab1 PageLoad
96
- 0:00:09 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
28
+ 0:00:00 Tab1 StartNav2 #typed
29
+ 0:00:00 Tab1 FinishNav2
30
+ 0:00:00 Tab1 PageLoad
31
+ 0:07:39 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
97
32
  0:00:00 Startup
98
33
  0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
99
34
  0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
@@ -103,48 +38,7 @@
103
38
  0:00:00 Tab1 StartNav1 #auto_toplevel
104
39
  0:00:00 Tab1 FinishNav1
105
40
  0:00:00 Tab1 PageLoad
106
- 0:00:00 Tab1 StartNav2 #link
107
- 0:00:01 Tab1 FinishNav2
108
- 0:00:01 Tab1 PageLoad
109
- 0:00:08 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
110
- 0:00:00 Startup
111
- 0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
112
- 0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
113
- 0:00:00 Microsoft.NewBrowser_Popup
114
- 0:00:00 Microsoft.BrowserList.AddBrowser
115
- 0:00:00 Browser1 Insert active Tab1 at 0
116
- 0:00:01 Tab1 StartNav1 #auto_toplevel
117
- 0:00:01 Tab1 FinishNav1
41
+ 0:00:00 Tab1 StartNav2 #typed
42
+ 0:00:00 Tab1 FinishNav2
118
43
  0:00:01 Tab1 PageLoad
119
- 0:00:01 Memory Pressure: Critical
120
- 0:00:01 Tab1 StartNav2 #link
121
- 0:00:02 Tab1 FinishNav2
122
- 0:00:02 Tab1 PageLoad
123
44
  0:00:10 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
124
- 0:00:00 Startup
125
- 0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
126
- 0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
127
- 0:00:00 Microsoft.NewBrowser_Popup
128
- 0:00:00 Microsoft.BrowserList.AddBrowser
129
- 0:00:00 Browser1 Insert active Tab1 at 0
130
- 0:00:00 Tab1 StartNav1 #auto_toplevel
131
- 0:00:01 Tab1 FinishNav1
132
- 0:00:01 Tab1 PageLoad
133
- 0:00:01 Memory Pressure: Critical
134
- 0:00:01 Tab1 StartNav2 #link
135
- 0:00:02 Tab1 FinishNav2
136
- 0:00:02 Tab1 PageLoad
137
- 0:00:08 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
138
- 0:00:00 Startup
139
- 0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
140
- 0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
141
- 0:00:00 Microsoft.NewBrowser_Popup
142
- 0:00:00 Microsoft.BrowserList.AddBrowser
143
- 0:00:00 Browser1 Insert active Tab1 at 0
144
- 0:00:00 Tab1 StartNav1 #auto_toplevel
145
- 0:00:01 Tab1 FinishNav1
146
- 0:00:01 Tab1 PageLoad
147
- 0:00:01 Tab1 StartNav2 #link
148
- 0:00:01 Tab1 FinishNav2
149
- 0:00:01 Tab1 PageLoad
150
- 0:00:13 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
@@ -15,5 +15,5 @@
15
15
  "top_topics_and_observing_domains": [ ]
16
16
  } ],
17
17
  "hex_encoded_hmac_key": "978A7D2D69153D2B503C8D793A12A004251F60082102E3C12E04FE867073E109",
18
- "next_scheduled_calculation_time": "13406941874155653"
18
+ "next_scheduled_calculation_time": "13406941874156560"
19
19
  }