@bobfrankston/msger 0.1.427 → 0.1.429

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.
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bobfrankston/msger",
3
- "version": "0.1.427",
3
+ "version": "0.1.429",
4
4
  "description": "Fast, lightweight, cross-platform message box - Rust-powered alternative to msgview",
5
5
  "type": "module",
6
6
  "main": "./index.js",
package/shower.js CHANGED
@@ -788,12 +788,19 @@ export function showMessageBoxEx(options) {
788
788
  // Register in activeDialogs with auto-cleanup
789
789
  if (handle.pid !== undefined) {
790
790
  activeDialogs.set(handle.pid, handle);
791
- // Auto-cleanup when result resolves
791
+ // Auto-cleanup when result resolves. The trailing catch is load
792
+ // bearing: `.finally()` returns a NEW promise that adopts the
793
+ // rejection, and nobody awaits that one — so a window whose native
794
+ // process exited nonzero produced an UNHANDLED REJECTION in the host
795
+ // even though the caller had its own .catch on handle.result (seen in
796
+ // rmfmail 2026-08-23: "msger exited with code 3489660927" logged by
797
+ // the caller AND again as UNHANDLED REJECTION). The caller owns the
798
+ // error; this branch only does bookkeeping. (Claude Code 2026-08-23)
792
799
  handle.result.finally(() => {
793
800
  if (handle.pid !== undefined) {
794
801
  activeDialogs.delete(handle.pid);
795
802
  }
796
- });
803
+ }).catch(() => { });
797
804
  }
798
805
  return handle;
799
806
  }