fix(marketplace): release builds ship the mock catalog and mock installs write to the real extensions folder
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 43/100
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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).
- Langage dominant
- Dart
- Étoiles
- 23
- Forks
- 1
- Merge moyen
- 31 min
- PR mergées (30 j)
- 570
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de QueryaHub/Querya-Desktop
-
enhancement ui
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
QueryaHub/Querya-Desktop#1689 ·
Les mainteneurs répondent en général sous 1 jour
-
ui(dialogs): make destructive query and DML preview dialogs adaptive and prevent table name overflowOuvertebug frontend
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
QueryaHub/Querya-Desktop#1642 ·
Les mainteneurs répondent en général sous 1 jour
-
bug error-handling settings
Difficulté 1/5 1-3 heures Accessibilité débutants 78/100
QueryaHub/Querya-Desktop#1637 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
QueryaHub/Querya-Desktop#1636 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement marketplace
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
QueryaHub/Querya-Desktop#1635 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de QueryaHub/Querya-Desktop
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
good-first-issue P3
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
flutter/dart-intellij-third-party#758 ·
Les mainteneurs répondent en général sous 1 jour
-
Bug: Incorrect location coordinates on logged Sound Meter dataPeut-être pris @Jashan32 l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
area/archive bug
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
DarkFlippers/qUnleashed#374 ·
Les mainteneurs répondent en général sous 1 jour
-
agent:in-progress agent:ready feature P2 · 中 区域: 悬浮窗
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
ASDW51/DanmuFloat#178 ·
Les mainteneurs répondent en général sous 1 jour