Jump to content
adrian

Tracy Debugger

Recommended Posts

In my case, it doesn't help. I was playing with this when I was developing ProcessFileEdit but haven't found a proper solution. Then support for UTF8 for windows was added I think in 7.0 or 7.1 and then I stopped bothering.

Share this post


Link to post
Share on other sites
7 hours ago, adrian said:

@szabesz - I haven't seen any of these issues. Is it browser specific, or any chance the scrollbar issue could be related to this: https://processwire.com/talk/topic/13389-adminonsteroids/?do=findComment&comment=179123 or something else in AOS?

I disabled AOS and it did not make any difference, the tracyHidden class gets applied to <body> when I click the arrow icon to minify the debug bur. Regarding scrollbar issue, it happens in both Firefox and Safari too. Chrome and Firefox are the latest. The tiny svg icon issue is a bit browser specific, as it does not happen in Firefox, but does happen in both Safari and Chrome.

The hidden class issue emerged when I updated Tracy yesterday. I cannot see any connection to AOS, but I could not spend time on debugging.

Share this post


Link to post
Share on other sites
Posted (edited)
12 minutes ago, szabesz said:

The hidden class issue emerged when I updated Tracy yesterday. I cannot see any connection to AOS, but I could not spend time on debugging.

I have just remembered that yesterday – beside updating Tracy – I also enabled the "Hide debugbar by default" in an attempt to workaround the scrollbar issue, so that the debugbar on the right does not get in the way by default. I have just gone to the settings and turned off "Hide debugbar by default" and it partially solved the problem. With this setting, if I click the arrow to minimze the debugbar, tracyHidden class still gets applied to <body> but upon page reload it does not, so at least it is not "sticky" and I can see the admin.

Edited by szabesz
typos

Share this post


Link to post
Share on other sites

Thanks for the extra details @szabesz - unfortunately I still can't reproduce. Could you please try deleting your browser LocalStorage - maybe that is affecting the position under the scrollbar. Could you also send me your Tracy settings. You can use my ModuleSettingsImportExport module to make that easy.

Regarding the SVG icon issue - does this occur both backend and frontend? Just wondering if maybe there is some frontend css (or custom backend css for that matter) that might be interfering.

Share this post


Link to post
Share on other sites

@tpr and @matjazp - I just converted one of my ProcessWire log files to Windows 1252 and I still had no problems with the panel - it was successfully json encoded and saved to the wireCache. I'm not sure how to proceed from here - any thoughts?

Share this post


Link to post
Share on other sites
4 hours ago, adrian said:

I'm not sure how to proceed from here - any thoughts?

Leave it. Let the user fix it. While I was able to make it work in a terminal, conversion is unreliable.

Screenshot 2019-03-25 06.34.17_cr.jpg

Screenshot 2019-03-25 06.19.08_cr.jpg

  • Like 1

Share this post


Link to post
Share on other sites
17 hours ago, adrian said:

Thanks for the extra details @szabesz - unfortunately I still can't reproduce. Could you please try deleting your browser LocalStorage - maybe that is affecting the position under the scrollbar. Could you also send me your Tracy settings. You can use my ModuleSettingsImportExport module to make that easy.

Regarding the SVG icon issue - does this occur both backend and frontend? Just wondering if maybe there is some frontend css (or custom backend css for that matter) that might be interfering.

Cleaning all local data storage features of the browser nor incognito mode did not make a difference either, all issues remain. I have no browser extensions installed, btw.

I tested the scrollbar and the tiny icon issues on a clean and "latest" PW (last week's 3.0.127) and they are still there in Chrome, so these do not seem to be site specific. I can send you the whole site zipped up if you need it.

See them in action:

tracy-n-hide-icon-fix.gif.2b4a9ad9c3840cbea62b66978bb460ae.gif

tracy-n-scrollbar.gif.b858a6851d0399c21a3a557310979014.gif

The scrollbar issue is kinda random. In the screen-grab it happens right after reload but not afterwards, but during my daily work I could not notice any pattern, most of the time the scrollbar gets in the way.

However, the tracyHidden issue is indeed site specific so it does not happen on the clean install. I will need to spend more time on debugging this one.

Oh, and the Tracy setting generated by your module:  (from both clean and problematic sites)

Thanks in advance

 

  • Like 1

Share this post


Link to post
Share on other sites

Heads up. If you run ProcessWire with TracyDebugger inside Devilbox you need to make sure you have Output Mode set to DEVELOPMENT, otherwise you will not see the Debug Bar.

  • Like 1

Share this post


Link to post
Share on other sites
3 hours ago, happywire said:

Heads up. If you run ProcessWire with TracyDebugger inside Devilbox you need to make sure you have Output Mode set to DEVELOPMENT, otherwise you will not see the Debug Bar.

Or you can force development mode for superusers. 

I guess Devilbox is preventing DETECT mode from determining whether you're on localhost or not.

  • Like 1

Share this post


Link to post
Share on other sites

@szabesz - thanks for those files - the svg size and hiding of body problems are coming from the server type indicator feature - specifically the "Custom - control with CSS" option. I'll try to fix shortly. Not sure about the bar being under the scrollbar - I still don't see that, but at least the other problems are figured out 🙂

  • Like 1

Share this post


Link to post
Share on other sites

Hey @szabesz - turns out the svg icon issue was actually related to not having the fixed debug bar position option checked. I decided to remove this an optional, because the draggable version had other problems as well. I think this might also fix your issue with the scrollbar being on top of the debug bar as well.

The hiding of the body when hiding the debug bar was related to the custom server type indicator. I have fixed this, although this means that now the indicator won't be hidden when the bar is hidden, but hopefully that is ok.

One observation about your Tracy settings - you didn't have the db() and bdb() shortcuts checked - you may want those.

Also, I have deleted your settings attachment in your previous post because it includes your email address 🙂

  • Like 2

Share this post


Link to post
Share on other sites
Posted (edited)
2 hours ago, adrian said:

I have fixed this, although this means that now the indicator won't be hidden when the bar is hidden, but hopefully that is ok.

Thank you! I myself actually like the idea that the custom indicator is always visible.

2 hours ago, adrian said:

you didn't have the db() and bdb() shortcuts checked - you may want those

Thanks for reminding me. Strange but I've never had the need of them, bd() and d() have just been enough. Maybe it is because I tend to prefer very targeted checks.

Edited by szabesz
typos
  • Like 1

Share this post


Link to post
Share on other sites
Just now, szabesz said:

I myself actually like the idea that the custom indicator is always visible.

Don't forget to check out the newish Favicon badge option if you haven't already - I find it very useful.

  • Thanks 1

Share this post


Link to post
Share on other sites

I'm getting such errors increasingly with Tracy:
Filename doesn't exist: /home/foocom/www/dev.mysite/site/assets/cache/TracyDebugger/offer-index-dev.php on line: 135 in /home/foocom/www/dev.mysite/wire/core/TemplateFile.php

I then have to manually copy over my dev tpl to the Tracy cache folder. Is this a bug?

Share this post


Link to post
Share on other sites

@dragan - are you using the "User Dev Templates" feature, or the User Bar's "Page Versions" feature?

Share this post


Link to post
Share on other sites

I have defined an alternative tpl in the tpl settings, and I then use the Template Path panel in Tracy, where it says: 

Quote

Temporarily use a template file with a suffix. eg. project-dev.php.  
Select an alternate from the list. Create the file in your templates directory first

(the three orange cubes icon)

Share this post


Link to post
Share on other sites

I can't seem to reproduce any issues here with the Template Path panel. I actually don't understand why it's looking for a file at the root of /site/assets/cache/TracyDebugger/ - I don't think it should be.

I have a feeling you might have a combination of Tracy features / settings that is resulting in this, but not sure what. Would you mind PM'ing me your settings in JSON format. Maybe also an export of your template settings as well.

Share this post


Link to post
Share on other sites
Posted (edited)

tracy-cache-twice.PNG.a7e7e5116724763901dce56882886bd5.PNG

^ does this look normal to you? I see the same dev-template twice o_O

 

37 minutes ago, adrian said:

Would you mind PM'ing me your settings in JSON format. Maybe also an export of your template settings as well.

Sure, but I have no idea how to find / generate JSON settings. Is that done from within Tracy?  Or Tracy's module config @ module/edit?name=TracyDebugger&collapse_info=1 ?

Template settings: I assume the JSON export from backend/setup/template/export/ ?

Edited by dragan
added screenshot

Share this post


Link to post
Share on other sites
1 hour ago, dragan said:

^ does this look normal to you? I see the same dev-template twice o_O

The version under the Tracy cache is the backed up copy created when you use the File Editor panel. That is expected.

That is partly why the File Editor now has a default setting to exclude /site/assets

My concern is why the error you are seeing is looking for files under: /site/assets/cache/TracyDebugger/offer-index-dev.php rather than /site/assets/cache/TracyDebugger/site/templates/offer-index-dev.php

Share this post


Link to post
Share on other sites

Hi adrian,

First of all, thanks for the module, great job. 🙂

A few days ago, my hosting provider sent me an email:

Quote

'/home/zzz/public_html/site/modules/TracyDebugger/panels/Terminal/shell.php' # Known exploit = [Fingerprint Match]

Could you please give me some advice, what should I do?

They will disable the whole site if I won't solve this problem.. But the module is so useful, I don't want to remove.

Thanks,
Tamas

Share this post


Link to post
Share on other sites

Hi @tthom_pw - that file is not necessary for most of Tracy's functionality so you could certainly just delete it, but I would like to understand why they are actually concerned about it. As I mentioned to @bernhard above, it's impossible to run that shell.php file outside the PW admin and without superuser permissions. It is blocked by PW's htaccess rules.

Also, unless I am missing something, it's no more dangerous than Ryan's HannaCode module in terms of what it can run - Hanna lets you shell_exec() which is what this file uses to run system commands.

That said, if it's going to be a red flag for some hosting providers, I can move the file out of Tracy and make it a separate module that if installed will integrate with Tracy.

Could you please follow up with your host and explain how it is protected from direct access etc and see what they say?

Share this post


Link to post
Share on other sites

@tthom_pwThis report is most likely coming from ConfigServer eXploit Scanner (cxs). You can ask your hosting provider if he is willing to exclude this file from scanning. I'm not familiar with how scanner work but most likely it's searching for strings exec, shell, shell_exec etc. 

  • Like 1

Share this post


Link to post
Share on other sites

Hi guys,

thanks for all.

@matjazp : yes, CXS..

Unfortunately, it's an automatic virus scan and I don't hope, they will be flexible. From hosting provider side, it's a risk, there is a code match and won't check what are in those files, it's more easier to say, we don't care, solve this. 🙂

And, actually, they are hosting thousands of websites and I think, it's not expected to verify every single virus alert and debug files.

For example AutoSmush exe binaries. How knows, what are those doing? 🙂

Yes, I can tell them, those files aren't accessible from outside, but, they can tell, hey, it's OK, but perhaps somebody transport data from inside to outside.
So, it could be a neverending story.. 

Btw, if I delete all problematic files, with the next update, aren't those going back?
Of course, I will write an email.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Gadgetto
      Status update links (inside this thread) for SnipWire development will be always posted here:
      2019-10-18
      2019-08-08
      2019-06-15
      2019-06-02
      2019-05-25
      If you are interested, you can test the current state of development:
      https://github.com/gadgetto/SnipWire
      Please note that the software is not yet intended for use in a production system (alpha version).
      If you like, you can also submit feature requests and suggestions for improvement. I also accept pull requests.
      ---- INITIAL POST FROM 2019-05-25 ----
      I wanted to let you know that I am currently working on a new ProcessWire module that fully integrates the Snipcart Shopping Cart System into ProcessWire. (this is a customer project, so I had to postpone the development of my other module GroupMailer).
      The new module SnipWire offers full integration of the Snipcart Shopping Cart System into ProcessWire.
      Here are some highlights:
      simple setup with (optional) pre-installed templates, product fields, sample products (quasi a complete shop system to get started immediately) store dashboard with all data from the snipcart system (no change to the snipcart dashboard itself required) Integrated REST API for controlling and querying snipcart data webhooks to trigger events from Snipcart (new order, new customer, etc.) multi currency support self-defined/configurable tax rates etc. Development is already well advanced and I plan to release the module in the next 2-3 months.
      I'm not sure yet if this will be a "Pro" module or if it will be made available for free.
      I would be grateful for suggestions and hints!
      (please have a look at the screenshots to get an idea what I'm talking about)
       




    • By eelkenet
      Hi! I've created a small Inputfield module called InputfieldFloatRange which allows you to use an HTML5 <input type="range" ../> slider as an InputField. I needed something like this for a project where the client needs to be able to tweak this value more based on 'a feeling' than just entering a boring old number. Maybe more people can use this so I'm hereby releasing it into the wild.  
       
      What is it?
      The missing range slider Inputfield for Processwire. 
      What does it do?
      This module extends InputfieldFloat and allows you to use HTML5 range sliders for number fields in your templates.
      It includes a visible and editable value field, to override/tweak the value if required.  
      Features
      Min/max values Precision (number of decimals) Steps (Read more) Manual override of the selected value (will still adhere to the rules above) Usage
      Clone / zip repo Install FieldtypeFloatRange, this automatically installs the Inputfield Create new field of type `Float (range)` or convert an existing `Float`, `Integer` or `Text` field. To render the field's value simply echo `$page->field` Demo
      A field with Min=0, Max=1, Step=0.2, Precision=2

      Field with settings Min=0, Max=200, Step=0.25, Precision=2

       
      Todo
      Make the display-field's size configurable (will use the Input Size field setting)  Hopefully become redundant If it's usable for others I'll add it to the Modules list  
      Changelog
      v002
      - Fix issue where setting the step value to an empty value created problem with validation
      - Make the display-field optional 
      v001
      - Initial release
       
      Thanks!
       
       
    • By Robin S
      Another little admin helper module...
      Template Field Widths
      Adds a "Field widths" field to Edit Template that allows you to quickly set the widths of inputfields in the template.

      Why?
      When setting up a new template or trying out different field layouts I find it a bit slow and tedious to have to open each field individually in a modal just to set the width. This module speeds up the process.
      Installation
      Install the Template Field Widths module.
      Config options
      You can set the default presentation of the "Field widths" field to collapsed or open. Field widths entered into the Template Field Widths inputfield are only applied if the Edit Template form is submitted with the Template Field Widths inputfield in an opened state. "Collapsed" is the recommended setting if you think you might also use core inputs for setting field widths in a template context. You can choose Name or Label as the primary identifier shown for the field. The unchosen alternative will become the title attribute shown on hover. You can choose to show the original field width next to the template context field width.  
      https://github.com/Toutouwai/TemplateFieldWidths
      https://modules.processwire.com/modules/template-field-widths/
    • By adrian
      This module allows you to automatically rename file (including image) uploads according to a configurable format
      This module lets you define as many rules as you need to determine how uploaded files will be named and you can have different rules for different pages, templates, fields, and file extensions, or one rule for all uploads. Renaming works for files uploaded via the admin interface and also via the API, including images added from remote URLs.   Github: https://github.com/adrianbj/CustomUploadNames
      Modules Directory: http://modules.processwire.com/modules/process-custom-upload-names/
      Renaming Rules
      The module config allows you to set an unlimited number of Rename Rules. You can define rules to specific fields, templates, pages, and file extensions. If a rule option is left blank, the rule with be applied to all fields/templates/pages/extensions. Leave Filename Format blank to prevent renaming for a specific field/template/page combo, overriding a more general rule. Rules are processed in order, so put more specific rules before more general ones. You can drag to change the order of rules as needed. The following variables can be used in the filename format: $page, $template, $field, and $file. For some of these (eg. $field->description), if they haven't been filled out and saved prior to uploading the image, renaming won't occur on upload, but will happen on page save (could be an issue if image has already been inserted into RTE/HTML field before page save). Some examples: $page->title mysite-{$template->name}-images $field->label $file->description {$page->name}-{$file->filesize}-kb prefix-[Y-m-d_H-i-s]-suffix (anything inside square brackets is is considered to be a PHP date format for the current date/time) randstring[n] (where n is the number of characters you want in the string) ### (custom number mask, eg. 001 if more than one image with same name on a page. This is an enhanced version of the automatic addition of numbers if required) If 'Rename on Save' is checked files will be renamed again each time a page is saved (admin or front-end via API). WARNING: this setting will break any direct links to the old filename, which is particularly relevant for images inserted into RTE/HTML fields. The Filename Format can be defined using plain text and PW $page variable, for example: mysite-{$page->path} You can preserve the uploaded filename for certain rules. This will allow you to set a general renaming rule for your entire site, but then add a rule for a specific page/template/field that does not rename the uploaded file. Just simply build the rule, but leave the Filename Format field empty. You can specify an optional character limit (to nearest whole word) for the length of the filename - useful if you are using $page->path, $path->name etc and have very long page names - eg. news articles, publication titles etc. NOTE - if you are using ProcessWire's webp features, be sure to use the useSrcExt because if you have jpg and png files on the same page and your rename rules result in the same name, you need to maintain the src extension so they are kept as separate files.
      $config->webpOptions = array(     'useSrcExt' => false, // Use source file extension in webp filename? (file.jpg.webp rather than file.webp) ); Acknowledgments
      The module config settings make use of code from Pete's EmailToPage module and the renaming function is based on this code from Ryan: http://processwire.com/talk/topic/3299-ability-to-define-convention-for-image-and-file-upload-names/?p=32623 (also see this post for his thoughts on file renaming and why it is the lazy way out - worth a read before deciding to use this module). 
       
       
      NOTE:
      This should not be needed on most sites, but I work with lots of sites that host PDFs and photos/vectors that are available for download and I have always renamed the files on upload because clients will often upload files with horrible meaningless filenames like:
      Final ReportV6 web version for John Feb 23.PDF

×
×
  • Create New...