Giter Club home page Giter Club logo

debugbar's People

Contributors

girardinsamuel avatar josephmancuso avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

debugbar's Issues

Name of config file

When using package provider if name("debugbar") it implies that debugbar will be used for config file.
Right now you're using config("debug"), one or the other should be changed.

Stored Requests get cleared out on non-normal requests

How we structured it was that on "Normal requests". it would clear out the directory of stored requests and then "ajax requests" it would store additional requests in the directory.

That leads to an issue on things like assets. This is clearing the request because its doing a call that the package thinks is a normal request.

Screen Shot 2022-01-13 at 10 36 16 PM

Need to store package assets inside package and load them in

we need to be able to use this package offline. A lot of development is all done locally so we need to store any assets we use in the package and load them in.

We can't use a CDN all the time. We should store these assets in the package and then when we render we can just load the javascript minified asset into the javascript renderer.. if that makes sense.

Fix resizing issue

also the resize bar at the top of the debugbar seems a little wonky, could just be brave browser though. has no problem shrinking the bar to 1 pixel but doesnt expand the best.

Add `Dumps` tab

Now that dump feature has been improved in M4, it would be great to add a tab to show the current dumps that have been made.

Does not work with M4 M4 - Binding not found

Whats the issue?:
I want to use the debug bar in M4

Steps to replicate this:
Install a basic M4 Project
Install the debug bar as per the docs - as per the docs here
Publish the atrifacts for the debug bar into storage - as per the docs here
See the exception during publish due to incorrect application binding.

  File ".../venv/lib/python3.9/site-packages/masonite/container/container.py", line 112, in make
    raise MissingContainerBindingNotFound(
masonite.exceptions.exceptions.MissingContainerBindingNotFound: storage key was not found in the container

Notice that storage is not actually part of the bindings in the M4 Kernel

What would you expect?:
This binding should be part of the setup as per the M4 Kernel as it is supposed to work with M4 but the bindings impy its still part of M3

Doesn't seem to be working on Inertia routes

Not sure if its a conflict with some JS conflict but the debugbar simply doesn't render on any routes that are inertiaJS routes ..

Its just a gray bar with the X and minimize and maximize icons
Screen Shot 2022-01-13 at 10 51 16 PM
Screen Shot 2022-01-13 at 10 51 57 PM

Application throws error if enabled debugbar and used query builder

In my controller

def index(self, view: View):
        categories = Category.all()
        
        return view.render('welcome', {
            'categories': categories,
        })

With Debugbar Enabled

This works in view

<ul>
    {% for category in categories %}
        <li>{{ category.name }}</li>
    {% endfor %}
</ul>

This doesn't work in view

<ul>
    {% for category in categories %}
        <li>{{ category.name }} - {{ category.user.name }}</li>
    {% endfor %}
</ul>

With Debugbar Disabled

This works in view

<ul>
    {% for category in categories %}
        <li>{{ category.name }}</li>
    {% endfor %}
</ul>

This also works in view

<ul>
    {% for category in categories %}
        <li>{{ category.name }} - {{ category.user.name }}</li>
    {% endfor %}
</ul>

Error snapshot

screencapture-localhost-8000-2022-01-17-09_46_57

Feature List

This package will be basic Python debugging functionality. From this package we can create things like masonite-debugbar

Here are proof of concept screenshots of what the package is capable of doing.

This package will have several renderers available. The screenshot is an example of a JavascriptDebugbarRenderer

Screen Shot 2021-01-17 at 10 09 58 AM

Screen Shot 2021-01-17 at 10 09 52 AM

Collectors are classes responsible for collecting information. Each collector would show as a separate tab

Should have default base collectors such as:

  • Python Information - python info,
  • Environment Information - environ info like environment variables
  • Start and Stop measurements - A way to set start and stop triggers for application time

Each collector should be responsible for converting their data into a dictionary to be later collected. This should be JSON encodable for the future.

Another requirement is being able to support multiple requests and AJAX requests

Add Terminal Renderer

Should be able to take the collectors and show it in a nice format in the terminal. If possible, should be interactive

Javascript debugbar

Need a way to attach a debugbar to all templates of an application. Should just render an HTML snippet with some vanilla JS

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.