Git Product home page Git Product logo

rack-insight's Introduction

Liberapay Patrons Sponsor Me Buy Me Coffee donation button Patreon donate button



Follow Me on X


Follow Me on LinkedIn Find Me on CrunchBase Find Me on WellFound: Subscribe to my Rubygems updates My Blog

Sponsors

Thanks to all my sponsors across any of the donation platforms! Special thanks to my biggest sponsor HealthSherpa!

health-sherpa-logo

Looking for a Rails Developer?

The Rails Foudnation has just launched the Official Job Board for Ruby On Rails!

Here are the latest jobs posted there as of < 60 minutes ago:

Signup now!


I Am Using GitHub Under Protest

Github decided to sponsor me, because they rely on my tools.

In spite of that, I'm (partially) leaving. Why? I certainly do not have the spare-time to move hundreds of projects to a new home... but I'm getting started. I'll enumerate some of the reasons below, but first, where am I, and some of the organizations I control, going?

Reasons to Leave GitHub

  1. A recent proposal to extend Github-flavored Markdown (ref)
    • Literally breaks regular markdown syntax of links in headings.
    • English-only
    • Incompatible with Semantic HTML (POSH) (by abusing the blockquote tag; this also raises issues of accessibility)
      • Note: Latest version has switched to a <div> treamtment, which is just as bad because now Markdown's ">" with admonitions is no longer a blockquote, thus breaking Markdown. The number of bugs caused by this uncountable. A new bug is reported nearly daily on the thread.
    • Incompatible with existing Markdown standards proposals
    • Ignores the community-centered approach to extending Markdown, which, ironically, Github started
    • Contributes to vendor lock-in.
    • Will force countless volunteer FOSS developers to waste time adding compatibility to their projects that use Markdown and attempt to support GFM.
  2. More than 2 years of ignoring requests to add an important feature (allow-failure) to Github Actions (ref, ref). When not ignoring, Github is completely misunderstanding the feature. How are those building Github Actions so deeply unfamiliar with core features of competing CI platforms?
  3. Latest iteration of Achievements was bad.
  4. Github Copilot. Much has been written about this, and I won't repeat it all here. Making money by abusing the licenses of open source code, without recognition, compensation, or respect to the developers, the craft, or the ideals of open source is nauseating.

What about community?

I am interested in people's thoughts on where to go next. Community involvement matters for open source projects, and I have dozens of them that could be affected, the biggest being oauth and oauth2 Ruby gems.

Regarding fragmentation, hopefully it will be resolved by federation, which is to source forges (like Github) what git was to version control (i.e. makes it distributed, at least in theory).

It looks like Gitea, Codeberg and Hostea will join the fediverse soon, within a year, and there are projects that will integrate Github with the fediverse as well (i.e. federate Github commits, PRs, issues, etc).

I'm interested in your thoughts, leave a comment on the blog post!

Recent Releases

Recent Blog posts

Contributions

github-snake

Comment Reactions Notable Contributions

πŸ§’ How it started

Holding a black caiman, Amazon River, Brazil. 1997

A cheeky me holding a baby black caiman, Amazon River, Brazil, June 24, 1997, shortly after completing my first programming course - Pascal. The black caiman, a baby specimen of the family Alligatoridae and order Crocodilia, was unharmed, and released back to the water, where it promptly continued following its mother. Full grown they are among the largest alligators and crocodiles in the world.

:godmode: How it's going

  • 🦷 I'm putting more of my focus on FLOSS efforts (of myself and others)! and from
  • πŸ‘· I build big things and small things out of tiny bits.
  • ✨ Recently created rubocop-lts for library maintainer happiness πŸ‘©β€β€οΈβ€πŸ‘©.
  • πŸ”­ I’m working on finishing the migration away from TravisCI to modern CI tools.
  • 🌱 I’m learning Svelte & SvelteKit, with Lucia, Drizzle, Zod, Inlang Paraglide, Skeleton, Tailwind, Typescript, and so many more cool tools.
  • πŸ‘― Preparing next release of seed_migrations and oauth gems!
  • πŸ€” I’ve moved my suite of Resque plugins to the Resque org!
  • πŸ“« How to reach me
  • πŸ˜„ Pronouns: He/Him
  • πŸ—¨οΈ I speak 3 languages fluently, and for a 4th I'm learning Bahasa Indonesia!
  • πŸ‘·β€β™‚οΈ I help refugees and ex-refugees in GhanaπŸ‡¬πŸ‡­ and LiberiaπŸ‡±πŸ‡·, respectively, through Hope For Tomorrow, a Liberian NGO. DM me if interested in knowing more.
