readthedocs-fr / bin-server

Un outil pour héberger des snippets de code et les partager via une URL.
https://bin.readthedocs.fr
MIT License
14 stars 15 forks source link

Logging and reporting #130

Closed Julien00859 closed 3 years ago

Julien00859 commented 3 years ago

The pull request embed multiple changes, the most important is the introduction of logging capacities and a /report route to report problematic snippets. Those are the two first commits.

Next we have some fixes and cleanups.


feat: new /report endpoint to report a snippet

There have been incident report about users using the software to host malwares. While those malware cannot be executed nor on the server nor in the web page, users might copy/paste them in their own environment and run them.

In order to take rapid action to remove those snippets, a new "report" button have been included in the top left corner of the highlight.html page so users can report a problematic snippet.

Closes #110


feat: introduce logging

We got feedback from system administrators willing get logs whenever a snippet was created. Introducing logging was not as simple as it should be because it needs to correctly hooks to the server software logger when running behind a wsgi server.

Because we needed much more logics in the config module, we decided to enclose the setup in a dedicated function in order to limit the exported tokens.


fix: identify form using name


fix: lang and extension parsing

Fine tunning of 5868f01, I am a fucking monkey.


doc: the page description links the github repo

Julien00859 commented 3 years ago

cc #110

Mesteery commented 3 years ago

On n'avait pas dit qu'on restait séreux ici ? :kappa:

Mesteery commented 3 years ago

Sauf que non, car :

  1. On a aucune garantie de la réussite du report
  2. La gestion de l'affichage des erreurs compliquerait tout (chose qui d'ailleurs bloque complètement #116)
Nauhai commented 3 years ago

Je trouve aussi que le bouton pour report est trop petit et trop discret, même s'il n'est pas censé être utilisé souvent il faut que l'utilisateur sache qu'il existe. J'ai pensé qu'on pouvait le mettre dans le même style que les autres boutons mais avec un fond rouge ou quelque chose dans le genre, mais bon je suis pas dev frontend alors je vais pas proposer de code sinon ça va être l'anarchie. Si vous voulez le laisser comme ça, au moins le passer à 2em et augmenter un peu les margins (top et right à 1em) ça ne coûte rien et ça fait pas juste une petite crotte collée dans le coin ;)

Mesteery commented 3 years ago

Je trouve aussi que le bouton pour report est trop petit et trop discret, même s'il n'est pas censé être utilisé souvent il faut que l'utilisateur sache qu'il existe. J'ai pensé qu'on pouvait le mettre dans le même style que les autres boutons mais avec un fond rouge ou quelque chose dans le genre, mais bon je suis pas dev frontend alors je vais pas proposer de code sinon ça va être l'anarchie. Si vous voulez le laisser comme ça, au moins le passer à 2em et augmenter un peu les margins (top et right à 1em) ça ne coûte rien et ça fait pas juste une petite crotte collée dans le coin ;)

Ça j'ai testé, sur PC et téléphone, de base c'était légèrement petit (1em) j'ai donc suggéré 1.5em qui était la parfaite valeur entre 1 et 2. Ce qui est bien, ce que l'icone est parfaitement intégrer à l'UI, c'est pas très discret pour autant. J'ai aussi essayer d'augmenter la marge mais c'était vraiment pas terrible (surtout sur des appareils de petite taille). Perso je trouve qu'actuellement c'est parfait.

Nauhai commented 3 years ago

Je trouve aussi que le bouton pour report est trop petit et trop discret, même s'il n'est pas censé être utilisé souvent il faut que l'utilisateur sache qu'il existe. J'ai pensé qu'on pouvait le mettre dans le même style que les autres boutons mais avec un fond rouge ou quelque chose dans le genre, mais bon je suis pas dev frontend alors je vais pas proposer de code sinon ça va être l'anarchie. Si vous voulez le laisser comme ça, au moins le passer à 2em et augmenter un peu les margins (top et right à 1em) ça ne coûte rien et ça fait pas juste une petite crotte collée dans le coin ;)

Ça j'ai testé, sur PC et téléphone, de base c'était légèrement petit (1em) j'ai donc suggéré 1.5em qui était la parfaite valeur entre 1 et 2. Ce qui est bien, ce que l'icone est parfaitement intégrer à l'UI, c'est pas très discret pour autant. J'ai aussi essayer d'augmenter la marge mais c'était vraiment pas terrible (surtout sur des appareils de petite taille). Perso je trouve qu'actuellement c'est parfait.

J'ai pas moyen de tester sur tel alors je te fais confiance. Si c'est parfait pour vous alors c'est parfait pour moi.

Mesteery commented 3 years ago

Je trouve aussi que le bouton pour report est trop petit et trop discret, même s'il n'est pas censé être utilisé souvent il faut que l'utilisateur sache qu'il existe. J'ai pensé qu'on pouvait le mettre dans le même style que les autres boutons mais avec un fond rouge ou quelque chose dans le genre, mais bon je suis pas dev frontend alors je vais pas proposer de code sinon ça va être l'anarchie. Si vous voulez le laisser comme ça, au moins le passer à 2em et augmenter un peu les margins (top et right à 1em) ça ne coûte rien et ça fait pas juste une petite crotte collée dans le coin ;)

Ça j'ai testé, sur PC et téléphone, de base c'était légèrement petit (1em) j'ai donc suggéré 1.5em qui était la parfaite valeur entre 1 et 2. Ce qui est bien, ce que l'icone est parfaitement intégrer à l'UI, c'est pas très discret pour autant. J'ai aussi essayer d'augmenter la marge mais c'était vraiment pas terrible (surtout sur des appareils de petite taille). Perso je trouve qu'actuellement c'est parfait.

J'ai pas moyen de tester sur tel alors je te fais confiance. Si c'est parfait pour vous alors c'est parfait pour moi.

Je peux envoyer des screens si tu veux.

Nauhai commented 3 years ago

Je peux envoyer des screens si tu veux.

Je veux bien.

Nauhai commented 3 years ago

Sauf que non, car :

  1. On a aucune garantie de la réussite du report
  2. La gestion de l'affichage des erreurs compliquerait tout (chose qui d'ailleurs bloque complètement #116)

Dans ce cas est-ce que ça vaudrait le coup de faire une page indépendante pour ça ? Parce que bon c'est quand même un peu naze un texte noir sur blanc en police times new roman taille 16.

Mesteery commented 3 years ago

(La police n'est pas défini, elle dépend de l'utilisateur) Perso ça me gêne pas. Après, si tu trouves un moyen de correctement afficher les erreurs et garantir le succès du signalement au client ce serait pas mal image