New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debugging Info Page for submitting issues #2409

Open
fncll opened this Issue Jul 9, 2018 · 10 comments

Comments

Projects
None yet
5 participants
@fncll

fncll commented Jul 9, 2018

Is your feature request related to a problem? Please describe.

Submitting tickets for issues with incomplete information

Describe the solution you'd like

A debugging page behind the admin firewall that displays as much information as possible for submitting issues, preferably in a cut-and-paste friendly form.

Couldn't a page show PHP version, server OS, etc. so users---particularly on shared hosting---don't have to poke around in many different places?

Describe alternatives you've considered

None.

Additional context

None needed.

@YOURLS YOURLS deleted a comment from majordome bot Jul 10, 2018

@dgw dgw added feature core labels Jul 10, 2018

@dgw

This comment has been minimized.

Collaborator

dgw commented Jul 10, 2018

I like this idea!

I'm sure this could be implemented with a plugin, but whether it's part of the core code or a plugin that comes bundled with YOURLS it should definitely be "part of core".

@ozh

This comment has been minimized.

Member

ozh commented Jul 23, 2018

The idea is interesting but in practice would be a pain to make as described because having it "behind the admin firewall" implies everything works fine at the low YOURLS level already.

A practical approach would be to make a page that works at the PHP/MySQL level, independent of YOURLS. Assuming things are not completely broken at the PHP and MySQL level, we could have a script that checks info from the server, from MySQL, and also from the config.php and list YOURLS parameters, paths, constants declared, cookies, etc... and even why not perform some checks (redirecting, creating a short URL, etc)

Such a script should be available at request (eg maintained as a 3rd party resource) but I'm reluctant with shipping it with YOURLS because of the security problems it is bound to bring (eg exposing too much information)

@PopVeKind

This comment has been minimized.

Contributor

PopVeKind commented Aug 1, 2018

@ozh I built something like this on one of the Multisite test sites. But it was an admin page. I'm sure it just used PHP to pull together appropriate information for an issue posting. It could be converted to a core plugin or 3rd party plugin easy enough. The question is what is appropriate information?

Submitting tickets for issues

As a public issue on Github, some things are inappropriate (passwords, etc.). Limited to what is currently asked for in issues, it does not seem a security problem. I would limit access to logged in admins only. It would be small and might be worth shipping as a core plugin as it would be a great help to noobs writing their first issues.

Ps. Sorry about the delay on the https plugin, I had two strokes, months in the hospital, and still doing physical therapy.

@PopVeKind

This comment has been minimized.

Contributor

PopVeKind commented Aug 2, 2018

Does anyone have an example of the minimum information needed to pass the majordome test for new issues?

I looked at the issue #2414 which seems to supply the needed info, yet majordome complained "it seems you are missing information!"

@LeoColomb will you please comment on this? I'm looking at the template. Is the exact wording and format critical? What if something does not apply? (example only one step instead of three).

I would like to build the template into a plugin that would auto fill in the Technical details. This may be copy paste into a new issue and then fill in the second and third sections.

Would the following example pass majordome?

=====

Technical details regarding my environment

Note: this section will be generated by the plugin.

  • YOURLS version: 1.7.2
  • Plugins enabled:
    1. first plugin
    2. second plugin, etc.
  • PHP version: 7.1.11
  • Server OS Build: Linux
  • Server & version: Apache/2.4.1
  • Browser & version: Firefox 60 on Ubuntu Linux

Bug description

What is the current behavior?

This is a bug because…

What is the expected or desired behavior?

Reproducible bug summary steps

=====

@LeoColomb

This comment has been minimized.

Member

LeoColomb commented Aug 28, 2018

@LeoColomb will you please comment on this? I'm looking at the template. Is the exact wording and format critical? What if something does not apply? (example only one step instead of three).

Oh sorry, just saw it!
So: nothing critical, but the more details are filled the more easier the report is handled.
The template is basically from a common structure used by many major projects.

@PopVeKind

This comment has been minimized.

Contributor

PopVeKind commented Oct 20, 2018

You can try my new Plugin:

Admin Issue Diagnostic - A.I.D. Plugin

Linode, Debian, EasyEngine, and Nginx.

  • The AID Plugin output is markdown formatted and ready to copy/paste into an issue. Just fill in the blanks.
  • An ACTUAL output from a YOURLS on a Linode server running Debian 8.1, EasyEngine, and nginx.

=====

Technical details regarding my environment

  • YOURLS version: 1.7.3

  • Plugins enabled:

    1. admin_issue_diagnostic/plugin.php
  • YOURLS DB Ver: 482

  • PHP version: 7.0.32-1~dotdeb+8.1

  • Server OS Build: Linux

  • Server & version: nginx/1.14.0

  • Browser information: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0

  • Generated by the AID Plugin ver 1.0

Bug description

What is the current behavior?

This is a bug because…

What is the expected or desired behavior?

Reproducible bug summary steps

@PopVeKind

This comment has been minimized.

Contributor

PopVeKind commented Oct 20, 2018

Admin Issue Diagnostic - A.I.D. Plugin

Pair Network, Ubuntu, and Apache

  • Actual output from a YOURLS on a Pair Network shared server running Ubuntu and Apache. Again just fill in the blanks with the details...

=====

Technical details regarding my environment

  • YOURLS version: 1.7.3

  • Plugins enabled:

    1. hyphens-in-urls/plugin.php
    2. random-bg/plugin.php
    3. sample-toolbar/plugin.php
    4. admin-ydb/plugin.php
    5. admin-issue-diagnostic/plugin.php
  • YOURLS DB Ver: 482

  • PHP version: 7.1.22

  • Server OS Build: Linux

  • Server & version: Apache/2.4.35

  • Browser information: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0

  • Generated by the AID Plugin ver 1.0

Bug description

What is the current behavior?

This is a bug because…

What is the expected or desired behavior?

Reproducible bug summary steps

@PopVeKind

This comment has been minimized.

Contributor

PopVeKind commented Oct 20, 2018

@fncll The A.I.D. Plugin collects YOURLS environmentals and formats a template to copy/paste into a YOURLS issue. Just fill in the blanks! Fantastic for newbies, great for experts!

In the future I plan to add some small diagnostic suggestions at the bottom of this output.

@fncll

This comment has been minimized.

fncll commented Oct 29, 2018

Works great! My output shows "Apache" as the server with no version information, but I assume that is a result of something about how my shared hosting is set up.

@PopVeKind

This comment has been minimized.

Contributor

PopVeKind commented Oct 30, 2018

Thanks,

Improvements are in the works!

Yes, the AID plugin reads what is passed to PHP from Apache or Nginx, so it is how your hosting company sets up its server.

This Example above, is shared hosting on Apache at Pair Network and shows Apache/2.4.35
There is more likelihood of a problem if a person is using Nginx vs Apache, not the version number (except PHP and YOURLS).

Coming improvements

  • We will add tags so new versions may be tracked with the PUNS plugin
  • We will reformat the output to match exactly the new majordome
  • We are working on how to add a MySQL/MariaDB line.
  • We have a plan for a self-help diagnostic area that will suggest changes for diagnosable issues. It wont fix everything, but it might help some newbies with some things!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment