Impact
Low
Problem / Motivation
Native call supports defaultFileName parameter but managed ShowSaveFile(...) currently passes null and has no API argument for it.
Current behavior
Relevant primitives exist in the files listed above, but this backlog item does not have a complete, explicit InfiniFrame contract with dedicated coverage.
Expected behavior
Add defaultFileName optional parameter to managed ShowSaveFile/ShowSaveFileAsync, pass through to native call, and add platform behavior notes in docs.
Proposed solution
Implement this incrementally:
- Define/adjust the managed public API in
InfiniFrame.Shared.
- Wire implementation in
InfiniFrame and InfiniFrame.Native where required.
- Add focused tests (
tests/InfiniFrameTests*) and docs updates (docs/docs/guides/*, docs/docs/migration/*).
Alternatives considered
- Keep as unsupported and document migration limitation.
- Provide a workaround-only approach without first-class API.
Use case
Applications migrating from Photino expect this behavior and currently need custom handling for "ShowSaveFile How to set the default file name".
Example implementation (current API)
// Current API has no explicit defaultFileName parameter yet.
string? path = window.ShowSaveFile(
title: "Export",
defaultPath: Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
filters: [("JSON", ["json"])]
);
Technical proposal
Scope implementation to: core managed runtime (src/InfiniFrame/*, src/InfiniFrame.Shared/*, src/InfiniFrame.Js/*). Keep behavior deterministic across Windows/Linux/macOS and document platform-specific limitations explicitly.
Additional context
Photino reference: tryphotino/photino.NET#140
Checklist
Impact
Low
Problem / Motivation
Native call supports
defaultFileNameparameter but managedShowSaveFile(...)currently passes null and has no API argument for it.Current behavior
Relevant primitives exist in the files listed above, but this backlog item does not have a complete, explicit InfiniFrame contract with dedicated coverage.
Expected behavior
Add
defaultFileNameoptional parameter to managedShowSaveFile/ShowSaveFileAsync, pass through to native call, and add platform behavior notes in docs.Proposed solution
Implement this incrementally:
InfiniFrame.Shared.InfiniFrameandInfiniFrame.Nativewhere required.tests/InfiniFrameTests*) and docs updates (docs/docs/guides/*,docs/docs/migration/*).Alternatives considered
Use case
Applications migrating from Photino expect this behavior and currently need custom handling for "ShowSaveFile How to set the default file name".
Example implementation (current API)
Technical proposal
Scope implementation to: core managed runtime (
src/InfiniFrame/*,src/InfiniFrame.Shared/*,src/InfiniFrame.Js/*). Keep behavior deterministic across Windows/Linux/macOS and document platform-specific limitations explicitly.Additional context
Photino reference: tryphotino/photino.NET#140
Checklist