docs

Dépannage

Les rares choses qui déraillent, ce que veulent dire les messages de PullMark, et la logique derrière les échecs les plus discrets — la plupart des « erreurs » ici sont l'app qui refuse, délibérément, de perdre votre travail.

L'accès GitHub : comment PullMark se connecte, et comment réparer

PullMark emprunte les identifiants GitHub que vos propres outils ont déjà — il n'a pas de connexion à lui et ne stocke jamais de secret. Réglages → Général → GitHub montre s'il est connecté, en tant que qui, et par quelle source ; Configurer… guide une nouvelle machine jusqu'à la connexion, et Vérifier à nouveau prend en compte une réparation immédiatement — après gh auth login, pas besoin de relancer.

Vous lisez ceci sur le Mac où PullMark (0.36+) est installé ? Ouvrez la ligne de connexion maintenant.

Les sources d'identifiants, dans l'ordre où PullMark les essaie :

  1. Le jeton de la CLI GitHub : gh auth token doit en imprimer un. Sinon, brew install gh && gh auth login — le chemin recommandé : son jeton a des scopes réputés bons, gère le SSO dans le navigateur, et se rafraîchit.
  2. À défaut, git credential fill — ce que git lui-même utilise pour github.com (trousseau macOS, Git Credential Manager, un jeton mémorisé par un vieux push HTTPS).

Les petites lignes des jetons, pour ceux qui ne marchent qu'à moitié : les jetons classiques exigent le scope repo (et read:org pour les noms d'équipe d'organisation) ; les jetons fine-grained sont liés à un seul propriétaire de ressources — les dépôts publics et les dépôts privés de ce propriétaire marchent, tout le reste est refusé ; les organisations protégées par SSO exigent un jeton autorisé pour chaque organisation ; et les jetons créés à la main expirent — la ligne de Réglages est l'endroit où se diagnostique « ça marchait hier ».

GitHub : « n'existe peut-être pas… ou il s'agit d'un dépôt privé »

« Impossible d'ouvrir … Le fichier n'existe peut-être pas à cette référence, ou il s'agit d'un dépôt privé auquel vos identifiants GitHub n'ont pas accès. » L'API de GitHub répond à l'identique pour « privé sans accès » et « n'existe pas », si bien que PullMark ne peut pas vous dire lequel. Si le dépôt devrait marcher, c'est presque toujours l'authentification — voir l'accès GitHub ci-dessus, ou ouvrez Réglages → Général → GitHub et lancez Configurer….

Gatekeeper refuse d'ouvrir l'app

Les versions publiées sont signées avec un Developer ID et notarisées par Apple : un téléchargement normal n'affiche aucun avertissement. Si vous avez compilé depuis les sources (make app), l'app est signée ad hoc : clic droit → OuvrirOuvrir, ou autorisez-la dans Réglages Système → Confidentialité et sécurité.

Les aperçus Quick Look ne se rendent plus

Une mise à niveau Homebrew remplace le bundle de l'app, ce qui peut silencieusement faire tomber l'enregistrement de l'extension Quick Look (Coup d'œil). PullMark la ré-enregistre à chaque lancement — lancez donc simplement l'app une fois. Si les aperçus montrent encore du texte brut, vérifiez que Réglages → Général → « Aperçus Quick Look » est sur Rendu.

« PullMark n'est plus votre app Markdown par défaut »

Même cause : une mise à niveau a remplacé le bundle et macOS a lâché l'association .md. Le bouton Redéfinir par défaut de la bannière la reprend ; Réglages → Général aussi.

« … a changé pendant que vous modifiiez ce bloc — rien n'a été enregistré »

Le fichier a changé sur le disque (un autre éditeur, un agent, une opération git) entre l'ouverture de l'éditeur de bloc et l'enregistrement. PullMark refuse de s'insérer dans des lignes qui ont bougé — rien n'est perdu hormis cette seule édition, et rouvrir le bloc montre le texte actuel. Le même garde-fou protège les commits : comparer à une ref où le fichier n'existe pas le dit franchement au lieu d'afficher un diff vide.

Lignes estompées : dossiers et récents « absents »

Un emplacement avec un badge point d'interrogation, ou un récent grisé, signifie que le chemin ne se résout pas pour l'instant — un volume démonté, une branche git changée, un worktree supprimé. Les lignes s'estompent au lieu de disparaître, à dessein : elles ressuscitent d'elles-mêmes quand le chemin revient. Cliquer un récent mort propose Retirer des récents ou Conserver.

Pull requests : bannières et commentaires en attente

  • « Cette pull request a été mise à jour sur GitHub. » — la branche a avancé depuis votre chargement. Rafraîchir tient en un clic et vos brouillons survivent ; PullMark ne recharge jamais tout seul sous une révision en cours.
  • « Impossible de charger les commentaires de révision… » — le diff se ferait sinon passer pour une PR sans commentaire ; Réessayer récupère à nouveau.
  • « Impossible d'envoyer N commentaires en attente vers GitHub — conservés en local pour une nouvelle tentative. » — les commentaires écrits hors ligne (ou à travers un hoquet d'API) se mettent en file sur disque par tête de PR et s'envoient dès que possible. Rien n'est perdu.
  • « … committés, mais l'envoi a échoué » — le commit est bien au chaud dans votre historique local ; seul le push est à retenter.

Mises à jour

Le bouton Mettre à jour de la bannière lance la mise à niveau brew (ou une installation sur place vérifiée pour les installations DMG) et relance l'app. En cas d'échec, la bannière montre la commande exacte brew upgrade --cask pullmark avec un bouton Copier — l'exécuter dans un terminal fait la même chose. Les builds de développement ne vérifient pas les mises à jour.

La commande pullmark

  • « no such file or folder » — la commande vérifie chaque chemin avant d'ouvrir quoi que ce soit ; une seule coquille interrompt toute l'ouverture (code de sortie 1) pour que les scripts échouent bruyamment.
  • Command not found — voir installer la commande.
  • « Impossible d'installer la commande » — l'installateur des Réglages a besoin d'une autorisation pour écrire dans /usr/local/bin ; annulez et relancez si vous avez congédié l'invite.

Toujours bloqué ?

Ouvrez une issue — Aide → Signaler un bug… en pré-remplit une depuis l'app.