Skip to content

[BUG]: settingsSchema is never attached to the descriptor, so nine settings are unreachable and IndexNow cannot be enabled #5

Description

@beallm

Bug Description

src/settings.ts exports a settingsSchema covering every setting the plugin reads, but the descriptor in src/index.ts declares only admin pages:

js
admin: {
pages: [
{ path: "/settings", label: "SEO", icon: "settings" },
{ path: "/fuzzy-redirects", label: "Fuzzy Redirects", icon: "arrow-right" },
],
}

With no settingsSchema key, EmDash never renders the auto-generated settings form it added in 0.30. The custom /settings page in src/admin.tsx renders its own FIELDS list, which is a subset. So these are defined and read at runtime but configurable nowhere:

indexnowEnabled, llmsTxtEnabled, llmsTxtDescription, publishingPrinciples, copyrightYear, licenseUrl, blogUrl, blogName, navigationItems.

indexnowEnabled defaults to "false", so IndexNow ships but cannot be switched on. llmsTxtEnabled defaults to "true" so it's unaffected in practice, but equally can't be turned off.

Either attaching settingsSchema to the descriptor or extending the FIELDS array in src/admin.tsx would close it. The second keeps everything on one page, which would be better than two settings surfaces IMO.

Steps to Reproduce

Install the plugin and add seoPlugin() to plugins: [].
Open the admin → SEO settings page.
Look for an IndexNow control.
Open Plugins and click the gear on the SEO plugin's card.

Expected Behavior

Every setting the plugin reads is reachable from one of those two surfaces.

Actual Behavior

Nine settings appear in neither. IndexNow is permanently off.

Severity

High (feature completely broken)

EmDash Version

0.31.1

Plugin Version

0.12.0

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions