{"action":"created","issue":{"url":"https://api.github.com/repos/phoenixframework/phoenix/issues/1776","repository_url":"https://api.github.com/repos/phoenixframework/phoenix","labels_url":"https://api.github.com/repos/phoenixframework/phoenix/issues/1776/labels{/name}","comments_url":"https://api.github.com/repos/phoenixframework/phoenix/issues/1776/comments","events_url":"https://api.github.com/repos/phoenixframework/phoenix/issues/1776/events","html_url":"https://github.com/phoenixframework/phoenix/issues/1776","id":162507441,"number":1776,"title":"Proposal: new error page","user":{"login":"rstacruz","id":74385,"avatar_url":"https://avatars.githubusercontent.com/u/74385?v=3","gravatar_id":"","url":"https://api.github.com/users/rstacruz","html_url":"https://github.com/rstacruz","followers_url":"https://api.github.com/users/rstacruz/followers","following_url":"https://api.github.com/users/rstacruz/following{/other_user}","gists_url":"https://api.github.com/users/rstacruz/gists{/gist_id}","starred_url":"https://api.github.com/users/rstacruz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rstacruz/subscriptions","organizations_url":"https://api.github.com/users/rstacruz/orgs","repos_url":"https://api.github.com/users/rstacruz/repos","events_url":"https://api.github.com/users/rstacruz/events{/privacy}","received_events_url":"https://api.github.com/users/rstacruz/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":20,"created_at":"2016-06-27T17:40:49Z","updated_at":"2016-07-13T07:23:17Z","closed_at":null,"body":"Hey, friends. Let's talk about Phoenix's error page. I think we can do a lot of improvement here.\r\n\r\n![image](https://cloud.githubusercontent.com/assets/74385/16389363/2a53dc92-3cd0-11e6-9ab6-6cb0d6bf6227.png)\r\n\r\n## Situation\r\nThis design has served Phoenix and better_errors well for a while, but it can use some improvement.\r\n\r\n- The exception messages are limited to one line (tho more info can be shown on hover). This is kind of cumbersome, considering many Elixir errors can span multiple lines.\r\n\r\n- The request info/headers/params/session area (below the source) made sense for better errors, because better_errors allowed you to inspect what's in each stack frame. Not quite so in Phoenix. It feels weird that it's huge and it looks like it changes when you click on a stack frame on the left.\r\n\r\n- It feels needlessly verbose. Most times I'm only concerned about what error happened, and the line that triggered it. These need to be presented more prominently.\r\n\r\n## Proposal\r\n\r\nHow about something more like this?\r\n\r\n![image](https://cloud.githubusercontent.com/assets/74385/16389501/cdc811fe-3cd0-11e6-8842-e6c86928aa8b.png)\r\n\r\nGone is the weird frame-like scrolling; instead, it scrolls down naturally like a page would. (except for the stack trace... you should be able to scroll it down on its own iframe-like container.)\r\n\r\nYou'll see that above the fold, most the relevant things are what immediately draws your attention.\r\n\r\n> ![image](https://cloud.githubusercontent.com/assets/74385/16389698/b691af3a-3cd1-11e6-9321-f88648018911.png)\r\n\r\nBy putting all the \"more info\" stuff at the bottom, we get more space to do more interesting things. How links to search Google for the error? Or maybe link to the relevant hexdocs?\r\n\r\n> ![image](https://cloud.githubusercontent.com/assets/74385/16389571/1e3142a0-3cd1-11e6-8ef4-33d23db50e9e.png)\r\n\r\nThis is a rough draft of course, but if you like where this is going I'd be happy to polish it up and implement it.\r\n\r\n## By the way\r\n\r\nI'm the author of the original [better_errors error page](https://github.com/charliesome/better_errors), which I believe Phoenix's is based off of :)"},"comment":{"url":"https://api.github.com/repos/phoenixframework/phoenix/issues/comments/232276674","html_url":"https://github.com/phoenixframework/phoenix/issues/1776#issuecomment-232276674","issue_url":"https://api.github.com/repos/phoenixframework/phoenix/issues/1776","id":232276674,"user":{"login":"josevalim","id":9582,"avatar_url":"https://avatars.githubusercontent.com/u/9582?v=3","gravatar_id":"","url":"https://api.github.com/users/josevalim","html_url":"https://github.com/josevalim","followers_url":"https://api.github.com/users/josevalim/followers","following_url":"https://api.github.com/users/josevalim/following{/other_user}","gists_url":"https://api.github.com/users/josevalim/gists{/gist_id}","starred_url":"https://api.github.com/users/josevalim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/josevalim/subscriptions","organizations_url":"https://api.github.com/users/josevalim/orgs","repos_url":"https://api.github.com/users/josevalim/repos","events_url":"https://api.github.com/users/josevalim/events{/privacy}","received_events_url":"https://api.github.com/users/josevalim/received_events","type":"User","site_admin":false},"created_at":"2016-07-13T07:23:16Z","updated_at":"2016-07-13T07:23:16Z","body":"@rstacruz yes, that would definitely be the next step. I have changed Phoenix master to depend on Plug 1.2-dev in case you want to give it a try inside Phoenix."}}
{"actor":{"display_login":"josevalim"}}