Skip to main content

Photino Backlog

This page tracks features and issues mentioned across the Photino ecosystem that are not yet fully implemented or still under discussion in their respective original libraries. The intent is that eventually, all features will be either implemented or rejected to be brought into InfiniFrame. This backlog will be used to track any remaining issues or features that need to be addressed.

Table Legend

  • ✅ : Implemented
  • 🚧 : Under construction
  • 📝 : Assigned to open issue
  • ❓ : Under discussion / unclear if should be handled natively
  • ❌ : Rejected for native implementation
  • 🚫 : Out of scope, which usually means this is normal behavior or not an issue with the original Photino codebase

Photino.Blazor

StatusFeatureLinksInfiniFrame
Need to call UseServiceProviderFactoryphotino.Blazor#83
Intercept <a href> navigationphotino.Blazor#111
Does not work on wayland?photino.Blazor#138InfiniFrame#251 - Wayland testing coverage added.
Cannot publish nativeaot samplephotino.Blazor#143
Set a splash screenphotino.Blazor#144InfiniFrame#278
Single File Publish - Embed MudBlazor's .\wwwroot_content directoryphotino.Blazor#147
Proper disposal of servicesphotino.Blazor#149
Sharing of wwwrootphotino.Blazor#152
Ability to disable the url hover status indicatorphotino.Blazor#156InfiniFrame#279
Services are not Disposed After App Shutdownphotino.Blazor#158
Set icon in the taskbar on windows 11photino.Blazor#161InfiniFrame#280
.NET 10 supportphotino.Blazor#164, photino.Blazor#165
Fix handling of app:// URLs containing a #fragmentphotino.Blazor#166Query/fragment are excluded only from resource lookup and remain browser-visible.
Top Empty window caption appear in SetChromeless(true)photino.Blazor#167InfiniFrame#218 - Chromeless mode without disabling caption behaviors implemented.

Photino.Native

StatusFeatureLinksInfiniFrame
Add Window ManagementPhotino.Native#27InfiniFrame#282
Native Menu SupportPhotino.Native#44InfiniFrame#283
Dedicated scheme for logging from UI to host appPhotino.Native#45
Windows x86Photino.Native#53
RegisterWindowClosingHandler not working on linux (Debian)Photino.Native#75InfiniFrame#284
Add SingleInstanceMode to Photino initializationPhotino.Native#111
Android SupportPhotino.Native#115
Stack overflow. at Photino.NET.PhotinoWindow.Photino_WaitForExit(IntPtr)Photino.Native#141
Drag and Drop functionality doesnt work on LinuxPhotino.Native#152InfiniFrame#285
Zooming and Scaling issuesPhotino.Native#153InfiniFrame#286
.Focus() on windowPhotino.Native#158 Photino.Native#169InfiniFrame#42
Nullptr reference crash in IsColorSchemeChangePhotino.Native#162InfiniFrame#287
SetWebView2RuntimePath UTF encoding issue after Photino.NET encoding updatePhotino.Native#163InfiniFrame#275
Fix memory leakPhotino.Native#165InfiniFrame#68
Add complex notificationsPhotino.Native#166InfiniFrame#288
Add functions for dragging and resizing windowsPhotino.Native#167
Feature/taskbar flash progressPhotino.Native#168InfiniFrame#289
Memory and stability issues in long running Windows applicationPhotino.Native#171
Custom scheme handlers broken on WindowsPhotino.Native#173 Photino.Native#174
SetTopmost/GetTopmost: incorrect style register on WindowsPhotino.Native#175 Photino.Native#176InfiniFrame#159

Photino.NET

