v2 - #141
Merged
Merged
Conversation
Add ManualSetupModal with URL validation, connection test, provider auto-detection, progressive disclosure, and advanced settings section. Fix setup wizard: paginated repo loading with search, v5 branch for new repos, correct GitHub Pages URL, Done button on success step. Add quartz.config.yaml creation from template defaults with baseUrl. Add content/index.md with welcome page for new repos. Extract detectGitProvider to shared utility. Add getFileContent and updateFile to GitHubApiService. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Change detectAll() from Promise.all to sequential loop to prevent terminatePendingProcess() from killing concurrent detections. Add proactive version warnings for Node.js < 18 and npm < 8. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Replace COMMANDS array with COMMAND_REGISTRY metadata system. Switch from registerObsidianProtocolHandler to registerCliHandler. Add help flag interceptor, base quartz-syncer command, verbose flag. Add shared requireQuartzRunner guard. Rewrite mark handler with glob, fuzzy search, and dry-run support. Add force flag to delete/sync, dry-run to publish/delete/sync. Add verbose output for status/test/publish/delete/sync handlers. Restructure plugin handler: list/add/remove work everywhere, install/enable/disable/config/prune require QuartzRunner. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Add timeout sentinel (-1 = no timeout) to ProcessRunner. Add timeout to QuartzRunnerOptions, wire through all methods. Refactor serve() to bypass ProcessRunner singleton pendingProcess. Add sync, restore, pluginInstall/Enable/Disable/Config/Prune methods. Add quartz-build, quartz-serve, quartz-sync, quartz-restore handlers. Add circuit breaker auto-recovery after 5 minute cooldown. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Add pauseAutoPublish/resumeAutoPublish to BackgroundEngine. Publication Center pauses auto-publish on open, resumes on close. Prevents race condition where auto-publish modifies files user is selecting. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Remove stale RepositoryConnection references and outdated CLI count. Document two-tier platform split, publication model, CLI registration via registerCliHandler, Quartz v5 config conventions, and working with external systems directive. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Publisher refactoring: - Extract PublishBackend interface with RemotePublishBackend and LocalPublishBackend - Extend QuartzFileSource with writeBinaryFile, deleteFile, listAllFiles - Refactor Publisher from GitBackend to PublishBackend abstraction - Wire local mode into getPublisher (quartzRepoPath takes priority) - Expose cliHandlers on plugin instance for test invocation New CLI commands: - quartz-syncer:repo (info, set-local, set-remote, verify) - quartz-syncer:media (list, orphaned, clean) - quartz-syncer:diff (compiled vault vs repo content) - quartz-syncer:validate (repo health checks with lockfile warning) - quartz-syncer:inspect (cache, hashes, compilation, queue) CLI gap filling: - Cache handler: export, import, prune actions - Config handler: reset action (partial, preserves identity fields) - Plugin handler: add/remove dry-run via structuredClone, search action - Publish/sync/delete: custom commit message param - Publish: action=arbitrary for non-content file publishing - Test handler: local mode path verification - Inspect handler: target=queue via getEngineStatus - Status handler: verbose enrichment with publishFlag and hasMedia Marketplace migration: - QuartzPluginRegistry: new URL, full marketplace schema - PluginBrowserModal: tags to category filter migration E2E test harness: - 6 Quartz repo fixtures (minimal through multi-plugin) - 3 vault templates (basic, media-heavy, bulk) - FixtureManager, RepoAssertions, CLI invoker helpers - 44 scenario specs across 10 spec files (43 passing) - wdio.conf.mts extended for scenario specs Unit tests: 522 total (41 new for CLI gap coverage)
saberzero1
force-pushed
the
quartz-npm-plugins-rework
branch
from
August 26, 2026 20:24
4048bff to
a4c130c
Compare
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.
No description provided.