Claude/marketplace extension install vote 4oi69c#265
Open
khuepm wants to merge 7 commits into
Open
Conversation
… community submit Extend the marketplace beyond publish/install: - Trusted source: catalog now exposes a `verified` flag (signature + registered publisher key + integrity hash) driving a "Verified" badge; install still re-verifies cryptographically. - Download: GET /extensions/:slug/download bumps download_count and 302s to the signed bundle (?redirect=0 returns metadata JSON). - Voting: POST/DELETE /extensions/:slug/vote — idempotent upvotes backed by a unique (userId, marketplaceSlug) index; catalog carries voteCount/hasVoted. - Community submit: POST /submit creates a global, unpublished `pending` listing; GET /submissions + POST /submissions/:id/review moderate it (extensions:configure). Schema: new extension_votes table + extensions.download_count / submission_status / submitted_by (migration 0043). Studio marketplace page and the public marketplace app get verified badges, vote controls, download buttons and a submit dialog. Also adds scripts/marketplace-submodule-migration.sh + docs to extract apps/marketplace into the lumibase-ai/marketplace submodule (run separately — this scope has no push access to that repo). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UTMH25d9LHWBjF2z3Ys9Ha
…ript The target repo usually has an initial README/license commit on main, so the extracted subtree history is a non-fast-forward and the push is rejected. - Recreate the marketplace-export branch each run (resumable after a failed push). - Add FORCE=1 → push with --force-with-lease to replace scaffolding. - On rejection, print reconciliation guidance and exit before touching the monorepo. Document both paths. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UTMH25d9LHWBjF2z3Ys9Ha
--force-with-lease needs a remote-tracking ref; an ad-hoc URL push has none, so it always rejects with "stale info". The target main is throwaway scaffold, so plain --force is the correct and safe choice here. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UTMH25d9LHWBjF2z3Ys9Ha
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.
Summary
Loại thay đổi
feat— Tính năng mớifix— Sửa bugrefactor— Cải thiện code, không thay đổi hành vichore— Công việc bảo trì (deps, CI, config)docs— Cập nhật tài liệuperf— Cải thiện hiệu năngtest— Thêm / sửa testsecurity— Vá lỗ hổng bảo mậtPhase / Feature liên quan
✅ Definition of Done (DoD)
Code Quality
pnpm typecheckpass ✅)pnpm test— 0 failures)pnpm lint/ ESLint clean)Architecture & Docs
architecture.mdnếu có thay đổi cấu trúc hệ thốngapps/cms/openapi.yamlcho mọi endpoint mới / thay đổipackages/sdktypes tương ứng với API changesdocs/en/features/nếu thay đổi ảnh hưởng người dùngTesting
docker compose up)Runtime Compatibility
docs/en/features/runtime-abstraction.mdSecurity
WHERE siteId = ?(không leak data cross-tenant)Database / Migrations
packages/database/drizzle/nếu có schema changeIF NOT EXISTSConventional Commits
type(scope): descriptionfeat(cms): add SCIM token rotationfix(studio): correct flow editor drag offsetdocs: update AI copilot feature guideScreenshots / Recordings
Rollback Plan
Notes for Reviewers