Skip to content

refactor: establish Navigator folder feature - #336

Open
jderochervlk wants to merge 1 commit into
codex/option5-workers-folderfrom
codex/option5-navigator-folder
Open

refactor: establish Navigator folder feature#336
jderochervlk wants to merge 1 commit into
codex/option5-workers-folderfrom
codex/option5-navigator-folder

Conversation

@jderochervlk

@jderochervlk jderochervlk commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Tracking issue: #342

Stack context

Part 26 of the Option 5 folder-feature stack.

Review this PR as the incremental diff against #335.

Summary

  • add the target src/navigator folder on the unqualified internal Navigator feature
  • move the central Navigator interface out of the legacy DOM folder
  • consolidate Clipboard, Credential Management, and Permissions interfaces into the Navigator domain
  • add the supported Navigator feature with DOMPlatform, Device, Media, Storage, and Workers dependencies
  • remove the old standalone Clipboard, Credential Management, and Permissions source features
  • preserve all existing flat public module paths

Dependency note

The provisional Option 5 map listed only DOMPlatform and Device. The current Navigator signatures also expose media capabilities/devices/session, storage, service workers, fetch/file/url payloads, clipboard, credentials, and permissions. The broader compiler-proven closure records that existing surface rather than silently omitting modules required by the public interface.

Temporary state

  • the legacy broad WebAPI.DOM source entry remains for Window, Document, and the final unassigned interfaces
  • the Navigator surface remains intentionally broad; reducing individual accessors would be a separate API design change
  • final feature-graph guardrails and helper cleanup remain deferred until the stack is complete

Review focus

  • Navigator domain membership
  • the expanded dependency closure
  • preservation of flat Clipboard/Credentials/Permissions module paths

Verification

  • node_modules/.bin/rescript clean
  • node_modules/.bin/rescript build --prod --features DOM,Event,DOMPlatform,Animation,CSSOM,Geometry,DOMNodes,File,HTML,Media,URL,Fetch,Storage,Messaging,Workers,Device,Navigator
  • npm run build
  • npm test
  • npm run format:check
  • git diff --check

Copy link
Copy Markdown
Collaborator Author

@codex

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 598c76647c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread rescript.json
},
{
"dir": "src/Clipboard",
"dir": "src/navigator",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Register src/navigator with the docs generator

When CI runs npm run build:docs, the prebuild:docs hook processes every public source file, but docs/llm.js derives its supported directory map from featureSpecs, which contains no navigator entry; processing any of these newly public files therefore reaches moduleNameForFile and throws Unsupported source directory for documentation. Update the docs directory mapping (or stop relying on the legacy feature specs) so the documentation build can handle this source.

Useful? React with 👍 / 👎.

@jderochervlk
jderochervlk force-pushed the codex/option5-navigator-folder branch from 598c766 to e7beeae Compare August 4, 2026 17:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant