fix(marketplace): release builds ship the mock catalog and mock installs write to the real extensions folder
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 43/100
Hướng nghiên cứu
Start with lib/core/market/marketplace_repository.dart and inspect the mock repository, ExtensionPaths.extensionsDirectory(), and where the Extension Manager is wired at startup; the issue also points to the generated theme around line 278. Check the related install-path issues #1560 and #1562 and the Beta epic #1499 for scope. Done means release builds cannot present mock installs as real or write them into the extensions folder, and the generated theme name is fixed.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Problem
MarketplaceRepository.instance defaults to MockMarketplaceRepository() (lib/core/market/marketplace_repository.dart:27), and HttpMarketplaceRepository is constructed nowhere in lib/ (only in tests). So the release app's Extension Manager shows and installs a hard-coded demo catalog:
- 6 fake listings (ClickHouse / Redis / MongoDB / "postgres-exporter" drivers, two themes), some tagged
official, withcdn.queryahub.comURLs and fake checksums (e3b0c442...b855is the SHA-256 of an empty string). Nothing in the UI says the catalog is a demo; the only badge is "Preview" for drivers. - Search and "download" are
Future.delayedloops that fake progress. - Install writes to the user's real extensions folder (
ExtensionPaths.extensionsDirectory()): a manifest-only directory, and for themes a generatedtheme.json. These persist across updates and show as installed extensions. - Bug in the generated theme (
:278): the template is a non-raw'''...'''string containing"\${manifest.name}".\$escapes the interpolation, so every generic mock theme is literally named${manifest.name}.
CHANGELOG lists "Planned 0.5.0 — live Marketplace download and install", so the mock is intentional, but it should not reach users this way.
Fix
- Until the live API ships: in release builds either hide the Marketplace tab (keep Install from file), or show an explicit "Demo catalog, nothing is downloaded" banner and make Install a no-op that does not touch the extensions folder.
- Choose the repository by build/config (
kDebugModeor a dart-define with the API base URL) in one place at startup; moveMockMarketplaceRepositoryand its fixtures undertest/or a dev-only file. - Fix the
\${manifest.name}escape (or generate the JSON withjsonEncode, not a template string). - Relates to #1560 / #1562 (install path) and the Beta channel epic #1499 (live marketplace may ship to Beta first).
- Ngôn ngữ chính
- Dart
- Star
- 23
- Fork
- 1
- Merge trung bình
- 31 phút
- Pull request đã merge (30 ngày)
- 570
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của QueryaHub/Querya-Desktop
-
enhancement ui
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
QueryaHub/Querya-Desktop#1689 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
ui(dialogs): make destructive query and DML preview dialogs adaptive and prevent table name overflowĐang mởbug frontend
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
QueryaHub/Querya-Desktop#1642 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug error-handling settings
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 78/100
QueryaHub/Querya-Desktop#1637 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
QueryaHub/Querya-Desktop#1636 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement marketplace
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
QueryaHub/Querya-Desktop#1635 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của QueryaHub/Querya-Desktop
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
PhoebeSoftware/xrooster#41 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
VeryGoodOpenSource/very_good_templates#665 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
VeryGoodOpenSource/very_good_cli#1783 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug to check
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 76/100
aaronified/fluenough#665 ·
Maintainer thường phản hồi trong vòng 1 ngày