AngleSharp / AngleSharp/AngleSharp.Io

Add File System Access API (Platform-Backed Subset)

Open
#42 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

api enhancement up-for-grabs
Dominant language
C#
Stars
37
Forks
13
PR merge metrics
No merged PRs in 30d

Description

Proposal

Provide a practical File System Access subset for file open/save and writable handles using injected platform services.

Scope:

  • Add showOpenFilePicker and showSaveFilePicker.
  • Add FileSystemFileHandle and writable stream subset.
  • Support read, write, and close operations.
    Technical Notes:
  • All filesystem operations must go through a platform interface.
  • Keep secure-context and permission checks configurable.
    Acceptance Criteria:
  • Picker calls return handles with stable identity semantics.
  • Write workflows are transactional enough for tests.
  • Unit tests cover open, save, overwrite, and permission-denied paths.
    Out of Scope:
  • Full directory picker and advanced handle graph in first pass.
  • OS-native picker UX fidelity.

Description

Add a platform-backed File System Access subset: showOpenFilePicker, showSaveFilePicker, and file-handle write flows with explicit permission checks.

Background

This feature enables realistic file import/export automation and desktop-like workflows in browser-driven apps while preserving host control via injected platform services.

Specification

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or test entry points are named. Start by locating the platform-service injection point and existing secure-context or permission checks, then trace how file operations are exposed. Done means the picker and file-handle subset supports read, transactional-enough write and close flows, with unit coverage for open, save, overwrite and denied-permission cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
api
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.