Skip to content

Latest commit

 

History

History
43 lines (40 loc) · 2.66 KB

windows.md

File metadata and controls

43 lines (40 loc) · 2.66 KB

Status — Windows (WebView2)

States: done | partial | todo | n/a

C++ / Win32 / WebView2 host under native/windows/. Local/CI binary: priv/native/windows/DesktopWebView.exe. Release asset: DesktopWebView-windows-x64.exe (GitHub Releases; not Hex priv/).

Feature Status Notes
TCP listen + listening <port> done E2E launcher discovery
initialize + capabilities done E2E setup
--edw-no-beam / argv strip done E2E
Ini + defaults done Same semantics as Linux/macOS
Lifetime reconnect done Packaged mode (keep listening)
Lifetime coupled done Exit on disconnect; --edw-no-beam exits
Window open/show/hide/title/min size done E2E window test
Multi-window (ids) done E2E
Close veto → Elixir done WM_CLOSE → event.window.close_requested
Raise / iconize / shown / active done Raise covered by E2E
Webview loadURL / reload / current URL done E2E
Webview rebuild done E2E
New window → external open done ShellExecute + event
Context menu disable done WebView2 settings
Menubar from DOM done E2E menu create
Tray / status item done Shell_NotifyIcon; E2E tray create
Apple menu n/a Successful no-op
Notifications done Balloon via tray when present; E2E
Icons from path / PNG done ICO via LoadImage; PNG/JPEG via GDI+ Bitmap::GetHICON; class/default from exe
OS events (reopen, open url/file) partial system.open_url done; OS reopen/file events not wired
Locale / os_description done E2E
Permission policy hybrid done E2E simulate + policy
Microphone in webview done Permission RPC + WebView2 kinds
Camera in webview done Permission RPC + WebView2 kinds
Native dialogs (dialog.choose_file/dir) done IFileOpenDialog + Win32 prompt
HTML <input type=file> and Explorer drag-and-drop partial WebView2 built-in picker and drag handling; native picker and Explorer checks pending
Host-driven BEAM restart + backoff done Reset counters on initialize; shared E2E
--edw-rpc (control socket) done One-shot instance.eval → rpc.eval; feature-edw-rpc.md
Single-instance lock + activate done feature-single-instance.md
Startup recovery script and --edw-recover done Mix eval; feature-beam-restart.md
Test RPC channel done E2E
Release artifact download todo Elixir fetch/cache still pending
Ad-hoc / CI signing todo Authenticode via desktop_deployment later