πŸ› οΈ My Dev Tools:
AWS bash circleci codecov css3 debian digitalocean docker git github gitlab gitter graphql handlebars heroku jamstack javascript jetbrains jira kubernetes linux markdown mysql neo4j nodejs postgresql rails ruby rubymine svelte wordpress

πŸ’Ό Career

🧻 Current Roles

Open Hub profile

rack-insight's People

Contributors

agis avatar bibendi avatar bitdeli-chef avatar brynary avatar darrenhinderer avatar ddollar avatar erikstmartin avatar garethrees avatar haswalt avatar idahoev avatar jrallison avatar kjg avatar knzai avatar lukemelia avatar michaelmior avatar mperham avatar napolskih avatar natejgreene avatar noahd1 avatar nyarly avatar oggy avatar olegshaldybin avatar paulbjensen avatar pboling avatar puckbag avatar pusewicz avatar rrrene avatar subosito avatar yaroslav avatar zbelzer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rack-insight's Issues

Extreme slowdown

I did installed current rack-insight into a Spree Rails 3.2.9 based project and when the toolbar is enabled the page load is about 15 - 20 times slower so it becomes almost unusable.

Log is flooded with the following messages:
Starting event: ActiveSupport::BufferedLogger instance add
Probe chain for: ActiveSupport::BufferedLogger instance add:
Rack::Insight::LogPanel

Is this a known issue ? When using rails-footnotes f.E., the load/rendering times are only 2 times slower.

Recent Rails 3.x compatibility ?

Hi,

just tried to setup rack-insight in a recent Rails 3.2.17 however it does not appear.
Gem is properly installed, middleware set in config/environments/development.rb, no error in rails log.

"Any environment with Rack::Insight loaded will have a link to "Rack::Insight" added to as the last child of <body> to normal responses."

It simply does not get inserted after a successful page render (ie. 200 response to GET request).

Feature: Support Rails 2.3.X

I installed rack-insight in a Rails 2.3.11 application and put the following in my development.rb config:

config.middleware.use "Rack::Insight::App", :secret_key => "whatever"

When I run my server and try to access an endpoint, I get the following error:

Tue Oct 02 00:02:31 +0000 2012: Read error: #<NoMethodError: undefined method `_probe' for #<Rack::Insight::Instrumentation::ProbeDefinition:0x112632550>>
/Users/ryangreenberg/.rbenv/versions/ree-1.8.7-2010.02/lib/ruby/gems/1.8/gems/rack-insight-0.5.23/lib/rack/insight/panel.rb:122:in `send'
/Users/ryangreenberg/.rbenv/versions/ree-1.8.7-2010.02/lib/ruby/gems/1.8/gems/rack-insight-0.5.23/lib/rack/insight/panel.rb:122:in `initialize'
/Users/ryangreenberg/.rbenv/versions/ree-1.8.7-2010.02/lib/ruby/gems/1.8/gems/rack-insight-0.5.23/lib/rack/insight/instrumentation/package-definition.rb:54:

When I manually specify the panels and remove some of them I am able to get a different error.

bad use of duplicate id on elements

For example using request_id_menu on several select elements does not work in modern browsers. And doing $('#request_id_menu') only selects one of them causing the dropdowns to not function most of the time. IDs on HTML elements are supposed to be unique across the entire page.. If you want multiple elements to be referenced you should use a class. e.g.

$('#rack-insight .request_id_menu')

instead

$('#request_id_menu')

Feature: Disable the overlaid button

I would like to be able to disable the overlaid button, so I can make my own button in the nav bar. Also, the Rack::Bug bookmarklet would be a nice thing to have back. Thanks!

