logster 1.3.1 → 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (114) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +18 -18
  3. data/.travis.yml +15 -15
  4. data/CHANGELOG.md +140 -137
  5. data/Gemfile +4 -4
  6. data/Guardfile +8 -8
  7. data/LICENSE.txt +22 -22
  8. data/README.md +99 -99
  9. data/Rakefile +24 -24
  10. data/assets/fonts/FontAwesome.otf +0 -0
  11. data/assets/fonts/fontawesome-webfont.eot +0 -0
  12. data/assets/fonts/fontawesome-webfont.svg +639 -639
  13. data/assets/fonts/fontawesome-webfont.ttf +0 -0
  14. data/assets/fonts/fontawesome-webfont.woff +0 -0
  15. data/assets/fonts/fontawesome-webfont.woff2 +0 -0
  16. data/assets/images/Icon-144_rounded.png +0 -0
  17. data/assets/images/Icon-144_square.png +0 -0
  18. data/assets/images/icon_144x144.png +0 -0
  19. data/assets/images/icon_64x64.png +0 -0
  20. data/assets/javascript/client-app.js +92 -81
  21. data/assets/stylesheets/client-app.css +1 -1
  22. data/build_client_app.sh +0 -0
  23. data/client-app/.editorconfig +20 -20
  24. data/client-app/.ember-cli +9 -9
  25. data/client-app/.eslintignore +19 -19
  26. data/client-app/.eslintrc.js +46 -46
  27. data/client-app/.gitignore +23 -23
  28. data/client-app/.travis.yml +27 -27
  29. data/client-app/.watchmanconfig +3 -3
  30. data/client-app/README.md +57 -57
  31. data/client-app/app/app.js +14 -14
  32. data/client-app/app/components/actions-menu.js +37 -0
  33. data/client-app/app/components/message-info.js +65 -18
  34. data/client-app/app/components/message-row.js +45 -45
  35. data/client-app/app/components/panel-resizer.js +75 -75
  36. data/client-app/app/components/tab-contents.js +27 -27
  37. data/client-app/app/components/tab-link.js +5 -5
  38. data/client-app/app/components/tabbed-section.js +32 -32
  39. data/client-app/app/components/time-formatter.js +25 -25
  40. data/client-app/app/components/update-time.js +21 -21
  41. data/client-app/app/controllers/index.js +92 -83
  42. data/client-app/app/controllers/show.js +13 -13
  43. data/client-app/app/index.html +29 -29
  44. data/client-app/app/initializers/app-init.js +72 -55
  45. data/client-app/app/lib/preload.js +14 -14
  46. data/client-app/app/lib/utilities.js +140 -140
  47. data/client-app/app/models/message-collection.js +158 -158
  48. data/client-app/app/models/message.js +99 -99
  49. data/client-app/app/resolver.js +3 -3
  50. data/client-app/app/router.js +14 -14
  51. data/client-app/app/routes/index.js +57 -53
  52. data/client-app/app/routes/show.js +14 -14
  53. data/client-app/app/styles/app.css +497 -387
  54. data/client-app/app/templates/application.hbs +2 -2
  55. data/client-app/app/templates/components/actions-menu.hbs +12 -0
  56. data/client-app/app/templates/components/message-info.hbs +41 -44
  57. data/client-app/app/templates/components/message-row.hbs +17 -17
  58. data/client-app/app/templates/components/panel-resizer.hbs +3 -0
  59. data/client-app/app/templates/components/tabbed-section.hbs +10 -10
  60. data/client-app/app/templates/components/time-formatter.hbs +1 -1
  61. data/client-app/app/templates/index.hbs +65 -57
  62. data/client-app/app/templates/show.hbs +7 -4
  63. data/client-app/config/environment.js +51 -51
  64. data/client-app/config/optional-features.json +3 -3
  65. data/client-app/config/targets.js +18 -18
  66. data/client-app/ember-cli-build.js +29 -29
  67. data/client-app/package-lock.json +11365 -11365
  68. data/client-app/package.json +56 -56
  69. data/client-app/testem.js +25 -25
  70. data/client-app/tests/index.html +34 -34
  71. data/client-app/tests/integration/components/actions-menu-test.js +26 -0
  72. data/client-app/tests/integration/components/message-info-test.js +26 -26
  73. data/client-app/tests/integration/components/message-row-test.js +26 -26
  74. data/client-app/tests/integration/components/panel-resizer-test.js +26 -26
  75. data/client-app/tests/integration/components/tab-contents-test.js +26 -26
  76. data/client-app/tests/integration/components/tab-link-test.js +26 -26
  77. data/client-app/tests/integration/components/tabbed-section-test.js +26 -26
  78. data/client-app/tests/integration/components/time-formatter-test.js +26 -26
  79. data/client-app/tests/integration/components/update-time-test.js +26 -26
  80. data/client-app/tests/test-helper.js +8 -8
  81. data/client-app/tests/unit/controllers/index-test.js +12 -12
  82. data/client-app/tests/unit/controllers/show-test.js +12 -12
  83. data/client-app/tests/unit/initializers/app-init-test.js +31 -31
  84. data/client-app/tests/unit/routes/index-test.js +11 -11
  85. data/client-app/tests/unit/routes/show-test.js +11 -11
  86. data/lib/examples/sidekiq_logster_reporter.rb +21 -21
  87. data/lib/logster.rb +54 -54
  88. data/lib/logster/base_store.rb +130 -130
  89. data/lib/logster/configuration.rb +25 -25
  90. data/lib/logster/ignore_pattern.rb +65 -65
  91. data/lib/logster/logger.rb +108 -108
  92. data/lib/logster/message.rb +227 -227
  93. data/lib/logster/middleware/debug_exceptions.rb +26 -26
  94. data/lib/logster/middleware/reporter.rb +56 -56
  95. data/lib/logster/middleware/viewer.rb +221 -220
  96. data/lib/logster/rails/railtie.rb +58 -58
  97. data/lib/logster/redis_store.rb +481 -481
  98. data/lib/logster/version.rb +3 -3
  99. data/lib/logster/web.rb +14 -14
  100. data/logster.gemspec +34 -34
  101. data/test/examples/test_sidekiq_reporter_example.rb +46 -46
  102. data/test/fake_data/Gemfile +4 -4
  103. data/test/fake_data/generate.rb +10 -10
  104. data/test/logster/middleware/test_reporter.rb +21 -21
  105. data/test/logster/middleware/test_viewer.rb +96 -96
  106. data/test/logster/test_base_store.rb +147 -147
  107. data/test/logster/test_ignore_pattern.rb +41 -41
  108. data/test/logster/test_logger.rb +80 -80
  109. data/test/logster/test_message.rb +34 -34
  110. data/test/logster/test_redis_rate_limiter.rb +230 -230
  111. data/test/logster/test_redis_store.rb +427 -427
  112. data/test/test_helper.rb +38 -38
  113. data/vendor/assets/javascripts/logster.js.erb +39 -39
  114. metadata +6 -2
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,81 +1,92 @@
1
- "use strict"
2
- define("client-app/app",["exports","client-app/resolver","ember-load-initializers","client-app/config/environment"],function(e,t,n,a){Object.defineProperty(e,"__esModule",{value:!0})
3
- var s=Ember.Application.extend({modulePrefix:a.default.modulePrefix,podModulePrefix:a.default.podModulePrefix,Resolver:t.default});(0,n.default)(s,a.default.modulePrefix),e.default=s}),define("client-app/components/message-info",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({actions:{protect:function(){this.get("currentMessage").protect()},unprotect:function(){this.get("currentMessage").unprotect()},remove:function(){this.removeMessage(this.get("currentMessage"))},solve:function(){this.solveMessage(this.get("currentMessage"))}}})}),define("client-app/components/message-row",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
4
- var t=void 0,n=void 0
5
- e.default=Ember.Component.extend({tagName:"tr",classNameBindings:["model.rowClass",":message-row","model.selected:selected"],click:function(){this.selectedMessage(this.get("model"))},willInsertElement:function(){if(!t){var e=Em.$("#top-panel"),a=e.scrollTop(),s=e.height(),i=e[0].scrollHeight
6
- n=i-20<s+a,t=!0}},didInsertElement:function(){var e=Em.$("#top-panel")
7
- Em.run.next(function(){t=!1,n&&(n=!1,e.scrollTop(e[0].scrollHeight-e.height()))})}})}),define("client-app/components/panel-resizer",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({classNames:["divider"],divideView:function(e,t){var n=t||Em.$(window),a=n.height(),s=n.height()-e
8
- e<100||e+100>a||(this.topPanel.css("bottom",s+5),this.bottomPanel.css("height",s-15),this.divider.css("bottom",s-5))},didInsertElement:function(){var e=this
9
- this.topPanel=Em.$("#top-panel"),this.divider=Em.$(".divider"),this.bottomPanel=Em.$("#bottom-panel")
10
- var t=Em.$(window),n=!1,a=function(a){n&&e.divideView(a.clientY,t)},s=function t(){Em.$("#overlay").remove(),n=!1,localStorage&&(localStorage.logster_divider_bottom=parseInt(e.divider.css("bottom"),10)),Em.$(document).unbind("mousemove",a).unbind("mouseup",t)}
11
- this.divider.on("mousedown",function(){Em.$("<div id='overlay'></div>").appendTo(Em.$("body")),n=!0,Em.$(document).mousemove(_.throttle(a,25)).mouseup(s)}).append("<div class='line-1'></div><div class='line-2'></div><div class='line-3'></div>"),Em.run.next(function(){if(localStorage&&localStorage.logster_divider_bottom){var n=t.height()-parseInt(localStorage.logster_divider_bottom,10)
12
- e.divideView(n,t)}})},willDestroyElement:function(){Em.$(".divider").off("mousedown")}})}),define("client-app/components/tab-contents",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({classNameBindings:["active",":content"],isLink:!1,invokeParent:function(e){for(var t=this.get("parentView");t&&!t[e];)t=t.get("parentView")
13
- t&&t[e](this)},didInsertElement:function(){this.invokeParent("addTab"),this.get("defaultTab")&&this.invokeParent("selectTab")},willDestroyElement:function(){this.invokeParent("removeTab")}})}),define("client-app/components/tab-link",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({isLink:!0})}),define("client-app/components/tabbed-section",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({tabs:Em.A(),selectTab:function(e){if(e.get("isLink"))this.triggerAction(e.get("action"))
14
- else{var t=this.get("selected")
15
- t&&t.set("active",!1),this.set("selected",e),e.set("active",!0)}},addTab:function(e){this.get("tabs").addObject(e),this.get("selected")||e.get("isLink")||this.selectTab(e)},removeTab:function(e){this.get("selected")===e&&this.set("selected",null),this.get("tabs").removeObject(e)}})}),define("client-app/components/time-formatter",["exports","client-app/lib/utilities"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({tagName:"span",classNames:"auto-update-time",attributeBindings:["dataTimestamp:data-timestamp","title"],title:Ember.computed(function(){return this.get("moment").format()}),dataTimestamp:Ember.computed(function(){return this.get("timestamp")}),moment:Ember.computed(function(){return moment(this.get("timestamp"))}),time:Ember.computed("timestamp",function(){return(0,t.formatTime)(this.get("timestamp"))})})}),define("client-app/components/update-time",["exports","client-app/lib/utilities"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({didInsertElement:function(){Em.run.later(function e(){Em.$(".auto-update-time").each(function(){var e=parseInt(this.getAttribute("data-timestamp"),10),n=(0,t.formatTime)(e)
16
- n!==this.innerText&&(this.innerText=n)}),Em.run.later(e,6e4)},6e4)}})}),define("client-app/controllers/index",["exports","client-app/lib/utilities"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Controller.extend({currentMessage:Em.computed.alias("model.currentMessage"),actions:{expandMessage:function(e){e.expand()},selectMessage:function(e){var t=this.get("currentMessage")
17
- t&&t.set("selected",!1),e.set("selected",!0),this.set("currentMessage",e)},showMoreBefore:function(){this.get("model").showMoreBefore()},loadMore:function(){return this.get("model").loadMore()},clear:function(){var e=this
18
- confirm("Clear the logs?\n\nCancel = No, OK = Clear")&&(0,t.ajax)("/clear",{type:"POST"}).then(function(){e.get("model").reload()})},removeMessage:function(e){this.get("model").destroy(e)},solveMessage:function(e){this.get("model").solve(e)}},filterChanged:Ember.observer("showDebug","showInfo","showWarn","showErr","showFatal",function(){var e=this,t=[];["Debug","Info","Warn","Err","Fatal"].forEach(function(n,a){e.get("show"+n)&&t.push(a)}),t.push(5)
19
- var n=this.get("model")
20
- n.set("filter",t),this.get("initialized")&&n.reload()}),searchChanged:Ember.observer("search",function(){var e=this.get("search"),t=this.get("model")
21
- t.set("search",e),this.get("initialized")&&t.reload()})})}),define("client-app/controllers/show",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Controller.extend({actions:{protect:function(){this.get("model").protect()},unprotect:function(){this.get("model").unprotect()}}})}),define("client-app/helpers/app-version",["exports","client-app/config/environment","ember-cli-app-version/utils/regexp"],function(e,t,n){function a(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=t.default.APP.version,i=a.versionOnly||a.hideSha,o=a.shaOnly||a.hideVersion,r=null
22
- return i&&(a.showExtended&&(r=s.match(n.versionExtendedRegExp)),r||(r=s.match(n.versionRegExp))),o&&(r=s.match(n.shaRegExp)),r?r[0]:s}Object.defineProperty(e,"__esModule",{value:!0}),e.appVersion=a,e.default=Ember.Helper.helper(a)}),define("client-app/helpers/pluralize",["exports","ember-inflector/lib/helpers/pluralize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("client-app/helpers/singularize",["exports","ember-inflector/lib/helpers/singularize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("client-app/initializers/app-init",["exports","client-app/lib/utilities","client-app/lib/preload"],function(e,t,n){function a(){moment.updateLocale("en",{relativeTime:{future:"in %s",past:"%s ago",s:"secs",m:"a min",mm:"%d mins",h:"an hr",hh:"%d hrs",d:"a day",dd:"%d days",M:"a mth",MM:"%d mths",y:"a yr",yy:"%d yrs"}})
23
- var e=document.getElementById("preloaded-data").dataset;(0,n.init)(e)
24
- var a=void 0,s=void 0;["","webkit","ms","moz","ms"].forEach(function(e){var t=e+(""===e?"hidden":"Hidden")
25
- void 0===document[t]||a||(a=t,s=e+"visibilitychange")}),(0,t.updateHiddenProperty)(a),document.addEventListener(s,function(){(0,t.resetTitleCount)()},!1)}Object.defineProperty(e,"__esModule",{value:!0}),e.initialize=a,e.default={initialize:a}}),define("client-app/initializers/app-version",["exports","ember-cli-app-version/initializer-factory","client-app/config/environment"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0})
26
- var a=void 0,s=void 0
27
- n.default.APP&&(a=n.default.APP.name,s=n.default.APP.version),e.default={name:"App Version",initialize:(0,t.default)(a,s)}}),define("client-app/initializers/container-debug-adapter",["exports","ember-resolver/resolvers/classic/container-debug-adapter"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"container-debug-adapter",initialize:function(){var e=arguments[1]||arguments[0]
28
- e.register("container-debug-adapter:main",t.default),e.inject("container-debug-adapter:main","namespace","application:main")}}}),define("client-app/initializers/ember-data",["exports","ember-data/setup-container","ember-data"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}}),define("client-app/initializers/export-application-global",["exports","client-app/config/environment"],function(e,t){function n(){var e=arguments[1]||arguments[0]
29
- if(!1!==t.default.exportApplicationGlobal){var n
30
- if("undefined"!=typeof window)n=window
31
- else if("undefined"!=typeof global)n=global
32
- else{if("undefined"==typeof self)return
33
- n=self}var a,s=t.default.exportApplicationGlobal
34
- a="string"==typeof s?s:Ember.String.classify(t.default.modulePrefix),n[a]||(n[a]=e,e.reopen({willDestroy:function(){this._super.apply(this,arguments),delete n[a]}}))}}Object.defineProperty(e,"__esModule",{value:!0}),e.initialize=n,e.default={name:"export-application-global",initialize:n}}),define("client-app/instance-initializers/ember-data",["exports","ember-data/initialize-store-service"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}}),define("client-app/lib/preload",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.init=function(e){t={rootPath:e.rootPath,preload:JSON.parse(e.preloaded)}}
35
- var t=void 0
36
- e.default={get:function(e){return Em.get(t,e)}}}),define("client-app/lib/utilities",["exports","client-app/lib/preload"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.escapeHtml=s,e.ajax=i,e.preloadOrAjax=function(e,n){var a=t.default.get("preload."+e.replace(".json",""))
37
- return a?Em.RSVP.resolve(a):i(e,n)},e.updateHiddenProperty=function(e){o=e},e.isHidden=c,e.increaseTitleCount=function(e){if(!c())return
38
- r=r||document.title,l=l||0,l+=e,document.title=r+" ("+l+")"},e.resetTitleCount=function(){l=0,document.title=r||document.title},e.formatTime=function(e){var t=void 0,n=moment(e),a=moment()
39
- t=n.diff(a.startOf("day"))>0?n.format("h:mm a"):n.diff(a.startOf("week"))>0?n.format("dd h:mm a"):n.diff(a.startOf("year"))>0?n.format("D MMM h:mm a"):n.format("D MMM YY")
40
- return t},e.buildArrayString=u,e.buildHashString=function e(t,a){if(!t)return""
41
- var i=[]
42
- var o=[]
43
- _.each(t,function(e,t){null===e?i.push("null"):"[object Array]"===Object.prototype.toString.call(e)?i.push("<tr><td>"+s(t)+"</td><td>"+u(e)+"</td></tr>"):"object"===(void 0===e?"undefined":n(e))?o.push(t):i.push("<tr><td>"+s(t)+"</td><td>"+s(e)+"</td></tr>")})
44
- _.size(o)>0&&_.each(o,function(n){var a=t[n]
45
- i.push("<tr><td></td><td><table>"),i.push("<td>"+s(n)+"</td><td>"+e(a,!0)+"</td>"),i.push("</table></td></tr>")})
46
- var r=a?"":"env-table"
47
- return"<table class='"+r+"'>"+i.join("\n")+"</table>"}
48
- var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"}
49
- function s(e){return String(e).replace(/[&<>"'\/]/g,function(e){return a[e]})}function i(e,n){return(n=n||{}).headers=n.headers||{},n.headers["X-SILENCE-LOGGER"]=!0,Em.$.ajax(t.default.get("rootPath")+e,n)}var o=void 0,r=void 0,l=void 0
50
- function c(){return void 0!==o?document[o]:!document.hasFocus}function u(e){var t=[]
51
- return e.forEach(function(e){null===e?t.push("null"):"[object Array]"===Object.prototype.toString.call(e)?t.push(u(e)):t.push(s(e.toString()))}),"["+t.join(", ")+"]"}}),define("client-app/models/message-collection",["exports","client-app/lib/utilities","client-app/models/message"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Em.Object.extend({messages:Em.A(),currentMessage:null,total:0,solve:function(e){var t=this
52
- e.solve().then(function(){t.reload()})},destroy:function(e){var t=this.get("messages"),n=t.indexOf(e)
53
- e.destroy(),e.set("selected",!1),this.set("total",this.get("total")-1),this.get("messages").removeObject(e),n>0?((e=t[n-1]).set("selected",!0),this.set("currentMessage",e)):this.get("total")>0?((e=t[0]).set("selected",!0),this.set("currentMessage",e)):this.reload()},load:function(e){var n=this
54
- e=e||{}
55
- var a={filter:this.get("filter").join("_")},s=this.get("search")
56
- _.isEmpty(s)||(a.search=s,this.get("regexSearch")&&(a.regex_search="true"))
57
- e.before&&(a.before=e.before),e.after&&(a.after=e.after),(0,t.ajax)("/messages.json",{data:a}).then(function(a){if(0==Ember.compare(a.filter,n.get("filter"))&&0==Ember.compare(a.search,n.get("search"))){if(a.messages.length>0){var s=n.toMessages(a.messages),i=n.get("messages")
58
- e.before?i.unshiftObjects(s):(s.forEach(function(e){i.forEach(function(t){t.key==e.key&&(i.removeObject(t),n.get("currentMessage")===t&&(n.set("currentMessage",e),e.set("selected",t.get("selected"))))})}),i.addObjects(s),s.length>0&&(0,t.increaseTitleCount)(s.length))}n.set("total",a.total)}})},reload:function(){this.set("total",0),this.get("messages").clear(),this.load()},loadMore:function(){var e=this.get("messages")
59
- if(0!==e.length){var t=e[e.length-1].get("key")
60
- this.load({after:t})}else this.load({})},moreBefore:Ember.computed("totalBefore",function(){return this.get("totalBefore")>0}),totalBefore:Ember.computed("total","messages.length",function(){return this.get("total")-this.get("messages").length}),showMoreBefore:function(){var e=this.get("messages")[0].get("key")
61
- this.load({before:e})},regexSearch:Ember.computed("search",function(){var e=this.get("search")
62
- if(e&&e.length>2&&"/"===e[0]){var t=e.match(/\/(.*)\/(.*)/)
63
- if(t&&3===t.length)try{return new RegExp(t[1],t[2])}catch(n){}}}),toMessages:function(e){return e.map(function(e){return n.default.create(e)})}})}),define("client-app/models/message",["exports","client-app/lib/utilities","client-app/lib/preload"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Em.Object.extend({MAX_LEN:200,expand:function(){this.set("expanded",!0)},solve:function(){return(0,t.ajax)("/solve/"+this.get("key"),{type:"PUT"})},destroy:function(){return(0,t.ajax)("/message/"+this.get("key"),{type:"DELETE"})},protect:function(){return this.set("protected",!0),(0,t.ajax)("/protect/"+this.get("key"),{type:"PUT"})},unprotect:function(){return this.set("protected",!1),(0,t.ajax)("/unprotect/"+this.get("key"),{type:"DELETE"})},showCount:Ember.computed("count",function(){return this.get("count")>1}),hasMore:Ember.computed("message","expanded",function(){var e=this.get("message")
64
- return!this.get("expanded")&&e.length>this.MAX_LEN}),shareUrl:Ember.computed("key",function(){return n.default.get("rootPath")+"/show/"+this.get("key")}),displayMessage:Ember.computed("message","expanded",function(){var e=this.get("message")
65
- return!this.get("expanded")&&e.length>this.MAX_LEN&&(e=e.substr(0,this.MAX_LEN)),e}),updateFromObject:function(e){this.set("count",e.get("count"))},canSolve:Ember.computed(function(){var e=this.get("backtrace")
66
- return this.get("env.application_version")&&e&&e.length>0}),envTable:Ember.computed("env",function(){return(0,t.buildHashString)(this.get("env"))}),rowClass:Ember.computed("severity",function(){switch(this.get("severity")){case 0:return"debug"
67
- case 1:return"info"
68
- case 2:return"warn"
69
- case 3:return"error"
70
- case 4:return"fatal"}}),glyph:Ember.computed("severity",function(){switch(this.get("severity")){case 0:case 1:return""
71
- case 2:return"<i class='fa fa-exclamation-circle warning'></i>"
72
- case 3:return"<i class='fa fa-times-circle error'></i>"
73
- case 4:return"<i class='fa fa-times-circle fatal'></i>"}})})}),define("client-app/resolver",["exports","ember-resolver"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("client-app/router",["exports","client-app/config/environment"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
74
- var n=Ember.Router.extend({location:t.default.locationType,rootURL:t.default.rootURL})
75
- n.map(function(){this.route("index",{path:"/"}),this.route("show",{path:"/show/:id"})}),e.default=n}),define("client-app/routes/index",["exports","client-app/models/message-collection","client-app/lib/utilities"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Route.extend({model:function(){return t.default.create()},setupController:function(e,t){this._super(e,t),e.setProperties({showDebug:!0,showInfo:!0,showWarn:!0,showErr:!0,showFatal:!0,search:"",initialized:!0}),t.reload()
76
- var a=0,s=1
77
- this.refreshInterval=setInterval(function(){a+=1
78
- var e=(0,n.isHidden)(),i=!e
79
- e&&a%s==0&&(i=!0,s<20&&s++),i&&(t.loadMore(),e||(s=1))},3e3)},deactivate:function(){clearInterval(this.refreshInterval)}})}),define("client-app/routes/show",["exports","client-app/models/message","client-app/lib/utilities"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Route.extend({model:function(e){return(0,n.preloadOrAjax)("/show/"+e.id+".json")},setupController:function(e,n){this._super.apply(this,arguments),e.set("model",t.default.create(n))}})}),define("client-app/services/ajax",["exports","ember-ajax/services/ajax"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("client-app/templates/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"yOsrYpw5",block:'{"symbols":[],"statements":[[1,[21,"update-time"],false],[0,"\\n"],[1,[21,"outlet"],false],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/application.hbs"}})})
80
- define("client-app/templates/components/message-info",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"dioA6Rt8",block:'{"symbols":[],"statements":[[7,"div"],[11,"class","message-info"],[9],[0,"\\n"],[4,"tabbed-section",null,null,{"statements":[[4,"tab-contents",null,[["name","hint","currentMessage"],["info","show info",[23,["currentMessage"]]]],{"statements":[[4,"if",[[23,["showTitle"]]],null,{"statements":[[0," "],[7,"h3"],[9],[0,"Message\\n"],[4,"if",[[23,["currentMessage","showCount"]]],null,{"statements":[[0," ("],[1,[23,["currentMessage","count"]],false],[0," copies reported)\\n"]],"parameters":[]},null],[0," "],[10],[0,"\\n"]],"parameters":[]},null],[0," "],[7,"pre"],[9],[1,[23,["currentMessage","message"]],false],[10],[0,""]],"parameters":[]},null],[4,"tab-contents",null,[["name","defaultTab","hint","currentMessage"],["backtrace","true","show backtrace",[23,["currentMessage"]]]],{"statements":[[4,"if",[[23,["showTitle"]]],null,{"statements":[[0," "],[7,"h3"],[9],[0,"Backtrace"],[10],[0,"\\n"]],"parameters":[]},null],[0," "],[7,"pre"],[9],[1,[23,["currentMessage","backtrace"]],false],[10],[0,""]],"parameters":[]},null],[4,"if",[[23,["currentMessage","env"]]],null,{"statements":[[4,"tab-contents",null,[["className","name","hint","currentMessage"],["env","env","show environment",[23,["currentMessage"]]]],{"statements":[[4,"if",[[23,["showTitle"]]],null,{"statements":[[0," "],[7,"h3"],[9],[0,"Env"],[10],[0,"\\n"]],"parameters":[]},null],[0," "],[1,[23,["currentMessage","envTable"]],true],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},null]],"parameters":[]},null],[0,"\\n"],[4,"if",[[23,["currentMessage"]]],null,{"statements":[[0," "],[7,"div"],[11,"class","message-actions"],[9],[0,"\\n"],[4,"unless",[[23,["currentMessage","protected"]]],null,{"statements":[[4,"if",[[23,["currentMessage","canSolve"]]],null,{"statements":[[0," "],[7,"button"],[11,"class","solve btn danger"],[3,"action",[[22,0,[]],"solve"]],[9],[7,"i"],[11,"class","fa fa-check-square-o"],[9],[10],[0,"Solve"],[10],[0,"\\n"]],"parameters":[]},null],[0,"\\n "],[7,"button"],[11,"class","delete btn danger"],[3,"action",[[22,0,[]],"remove"]],[9],[7,"i"],[11,"class","fa fa-trash-o"],[9],[10],[0,"Delete"],[10],[0,"\\n "],[7,"button"],[11,"class","protect btn"],[3,"action",[[22,0,[]],"protect"]],[9],[7,"i"],[11,"class","fa fa-lock"],[9],[10],[0,"Protect"],[10],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[7,"button"],[11,"class","unprotect btn"],[3,"action",[[22,0,[]],"unprotect"]],[9],[7,"i"],[11,"class","fa fa-unlock"],[9],[10],[0,"Unprotect"],[10],[0,"\\n"]],"parameters":[]}],[0," "],[7,"a"],[12,"href",[28,[[23,["currentMessage","shareUrl"]]]]],[11,"class","share btn"],[9],[7,"i"],[11,"class","fa fa-share"],[9],[10],[0,"Share"],[10],[0,"\\n "],[10],[0,"\\n"]],"parameters":[]},null],[10],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/message-info.hbs"}})}),define("client-app/templates/components/message-row",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"QT7t0R6S",block:'{"symbols":[],"statements":[[7,"td"],[11,"class","count"],[9],[0,"\\n"],[4,"if",[[23,["model","showCount"]]],null,{"statements":[[0," "],[7,"span"],[9],[1,[23,["model","count"]],false],[10],[0,"\\n"]],"parameters":[]},null],[10],[0,"\\n"],[7,"td"],[11,"class","severity"],[9],[1,[23,["model","glyph"]],true],[10],[0,"\\n"],[7,"td"],[11,"class","message-body"],[9],[0,"\\n "],[7,"div"],[11,"class","message"],[9],[0,"\\n "],[1,[23,["model","displayMessage"]],false],[0,"\\n "],[10],[0,"\\n"],[10],[0,"\\n"],[7,"td"],[11,"class","protected"],[9],[0,"\\n"],[4,"if",[[23,["model","protected"]]],null,{"statements":[[0," "],[7,"i"],[11,"title","message is protected, clearing will not remove it"],[11,"class","fa fa-lock"],[9],[10],[0,"\\n"]],"parameters":[]},null],[10],[0,"\\n"],[7,"td"],[11,"class","time"],[9],[1,[27,"time-formatter",null,[["timestamp"],[[23,["model","timestamp"]]]]],false],[10],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/message-row.hbs"}})}),define("client-app/templates/components/tabbed-section",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"nreTgL17",block:'{"symbols":["tab","&default"],"statements":[[14,2],[0,"\\n"],[7,"ul"],[11,"class","tabs"],[9],[0,"\\n"],[4,"each",[[23,["tabs"]]],null,{"statements":[[0," "],[7,"li"],[9],[0,"\\n "],[7,"a"],[12,"title",[28,[[27,"unbound",[[22,1,["hint"]]],null]]]],[11,"href","#"],[12,"class",[28,[[27,"if",[[22,1,["active"]],"active"],null]]]],[3,"action",[[22,0,[]],[23,["selectTab"]],[22,1,[]]]],[9],[0,"\\n "],[1,[27,"unbound",[[22,1,["name"]]],null],false],[0,"\\n "],[10],[0,"\\n "],[10],[0,"\\n"]],"parameters":[1]},null],[10],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/tabbed-section.hbs"}})}),define("client-app/templates/components/time-formatter",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"sp53cTcH",block:'{"symbols":[],"statements":[[1,[21,"time"],false],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/time-formatter.hbs"}})}),define("client-app/templates/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"jMVNFi6u",block:'{"symbols":["message"],"statements":[[7,"div"],[11,"id","top-panel"],[9],[0,"\\n "],[7,"table"],[11,"id","log-table"],[9],[0,"\\n "],[7,"thead"],[9],[0,"\\n "],[7,"tr"],[9],[0,"\\n "],[7,"th"],[11,"class","count"],[9],[10],[0,"\\n "],[7,"th"],[11,"class","severity"],[9],[10],[0,"\\n "],[7,"th"],[11,"class","info"],[9],[10],[0,"\\n "],[7,"th"],[11,"class","protected"],[9],[10],[0,"\\n "],[7,"th"],[11,"class","time"],[9],[10],[0,"\\n "],[10],[0,"\\n "],[10],[0,"\\n "],[7,"tbody"],[9],[0,"\\n"],[4,"if",[[23,["model","moreBefore"]]],null,{"statements":[[0," "],[7,"tr"],[11,"class","show-more"],[3,"action",[[22,0,[]],"showMoreBefore"]],[9],[0,"\\n "],[7,"td"],[11,"colspan","5"],[9],[0,"select to see "],[1,[23,["model","totalBefore"]],false],[0," more"],[10],[0,"\\n "],[10],[0,"\\n"]],"parameters":[]},null],[4,"each",[[23,["model","messages"]]],null,{"statements":[[0," "],[1,[27,"message-row",null,[["model","selectedMessage"],[[22,1,[]],[27,"action",[[22,0,[]],"selectMessage"],null]]]],false],[0,"\\n"]],"parameters":[1]},null],[0," "],[10],[0,"\\n "],[10],[0,"\\n"],[10],[0,"\\n"],[1,[21,"panel-resizer"],false],[0,"\\n"],[7,"div"],[11,"id","bottom-panel"],[9],[0,"\\n "],[1,[27,"message-info",null,[["currentMessage","removeMessage","solveMessage"],[[23,["currentMessage"]],[27,"action",[[22,0,[]],"removeMessage"],null],[27,"action",[[22,0,[]],"solveMessage"],null]]]],false],[0,"\\n\\n "],[7,"div"],[11,"class","action-panel"],[9],[0,"\\n "],[7,"label"],[11,"class","debug"],[9],[0,"\\n "],[1,[27,"input",null,[["type","checked"],["checkbox",[23,["showDebug"]]]]],false],[0,"\\n Debug\\n "],[10],[0,"\\n "],[7,"label"],[11,"class","info"],[9],[0,"\\n "],[1,[27,"input",null,[["type","checked"],["checkbox",[23,["showInfo"]]]]],false],[0,"\\n Info\\n "],[10],[0,"\\n "],[7,"label"],[11,"class","warn"],[9],[0,"\\n "],[1,[27,"input",null,[["type","checked"],["checkbox",[23,["showWarn"]]]]],false],[0,"\\n "],[7,"i"],[11,"class","fa fa-exclamation-circle warning"],[9],[10],[0,"\\n Warning\\n "],[10],[0,"\\n "],[7,"label"],[11,"class","error"],[9],[0,"\\n "],[1,[27,"input",null,[["type","checked"],["checkbox",[23,["showErr"]]]]],false],[0,"\\n "],[7,"i"],[11,"class","fa fa-times-circle error"],[9],[10],[0,"\\n Error\\n "],[10],[0,"\\n "],[7,"label"],[11,"class","fatal"],[9],[0,"\\n "],[1,[27,"input",null,[["type","checked"],["checkbox",[23,["showFatal"]]]]],false],[0,"\\n "],[7,"i"],[11,"class","fa fa-times-circle fatal"],[9],[10],[0,"\\n Fatal\\n "],[10],[0,"\\n "],[7,"label"],[11,"class","search"],[9],[0,"\\n "],[1,[27,"input",null,[["type","placeholder","value"],["textfield","Search",[23,["search"]]]]],false],[0,"\\n "],[10],[0,"\\n "],[7,"a"],[11,"class","clear btn danger"],[11,"href",""],[3,"action",[[22,0,[]],"clear"]],[9],[7,"i"],[11,"class","fa fa-times"],[9],[10],[0," Clear logs"],[10],[0,"\\n "],[10],[0,"\\n"],[10],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/index.hbs"}})}),define("client-app/templates/show",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"Z0QKXgBZ",block:'{"symbols":[],"statements":[[4,"link-to",["index"],null,{"statements":[[0,"Recent"]],"parameters":[]},null],[0,"\\n"],[7,"div"],[11,"id","bottom-panel"],[11,"class","full"],[9],[0,"\\n "],[1,[27,"message-info",null,[["currentMessage","showTitle"],[[23,["model"]],"true"]]],false],[0,"\\n"],[10],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/show.hbs"}})}),define("client-app/config/environment",[],function(){try{var e="client-app/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),n={default:JSON.parse(unescape(t))}
81
- return Object.defineProperty(n,"__esModule",{value:!0}),n}catch(a){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("client-app/app").default.create({name:"client-app",version:"0.0.0+b3b21dc3"})
1
+ "use strict"
2
+ define("client-app/app",["exports","client-app/resolver","ember-load-initializers","client-app/config/environment"],function(e,t,n,a){Object.defineProperty(e,"__esModule",{value:!0})
3
+ var s=Ember.Application.extend({modulePrefix:a.default.modulePrefix,podModulePrefix:a.default.podModulePrefix,Resolver:t.default});(0,n.default)(s,a.default.modulePrefix),e.default=s}),define("client-app/components/actions-menu",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({showMenu:!1,tagName:"span",init:function(){this._super.apply(this,arguments),this.bindingFunction=this.bindingFunction.bind(this)},bindingFunction:function(e){var t=this.$()[0]
4
+ Em.$.contains(t,e.target)||t===e.target||this.set("showMenu",!1)},bindDocument:Ember.observer("showMenu",function(){var e=Em.$(document)
5
+ this.get("showMenu")?e.on("click",this.get("bindingFunction")):e.unbind("click",this.get("bindingFunction"))}),actions:{expandMenu:function(){this.toggleProperty("showMenu")},share:function(){this.share()}}})}),define("client-app/components/message-info",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({buttons:Ember.computed("currentMessage.{canSolve,protected}",function(){var e=this.get("currentMessage.canSolve"),t=this.get("currentMessage.protected"),n=[]
6
+ return!t&&e&&n.push({klass:"solve",action:"solve",icon:"check-square-o",label:"Solve",danger:!0}),t?n.push({klass:"unprotect",action:"unprotect",icon:"unlock",label:"Unprotect"}):n.push({klass:"remove",action:"remove",icon:"trash-o",label:"Remove",danger:!0},{klass:"protect",action:"protect",icon:"lock",label:"Protect"}),n}),actions:{protect:function(){this.get("currentMessage").protect()},unprotect:function(){this.get("currentMessage").unprotect()},remove:function(){this.removeMessage(this.get("currentMessage"))},solve:function(){this.solveMessage(this.get("currentMessage"))},share:function(){window.location.pathname=this.get("currentMessage.shareUrl")}}})}),define("client-app/components/message-row",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
7
+ var t=void 0,n=void 0
8
+ e.default=Ember.Component.extend({tagName:"tr",classNameBindings:["model.rowClass",":message-row","model.selected:selected"],click:function(){this.selectedMessage(this.get("model"))},willInsertElement:function(){if(!t){var e=Em.$("#top-panel"),a=e.scrollTop(),s=e.height(),i=e[0].scrollHeight
9
+ n=i-20<s+a,t=!0}},didInsertElement:function(){var e=Em.$("#top-panel")
10
+ Em.run.next(function(){t=!1,n&&(n=!1,e.scrollTop(e[0].scrollHeight-e.height()))})}})}),define("client-app/components/panel-resizer",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
11
+ var t=["touchmove","mousemove"],n=["touchend","mouseup"],a=["touchstart","mousedown"]
12
+ e.default=Ember.Component.extend({classNames:["divider"],divideView:function(e,t){var n=t||Em.$(window),a=n.height(),s=n.height()-e
13
+ e<100||e+170>a||(this.divider.css("bottom",s-5),this.events.trigger("panelResized",s))},didInsertElement:function(){var e=this
14
+ this.divider=Em.$(".divider")
15
+ var s=Em.$(window),i=!1,o=function(t){i&&e.divideView(t.clientY||t.touches&&t.touches[0]&&t.touches[0].clientY,s)},r=function a(){Em.$("#overlay").remove(),i=!1,localStorage&&(localStorage.logster_divider_bottom=parseInt(e.divider.css("bottom"),10))
16
+ var s=Em.$(document)
17
+ t.forEach(function(e){return s.unbind(e,o)}),n.forEach(function(e){return s.unbind(e,a)})}
18
+ this.divider.on(a.join(" "),function(e){e.preventDefault(),Em.$("<div id='overlay'></div>").appendTo(Em.$("body")),i=!0,Em.$(document).on(t.join(" "),_.throttle(o,25)).on(n.join(" "),r)}),Em.run.next(function(){if(localStorage&&localStorage.logster_divider_bottom){var t=s.height()-parseInt(localStorage.logster_divider_bottom,10)
19
+ e.divideView(t,s)}})},willDestroyElement:function(){Em.$(".divider").off(a.join(" "))}})}),define("client-app/components/tab-contents",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({classNameBindings:["active",":content"],isLink:!1,invokeParent:function(e){for(var t=this.get("parentView");t&&!t[e];)t=t.get("parentView")
20
+ t&&t[e](this)},didInsertElement:function(){this.invokeParent("addTab"),this.get("defaultTab")&&this.invokeParent("selectTab")},willDestroyElement:function(){this.invokeParent("removeTab")}})}),define("client-app/components/tab-link",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({isLink:!0})}),define("client-app/components/tabbed-section",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({tabs:Em.A(),selectTab:function(e){if(e.get("isLink"))this.triggerAction(e.get("action"))
21
+ else{var t=this.get("selected")
22
+ t&&t.set("active",!1),this.set("selected",e),e.set("active",!0)}},addTab:function(e){this.get("tabs").addObject(e),this.get("selected")||e.get("isLink")||this.selectTab(e)},removeTab:function(e){this.get("selected")===e&&this.set("selected",null),this.get("tabs").removeObject(e)}})}),define("client-app/components/time-formatter",["exports","client-app/lib/utilities"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({tagName:"span",classNames:"auto-update-time",attributeBindings:["dataTimestamp:data-timestamp","title"],title:Ember.computed(function(){return this.get("moment").format()}),dataTimestamp:Ember.computed(function(){return this.get("timestamp")}),moment:Ember.computed(function(){return moment(this.get("timestamp"))}),time:Ember.computed("timestamp",function(){return(0,t.formatTime)(this.get("timestamp"))})})}),define("client-app/components/update-time",["exports","client-app/lib/utilities"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({didInsertElement:function(){Em.run.later(function e(){Em.$(".auto-update-time").each(function(){var e=parseInt(this.getAttribute("data-timestamp"),10),n=(0,t.formatTime)(e)
23
+ n!==this.innerText&&(this.innerText=n)}),Em.run.later(e,6e4)},6e4)}})}),define("client-app/controllers/index",["exports","client-app/lib/utilities"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Controller.extend({currentMessage:Em.computed.alias("model.currentMessage"),resizePanels:function(e){Em.$("#bottom-panel").css("height",e-10),Em.$("#top-panel").css("bottom",e+12)},actionsInMenu:Ember.computed(function(){return this.site.isMobile}),actions:{expandMessage:function(e){e.expand()},selectMessage:function(e){var t=this.get("currentMessage")
24
+ t&&t.set("selected",!1),e.set("selected",!0),this.set("currentMessage",e)},showMoreBefore:function(){this.get("model").showMoreBefore()},loadMore:function(){return this.get("model").loadMore()},clear:function(){var e=this
25
+ confirm("Clear the logs?\n\nCancel = No, OK = Clear")&&(0,t.ajax)("/clear",{type:"POST"}).then(function(){e.get("model").reload()})},removeMessage:function(e){this.get("model").destroy(e)},solveMessage:function(e){this.get("model").solve(e)}},filterChanged:Ember.observer("showDebug","showInfo","showWarn","showErr","showFatal",function(){var e=this,t=[];["Debug","Info","Warn","Err","Fatal"].forEach(function(n,a){e.get("show"+n)&&t.push(a)}),t.push(5)
26
+ var n=this.get("model")
27
+ n.set("filter",t),this.get("initialized")&&n.reload()}),searchChanged:Ember.observer("search",function(){var e=this.get("search"),t=this.get("model")
28
+ t.set("search",e),this.get("initialized")&&t.reload()})})}),define("client-app/controllers/show",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Controller.extend({actions:{protect:function(){this.get("model").protect()},unprotect:function(){this.get("model").unprotect()}}})}),define("client-app/helpers/app-version",["exports","client-app/config/environment","ember-cli-app-version/utils/regexp"],function(e,t,n){function a(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=t.default.APP.version,i=a.versionOnly||a.hideSha,o=a.shaOnly||a.hideVersion,r=null
29
+ return i&&(a.showExtended&&(r=s.match(n.versionExtendedRegExp)),r||(r=s.match(n.versionRegExp))),o&&(r=s.match(n.shaRegExp)),r?r[0]:s}Object.defineProperty(e,"__esModule",{value:!0}),e.appVersion=a,e.default=Ember.Helper.helper(a)}),define("client-app/helpers/pluralize",["exports","ember-inflector/lib/helpers/pluralize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("client-app/helpers/singularize",["exports","ember-inflector/lib/helpers/singularize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("client-app/initializers/app-init",["exports","client-app/lib/utilities","client-app/lib/preload"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.initialize=s
30
+ var a=["component","route"]
31
+ function s(e){moment.updateLocale("en",{relativeTime:{future:"in %s",past:"%s ago",s:"secs",m:"a min",mm:"%d mins",h:"an hr",hh:"%d hrs",d:"a day",dd:"%d days",M:"a mth",MM:"%d mths",y:"a yr",yy:"%d yrs"}})
32
+ var s=document.getElementById("preloaded-data").dataset;(0,n.init)(s)
33
+ var i=void 0,o=void 0;["","webkit","ms","moz","ms"].forEach(function(e){var t=e+(""===e?"hidden":"Hidden")
34
+ void 0===document[t]||i||(i=t,o=e+"visibilitychange")}),(0,t.updateHiddenProperty)(i),document.addEventListener(o,function(){(0,t.resetTitleCount)()},!1),e.register("events:main",Ember.Object.extend(Ember.Evented).create(),{instantiate:!1}),a.forEach(function(t){return e.inject(t,"events","events:main")})
35
+ var r=/mobile/i.test(navigator.userAgent)&&!/iPad/.test(navigator.userAgent)
36
+ r&&Em.$("body").addClass("mobile"),e.register("site:main",{isMobile:r},{instantiate:!1}),e.inject("controller","site","site:main")}e.default={initialize:s}}),define("client-app/initializers/app-version",["exports","ember-cli-app-version/initializer-factory","client-app/config/environment"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0})
37
+ var a=void 0,s=void 0
38
+ n.default.APP&&(a=n.default.APP.name,s=n.default.APP.version),e.default={name:"App Version",initialize:(0,t.default)(a,s)}}),define("client-app/initializers/container-debug-adapter",["exports","ember-resolver/resolvers/classic/container-debug-adapter"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"container-debug-adapter",initialize:function(){var e=arguments[1]||arguments[0]
39
+ e.register("container-debug-adapter:main",t.default),e.inject("container-debug-adapter:main","namespace","application:main")}}}),define("client-app/initializers/ember-data",["exports","ember-data/setup-container","ember-data"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}}),define("client-app/initializers/export-application-global",["exports","client-app/config/environment"],function(e,t){function n(){var e=arguments[1]||arguments[0]
40
+ if(!1!==t.default.exportApplicationGlobal){var n
41
+ if("undefined"!=typeof window)n=window
42
+ else if("undefined"!=typeof global)n=global
43
+ else{if("undefined"==typeof self)return
44
+ n=self}var a,s=t.default.exportApplicationGlobal
45
+ a="string"==typeof s?s:Ember.String.classify(t.default.modulePrefix),n[a]||(n[a]=e,e.reopen({willDestroy:function(){this._super.apply(this,arguments),delete n[a]}}))}}Object.defineProperty(e,"__esModule",{value:!0}),e.initialize=n,e.default={name:"export-application-global",initialize:n}}),define("client-app/instance-initializers/ember-data",["exports","ember-data/initialize-store-service"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}}),define("client-app/lib/preload",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.init=function(e){t={rootPath:e.rootPath,preload:JSON.parse(e.preloaded)}}
46
+ var t=void 0
47
+ e.default={get:function(e){return Em.get(t,e)}}}),define("client-app/lib/utilities",["exports","client-app/lib/preload"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.escapeHtml=s,e.ajax=i,e.preloadOrAjax=function(e,n){var a=t.default.get("preload."+e.replace(".json",""))
48
+ return a?Em.RSVP.resolve(a):i(e,n)},e.updateHiddenProperty=function(e){o=e},e.isHidden=c,e.increaseTitleCount=function(e){if(!c())return
49
+ r=r||document.title,l=l||0,l+=e,document.title=r+" ("+l+")"},e.resetTitleCount=function(){l=0,document.title=r||document.title},e.formatTime=function(e){var t=void 0,n=moment(e),a=moment()
50
+ t=n.diff(a.startOf("day"))>0?n.format("h:mm a"):n.diff(a.startOf("week"))>0?n.format("dd h:mm a"):n.diff(a.startOf("year"))>0?n.format("D MMM h:mm a"):n.format("D MMM YY")
51
+ return t},e.buildArrayString=u,e.buildHashString=function e(t,a){if(!t)return""
52
+ var i=[]
53
+ var o=[]
54
+ _.each(t,function(e,t){null===e?i.push("null"):"[object Array]"===Object.prototype.toString.call(e)?i.push("<tr><td>"+s(t)+"</td><td>"+u(e)+"</td></tr>"):"object"===(void 0===e?"undefined":n(e))?o.push(t):i.push("<tr><td>"+s(t)+"</td><td>"+s(e)+"</td></tr>")})
55
+ _.size(o)>0&&_.each(o,function(n){var a=t[n]
56
+ i.push("<tr><td></td><td><table>"),i.push("<td>"+s(n)+"</td><td>"+e(a,!0)+"</td>"),i.push("</table></td></tr>")})
57
+ var r=a?"":"env-table"
58
+ return"<table class='"+r+"'>"+i.join("\n")+"</table>"}
59
+ var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"}
60
+ function s(e){return String(e).replace(/[&<>"'\/]/g,function(e){return a[e]})}function i(e,n){return(n=n||{}).headers=n.headers||{},n.headers["X-SILENCE-LOGGER"]=!0,Em.$.ajax(t.default.get("rootPath")+e,n)}var o=void 0,r=void 0,l=void 0
61
+ function c(){return void 0!==o?document[o]:!document.hasFocus}function u(e){var t=[]
62
+ return e.forEach(function(e){null===e?t.push("null"):"[object Array]"===Object.prototype.toString.call(e)?t.push(u(e)):t.push(s(e.toString()))}),"["+t.join(", ")+"]"}}),define("client-app/models/message-collection",["exports","client-app/lib/utilities","client-app/models/message"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Em.Object.extend({messages:Em.A(),currentMessage:null,total:0,solve:function(e){var t=this
63
+ e.solve().then(function(){t.reload()})},destroy:function(e){var t=this.get("messages"),n=t.indexOf(e)
64
+ e.destroy(),e.set("selected",!1),this.set("total",this.get("total")-1),this.get("messages").removeObject(e),n>0?((e=t[n-1]).set("selected",!0),this.set("currentMessage",e)):this.get("total")>0?((e=t[0]).set("selected",!0),this.set("currentMessage",e)):this.reload()},load:function(e){var n=this
65
+ e=e||{}
66
+ var a={filter:this.get("filter").join("_")},s=this.get("search")
67
+ _.isEmpty(s)||(a.search=s,this.get("regexSearch")&&(a.regex_search="true"))
68
+ e.before&&(a.before=e.before),e.after&&(a.after=e.after),(0,t.ajax)("/messages.json",{data:a}).then(function(a){if(0==Ember.compare(a.filter,n.get("filter"))&&0==Ember.compare(a.search,n.get("search"))){if(a.messages.length>0){var s=n.toMessages(a.messages),i=n.get("messages")
69
+ e.before?i.unshiftObjects(s):(s.forEach(function(e){i.forEach(function(t){t.key==e.key&&(i.removeObject(t),n.get("currentMessage")===t&&(n.set("currentMessage",e),e.set("selected",t.get("selected"))))})}),i.addObjects(s),s.length>0&&(0,t.increaseTitleCount)(s.length))}n.set("total",a.total)}})},reload:function(){this.set("total",0),this.get("messages").clear(),this.load()},loadMore:function(){var e=this.get("messages")
70
+ if(0!==e.length){var t=e[e.length-1].get("key")
71
+ this.load({after:t})}else this.load({})},moreBefore:Ember.computed("totalBefore",function(){return this.get("totalBefore")>0}),totalBefore:Ember.computed("total","messages.length",function(){return this.get("total")-this.get("messages").length}),showMoreBefore:function(){var e=this.get("messages")[0].get("key")
72
+ this.load({before:e})},regexSearch:Ember.computed("search",function(){var e=this.get("search")
73
+ if(e&&e.length>2&&"/"===e[0]){var t=e.match(/\/(.*)\/(.*)/)
74
+ if(t&&3===t.length)try{return new RegExp(t[1],t[2])}catch(n){}}}),toMessages:function(e){return e.map(function(e){return n.default.create(e)})}})}),define("client-app/models/message",["exports","client-app/lib/utilities","client-app/lib/preload"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Em.Object.extend({MAX_LEN:200,expand:function(){this.set("expanded",!0)},solve:function(){return(0,t.ajax)("/solve/"+this.get("key"),{type:"PUT"})},destroy:function(){return(0,t.ajax)("/message/"+this.get("key"),{type:"DELETE"})},protect:function(){return this.set("protected",!0),(0,t.ajax)("/protect/"+this.get("key"),{type:"PUT"})},unprotect:function(){return this.set("protected",!1),(0,t.ajax)("/unprotect/"+this.get("key"),{type:"DELETE"})},showCount:Ember.computed("count",function(){return this.get("count")>1}),hasMore:Ember.computed("message","expanded",function(){var e=this.get("message")
75
+ return!this.get("expanded")&&e.length>this.MAX_LEN}),shareUrl:Ember.computed("key",function(){return n.default.get("rootPath")+"/show/"+this.get("key")}),displayMessage:Ember.computed("message","expanded",function(){var e=this.get("message")
76
+ return!this.get("expanded")&&e.length>this.MAX_LEN&&(e=e.substr(0,this.MAX_LEN)),e}),updateFromObject:function(e){this.set("count",e.get("count"))},canSolve:Ember.computed(function(){var e=this.get("backtrace")
77
+ return this.get("env.application_version")&&e&&e.length>0}),envTable:Ember.computed("env",function(){return(0,t.buildHashString)(this.get("env"))}),rowClass:Ember.computed("severity",function(){switch(this.get("severity")){case 0:return"debug"
78
+ case 1:return"info"
79
+ case 2:return"warn"
80
+ case 3:return"error"
81
+ case 4:return"fatal"}}),glyph:Ember.computed("severity",function(){switch(this.get("severity")){case 0:case 1:return""
82
+ case 2:return"<i class='fa fa-exclamation-circle warning'></i>"
83
+ case 3:return"<i class='fa fa-times-circle error'></i>"
84
+ case 4:return"<i class='fa fa-times-circle fatal'></i>"}})})}),define("client-app/resolver",["exports","ember-resolver"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("client-app/router",["exports","client-app/config/environment"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
85
+ var n=Ember.Router.extend({location:t.default.locationType,rootURL:t.default.rootURL})
86
+ n.map(function(){this.route("index",{path:"/"}),this.route("show",{path:"/show/:id"})}),e.default=n}),define("client-app/routes/index",["exports","client-app/models/message-collection","client-app/lib/utilities"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Route.extend({model:function(){return t.default.create()},setupController:function(e,t){this._super(e,t),e.setProperties({showDebug:!0,showInfo:!0,showWarn:!0,showErr:!0,showFatal:!0,search:"",initialized:!0}),t.reload()
87
+ var a=0,s=1
88
+ this.refreshInterval=setInterval(function(){a+=1
89
+ var e=(0,n.isHidden)(),i=!e
90
+ e&&a%s==0&&(i=!0,s<20&&s++),i&&(t.loadMore(),e||(s=1))},3e3),this.events.on("panelResized",function(t){e.resizePanels(t)})},deactivate:function(){clearInterval(this.refreshInterval)}})}),define("client-app/routes/show",["exports","client-app/models/message","client-app/lib/utilities"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Route.extend({model:function(e){return(0,n.preloadOrAjax)("/show/"+e.id+".json")},setupController:function(e,n){this._super.apply(this,arguments),e.set("model",t.default.create(n))}})}),define("client-app/services/ajax",["exports","ember-ajax/services/ajax"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})
91
+ define("client-app/templates/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"yOsrYpw5",block:'{"symbols":[],"statements":[[1,[21,"update-time"],false],[0,"\\n"],[1,[21,"outlet"],false],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/application.hbs"}})}),define("client-app/templates/components/actions-menu",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"ebB3+Z4x",block:'{"symbols":["&default"],"statements":[[4,"if",[[23,["actionsInMenu"]]],null,{"statements":[[4,"if",[[23,["showMenu"]]],null,{"statements":[[0," "],[7,"div"],[11,"class","actions-menu"],[9],[0,"\\n "],[14,1],[0,"\\n "],[10],[0,"\\n"]],"parameters":[]},null],[0," "],[7,"button"],[11,"class","expand btn no-text"],[3,"action",[[22,0,[]],"expandMenu"]],[9],[7,"i"],[11,"class","fa fa-ellipsis-h"],[9],[10],[10],[0,"\\n "],[7,"button"],[11,"class","share btn"],[3,"action",[[22,0,[]],"share"]],[9],[7,"i"],[11,"class","fa fa-share"],[9],[10],[7,"span"],[9],[0,"Share"],[10],[10],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[14,1],[0,"\\n "],[7,"button"],[11,"class","share btn"],[3,"action",[[22,0,[]],"share"]],[9],[7,"i"],[11,"class","fa fa-share"],[9],[10],[7,"span"],[9],[0,"Share"],[10],[10],[0,"\\n"]],"parameters":[]}]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/actions-menu.hbs"}})}),define("client-app/templates/components/message-info",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"xIA+ooeo",block:'{"symbols":["btn"],"statements":[[7,"div"],[11,"class","message-info"],[9],[0,"\\n"],[4,"tabbed-section",null,null,{"statements":[[4,"tab-contents",null,[["name","hint","currentMessage"],["info","show info",[23,["currentMessage"]]]],{"statements":[[4,"if",[[23,["showTitle"]]],null,{"statements":[[0," "],[7,"h3"],[9],[0,"Message\\n"],[4,"if",[[23,["currentMessage","showCount"]]],null,{"statements":[[0," ("],[1,[23,["currentMessage","count"]],false],[0," copies reported)\\n"]],"parameters":[]},null],[0," "],[10],[0,"\\n"]],"parameters":[]},null],[0," "],[7,"pre"],[9],[1,[23,["currentMessage","message"]],false],[10],[0,""]],"parameters":[]},null],[4,"tab-contents",null,[["name","defaultTab","hint","currentMessage"],["backtrace","true","show backtrace",[23,["currentMessage"]]]],{"statements":[[4,"if",[[23,["showTitle"]]],null,{"statements":[[0," "],[7,"h3"],[9],[0,"Backtrace"],[10],[0,"\\n"]],"parameters":[]},null],[0," "],[7,"pre"],[9],[1,[23,["currentMessage","backtrace"]],false],[10],[0,""]],"parameters":[]},null],[4,"if",[[23,["currentMessage","env"]]],null,{"statements":[[4,"tab-contents",null,[["className","name","hint","currentMessage"],["env","env","show environment",[23,["currentMessage"]]]],{"statements":[[4,"if",[[23,["showTitle"]]],null,{"statements":[[0," "],[7,"h3"],[9],[0,"Env"],[10],[0,"\\n"]],"parameters":[]},null],[0," "],[1,[23,["currentMessage","envTable"]],true],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},null]],"parameters":[]},null],[0,"\\n"],[4,"if",[[23,["currentMessage"]]],null,{"statements":[[0," "],[7,"div"],[11,"class","message-actions"],[9],[0,"\\n"],[4,"actions-menu",null,[["actionsInMenu","share"],[[23,["actionsInMenu"]],[27,"action",[[22,0,[]],"share"],null]]],{"statements":[[4,"each",[[23,["buttons"]]],null,{"statements":[[0," "],[7,"button"],[12,"class",[28,[[22,1,["klass"]]," btn ",[27,"if",[[22,1,["danger"]],"danger",""],null]]]],[3,"action",[[22,0,[]],[22,1,["action"]]]],[9],[0,"\\n "],[7,"i"],[12,"class",[28,["fa fa-",[22,1,["icon"]]]]],[9],[10],[0,"\\n "],[7,"span"],[9],[1,[22,1,["label"]],false],[10],[0,"\\n "],[10],[0,"\\n"]],"parameters":[1]},null]],"parameters":[]},null],[0," "],[10],[0,"\\n"]],"parameters":[]},null],[10],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/message-info.hbs"}})}),define("client-app/templates/components/message-row",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"QT7t0R6S",block:'{"symbols":[],"statements":[[7,"td"],[11,"class","count"],[9],[0,"\\n"],[4,"if",[[23,["model","showCount"]]],null,{"statements":[[0," "],[7,"span"],[9],[1,[23,["model","count"]],false],[10],[0,"\\n"]],"parameters":[]},null],[10],[0,"\\n"],[7,"td"],[11,"class","severity"],[9],[1,[23,["model","glyph"]],true],[10],[0,"\\n"],[7,"td"],[11,"class","message-body"],[9],[0,"\\n "],[7,"div"],[11,"class","message"],[9],[0,"\\n "],[1,[23,["model","displayMessage"]],false],[0,"\\n "],[10],[0,"\\n"],[10],[0,"\\n"],[7,"td"],[11,"class","protected"],[9],[0,"\\n"],[4,"if",[[23,["model","protected"]]],null,{"statements":[[0," "],[7,"i"],[11,"title","message is protected, clearing will not remove it"],[11,"class","fa fa-lock"],[9],[10],[0,"\\n"]],"parameters":[]},null],[10],[0,"\\n"],[7,"td"],[11,"class","time"],[9],[1,[27,"time-formatter",null,[["timestamp"],[[23,["model","timestamp"]]]]],false],[10],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/message-row.hbs"}})}),define("client-app/templates/components/panel-resizer",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"FLUzT7ST",block:'{"symbols":[],"statements":[[7,"div"],[11,"class","line-1"],[9],[10],[0,"\\n"],[7,"div"],[11,"class","line-2"],[9],[10],[0,"\\n"],[7,"div"],[11,"class","line-3"],[9],[10],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/panel-resizer.hbs"}})}),define("client-app/templates/components/tabbed-section",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"nreTgL17",block:'{"symbols":["tab","&default"],"statements":[[14,2],[0,"\\n"],[7,"ul"],[11,"class","tabs"],[9],[0,"\\n"],[4,"each",[[23,["tabs"]]],null,{"statements":[[0," "],[7,"li"],[9],[0,"\\n "],[7,"a"],[12,"title",[28,[[27,"unbound",[[22,1,["hint"]]],null]]]],[11,"href","#"],[12,"class",[28,[[27,"if",[[22,1,["active"]],"active"],null]]]],[3,"action",[[22,0,[]],[23,["selectTab"]],[22,1,[]]]],[9],[0,"\\n "],[1,[27,"unbound",[[22,1,["name"]]],null],false],[0,"\\n "],[10],[0,"\\n "],[10],[0,"\\n"]],"parameters":[1]},null],[10],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/tabbed-section.hbs"}})}),define("client-app/templates/components/time-formatter",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"sp53cTcH",block:'{"symbols":[],"statements":[[1,[21,"time"],false],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/time-formatter.hbs"}})}),define("client-app/templates/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"9vZey7OZ",block:'{"symbols":["message"],"statements":[[7,"div"],[11,"id","top-panel"],[9],[0,"\\n "],[7,"table"],[11,"id","log-table"],[9],[0,"\\n "],[7,"thead"],[9],[0,"\\n "],[7,"tr"],[9],[0,"\\n "],[7,"th"],[11,"class","count"],[9],[10],[0,"\\n "],[7,"th"],[11,"class","severity"],[9],[10],[0,"\\n "],[7,"th"],[11,"class","info"],[9],[10],[0,"\\n "],[7,"th"],[11,"class","protected"],[9],[10],[0,"\\n "],[7,"th"],[11,"class","time"],[9],[10],[0,"\\n "],[10],[0,"\\n "],[10],[0,"\\n "],[7,"tbody"],[9],[0,"\\n"],[4,"if",[[23,["model","moreBefore"]]],null,{"statements":[[0," "],[7,"tr"],[11,"class","show-more"],[3,"action",[[22,0,[]],"showMoreBefore"]],[9],[0,"\\n "],[7,"td"],[11,"colspan","5"],[9],[0,"select to see "],[1,[23,["model","totalBefore"]],false],[0," more"],[10],[0,"\\n "],[10],[0,"\\n"]],"parameters":[]},null],[4,"each",[[23,["model","messages"]]],null,{"statements":[[0," "],[1,[27,"message-row",null,[["model","selectedMessage"],[[22,1,[]],[27,"action",[[22,0,[]],"selectMessage"],null]]]],false],[0,"\\n"]],"parameters":[1]},null],[0," "],[10],[0,"\\n "],[10],[0,"\\n"],[10],[0,"\\n"],[1,[21,"panel-resizer"],false],[0,"\\n"],[7,"div"],[11,"id","bottom-panel"],[9],[0,"\\n "],[1,[27,"message-info",null,[["currentMessage","removeMessage","solveMessage","actionsInMenu"],[[23,["currentMessage"]],[27,"action",[[22,0,[]],"removeMessage"],null],[27,"action",[[22,0,[]],"solveMessage"],null],[23,["actionsInMenu"]]]]],false],[0,"\\n\\n "],[7,"div"],[11,"class","action-panel"],[9],[0,"\\n "],[7,"div"],[11,"class","severity-filters"],[9],[0,"\\n "],[7,"div"],[11,"class","more-wrapping"],[9],[0,"\\n "],[7,"label"],[11,"class","debug"],[9],[0,"\\n "],[1,[27,"input",null,[["type","checked"],["checkbox",[23,["showDebug"]]]]],false],[0,"\\n "],[7,"span"],[9],[0,"Debug"],[10],[0,"\\n "],[10],[0,"\\n "],[7,"label"],[11,"class","info"],[9],[0,"\\n "],[1,[27,"input",null,[["type","checked"],["checkbox",[23,["showInfo"]]]]],false],[0,"\\n "],[7,"span"],[9],[0,"Info"],[10],[0,"\\n "],[10],[0,"\\n "],[7,"label"],[11,"class","warn"],[9],[0,"\\n "],[1,[27,"input",null,[["type","checked"],["checkbox",[23,["showWarn"]]]]],false],[0,"\\n "],[7,"i"],[11,"class","fa fa-exclamation-circle warning"],[9],[10],[0,"\\n "],[7,"span"],[9],[0,"Warning"],[10],[0,"\\n "],[10],[0,"\\n "],[7,"label"],[11,"class","error"],[9],[0,"\\n "],[1,[27,"input",null,[["type","checked"],["checkbox",[23,["showErr"]]]]],false],[0,"\\n "],[7,"i"],[11,"class","fa fa-times-circle error"],[9],[10],[0,"\\n "],[7,"span"],[9],[0,"Error"],[10],[0,"\\n "],[10],[0,"\\n "],[7,"label"],[11,"class","fatal"],[9],[0,"\\n "],[1,[27,"input",null,[["type","checked"],["checkbox",[23,["showFatal"]]]]],false],[0,"\\n "],[7,"i"],[11,"class","fa fa-times-circle fatal"],[9],[10],[0,"\\n "],[7,"span"],[9],[0,"Fatal"],[10],[0,"\\n "],[10],[0,"\\n "],[10],[0,"\\n "],[10],[0,"\\n "],[7,"div"],[11,"class","search-clear-all"],[9],[0,"\\n "],[1,[27,"input",null,[["type","class","placeholder","value"],["textfield","search","Search",[23,["search"]]]]],false],[0,"\\n "],[7,"button"],[11,"class","clear btn danger"],[3,"action",[[22,0,[]],"clear"]],[9],[7,"i"],[11,"class","fa fa-times"],[9],[10],[7,"span"],[9],[0,"Clear logs"],[10],[10],[0,"\\n "],[10],[0,"\\n "],[10],[0,"\\n"],[10],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/index.hbs"}})}),define("client-app/templates/show",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"V916vpg9",block:'{"symbols":[],"statements":[[4,"link-to",["index"],null,{"statements":[[0,"Recent"]],"parameters":[]},null],[0,"\\n"],[7,"div"],[11,"id","bottom-panel"],[11,"class","full"],[9],[0,"\\n "],[1,[27,"message-info",null,[["currentMessage","showTitle","actionsInMenu"],[[23,["model"]],"true",false]]],false],[0,"\\n"],[10],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/show.hbs"}})}),define("client-app/config/environment",[],function(){try{var e="client-app/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),n={default:JSON.parse(unescape(t))}
92
+ return Object.defineProperty(n,"__esModule",{value:!0}),n}catch(a){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("client-app/app").default.create({name:"client-app",version:"0.0.0+67057421"})
@@ -1 +1 @@
1
- body,td.time,th{font-size:12px}.divider,.message-info{border-bottom:1px solid #ddd}body{font-family:Roboto,Arial,"Liberation Sans","DejaVu Sans",sans-serif}pre{font-family:"Roboto Mono",Consolas,Monaco,Ubuntu Mono,monospace}table.env-table tbody tr td{border-top:none;line-height:18px;vertical-align:top}table.env-table,table.env-table table{border-spacing:0;border-collapse:collapse}table.env-table td{padding-right:5px}.message,th{padding-right:10px}tbody tr{width:98%}tbody tr td{border-top:1px #e9e9e9 solid;line-height:25px}.message-row:hover{background-color:#f8f8f8;cursor:pointer}.message-row.selected{background-color:#dfdfdf}th{text-align:left;color:#222;padding-bottom:8px}td.count,td.time,th.time{text-align:right}td.time{color:#999;vertical-align:top}.message{font-size:13px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}th.count{width:20px}th.severity{width:15px}th.time{width:90px;padding-right:20px}td.time{padding-right:8px}th.protected{width:10px}i.fatal{color:#e00}i.error{color:#900}i.warning{color:#feb800}.debug{color:#777}td.count{padding-right:4px}.btn,tr.show-more{text-align:center;text-decoration:none}.count span{font-size:11px;font-weight:700}.action-panel .search input{border:1px solid #ddd;padding:3px;vertical-align:middle}.regex input{margin-left:2px!important}tr.show-more{height:30px;background-color:#ddd;cursor:pointer;font-size:12px}#overlay,.divider{cursor:row-resize}#bottom-panel{position:fixed;bottom:0;left:0;right:100%;height:300px;width:100%;background-color:#f1f1f1;padding:8px;font-size:12px}#bottom-panel.full{position:static;background-color:inherit;height:90%}#bottom-panel.full>div{padding-bottom:40px}#bottom-panel.full .tabs{display:none}#bottom-panel.full .message-info{position:static}#bottom-panel.full .message-info .content{display:block;position:static}#bottom-panel.full button.delete,.hidden{display:none}#bottom-panel.full .save,#bottom-panel.full .share{bottom:10px}#bottom-panel.full .message-actions{position:fixed;height:40px;width:100%;left:0;bottom:0;background-color:#eee;border-top:1px solid #dfdfdf;padding-left:10px}.divider,.tabs{border-top:1px solid #ddd}#bottom-panel.full .message-actions button{margin-top:10px}.message-actions{position:absolute;bottom:3px;right:30px}.message-actions button{margin-right:7px}.message-actions .share{text-decoration:none;color:#333}.divider{position:fixed;bottom:310px;left:0;right:0;height:10px;background-color:#fafafa;z-index:1}.divider div{margin:auto;width:24px;height:1px;background-color:#ccc;position:relative}.divider .line-1{top:3px}.divider .line-2{top:4px}.divider .line-3{top:5px}#top-panel{position:fixed;top:0;left:0;right:0;bottom:320px;overflow:auto}.action-panel,.message-info{position:absolute;right:0;left:0}.message-info{bottom:35px;top:0;overflow:auto}.action-panel{bottom:0;height:30px;font-weight:700}.action-panel input{position:relative;top:-1px;margin-left:20px;vertical-align:sub}.action-panel .clear{position:absolute;right:30px;vertical-align:middle}#log-table{border-collapse:collapse;margin:auto;width:99%;table-layout:fixed}.message-info pre{position:relative;margin:10px}#overlay{position:fixed;z-index:99999;top:0;bottom:0;left:0;right:0;opacity:0}.message-info .content{position:absolute;top:5px;bottom:35px;left:5px;right:5px;overflow:auto;display:none}.message-info .content.active{display:block}.tabs{position:absolute;bottom:10px;left:0;right:0;list-style-type:none;margin:0 0 5px;padding:0 0 0 14px}.tabs a,.tabs li{position:relative}.tabs li{float:left;padding-right:5px;margin:0}.tabs a{top:4px;text-decoration:none;color:#333;border:1px solid #ddd;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;padding:4px;background-color:#e1e1e1}.tabs a.active{border-top:1px solid #f1f1f1;background-color:#f1f1f1}.btn{display:inline-block;margin:0;padding:2px 12px;font-size:1em;line-height:18px;cursor:pointer;transition:all .25s;background-color:#ddd;border:none;color:#333;font-weight:400}.btn:hover{color:#000;background-color:#ccc}.btn .fa{margin-right:7px}.btn:active{text-shadow:none}.btn.danger:hover{background-color:#c63c1b;color:#eee}
1
+ .divider,.message-info{border-bottom:1px solid #ddd}body{font-family:Roboto,Arial,"Liberation Sans","DejaVu Sans",sans-serif;font-size:12px}body.mobile,body.mobile .message{font-size:14px}pre{font-family:"Roboto Mono",Consolas,Monaco,Ubuntu Mono,monospace}table.env-table tbody tr td{border-top:none;line-height:18px;vertical-align:top}table.env-table,table.env-table table{border-spacing:0;border-collapse:collapse}table.env-table td{padding-right:5px}.message,th{padding-right:10px}tbody tr{width:98%}tbody tr td{border-top:1px #e9e9e9 solid;line-height:25px}.message-row:hover{background-color:#f8f8f8;cursor:pointer}.message-row.selected{background-color:#dfdfdf}th{text-align:left;color:#222;padding-bottom:8px}td.time{color:#999;vertical-align:top;font-size:12px}.action-panel .clear,.action-panel .search,.action-panel i.fa,.btn .fa,.btn span,input,label span{vertical-align:middle}td.severity{text-align:center}td.count,td.time,th.time{text-align:right}.message{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px}th.count{width:20px}th.severity{width:15px}th.time{width:40px;padding-right:20px}td.time{padding-right:8px}th.protected{width:10px}i.fatal{color:#e00}i.error{color:#900}i.warning{color:#feb800}.debug{color:#777}td.count{padding-right:4px}.btn,tr.show-more{text-align:center;text-decoration:none}.count span{font-size:11px;font-weight:700}.action-panel .search{border:1px solid #ddd;padding:3px;box-sizing:border-box}tr.show-more{height:30px;background-color:#ddd;cursor:pointer}#overlay,.divider{cursor:row-resize}#bottom-panel{position:fixed;bottom:0;left:0;right:0;height:300px;background-color:#f1f1f1;padding:8px}#bottom-panel.full{position:static;background-color:inherit;height:90%}#bottom-panel.full>div{padding-bottom:40px}#bottom-panel.full .tabs{display:none}#bottom-panel.full .message-info{position:static}#bottom-panel.full .message-info .content{display:block;position:static}#bottom-panel.full button.delete,.hidden{display:none}#bottom-panel.full .save,#bottom-panel.full .share{bottom:10px}#bottom-panel.full .message-actions button{margin-top:8px}#bottom-panel.full .message-actions{position:fixed;height:40px;width:100%;left:0;bottom:0;background-color:#eee;border-top:1px solid #dfdfdf;padding-left:10px}.divider,.tabs{border-top:1px solid #ddd}.message-actions{position:absolute;bottom:5px;right:0;margin-right:10px}.message-actions button{margin-left:5px}.divider{position:fixed;bottom:310px;left:0;right:0;height:15px;background-color:#fafafa;z-index:1}.divider div{margin:auto;width:24px;height:1px;background-color:#ccc;position:relative}.divider .line-1{top:5px}.divider .line-2{top:6px}.divider .line-3{top:7px}#top-panel{position:fixed;top:0;left:0;right:0;bottom:320px;overflow:auto}.action-panel,.message-info{position:absolute;left:0;right:0}.message-info{top:0}.action-panel{bottom:0;font-weight:700}.action-panel input{margin:0}.severity-filters label{margin-right:18px}.action-panel .clear{float:right}#log-table{border-collapse:collapse;margin:auto;width:99%;table-layout:fixed}.message-info .env-table,.message-info pre{position:relative;margin:10px}#overlay{position:fixed;z-index:99999;top:0;bottom:0;left:0;right:0;opacity:0}.message-info .content{position:absolute;top:5px;bottom:35px;left:5px;right:0;overflow:auto;display:none}.message-info .content.active{display:block}.tabs{position:absolute;bottom:13px;left:0;right:0;list-style-type:none;margin:0 0 5px;padding:0 0 0 10px}.tabs a,.tabs li{position:relative}.tabs li{float:left;padding-right:5px;margin:0}.tabs a{top:6px;text-decoration:none;color:#333;border:1px solid #ddd;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;padding:6px;background-color:#e1e1e1}.tabs a.active{border-top:1px solid #f1f1f1;background-color:#f1f1f1}.btn{display:inline-block;margin:0;padding:5px 12px;font-size:1em;line-height:0;cursor:pointer;transition:all .25s;background-color:#ddd;border:none;color:#333;font-weight:400}.btn:hover{color:#000;background-color:#ccc}.btn .fa{margin-right:7px}.btn:active{text-shadow:none}.btn.danger:hover{background-color:#c63c1b;color:#eee}.search-clear-all .clear,.search-clear-all .search{height:24px}.search-clear-all .clear,.search-clear-all .search,.severity-filters label{align-self:center}.search-clear-all .clear{margin-left:auto}@media (min-width:701px){.search-clear-all,.severity-filters{height:100%}.more-wrapping,.search-clear-all,.severity-filters{display:flex}.severity-filters{float:left}.action-panel{padding:10px;box-sizing:border-box;height:42px}.message-info{bottom:42px}}@media (max-width:700px){.severity-filters{padding:10px}.search-clear-all{padding:0 10px 10px}.action-panel{height:69px}.message-info{bottom:69px}}@media (max-width:415px){.severity-filters{overflow-x:scroll;overflow-y:hidden;white-space:nowrap}.more-wrapping:after,.more-wrapping:before{content:"";position:absolute;height:15px}.more-wrapping:before{width:15px;margin-left:-10px;background:linear-gradient(to right,#f1f1f1 0,rgba(61,65,71,0) 100%)}.more-wrapping:after{right:0;width:23px;background:linear-gradient(to right,rgba(61,65,71,0) 0,#f1f1f1 100%)}}.btn.no-text .fa{margin:0}.actions-menu{position:absolute;background:#fafafa;display:inline-flex;flex-direction:column;bottom:27px;right:45px;width:115px;padding:5px 5px 0;box-shadow:0 4px 14px rgba(0,0,0,.15);z-index:2}.actions-menu button{margin:0 0 5px;height:27px}
File without changes
@@ -1,20 +1,20 @@
1
- # EditorConfig helps developers define and maintain consistent
2
- # coding styles between different editors and IDEs
3
- # editorconfig.org
4
-
5
- root = true
6
-
7
-
8
- [*]
9
- end_of_line = lf
10
- charset = utf-8
11
- trim_trailing_whitespace = true
12
- insert_final_newline = true
13
- indent_style = space
14
- indent_size = 2
15
-
16
- [*.hbs]
17
- insert_final_newline = false
18
-
19
- [*.{diff,md}]
20
- trim_trailing_whitespace = false
1
+ # EditorConfig helps developers define and maintain consistent
2
+ # coding styles between different editors and IDEs
3
+ # editorconfig.org
4
+
5
+ root = true
6
+
7
+
8
+ [*]
9
+ end_of_line = lf
10
+ charset = utf-8
11
+ trim_trailing_whitespace = true
12
+ insert_final_newline = true
13
+ indent_style = space
14
+ indent_size = 2
15
+
16
+ [*.hbs]
17
+ insert_final_newline = false
18
+
19
+ [*.{diff,md}]
20
+ trim_trailing_whitespace = false
@@ -1,9 +1,9 @@
1
- {
2
- /**
3
- Ember CLI sends analytics information by default. The data is completely
4
- anonymous, but there are times when you might want to disable this behavior.
5
-
6
- Setting `disableAnalytics` to true will prevent any data from being sent.
7
- */
8
- "disableAnalytics": true
9
- }
1
+ {
2
+ /**
3
+ Ember CLI sends analytics information by default. The data is completely
4
+ anonymous, but there are times when you might want to disable this behavior.
5
+
6
+ Setting `disableAnalytics` to true will prevent any data from being sent.
7
+ */
8
+ "disableAnalytics": true
9
+ }
@@ -1,19 +1,19 @@
1
- # unconventional js
2
- /blueprints/*/files/
3
- /vendor/
4
-
5
- # compiled output
6
- /dist/
7
- /tmp/
8
-
9
- # dependencies
10
- /bower_components/
11
-
12
- # misc
13
- /coverage/
14
- !.*
15
-
16
- # ember-try
17
- /.node_modules.ember-try/
18
- /bower.json.ember-try
19
- /package.json.ember-try
1
+ # unconventional js
2
+ /blueprints/*/files/
3
+ /vendor/
4
+
5
+ # compiled output
6
+ /dist/
7
+ /tmp/
8
+
9
+ # dependencies
10
+ /bower_components/
11
+
12
+ # misc
13
+ /coverage/
14
+ !.*
15
+
16
+ # ember-try
17
+ /.node_modules.ember-try/
18
+ /bower.json.ember-try
19
+ /package.json.ember-try
@@ -1,46 +1,46 @@
1
- module.exports = {
2
- root: true,
3
- parserOptions: {
4
- ecmaVersion: 2017,
5
- sourceType: 'module'
6
- },
7
- plugins: [
8
- 'ember'
9
- ],
10
- globals: {
11
- Em: false,
12
- Ember: false,
13
- moment: false,
14
- _: false
15
- },
16
- extends: [
17
- 'eslint:recommended',
18
- 'plugin:ember/recommended'
19
- ],
20
- env: {
21
- browser: true
22
- },
23
- rules: {
24
- },
25
- overrides: [
26
- // node files
27
- {
28
- files: [
29
- '.template-lintrc.js',
30
- 'ember-cli-build.js',
31
- 'testem.js',
32
- 'blueprints/*/index.js',
33
- 'config/**/*.js',
34
- 'lib/*/index.js'
35
- ],
36
- parserOptions: {
37
- sourceType: 'script',
38
- ecmaVersion: 2015
39
- },
40
- env: {
41
- browser: false,
42
- node: true
43
- }
44
- }
45
- ]
46
- };
1
+ module.exports = {
2
+ root: true,
3
+ parserOptions: {
4
+ ecmaVersion: 2017,
5
+ sourceType: 'module'
6
+ },
7
+ plugins: [
8
+ 'ember'
9
+ ],
10
+ globals: {
11
+ Em: false,
12
+ Ember: false,
13
+ moment: false,
14
+ _: false
15
+ },
16
+ extends: [
17
+ 'eslint:recommended',
18
+ 'plugin:ember/recommended'
19
+ ],
20
+ env: {
21
+ browser: true
22
+ },
23
+ rules: {
24
+ },
25
+ overrides: [
26
+ // node files
27
+ {
28
+ files: [
29
+ '.template-lintrc.js',
30
+ 'ember-cli-build.js',
31
+ 'testem.js',
32
+ 'blueprints/*/index.js',
33
+ 'config/**/*.js',
34
+ 'lib/*/index.js'
35
+ ],
36
+ parserOptions: {
37
+ sourceType: 'script',
38
+ ecmaVersion: 2015
39
+ },
40
+ env: {
41
+ browser: false,
42
+ node: true
43
+ }
44
+ }
45
+ ]
46
+ };
@@ -1,23 +1,23 @@
1
- # See https://help.github.com/ignore-files/ for more about ignoring files.
2
-
3
- # compiled output
4
- /dist/
5
- /tmp/
6
-
7
- # dependencies
8
- /bower_components/
9
- /node_modules/
10
-
11
- # misc
12
- /.sass-cache
13
- /connect.lock
14
- /coverage/
15
- /libpeerconnection.log
16
- /npm-debug.log*
17
- /testem.log
18
- /yarn-error.log
19
-
20
- # ember-try
21
- /.node_modules.ember-try/
22
- /bower.json.ember-try
23
- /package.json.ember-try
1
+ # See https://help.github.com/ignore-files/ for more about ignoring files.
2
+
3
+ # compiled output
4
+ /dist/
5
+ /tmp/
6
+
7
+ # dependencies
8
+ /bower_components/
9
+ /node_modules/
10
+
11
+ # misc
12
+ /.sass-cache
13
+ /connect.lock
14
+ /coverage/
15
+ /libpeerconnection.log
16
+ /npm-debug.log*
17
+ /testem.log
18
+ /yarn-error.log
19
+
20
+ # ember-try
21
+ /.node_modules.ember-try/
22
+ /bower.json.ember-try
23
+ /package.json.ember-try
@@ -1,27 +1,27 @@
1
- ---
2
- language: node_js
3
- node_js:
4
- - "6"
5
-
6
- sudo: false
7
- dist: trusty
8
-
9
- addons:
10
- chrome: stable
11
-
12
- cache:
13
- directories:
14
- - $HOME/.npm
15
-
16
- env:
17
- global:
18
- # See https://git.io/vdao3 for details.
19
- - JOBS=1
20
-
21
- before_install:
22
- - npm config set spin false
23
-
24
- script:
25
- - npm run lint:hbs
26
- - npm run lint:js
27
- - npm test
1
+ ---
2
+ language: node_js
3
+ node_js:
4
+ - "6"
5
+
6
+ sudo: false
7
+ dist: trusty
8
+
9
+ addons:
10
+ chrome: stable
11
+
12
+ cache:
13
+ directories:
14
+ - $HOME/.npm
15
+
16
+ env:
17
+ global:
18
+ # See https://git.io/vdao3 for details.
19
+ - JOBS=1
20
+
21
+ before_install:
22
+ - npm config set spin false
23
+
24
+ script:
25
+ - npm run lint:hbs
26
+ - npm run lint:js
27
+ - npm test