Ouvrir les PDF directement (pas via téléchargement) par défaut

Actuellement, la gestion principale des PDF se fait via un téléchargement :

allaboutcats.pdf (42,2 Ko)

Bien que cela soit très fonctionnel, cela ajoute quelques étapes inutiles pour le cas d’utilisation le plus courant : « Je veux le lire maintenant » — surtout sur les appareils mobiles.

Le besoin de télécharger / enregistrer quelque chose est très secondaire. Parfois requis, mais généralement, l’utilisateur souhaite simplement le lire puis passer à autre chose.

Le TC Inline PDF Previews traite ce problème en affichant un PDF en ligne sur ordinateur — et le fait avec brio. Toutefois, il ne couvre pas ces situations courantes :

  1. PDF sur les appareils mobiles
  2. Plusieurs PDF (en raison du désordre visuel)
  3. Affichage des PDF dans un onglet de navigateur complet

À noter, il existe d’autres moyens de télécharger un PDF. Ils peuvent être téléchargés directement depuis un lien (via clic droit / menu contextuel) ou depuis le visualiseur PDF basé sur le navigateur que ce TC fournit.

Proposition : ouvrir les PDF dans le navigateur par défaut

Ce petit ajustement résout agréablement ces deux situations et s’inscrit simplement dans le comportement par défaut des autres liens dans Discourse. Ainsi, avec le changement proposé :

  1. Les liens PDF sur mobile s’ouvrent généralement dans la même fenêtre du navigateur
    • permet une visualisation en un seul clic
  2. Les liens PDF sur ordinateur (c’est-à-dire au-dessus du PDF en ligne) s’ouvrent dans un nouvel onglet
    • permet une visualisation en un clic dans un onglet complet
  3. Lorsque le comportement en ligne est délibérément désactivé (en ajoutant un espace dans le texte du lien)
    • permet une visualisation en un clic

J’ai regroupé ces éléments dans cette PR :

3 « J'aime »

Quelqu’un de votre équipe pourrait-il jeter un œil à cette demande de tirage @david ?

J’ai laissé quelques commentaires sur le code lui-même dans la PR

Quand je clique sur ce lien, le PDF s’ouvre dans le navigateur. Aucun téléchargement. Vous voyez quelque chose de différent ?

J’utilise Chrome sur macOS. Nous n’utilisons pas ce composant de thème d-pdf-previews sur Meta.

2 « J'aime »

Ici, sur meta.discourse.org, mon lien ci-dessus s’ouvre dans le même onglet que cette page (exactement comme vous le décrivez). Cela reste inchangé en mode safe-mode.

Cependant, sur trois de mes sites récemment mis à jour (avec le TC désactivé), il tente un téléchargement. C’est également le cas avec le safe-mode. Je ne sais pas pourquoi. Je ne vois aucun paramètre de site qui régisse cela.

Quelle qu’en soit la raison, mon fork le corrige bien pour mes sites !

Cela n’a aucun sens pour moi !!

1 « J'aime »

Je vais voir si nous pouvons corriger cette incohérence dans le cœur du système. Je mettrai à jour ici avec les progrès.

2 « J'aime »

Avez-vous eu des résultats jusqu’à présent ?

1 « J'aime »

Nous avons un travail en cours. Nous espérons pouvoir le finaliser dans les deux prochaines semaines. C’est un peu délicat car il y a beaucoup de situations différentes à vérifier (téléversements locaux, S3, compatible S3, avec CDN, sans CDN, etc.).

4 « J'aime »

Je viens de vérifier un PDF que j’ai mis en ligne dans un sujet aujourd’hui sur un site récemment mis à jour et cliquer sur le lien du PDF ouvre l’URL du PDF sur le CDN dans mon navigateur, pour information.

2 « J'aime »

Ceci devrait être résolu depuis SECURITY: Download allowlist for uploaded files · discourse/discourse@9c0642a · GitHub

Nous avons maintenant une logique centralisée pour déterminer quels fichiers doivent être affichés « en ligne ». Cela signifie que les PDF sont systématiquement affichés en ligne, et que certains types de fichiers moins sûrs sont systématiquement servis en téléchargement. Ces changements devraient fonctionner sur tous les types de stockage de téléchargement (local et S3, avec ou sans CDN).

3 « J'aime »