docs: say plainly which registry submissions work today - #5
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The registry README's "Submitting a Plugin" section told contributors to "Code-sign it with a valid Apple Developer certificate". That does not work.
PluginCodeSignatureVerifier.swiftbuilds the requirementand applies it at six call sites with only a DEBUG bypass. A bundle signed with the contributor's own Developer ID has their team OU, not TablePro's, so it is rejected at load time with "Bundle failed to load executable". Anyone who followed those six steps exactly spent a day building something the app refuses to open.
So the section now says which submissions actually work:
Themes work today and are open to anyone. They are JSON, carry no executable, never touch the code-signature check, and
ThemeRegistryInstallerverifies them by SHA-256 against the manifest. There were no instructions for that path at all, even though the schema has supportedcategory: "theme"since it was written and the app has a full theme editor with export. The registry currently holds 17 entries and every one is a database driver.Drivers and format plugins are stated as not yet possible, with the reason, and with what has to change: accepting a notarized Developer ID signature behind an explicit per-developer trust prompt, and shipping TableProPluginKit as a versioned XCFramework so a driver can live in its own repo. Contributors are pointed at the open database requests instead, which is something they can act on now.
Also fixes the repo link, which still pointed at
github.com/datlechin/TableProfrom before the rename.This is documentation only. It does not change the security posture: the signature check on executable bundles is correct and stays exactly as it is.