Undefined method Rails 4...

rails 4.0
ruby 2.0.0-p247
rack-insight 0.5.26

NoMethodError at /
undefined method `any?' for #ActionDispatch::Request::Session:0x007fc6158c7390

lib/rack/insight/panels/request_variables_panel.rb:8

4     def after(env,status,headers,body)
5       sections = {}
6       sections["GET"] = sort(@request.GET) if @request.GET.any?
7       sections["POST"] = sort(@request.POST) if @request.POST.any?
8       sections["Session"] = sort(@request.env["rack.session"]) if @request.env["rack.session"] && @request.env["rack.session"].any?
9       sections["Cookies"] = sort(@request.env["rack.request.cookie_hash"]) if @request.env["rack.request.cookie_hash"] && @request.env["rack.request.cookie_hash"].any?
10      server, rack = split_and_filter_env(@env)
11      sections["SERVER VARIABLES"] = sort(server)
12      sections["Rack ENV"] = sort(rack)

JQuery.live deprecation broke the bar.

<Uncaught TypeError: Object [object Object] has no method 'live' insight.js:77
(anonymous function) insight.js:77
fire jquery.js:1038
self.fireWith jquery.js:1149
jQuery.extend.ready jquery.js:434
completed

JQuery.live is deprecated in 1.7 and removed in 1.9 (according to http://api.jquery.com/category/version/1.9/). This issue kills all interactivity with the bar.

JQuery wrote up some of the changes here. http://jquery.com/upgrade-guide/1.9/#live-removed. Apologies if this is the incorrect fork: following who took over this from Rack::Bug is a bit confusing (and thanks for maintaining it!)

SQLite3::IOException disk I/O error - on new install in Rails 4

After installing rack insight and setting up development.rb as per instructions I get this error. I can see that the rack-insight.sqlite is created in my app root. And even after restarting the server twice I still get the above exception on any page load.

I tried providing a different :database_path with out success.

Password is ignored to enable toolbar

Update:
I'm sorry, mistaken secret_key (a hash source) with password option. Forget the report bellow.


Hi,

just figured out although I do have set secret_key in config/environments/development.rb

# Rack-Insight
 config.middleware.use "Rack::Insight::App",
   secret_key: "mypassword"

authorization is completely ignored. If I do invoke secret key dialog I can enter whatever mix of chars or even leave blank but password is accepted and toolbar rendered.

No insight bar showing on rails 4

Nothing is being injected into the html. I add the gem (added master from git after no luck on rubygems) and used the middle ware. Navigating to a page (after restarting server) does not show anything. Thanks for this gem. Hoping to use rack-insight soon!

Support ajax calls

If your page has remote: true, or ajax calls, that information is not shown.

rack-insight fails in Sinatra

Running rack-insight as a Sinatra middleware yields the following error:

undefined method `present?' for body
file: enable-button.rb location: call line: 16

Wondering if I'm doing something wrong or if it's a bug.
Cheers,

Feature: Support Rack apps mounted within other Rack apps

Hi, please consider the situation when you are building Sinatra based app which will be later mounted on some sub-uri, the usual case "/admin". The requests for necessary files will end up in totaly wrong rack app. I think this could be easily solved by analyzing request.script_name as Sinatra does.

Feature: Add config option to turn off database use

Hi,

I was wondering if there's a way of turning off the use of the SQLite database. I'll most likely be using this for additional information in an environment which has multiple servers and we won't care about the historical results that are being stored (seems like unnecessary overhead).

Is this possible?

Error in enable-button.rb when body is instance of Rack::BodyProxy (Spree Commerce)

Adding Rack::Insight makes a fresh install of Spree error.

As @phoenixek12 mentioned on 71226db, Rack::BodyProxy does not implement empty?.

undefined method `empty?' for #<ActionDispatch::Response:0x007fd073d6a8a8>
rack (1.5.2) lib/rack/body_proxy.rb:36:in `method_missing'
rack-insight (0.5.30) lib/rack/insight/enable-button.rb:21:in `call'
rack-insight (0.5.30) lib/rack/insight/app.rb:62:in `call'

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.