StatusFeatureLinksInfiniFrame
Problem with "insecure origins"Photino.NET#25
JS injection into WebViewPhotino.NET#58InfiniFrame#window-features - ExecuteJavaScriptAsync API on IJavaScriptInfiniFrameWindowFeature.
Creating a 2nd PhotinoWindow after closing all others failsPhotino.NET#59InfiniFrame#290
Is there a way to bypass WebKits SSL check?Photino.NET#65InfiniFrame#291 - First-class EnableIgnoreCertificateErrors(bool) builder API with platform-specific implementations (Windows: WebView2 Chromium flag, Linux: WebKit TLS policy, macOS: certificate trust delegate)
Javascript debuggingPhotino.NET#71InfiniFrame#292 - explicit SetRemoteDebuggingPort, loopback-only endpoint on Windows/WebKitGTK Linux, deterministic lifecycle, macOS unsupported behavior, plus capability-gated diagnostics under window.Debug
Make window transparentPhotino.NET#73
Chromeless WindowPhotino.NET#80InfiniFrame#218 - Chromeless mode without disabling caption behaviors.
SendWebMessage from WindowCreated handler raises a System.AccessViolationExceptionPhotino.NET#87InfiniFrame#293
Icon failed to loadPhotino.NET#95
The application lacks a taskbar IconPhotino.NET#106
Possibility to hide the window from the taskbar/dockPhotino.NET#107
Make a window only miniablePhotino.NET#112
Interoperability between C # and JavaScriptPhotino.NET#120InfiniFrame#219 - Full JS layer control of window functionality.
Window.external is deprecated by browsersPhotino.NET#124
Intercept navigation eventsPhotino.NET#139InfiniFrame#294 Pre-navigation callback via RegisterNavigationStartingHandler; per-platform interception with cancel support
ShowSaveFile How to set the default file namePhotino.NET#140InfiniFrame#295
Running as administrator disables other instancesPhotino.NET#162InfiniFrame#296 - Single-instance arbitration implemented.
Mica/Fluent design window for windowsPhotino.NET#167
Retrieve current Url of PhotinoWindowPhotino.NET#197InfiniFrame#297 - CurrentUrl/CurrentUri properties exposed.
Ctrl+ mouse wheel to zoom the pagePhotino.NET#217
RegisterCustomSchemeHandler won't let do fetch and XMLHttpRequest requestsPhotino.NET#232Same-origin app://localhost fetch/XHR is supported through secure custom-scheme registration without opening arbitrary cross-origin access.
Set the background color of the native window bodyPhotino.NET#239InfiniFrame#299
Default csproj file uses WinExe but should use Exe so it will properly build on all platformsPhotino.NET#240
Disable browser shortcutsPhotino.NET#251IsBrowserShortcutsEnabled property with EnableBrowserShortcuts() setter on IBrowserInfiniFrameWindowFeature. Stores flag in native init params and window state; getter/setter wired through full C#/C++ bridge. Platform-specific behavior: Windows uses ICoreWebView2Settings10::AreBrowserAcceleratorKeysEnabled when available; Linux/macOS store the flag for JavaScript-injection-based blocking.
Fixed WebView2 runtimePhotino.NET#254InfiniFrame#275
ILogger implementationPhotino.NET#257
Add complex notificationsPhotino.NET#261Same as InfiniFrame#288 rich notifications with action buttons, icons, urgency levels, and async callbacks.
Import StartDragging, StartResizingPhotino.NET#262
Bindings for controlling taskbar progress/flashPhotino.NET#263InfiniFrame#289 - Taskbar progress and flash implemented.
Allow parent window to be set before initializedPhotino.NET#264InfiniFrame#300 InfiniFrame#313
Window header sizePhotino.NET#266
Optional window title 31-char-length-limitation on Linux/GTKPhotino.NET#267InfiniFrame#301
Inject Arbitrary Javascript into WebviewPhotino.NET#268InfiniFrame#window-features - ExecuteJavaScriptAsync API on IJavaScriptInfiniFrameWindowFeature.
Parent vs child window behaviorPhotino.NET#269
WindowClosed eventPhotino.NET#271InfiniFrame#277
SetIconFile Linux crashPhotino.NET#272InfiniFrame#165

Photino.NET.Server

StatusFeatureLinksInfiniFrame
Photino Development ServerPhotino.NET.Server#4