logster 2.5.1 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -0
  3. data/CHANGELOG.md +9 -0
  4. data/README.md +15 -1
  5. data/Rakefile +1 -0
  6. data/assets/javascript/client-app.js +204 -168
  7. data/assets/javascript/vendor.js +5132 -5833
  8. data/assets/stylesheets/client-app.css +1 -1
  9. data/client-app/.eslintrc.js +17 -5
  10. data/client-app/.travis.yml +4 -3
  11. data/client-app/app/app.js +5 -7
  12. data/client-app/app/components/actions-menu.js +24 -17
  13. data/client-app/app/components/back-trace.js +148 -0
  14. data/client-app/app/components/env-tab.js +16 -12
  15. data/client-app/app/components/message-info.js +84 -7
  16. data/client-app/app/components/message-row.js +13 -15
  17. data/client-app/app/components/panel-resizer.js +63 -45
  18. data/client-app/app/components/patterns-list.js +6 -6
  19. data/client-app/app/components/update-time.js +13 -13
  20. data/client-app/app/controllers/index.js +4 -2
  21. data/client-app/app/index.html +1 -1
  22. data/client-app/app/initializers/app-init.js +1 -1
  23. data/client-app/app/lib/decorators.js +11 -0
  24. data/client-app/app/lib/preload.js +14 -3
  25. data/client-app/app/lib/utilities.js +63 -36
  26. data/client-app/app/models/group.js +6 -1
  27. data/client-app/app/models/message-collection.js +9 -7
  28. data/client-app/app/models/message.js +25 -20
  29. data/client-app/app/router.js +4 -6
  30. data/client-app/app/styles/app.css +18 -4
  31. data/client-app/app/templates/components/actions-menu.hbs +6 -2
  32. data/client-app/app/templates/components/back-trace.hbs +8 -0
  33. data/client-app/app/templates/components/message-info.hbs +7 -2
  34. data/client-app/app/templates/index.hbs +4 -1
  35. data/client-app/config/environment.js +1 -1
  36. data/client-app/config/optional-features.json +4 -1
  37. data/client-app/ember-cli-build.js +2 -3
  38. data/client-app/package-lock.json +9712 -2884
  39. data/client-app/package.json +25 -22
  40. data/client-app/preload-json-manager.rb +62 -0
  41. data/client-app/testem.js +0 -1
  42. data/client-app/tests/index.html +1 -1
  43. data/client-app/tests/integration/components/back-trace-test.js +109 -0
  44. data/client-app/tests/integration/components/message-info-test.js +4 -3
  45. data/client-app/tests/integration/components/patterns-list-test.js +7 -2
  46. data/lib/logster.rb +1 -0
  47. data/lib/logster/base_store.rb +16 -9
  48. data/lib/logster/configuration.rb +12 -2
  49. data/lib/logster/defer_logger.rb +1 -1
  50. data/lib/logster/logger.rb +12 -0
  51. data/lib/logster/message.rb +89 -30
  52. data/lib/logster/middleware/viewer.rb +44 -8
  53. data/lib/logster/redis_store.rb +69 -51
  54. data/lib/logster/suppression_pattern.rb +1 -1
  55. data/lib/logster/version.rb +1 -1
  56. data/logster.gemspec +1 -1
  57. data/test/logster/middleware/test_viewer.rb +100 -0
  58. data/test/logster/test_base_store.rb +16 -0
  59. data/test/logster/test_defer_logger.rb +1 -1
  60. data/test/logster/test_message.rb +142 -54
  61. data/test/logster/test_redis_store.rb +99 -39
  62. metadata +11 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0fe7e01b692cb4454d249da6f9c9c1c03d5c765056e6ae6ee1a5571ddb38691c
4
- data.tar.gz: 13ac426322e9993fb067144cf6a95fa3950602cd0d8e41c3521d8115751207e6
3
+ metadata.gz: 4ef8eaf7c957e7e9fb80ed3d2a75147a273fd113a46669c4de0911eff419ae4c
4
+ data.tar.gz: 8507b6e88a0e798c01c5b83682b68178d80aa11c34b553212a09db60dee2f482
5
5
  SHA512:
6
- metadata.gz: c695dfd4d37c625fa8a51026f26cc5d1120aa370eba416828cac9bca3ea03e9412fbb8475af4b30684383ec7713f251a096e88ed9dbdfb830e80863dbef692cf
7
- data.tar.gz: 3aa441c84018af760b9b2a7ca607a123cd27fd636cc6e29b4e8855518437f5c46417cc9513a51cd3d97dd213cfaf2c9ccbd7613931b5b80a03a60c3389b1e238
6
+ metadata.gz: a887153fd7e90db9c6717614096d512811d75e6c078f61ac984e9cde52d89f71a69853e1b63be0976a24a2a1ebb9031e816f516de295891a72a91085ed0e390e
7
+ data.tar.gz: b1861a20bc19b8a80cf8d971c014d87615f219bd01477b1fa19b793e1c751674f6a6725e3869510133a2a0f50a3c6c916490b0163aa8afbbe3c140b410150fec
@@ -6,6 +6,8 @@ matrix:
6
6
  rvm:
7
7
  - 2.3.4
8
8
  - 2.5.3
9
+ - 2.6.5
10
+ - 2.7.0
9
11
 
10
12
  services:
11
13
  - redis-server
@@ -1,5 +1,14 @@
1
1
  # CHANGELOG
2
2
 
3
+ - 2020-02-07: 2.6.0
4
+
5
+ - DEV: Bump handlebars from 4.1.2 to 4.5.3 in /client-app (#102)
6
+ - FEATURE: Linkify backtrace lines to github (#104)
7
+ - UX: Keep the 50 most recent envs rather than the first 50 (#103). Also introduces new config options `max_env_bytes` and `max_env_count_per_message`.
8
+ - FEATURE: Solve All button for messages grouped by pattern (#105)
9
+ - FEATURE: Copy button for messages (#106)
10
+ - DEV: Upgrade Ember to 3.15 and remove jQuery and lodash as dependencies (#107)
11
+
3
12
  - 2019-12-13: 2.5.1
4
13
 
5
14
  - DEV: Bump puma from 4.2.1 to 4.3.1 in /website (#100)
data/README.md CHANGED
@@ -43,8 +43,22 @@ Logster can be configured using `Logster.config`:
43
43
  - `Logster.config.enable_js_error_reporting` : enable js error reporting from clients
44
44
  - `Logster.config.rate_limit_error_reporting` : controls automatic 1 minute rate limiting for JS error reporting.
45
45
  - `Logster.config.web_title` : `<title>` tag for logster error page.
46
+
46
47
  - `Logster.config.enable_custom_patterns_via_ui` : enable the settings page (`/settings`) where you can add suppression and grouping patterns.
47
- - `Logster.config.maximum_message_size_bytes` : specifiy a size in bytes that a message cannot exceed. Note this isn't 100% accurate, meaning a message may still grow above the limit, but it shouldn't grow by more tha, say, 2000 bytes.
48
+
49
+ - `Logster.config.allow_grouping` : Enable grouping of similar messages into one messages with an array of `env` of the grouped messages. Similar messages are messages that have identical backtraces, severity and log message.
50
+
51
+ - `Logster.config.maximum_message_size_bytes` : set a maximum size for messages. Default value is 10,000. If a message size exceeds this limit, Logster will first remove all occurrences of `gems_dir` (more on this config below) from the backtrace and computes the size again; if the message is still above the limit, Logster will remove as many as character as needed from the backtrace to bring the size below the limit. It's discouraged to set this config to a really low value (e.g. less than 2000) because a message needs a minimum amount of data in order to make sense (the minimum amount varies per message), so the closer the limit is to the mimimum amount of space needed, the more of the backtrace will be removed. Keep this in mind when tweaking this config.
52
+
53
+ - `Logster.config.max_env_bytes` : set a maximum size for `env`. Default value is 1000. In case `env` is an array of hashes, this limit applies to the individual hashes in the array rather than the whole array. If an `env` hash exceeds this limit, Logster will take the biggest subset of key-value pairs whose size is below the limit. If the hash has a key with the name `time`, it will always be included.
54
+
55
+ - `Logster.config.max_env_count_per_message` : default value is 50. Logster can merge messages that have the same backtrace, severity and log message into one grouping message that have many `env` hashes. This config specifies the maximum number of `env` hashes a grouping message is allowed to keep. If this limit is reached and a new similar message is created and it needs to be merged, Logster will remove the oldest `env` hash from the grouping message and adds the new one.
56
+
57
+ - `Logster.config.project_directories` : This should be an array of hashes that map paths on the local filesystem to GitHub repository URLs. If this feature is enabled, Logster will parse backtraces and try to construct a GitHub URL to the exact file and line number for each line in the backtrace. For a Rails app, the config may look like this: `Logster.config.project_directories = [{ path: Rails.root.to_s, url: "https://github.com/<your_org>/<your_repo>" }]`. The GitHub links that are constructed will use the `master` branch. If you want Logster to use the `application_version` attribute from the `env` tab so that the GitHub links point to the exact version of the app when the log message is created, add `main_app: true` key to the hash.
58
+
59
+ - `Logster.config.enable_backtrace_links` : Enable/disable the backtrace links feature.
60
+
61
+ - `Logster.config.gems_dir` : The value of this config is `Gem.dir + "/gems/"` by default. You probably don't need to change this config, but it's available in case your app gems are installed in a different directory. An example where this config is needed is Logster [demo site](http://logster.info/logs/): [https://github.com/discourse/logster/blob/master/website/sample.rb#L77](https://github.com/discourse/logster/blob/master/website/sample.rb#L77).
48
62
 
49
63
  ### Tracking Error Rate
50
64
  Logster allows you to register a callback when the rate of errors has exceeded
data/Rakefile CHANGED
@@ -17,6 +17,7 @@ task :client_dev do
17
17
  Process.wait pid
18
18
  Process.wait pid2
19
19
  rescue Interrupt => e
20
+ sleep 0.5
20
21
  puts "Done!"
21
22
  exit 0
22
23
  end
@@ -1,216 +1,252 @@
1
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}),e.default=void 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)
4
- var i=s
5
- e.default=i}),define("client-app/components/actions-menu",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
6
- var t=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]
7
- Em.$.contains(t,e.target)||t===e.target||this.set("showMenu",!1)},bindDocument:Ember.observer("showMenu",function(){var e=Em.$(document)
8
- this.get("showMenu")?e.on("click",this.get("bindingFunction")):e.off("click",this.get("bindingFunction"))}),willDestroyElement:function(){this._super.apply(this,arguments),Em.$(document).off("click",this.get("bindingFunction"))},actions:{expandMenu:function(){this.toggleProperty("showMenu")},share:function(){this.share()}}})
9
- e.default=t}),define("client-app/components/env-tab",["exports","client-app/lib/utilities","client-app/lib/preload"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
10
- var a=Ember.Component.extend({didUpdateAttrs:function(){this.set("expanded",null)},currentEnv:Ember.computed("isEnvArray","currentEnvPosition",function(){return this.isEnvArray?this.message.env[this.currentEnvPosition]:this.message.env}),isEnvArray:Ember.computed("message.env",function(){return Array.isArray(this.get("message.env"))}),html:Ember.computed("isEnvArray","currentEnv","expanded.[]",function(){var e=this
11
- if(this.isEnvArray){var a=Em.$.extend({},this.currentEnv)
12
- return(n.default.get("env_expandable_keys")||[]).forEach(function(t){if(a.hasOwnProperty(t)&&!Array.isArray(a[t])){var n=[a[t]]
13
- e.message.env.forEach(function(e){e[t]&&-1===n.indexOf(e[t])&&n.push(e[t])}),a[t]=n.length>1?n:n[0]}}),(0,t.buildHashString)(a,!1,this.expanded||[])}return(0,t.buildHashString)(this.get("message.env"))}),click:function(e){var t=Em.$(e.target),a=t.attr("data-key");-1!==(n.default.get("env_expandable_keys")||[]).indexOf(a)&&t.hasClass("expand-list")&&(e.preventDefault(),this.expanded?this.expanded.pushObject(a):this.set("expanded",[a]))}})
14
- e.default=a}),define("client-app/components/message-info",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
15
- var t=Ember.Component.extend({buttons:Ember.computed("currentMessage.{canSolve,protected}",function(){var e=this.get("currentMessage.canSolve"),t=this.get("currentMessage.protected"),n=[]
16
- 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:{tabChanged:function(e){this.onTabChange&&this.onTabChange(e)},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")}}})
17
- e.default=t}),define("client-app/components/message-row",["exports"],function(e){var t,n
2
+ define("client-app/adapters/-json-api",["exports","@ember-data/adapter/json-api"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("client-app/app",["exports","@babel/runtime/helpers/esm/classCallCheck","@babel/runtime/helpers/esm/possibleConstructorReturn","@babel/runtime/helpers/esm/getPrototypeOf","@babel/runtime/helpers/esm/assertThisInitialized","@babel/runtime/helpers/esm/inherits","@babel/runtime/helpers/esm/defineProperty","client-app/resolver","ember-load-initializers","client-app/config/environment"],(function(e,t,n,a,r,s,i,o,l,u){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
3
+ var c=function(e){function l(){var e,s;(0,t.default)(this,l)
4
+ for(var c=arguments.length,d=new Array(c),p=0;p<c;p++)d[p]=arguments[p]
5
+ return s=(0,n.default)(this,(e=(0,a.default)(l)).call.apply(e,[this].concat(d))),(0,i.default)((0,r.default)(s),"modulePrefix",u.default.modulePrefix),(0,i.default)((0,r.default)(s),"podModulePrefix",u.default.podModulePrefix),(0,i.default)((0,r.default)(s),"Resolver",o.default),s}return(0,s.default)(l,e),l}(Ember.Application)
6
+ e.default=c,(0,l.default)(c,u.default.modulePrefix)})),define("client-app/component-managers/glimmer",["exports","@glimmer/component/-private/ember-component-manager"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("client-app/components/actions-menu",["exports","@babel/runtime/helpers/esm/applyDecoratedDescriptor","client-app/lib/decorators"],(function(e,t,n){var a
18
7
  Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
19
- var a=Ember.Component.extend({tagName:"div",classNameBindings:["model.rowClass",":message-row","model.selected:selected"],click:function(){this.selectRow()},willInsertElement:function(){if(!t){var e=Em.$("#top-panel"),a=e.scrollTop(),s=e.height(),i=e[0].scrollHeight
20
- n=i-20<s+a,t=!0}},didInsertElement:function(){var e=Em.$("#top-panel")
21
- Em.run.next(function(){t=!1,n&&(n=!1,e.scrollTop(e[0].scrollHeight-e.height()))})}})
22
- e.default=a}),define("client-app/components/page-nav",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
23
- var t=Ember.Component.extend({classNames:["nav-controls"],classNameBindings:["extraClasses"],disableBackButtons:Ember.computed.equal("position",0),disableForwardButtons:Ember.computed("position","list.length",function(){return this.position===this.get("list.length")-1}),displayNumber:Ember.computed("position",function(){return this.position+1}),actions:{takeStep:function(e){var t="back"===e?-1:1,n=this.position+t
8
+ var r=Ember.Component.extend((a={showMenu:!1,tagName:"span",outsideClickHandler:function(e){this.element&&!this.element.contains(e.target)&&this.element!==e.target&&(this.set("showMenu",!1),this.updateMenu())},updateMenu:function(){this.showMenu?this.addOutsideClickHandler():this.removeOutsideClickHandler()},addOutsideClickHandler:function(){document.addEventListener("click",this.outsideClickHandler)},removeOutsideClickHandler:function(){document.removeEventListener("click",this.outsideClickHandler)},willDestroyElement:function(){this._super.apply(this,arguments),this.removeOutsideClickHandler()},actions:{expandMenu:function(){this.toggleProperty("showMenu"),this.updateMenu()},share:function(){this.share()}}},(0,t.default)(a,"outsideClickHandler",[n.bound],Object.getOwnPropertyDescriptor(a,"outsideClickHandler"),a),a))
9
+ e.default=r})),define("client-app/components/back-trace",["exports","@babel/runtime/helpers/esm/slicedToArray","client-app/lib/preload"],(function(e,t,n){function a(e,t){return!(!e||!t||t.length>e.length)&&e.substring(0,t.length)==t}function r(){return n.default.get("backtrace_links_enabled")}function s(e){return e&&"/"!==e[e.length-1]?e+"/":e}function i(e){var t=e.repo,n=e.path,a=e.filename,r=e.lineNumber,i=e.commitSha,o=void 0===i?null:i,l=s(t)
10
+ return/\/tree\//.test(l)||(l+="blob/",l+=o?"".concat(o,"/"):"master/"),l+=n+a,/^[0-9]+$/.test(r)&&(l+="#L".concat(r)),l}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
11
+ var o=Ember.Component.extend({GithubURLForGem:function(e){var s=null
12
+ if(!r())return s
13
+ var o=e.match(/([^/]+)\/(.+\/)(.+):(\d+):.*/)||[],l=(0,t.default)(o,5),u=l[1],c=l[2],d=l[3],p=l[4],f=n.default.get("gems_data").filter((function(e){return a(u,"".concat(e.name,"-"))})).sortBy("name.length").reverse()[0]
14
+ return f&&(s=i({repo:f.url,path:c,filename:d,lineNumber:p})),s},GithubURLForApp:function(e){var o=null
15
+ if(!r())return o
16
+ var l=n.default.get("directories").filter((function(t){return a(e,t.path)})).sortBy("path.length").reverse()[0]
17
+ if(l){var u,c,d,p=s(l.path),f=e.substring(p.length),m="",h=-1!==f.indexOf("/"),v=h?/(.+\/)(.+):(\d+)(:.*)/:/(.+):(\d+)(:.*)/
18
+ if(h){var b=f.match(v)||[],g=(0,t.default)(b,5)
19
+ m=g[1],u=g[2],c=g[3],d=g[4]}else{var y=f.match(v)||[],E=(0,t.default)(y,4)
20
+ u=E[1],c=E[2],d=E[3]}if(u&&c&&d){var x=l.main_app?this.commitSha:null
21
+ o=i({repo:l.url,path:m,filename:u,lineNumber:c,commitSha:x})}}return o},findGithubURL:function(e,t){return a(e,n.default.get("gems_dir"))?this.GithubURLForGem(t):this.GithubURLForApp(e)},commitSha:Ember.computed("env",(function(){var e=null
22
+ return Array.isArray(this.env)?e=this.env.map((function(e){return e.application_version})).filter((function(e){return e}))[0]:this.env&&(e=this.env.application_version),e||n.default.get("application_version")})),lines:Ember.computed("backtrace","commitSha",(function(){var e=this
23
+ return this.backtrace&&0!==this.backtrace.length?this.backtrace.split("\n").map((function(t){var r=function(e){if(a(e,n.default.get("gems_dir"))){var t=n.default.get("gems_dir")
24
+ return e.substring(t.length)}return e}(t)
25
+ return{line:r,url:e.findGithubURL(t,r)}})):[]}))})
26
+ e.default=o})),define("client-app/components/env-tab",["exports","client-app/lib/utilities","client-app/lib/preload"],(function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
27
+ var a=Ember.Component.extend({currentEnv:Ember.computed("isEnvArray","currentEnvPosition",(function(){return this.isEnvArray?this.message.env[this.currentEnvPosition]:this.message.env})),isEnvArray:Ember.computed("message.env",(function(){return Array.isArray(this.get("message.env"))})),html:Ember.computed("isEnvArray","currentEnv","expanded.[]",(function(){var e=this
28
+ if(this.isEnvArray){var a=n.default.get("env_expandable_keys")||[],r={}
29
+ return a.forEach((function(t){if(Object.prototype.hasOwnProperty.call(e.currentEnv,t)&&!Array.isArray(e.currentEnv[t])){var n=[e.currentEnv[t]]
30
+ e.message.env.forEach((function(e){e[t]&&-1===n.indexOf(e[t])&&n.push(e[t])})),r[t]=n}})),(0,t.buildHashString)(this.currentEnv,!1,this.expanded,r)}return(0,t.buildHashString)(this.get("message.env"))})),click:function(e){var t=e.target,a=t.dataset.key;-1!==(n.default.get("env_expandable_keys")||[]).indexOf(a)&&t.classList.contains("expand-list")&&(e.preventDefault(),this.expanded?this.expanded.pushObject(a):this.set("expanded",[a]))}})
31
+ e.default=a})),define("client-app/components/message-info",["exports","client-app/lib/preload"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
32
+ var n=Ember.Component.extend({showSolveAllButton:Ember.computed.bool("currentRow.group"),buttons:Ember.computed("currentMessage.protected","showSolveButton",(function(){var e=this.get("currentMessage.protected"),t=[]
33
+ return!e&&this.showSolveButton&&t.push({klass:"solve",action:"solve",icon:"check-square-o",label:"Solve",danger:!0}),this.showSolveAllButton&&t.push({klass:"solve-all",action:"solveAll",icon:"check-square-o",label:"Solve All",danger:!0}),e?t.push({klass:"unprotect",action:"unprotect",icon:"unlock",label:"Unprotect"}):t.push({klass:"remove",action:"remove",icon:"trash-o",label:"Remove",danger:!0},{klass:"protect",action:"protect",icon:"lock",label:"Protect"}),t.push({klass:"copy",action:"copyAction",icon:"clipboard",label:"Copy"}),t})),showSolveButton:Ember.computed("showSolveAllButton","currentMessage.{canSolve,env}",(function(){return!this.showSolveAllButton&&(this.currentMessage.env?this.currentMessage.canSolve:!!t.default.get("application_version"))})),copy:function(){var e=document.createElement("TEXTAREA")
34
+ document.body.appendChild(e)
35
+ var t=this.currentMessage.showCount?"Message (".concat(this.currentMessage.count," copies reported)"):"Message",n="".concat(t,"\n\n").concat(this.currentMessage.message),a="Backtrace\n\n".concat(this.currentMessage.backtrace.split("\n").slice(0,10).join("\n")),r=Array.isArray(this.currentMessage.env)?this.currentMessage.env.map((function(e){return e.HTTP_HOST})).filter((function(e,t,n){return e&&n.indexOf(e)===t})).join(", "):this.currentMessage.env.HTTP_HOST,s=[n,a,r?"Env\n\nHTTP HOSTS: ".concat(r):""].filter((function(e){return e})).join("\n\n")
36
+ e.value=s,e.select(),document.execCommand("copy"),document.body.removeChild(e)},actions:{tabChanged:function(e){this.onTabChange&&this.onTabChange(e)},protect:function(){this.currentMessage.protect()},unprotect:function(){this.currentMessage.unprotect()},remove:function(){this.removeMessage(this.currentMessage)},solve:function(){this.solveMessage(this.currentMessage)},solveAll:function(){this.currentRow.solveAll()},share:function(){window.location.pathname=this.get("currentMessage.shareUrl")},copyAction:function(){var e=this
37
+ this.fetchEnv&&!this.currentMessage.env?this.fetchEnv({force:!0}).then((function(){return e.copy()})):this.copy()}}})
38
+ e.default=n})),define("client-app/components/message-row",["exports"],(function(e){var t,n
39
+ Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
40
+ var a=Ember.Component.extend({tagName:"div",classNameBindings:["model.rowClass",":message-row","model.selected:selected"],click:function(){this.selectRow()},willInsertElement:function(){if(!t){var e=document.getElementById("top-panel")
41
+ if(e){var a=parseFloat(getComputedStyle(e).height)
42
+ n=e.scrollHeight-20<a+e.scrollTop,t=!0}}},didInsertElement:function(){var e=document.getElementById("top-panel")
43
+ e&&(t=!1,n&&(n=!1,e.scrollTop=e.scrollHeight-parseFloat(getComputedStyle(e).height)))}})
44
+ e.default=a})),define("client-app/components/page-nav",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
45
+ var t=Ember.Component.extend({classNames:["nav-controls"],classNameBindings:["extraClasses"],disableBackButtons:Ember.computed.equal("position",0),disableForwardButtons:Ember.computed("position","list.length",(function(){return this.position===this.get("list.length")-1})),displayNumber:Ember.computed("position",(function(){return this.position+1})),actions:{takeStep:function(e){var t="back"===e?-1:1,n=this.position+t
24
46
  this.navigate(n)},bigJump:function(e){var t="back"===e?0:this.get("list.length")-1
25
47
  this.navigate(t)}}})
26
- e.default=t}),define("client-app/components/panel-resizer",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
27
- var t=["touchmove","mousemove"],n=["touchend","mouseup"],a=["touchstart","mousedown"],s=Ember.Component.extend({classNames:["divider"],divideView:function(e,t){var n=t||Em.$(window),a=n.height(),s=n.height()-e
28
- e<100||e+170>a||(this.divider.css("bottom",s-5),this.events.trigger("panelResized",s))},didInsertElement:function(){var e=this
29
- this.divider=Em.$(".divider")
30
- var s=Em.$(window),i=!1,r=function(t){i&&e.divideView(t.clientY||t.touches&&t.touches[0]&&t.touches[0].clientY,s)},o=function a(){Em.$("#overlay").remove(),i=!1,localStorage&&(localStorage.logster_divider_bottom=parseInt(e.divider.css("bottom"),10))
31
- var s=Em.$(document)
32
- t.forEach(function(e){return s.unbind(e,r)}),n.forEach(function(e){return s.unbind(e,a)})}
33
- 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(r,25)).on(n.join(" "),o)}),Em.run.next(function(){var t=localStorage&&localStorage.logster_divider_bottom||300,n=s.height()-parseInt(t,10)
34
- e.divideView(n,s)})},willDestroyElement:function(){Em.$(".divider").off(a.join(" "))}})
35
- e.default=s}),define("client-app/components/patterns-list",["exports","@babel/runtime/helpers/esm/toConsumableArray","client-app/models/pattern-item","client-app/lib/utilities"],function(e,t,n,a){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
36
- var s=Ember.Component.extend({immutable:Ember.computed.not("mutable"),showCounter:Ember.computed.equal("key","suppression"),init:function(){this._super.apply(this,arguments),this.get("patterns.length")<1&&this.get("mutable")&&this.send("create")},allPatterns:Ember.computed("patterns.[]","newPatterns.[]",function(){var e=this.get("patterns"),n=this.get("newPatterns")||[]
37
- return[].concat((0,t.default)(n.reverse()),(0,t.default)(e.reverse()))}),makeAPICall:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.method
38
- return delete e.method,(0,a.ajax)("/patterns/".concat(this.get("key"),".json"),{method:t,data:e})},alwaysBlock:function(e){e.set("saving",!1)},catchBlock:function(e,t){t.responseText?e.set("error",t.responseText):e.set("error","Unkown error occured. Please see dev console.")},requestInit:function(e){e.setProperties({saving:!0,error:null})},actions:{create:function(){this.get("newPatterns")||this.set("newPatterns",[]),this.get("newPatterns").pushObject(n.default.create({isNew:!0}))},trash:function(e){var t=this
39
- e.get("isNew")?(this.get("newPatterns").removeObject(e),e.destroy()):(this.requestInit(e),this.makeAPICall({method:"DELETE",pattern:e.get("value")}).then(function(){t.get("patterns").removeObject(e),e.destroy()}).catch(function(n){return t.catchBlock(e,n)}).always(function(){return t.alwaysBlock(e)}))},save:function(e){var t=this
40
- this.requestInit(e),(e.get("isNew")?this.makeAPICall({method:"POST",pattern:e.get("valueBuffer"),retroactive:e.retroactive}).then(function(n){e.updateValue(n.pattern),e.set("isNew",!1),t.get("patterns").pushObject(e),t.get("newPatterns").removeObject(e)}):this.makeAPICall({method:"PUT",pattern:e.get("value"),new_pattern:e.get("valueBuffer")}).then(function(t){e.updateValue(t.pattern),e.set("count",0)})).catch(function(n){t.catchBlock(e,n)}).always(function(){return t.alwaysBlock(e)})},resetCount:function(e){var t=this
41
- e.set("saving",!0),(0,a.ajax)("/reset-count.json",{method:"PUT",data:{pattern:e.get("value"),hard:!!e.get("hard")}}).then(function(){e.set("count",0)}).catch(function(n){return t.catchBlock(e,n)}).always(function(){return t.alwaysBlock(e)})},checkboxChanged:function(e){e.toggleProperty("retroactive")}}})
42
- e.default=s}),define("client-app/components/tab-contents",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
48
+ e.default=t})),define("client-app/components/panel-resizer",["exports","@babel/runtime/helpers/esm/applyDecoratedDescriptor","client-app/lib/decorators"],(function(e,t,n){var a
49
+ Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
50
+ var r=["touchmove","mousemove"],s=["touchend","mouseup"],i=["touchstart","mousedown"],o=Ember.Component.extend((a={resizing:!1,classNames:["divider"],divideView:function(e){var t=window.innerHeight,n=t-e
51
+ e<100||e+170>t||(this.divider.style.bottom="".concat(n-5,"px"),this.events.trigger("panelResized",n))},performDrag:function(e){Ember.run.throttle(this,this.throttledPerformDrag,e,25)},throttledPerformDrag:function(e){this.resizing&&this.divideView(e.clientY||e.touches&&e.touches[0]&&e.touches[0].clientY)},endDrag:function(){var e=this,t=document.getElementById("overlay")
52
+ t&&t.parentElement.removeChild(t),this.set("resizing",!1),localStorage&&(localStorage.logster_divider_bottom=parseInt(this.divider.style.bottom,10)),r.forEach((function(t){return document.removeEventListener(t,e.performDrag)})),s.forEach((function(t){return document.removeEventListener(t,e.endDrag)}))},dividerClickHandler:function(e){var t=this
53
+ e.preventDefault()
54
+ var n=document.createElement("DIV")
55
+ n.id="overlay",document.body.appendChild(n),this.set("resizing",!0),r.forEach((function(e){return document.addEventListener(e,t.performDrag)})),s.forEach((function(e){return document.addEventListener(e,t.endDrag)}))},didInsertElement:function(){var e=this
56
+ this.set("divider",document.querySelector(".divider")),i.forEach((function(t){e.divider.addEventListener(t,e.dividerClickHandler)})),Ember.run.scheduleOnce("afterRender",this,"initialDivideView")},initialDivideView:function(){var e=localStorage&&localStorage.logster_divider_bottom||300,t=window.innerHeight-parseInt(e,10)
57
+ this.divideView(t)},willDestroyElement:function(){var e=this
58
+ i.forEach((function(t){return e.divider.removeEventListener(t,e.dividerClickHandler)}))}},(0,t.default)(a,"performDrag",[n.bound],Object.getOwnPropertyDescriptor(a,"performDrag"),a),(0,t.default)(a,"endDrag",[n.bound],Object.getOwnPropertyDescriptor(a,"endDrag"),a),(0,t.default)(a,"dividerClickHandler",[n.bound],Object.getOwnPropertyDescriptor(a,"dividerClickHandler"),a),a))
59
+ e.default=o})),define("client-app/components/patterns-list",["exports","@babel/runtime/helpers/esm/toConsumableArray","client-app/models/pattern-item","client-app/lib/utilities"],(function(e,t,n,a){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
60
+ var r=Ember.Component.extend({immutable:Ember.computed.not("mutable"),showCounter:Ember.computed.equal("key","suppression"),init:function(){this._super.apply(this,arguments),this.get("patterns.length")<1&&this.get("mutable")&&this.send("create")},allPatterns:Ember.computed("patterns.[]","newPatterns.[]",(function(){var e=this.get("patterns"),n=this.get("newPatterns")||[]
61
+ return[].concat((0,t.default)(n.reverse()),(0,t.default)(e.reverse()))})),makeAPICall:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.method
62
+ return delete e.method,(0,a.ajax)("/patterns/".concat(this.get("key"),".json"),{method:t,data:e})},finallyBlock:function(e){e.set("saving",!1)},catchBlock:function(e,t){t.responseText?e.set("error",t.responseText):e.set("error","Unkown error occured. Please see dev console.")},requestInit:function(e){e.setProperties({saving:!0,error:null})},actions:{create:function(){this.get("newPatterns")||this.set("newPatterns",[]),this.get("newPatterns").pushObject(n.default.create({isNew:!0}))},trash:function(e){var t=this
63
+ e.get("isNew")?(this.get("newPatterns").removeObject(e),e.destroy()):(this.requestInit(e),this.makeAPICall({method:"DELETE",pattern:e.get("value")}).then((function(){t.get("patterns").removeObject(e),e.destroy()})).catch((function(n){return t.catchBlock(e,n)})).finally((function(){return t.finallyBlock(e)})))},save:function(e){var t=this
64
+ this.requestInit(e),(e.get("isNew")?this.makeAPICall({method:"POST",pattern:e.valueBuffer,retroactive:!!e.retroactive}).then((function(n){e.updateValue(n.pattern),e.set("isNew",!1),t.get("patterns").pushObject(e),t.get("newPatterns").removeObject(e)})):this.makeAPICall({method:"PUT",pattern:e.get("value"),new_pattern:e.get("valueBuffer")}).then((function(t){e.updateValue(t.pattern),e.set("count",0)}))).catch((function(n){t.catchBlock(e,n)})).finally((function(){return t.finallyBlock(e)}))},resetCount:function(e){var t=this
65
+ e.set("saving",!0),(0,a.ajax)("/reset-count.json",{method:"PUT",data:{pattern:e.get("value"),hard:!!e.get("hard")}}).then((function(){e.set("count",0)})).catch((function(n){return t.catchBlock(e,n)})).finally((function(){return t.finallyBlock(e)}))},checkboxChanged:function(e){e.toggleProperty("retroactive")}}})
66
+ e.default=r})),define("client-app/components/tab-contents",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
43
67
  var t=Ember.Component.extend({classNameBindings:["active",":content","name"],isLink:!1,invokeParent:function(e){for(var t=this.get("parentView");t&&!t[e];)t=t.get("parentView")
44
68
  t&&t[e](this)},didInsertElement:function(){this.invokeParent("addTab"),this.get("defaultTab")&&this.invokeParent("selectTab")},willDestroyElement:function(){this.invokeParent("removeTab")}})
45
- e.default=t}),define("client-app/components/tabbed-section",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
69
+ e.default=t})),define("client-app/components/tabbed-section",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
46
70
  var t=Ember.Component.extend({tabs:Em.A(),selectTab:function(e){if(e.get("isLink"))this.triggerAction(e.get("action"))
47
71
  else{var t=this.get("selected")
48
72
  t&&t.set("active",!1),this.set("selected",e),e.set("active",!0),this.onTabChange(e.name)}},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)}})
49
- e.default=t}),define("client-app/components/time-formatter",["exports","client-app/lib/utilities"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
50
- var n=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"))})})
51
- e.default=n}),define("client-app/components/update-time",["exports","client-app/lib/utilities"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
52
- var n=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)
53
- n!==this.innerText&&(this.innerText=n)}),Em.run.later(e,6e4)},6e4)}})
54
- e.default=n}),define("client-app/controllers/index",["exports","client-app/lib/utilities","client-app/lib/preload"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
55
- var a=Ember.Controller.extend({showDebug:!0,showInfo:!0,showWarn:!0,showErr:!0,showFatal:!0,search:"",queryParams:["search"],showSettings:Ember.computed(function(){return n.default.get("patterns_enabled")}),resizePanels:function(e){Em.$("#bottom-panel").css("height",e-13),Em.$("#top-panel").css("bottom",e+12)},actionsInMenu:Ember.computed(function(){return this.site.isMobile}),actions:{expandMessage:function(e){e.expand()},selectRowAction:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
73
+ e.default=t})),define("client-app/components/time-formatter",["exports","client-app/lib/utilities"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
74
+ var n=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"))}))})
75
+ e.default=n})),define("client-app/components/update-time",["exports","client-app/lib/utilities"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
76
+ var n=Ember.Component.extend({didInsertElement:function(){Ember.run.later(this,this.updateTimes,6e4)},updateTimes:function(){Array.from(document.querySelectorAll(".auto-update-time")).forEach((function(e){var n=parseInt(e.dataset.timestamp)
77
+ if(n){var a=(0,t.formatTime)(n)
78
+ a!==e.innerText&&(e.innerText=a)}})),Ember.run.later(this,this.updateTimes,6e4)}})
79
+ e.default=n})),define("client-app/controllers/index",["exports","client-app/lib/utilities","client-app/lib/preload"],(function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
80
+ var a=Ember.Controller.extend({showDebug:!0,showInfo:!0,showWarn:!0,showErr:!0,showFatal:!0,search:"",queryParams:["search"],showSettings:Ember.computed((function(){return n.default.get("patterns_enabled")})),resizePanels:function(e){var t=document.getElementById("bottom-panel"),n=document.getElementById("top-panel")
81
+ t.style.height="".concat(e-13,"px"),n.style.bottom="".concat(e+12,"px")},actionsInMenu:Ember.computed((function(){return this.site.isMobile})),actions:{expandMessage:function(e){e.expand()},selectRowAction:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
56
82
  this.model.selectRow(e,t)},tabChangedAction:function(e){this.model.tabChanged(e)},showMoreBefore:function(){this.model.showMoreBefore()},loadMore:function(){return this.model.loadMore()},clear:function(){var e=this
57
- confirm("Clear the logs?\n\nCancel = No, OK = Clear")&&(0,t.ajax)("/clear",{type:"POST"}).then(function(){e.model.reload()})},removeMessage:function(e){var t=this.model.currentRow.group?this.model.currentRow:null,n=this.model.rows,a=t?n.indexOf(t):n.indexOf(e)
83
+ confirm("Clear the logs?\n\nCancel = No, OK = Clear")&&(0,t.ajax)("/clear",{type:"POST"}).then((function(){e.model.reload()}))},removeMessage:function(e){var t=this.model.currentRow.group?this.model.currentRow:null,n=this.model.rows,a=t?n.indexOf(t):n.indexOf(e)
58
84
  e.destroy(),e.set("selected",!1),this.model.set("total",this.model.total-1)
59
- var s=!1,i=0
60
- t?(i=t.messages.indexOf(e),t.messages.removeObject(e),i=Math.min(i,t.messages.length-1),0===t.messages.length&&(n.removeObject(t),s=!0)):(n.removeObject(e),s=!0),s?a>0?this.model.selectRow(n[a-1]):this.model.total>0?this.model.selectRow(n[0]):this.model.reload():t&&this.model.selectRow(n[a],{messageIndex:i})},solveMessage:function(e){this.model.solve(e)},groupedMessageChangedAction:function(e){this.model.groupedMessageChanged(e)},envChangedAction:function(e){this.model.envChanged(e)},updateFilter:function(e){var t=this
85
+ var r=!1,s=0
86
+ t?(s=t.messages.indexOf(e),t.messages.removeObject(e),s=Math.min(s,t.messages.length-1),0===t.messages.length&&(n.removeObject(t),r=!0)):(n.removeObject(e),r=!0),r?a>0?this.model.selectRow(n[a-1]):this.model.total>0?this.model.selectRow(n[0]):this.model.reload():t&&this.model.selectRow(n[a],{messageIndex:s})},solveMessage:function(e){this.model.solve(e)},groupedMessageChangedAction:function(e){this.model.groupedMessageChanged(e)},envChangedAction:function(e){this.model.envChanged(e)},updateFilter:function(e){var t=this
61
87
  this.toggleProperty(e)
62
- var n=[];["Debug","Info","Warn","Err","Fatal"].forEach(function(e,a){t.get("show".concat(e))&&n.push(a)}),n.push(5),this.model.set("filter",n),this.model.reload().then(function(){return t.model.updateSelectedRow()})},updateSearch:function(e){e&&1===e.length||Ember.run.debounce(this,this.doSearch,e,250)}},doSearch:function(e){var t=this
63
- this.model.set("search",e),this.model.reload().then(function(){return t.model.updateSelectedRow()})}})
64
- e.default=a}),define("client-app/controllers/show",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
88
+ var n=[];["Debug","Info","Warn","Err","Fatal"].forEach((function(e,a){t.get("show".concat(e))&&n.push(a)})),n.push(5),this.model.set("filter",n),this.model.reload().then((function(){return t.model.updateSelectedRow()}))},updateSearch:function(e){e&&1===e.length||Ember.run.debounce(this,this.doSearch,e,250)}},doSearch:function(e){var t=this
89
+ this.model.set("search",e),this.model.reload().then((function(){return t.model.updateSelectedRow()}))}})
90
+ e.default=a})),define("client-app/controllers/show",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
65
91
  var t=Ember.Controller.extend({envPosition:0,actions:{protect:function(){this.get("model").protect()},unprotect:function(){this.get("model").unprotect()},envChanged:function(e){this.set("envPosition",e)}}})
66
- e.default=t}),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,r=a.shaOnly||a.hideVersion,o=null
67
- return i&&(a.showExtended&&(o=s.match(n.versionExtendedRegExp)),o||(o=s.match(n.versionRegExp))),r&&(o=s.match(n.shaRegExp)),o?o[0]:s}Object.defineProperty(e,"__esModule",{value:!0}),e.appVersion=a,e.default=void 0
68
- var s=Ember.Helper.helper(a)
69
- e.default=s}),define("client-app/helpers/logster-url",["exports","client-app/lib/preload"],function(e,t){function n(e){var n=e[0]
92
+ e.default=t})),define("client-app/data-adapter",["exports","@ember-data/debug"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),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]:{},r=t.default.APP.version,s=a.versionOnly||a.hideSha,i=a.shaOnly||a.hideVersion,o=null
93
+ return s&&(a.showExtended&&(o=r.match(n.versionExtendedRegExp)),o||(o=r.match(n.versionRegExp))),i&&(o=r.match(n.shaRegExp)),o?o[0]:r}Object.defineProperty(e,"__esModule",{value:!0}),e.appVersion=a,e.default=void 0
94
+ var r=Ember.Helper.helper(a)
95
+ e.default=r})),define("client-app/helpers/logster-url",["exports","client-app/lib/preload"],(function(e,t){function n(e){var n=e[0]
70
96
  return"/"!==n[0]&&(n="/".concat(n)),t.default.get("rootPath")+n}Object.defineProperty(e,"__esModule",{value:!0}),e.logsterUrl=n,e.default=void 0
71
97
  var a=Ember.Helper.helper(n)
72
- e.default=a}),define("client-app/helpers/or",["exports"],function(e){function t(e){return e.some(function(e){return e})}Object.defineProperty(e,"__esModule",{value:!0}),e.or=t,e.default=void 0
98
+ e.default=a})),define("client-app/helpers/or",["exports"],(function(e){function t(e){return e.some((function(e){return e}))}Object.defineProperty(e,"__esModule",{value:!0}),e.or=t,e.default=void 0
73
99
  var n=Ember.Helper.helper(t)
74
- e.default=n}),define("client-app/helpers/pluralize",["exports","ember-inflector/lib/helpers/pluralize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
100
+ e.default=n})),define("client-app/helpers/pluralize",["exports","ember-inflector/lib/helpers/pluralize"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
75
101
  var n=t.default
76
- e.default=n}),define("client-app/helpers/singularize",["exports","ember-inflector/lib/helpers/singularize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
102
+ e.default=n})),define("client-app/helpers/singularize",["exports","ember-inflector/lib/helpers/singularize"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
77
103
  var n=t.default
78
- e.default=n}),define("client-app/initializers/app-init",["exports","client-app/lib/utilities"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.initialize=a,e.default=void 0
104
+ e.default=n})),define("client-app/initializers/app-init",["exports","client-app/lib/utilities"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.initialize=a,e.default=void 0
79
105
  var n=["component","route"]
80
- function a(e){var a,s
81
- 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"}}),["","webkit","ms","moz","ms"].forEach(function(e){var t=e+(""===e?"hidden":"Hidden")
82
- void 0===document[t]||a||(a=t,s=e+"visibilitychange")}),(0,t.updateHiddenProperty)(a),document.addEventListener(s,function(){(0,t.resetTitleCount)()},!1),e.register("events:main",Ember.Object.extend(Ember.Evented).create(),{instantiate:!1}),n.forEach(function(t){return e.inject(t,"events","events:main")})
83
- var i=/mobile/i.test(navigator.userAgent)&&!/iPad/.test(navigator.userAgent)
84
- i&&Em.$("body").addClass("mobile"),e.register("site:main",{isMobile:i},{instantiate:!1}),e.inject("controller","site","site:main")}var s={initialize:a}
85
- e.default=s}),define("client-app/initializers/app-version",["exports","ember-cli-app-version/initializer-factory","client-app/config/environment"],function(e,t,n){var a,s
86
- Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,n.default.APP&&(a=n.default.APP.name,s=n.default.APP.version)
87
- var i={name:"App Version",initialize:(0,t.default)(a,s)}
88
- e.default=i}),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=void 0
106
+ function a(e){var a,r
107
+ 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"}}),["","webkit","ms","moz","ms"].forEach((function(e){var t=e+(""===e?"hidden":"Hidden")
108
+ void 0===document[t]||a||(a=t,r=e+"visibilitychange")})),(0,t.updateHiddenProperty)(a),document.addEventListener(r,(function(){(0,t.resetTitleCount)()}),!1),e.register("events:main",Ember.Object.extend(Ember.Evented).create(),{instantiate:!1}),n.forEach((function(t){return e.inject(t,"events","events:main")}))
109
+ var s=/mobile/i.test(navigator.userAgent)&&!/iPad/.test(navigator.userAgent)
110
+ s&&document.body.classList.add("mobile"),e.register("site:main",{isMobile:s},{instantiate:!1}),e.inject("controller","site","site:main")}var r={initialize:a}
111
+ e.default=r})),define("client-app/initializers/app-version",["exports","ember-cli-app-version/initializer-factory","client-app/config/environment"],(function(e,t,n){var a,r
112
+ Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,n.default.APP&&(a=n.default.APP.name,r=n.default.APP.version)
113
+ var s={name:"App Version",initialize:(0,t.default)(a,r)}
114
+ e.default=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=void 0
89
115
  var n={name:"container-debug-adapter",initialize:function(){var e=arguments[1]||arguments[0]
90
116
  e.register("container-debug-adapter:main",t.default),e.inject("container-debug-adapter:main","namespace","application:main")}}
91
- e.default=n}),define("client-app/initializers/ember-data",["exports","ember-data/setup-container","ember-data"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
117
+ e.default=n})),define("client-app/initializers/ember-data-data-adapter",["exports","@ember-data/debug/setup"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("client-app/initializers/ember-data",["exports","ember-data/setup-container","ember-data"],(function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
92
118
  var a={name:"ember-data",initialize:t.default}
93
- e.default=a}),define("client-app/initializers/export-application-global",["exports","client-app/config/environment"],function(e,t){function n(){var e=arguments[1]||arguments[0]
119
+ e.default=a})),define("client-app/initializers/export-application-global",["exports","client-app/config/environment"],(function(e,t){function n(){var e=arguments[1]||arguments[0]
94
120
  if(!1!==t.default.exportApplicationGlobal){var n
95
121
  if("undefined"!=typeof window)n=window
96
122
  else if("undefined"!=typeof global)n=global
97
123
  else{if("undefined"==typeof self)return
98
- n=self}var a,s=t.default.exportApplicationGlobal
99
- 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=void 0
124
+ n=self}var a,r=t.default.exportApplicationGlobal
125
+ a="string"==typeof r?r: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=void 0
100
126
  var a={name:"export-application-global",initialize:n}
101
- e.default=a}),define("client-app/instance-initializers/ember-data",["exports","ember-data/initialize-store-service"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
127
+ e.default=a})),define("client-app/instance-initializers/ember-data",["exports","ember-data/initialize-store-service"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
102
128
  var n={name:"ember-data",initialize:t.default}
103
- e.default=n}),define("client-app/lib/preload",["exports"],function(e){var t
104
- Object.defineProperty(e,"__esModule",{value:!0}),e.init=a,e.default=void 0
129
+ e.default=n}))
130
+ define("client-app/lib/decorators",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.bound=function(e,t,n){var a=n.value,r="_".concat(t,"Bound")
131
+ return{get:function(){return this[r]?this[r]:(this.set(r,a.bind(this)),this[r])}}}})),define("client-app/lib/preload",["exports"],(function(e){var t
132
+ Object.defineProperty(e,"__esModule",{value:!0}),e.init=a,e.mutatePreload=function(e,r){n||a()
133
+ Em.set(t,e,r)},e.uninitialize=function(){n=!1},e.default=void 0
105
134
  var n=!1
106
- function a(){var e=document.getElementById("preloaded-data").dataset
107
- t=Em.$.extend(JSON.parse(e.preloaded),{rootPath:e.rootPath}),n=!0}var s={get:function(e){return n||a(),Em.get(t,e)}}
108
- e.default=s}),define("client-app/lib/utilities",["exports","@babel/runtime/helpers/esm/typeof","client-app/lib/preload"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.escapeHtml=o,e.ajax=l,e.preloadOrAjax=function(e,t){var a=n.default.get(e.replace(".json",""))
109
- return a?Em.RSVP.resolve(a):l(e,t)},e.updateHiddenProperty=function(e){a=e},e.isHidden=u,e.increaseTitleCount=function(e){if(!u())return
110
- s=s||document.title,i=i||0,i+=e,document.title="".concat(s," (").concat(i,")")},e.resetTitleCount=function(){i=0,document.title=s||document.title},e.formatTime=c,e.buildArrayString=d,e.buildHashString=function e(a,s){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[]
135
+ function a(){var e=document.getElementById("preloaded-data").dataset;(t=JSON.parse(e.preloaded)).rootPath=e.rootPath,n=!0}var r={get:function(e){return n||a(),Em.get(t,e)}}
136
+ e.default=r})),define("client-app/lib/utilities",["exports","@babel/runtime/helpers/esm/typeof","client-app/lib/preload"],(function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.escapeHtml=o,e.ajax=l,e.preloadOrAjax=function(e,t){var a=n.default.get(e.replace(".json",""))
137
+ return a?Ember.RSVP.resolve(a):l(e,t)},e.updateHiddenProperty=function(e){a=e},e.isHidden=u,e.increaseTitleCount=function(e){if(!u())return
138
+ r=r||document.title,s=s||0,s+=e,document.title="".concat(r," (").concat(s,")")},e.resetTitleCount=function(){s=0,document.title=r||document.title},e.formatTime=c,e.buildArrayString=d,e.buildHashString=function e(a,r){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{}
111
139
  if(!a)return""
112
- var r=[]
113
- var l=[]
114
- var u=n.default.get("env_expandable_keys")||[]
115
- _.each(a,function(e,n){if(null===e)r.push("null")
116
- else if("[object Array]"===Object.prototype.toString.call(e)){var a=""
117
- a=-1!==u.indexOf(n)&&!s&&-1===i.indexOf(n)&&e.length>3?"".concat(o(e[0]),', <a class="expand-list" data-key=').concat(n,">").concat(e.length-1," more</a>"):d(e),r.push("<tr><td>"+o(n)+"</td><td>"+a+"</td></tr>")}else if("object"===(0,t.default)(e))l.push(n)
118
- else if("time"===n&&"number"==typeof e){var p=moment(e).format(),f=c(e)
119
- r.push('<tr title="'.concat(p,'"><td>').concat(n,"</td><td>").concat(f,"</td></tr>"))}else r.push("<tr><td>".concat(o(n),"</td><td>").concat(o(e),"</td></tr>"))})
120
- _.size(l)>0&&_.each(l,function(t){var n=a[t]
121
- r.push("<tr><td></td><td><table>"),r.push("<td>"+o(t)+"</td><td>"+e(n,!0)+"</td>"),r.push("</table></td></tr>")})
122
- var p=s?"":"env-table"
123
- return"<table class='"+p+"'>"+r.join("\n")+"</table>"}
124
- var a,s,i,r={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"}
125
- function o(e){return String(e).replace(/[&<>"'\/]/g,function(e){return r[e]})}function l(e,t){return(t=t||{}).headers=t.headers||{},t.headers["X-SILENCE-LOGGER"]=!0,Em.$.ajax(n.default.get("rootPath")+e,t)}function u(){return void 0!==a?document[a]:!document.hasFocus}function c(e){var t=moment(e),n=moment()
140
+ var l=[],u=[],p=n.default.get("env_expandable_keys")||[]
141
+ Object.keys(a).forEach((function(e){var n=a[e]
142
+ if(null===n)l.push("null")
143
+ else if(-1===p.indexOf(e)||r)if("[object Array]"===Object.prototype.toString.call(n)){var f=d(n)
144
+ l.push("<tr><td>".concat(o(e),"</td><td>").concat(f,"</td></tr>"))}else if("object"===(0,t.default)(n))u.push(e)
145
+ else if("time"===e&&"number"==typeof n){var m=moment(n).format(),h=c(n)
146
+ l.push('<tr title="'.concat(m,'"><td>').concat(e,"</td><td>").concat(h,"</td></tr>"))}else l.push("<tr><td>".concat(o(e),"</td><td>").concat(o(n),"</td></tr>"))
147
+ else{var v=""
148
+ v=-1!==s.indexOf(e)||i[e]&&i[e].length<3?i[e]&&1===i[e].length?o(i[e][0]):d(i[e]):"".concat(o(i[e][0]),', <a class="expand-list" data-key=').concat(e,">").concat(i[e].length-1," more</a>"),l.push("<tr><td>".concat(o(e),"</td><td>").concat(v,"</td></tr>"))}})),u.forEach((function(t){var n=a[t]
149
+ l.push("<tr><td></td><td><table>"),l.push("<td>".concat(o(t),"</td><td>").concat(e(n,!0),"</td>")),l.push("</table></td></tr>")}))
150
+ var f=r?"":"env-table"
151
+ return"<table class='".concat(f,"'>").concat(l.join("\n"),"</table>")}
152
+ var a,r,s,i={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"}
153
+ function o(e){return String(e).replace(/[&<>"'/]/g,(function(e){return i[e]}))}function l(e,t){return new Ember.RSVP.Promise((function(a,r){t=t||{}
154
+ var s=new XMLHttpRequest
155
+ if(e=n.default.get("rootPath")+e,t.data)for(var i in t.data){var o=-1===e.indexOf("?")?"?":"&"
156
+ e+=o,e+="".concat(i,"=").concat(encodeURIComponent(t.data[i]))}if(s.open(t.method||t.type||"GET",e),s.setRequestHeader("X-SILENCE-LOGGER",!0),t.headers)for(var l in t.headers)s.setRequestHeader(l,t.headers[l])
157
+ s.onreadystatechange=function(){if(4===s.readyState){var e=s.status
158
+ if(e>=200&&e<300||304===e){var t=s.getResponseHeader("Content-Type"),n=s.responseText;/\bjson\b/.test(t)&&(n=JSON.parse(n)),a(n)}else r(s)}},s.send()}))}function u(){return void 0!==a?document[a]:!document.hasFocus}function c(e){var t=moment(e),n=moment()
126
159
  return t.diff(n.startOf("day"))>0?t.format("h:mm a"):t.diff(n.startOf("week"))>0?t.format("dd h:mm a"):t.diff(n.startOf("year"))>0?t.format("D MMM h:mm a"):t.format("D MMM YY")}function d(e){var t=[]
127
- return e.forEach(function(e){null===e?t.push("null"):"[object Array]"===Object.prototype.toString.call(e)?t.push(d(e)):t.push(o(e.toString()))}),"["+t.join(", ")+"]"}}),define("client-app/models/group",["exports","client-app/models/message"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
128
- var n=Ember.Object.extend({selected:!1,showCount:!0,key:Ember.computed.reads("regex"),displayMessage:Ember.computed.reads("messages.firstObject.message"),init:function(){this._super.apply(this,arguments)
129
- var e=this.messages.map(function(e){return t.default.create(e)})
130
- this.set("messages",e)},glyph:Ember.computed(function(){return"<i class='fa fa-clone group'></i>"})})
131
- e.default=n}),define("client-app/models/message-collection",["exports","client-app/lib/utilities","client-app/models/message","client-app/models/group"],function(e,t,n,a){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
132
- var s=[0,1,2,3,4,5],i=Ember.Object.extend({total:0,rows:null,currentRow:null,currentTab:null,currentEnvPosition:0,currentGroupedMessagesPosition:0,init:function(){this._super.apply(this,arguments),this.setProperties({filter:s,search:"",rows:Ember.A()})},currentMessage:Ember.computed("currentRow","currentGroupedMessagesPosition",function(){var e=this.currentRow,t=this.currentGroupedMessagesPosition
133
- return e&&e.group?e.messages[t]:e}),solve:function(e){var t=this
134
- e.solve().then(function(){t.reload()})},selectRow:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.currentRow
160
+ return e.forEach((function(e){null===e?t.push("null"):"[object Array]"===Object.prototype.toString.call(e)?t.push(d(e)):t.push(o(e.toString()))})),"["+t.join(", ")+"]"}})),define("client-app/models/group",["exports","client-app/models/message","client-app/lib/utilities"],(function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
161
+ var a=Ember.Object.extend({selected:!1,showCount:!0,key:Ember.computed.reads("regex"),displayMessage:Ember.computed.reads("messages.firstObject.message"),init:function(){this._super.apply(this,arguments)
162
+ var e=this.messages.map((function(e){return t.default.create(e)}))
163
+ this.set("messages",e)},glyph:Ember.computed((function(){return"<i class='fa fa-clone group'></i>"})),solveAll:function(){return(0,n.ajax)("/solve-group",{type:"POST",data:{regex:this.regex}})}})
164
+ e.default=a})),define("client-app/models/message-collection",["exports","client-app/lib/utilities","client-app/models/message","client-app/models/group"],(function(e,t,n,a){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
165
+ var r=[0,1,2,3,4,5],s=Ember.Object.extend({total:0,rows:null,currentRow:null,currentTab:null,currentEnvPosition:0,currentGroupedMessagesPosition:0,init:function(){this._super.apply(this,arguments),this.setProperties({filter:r,search:"",rows:Ember.A()})},currentMessage:Ember.computed("currentRow","currentGroupedMessagesPosition",(function(){var e=this.currentRow,t=this.currentGroupedMessagesPosition
166
+ return e&&e.group?e.messages[t]:e})),solve:function(e){var t=this
167
+ e.solve().then((function(){t.reload()}))},selectRow:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.currentRow
135
168
  n&&n.set("selected",!1),e.set("selected",!0)
136
- var a=t.messageIndex||0,s=a===this.currentGroupedMessagesPosition
137
- this.setProperties({currentRow:e,loadingEnv:!1,currentGroupedMessagesPosition:a,currentEnvPosition:0}),s&&this.notifyPropertyChange("currentGroupedMessagesPosition"),this.fetchEnv()},tabChanged:function(e){this.setProperties({currentTab:e,loadingEnv:!1}),this.fetchEnv()},groupedMessageChanged:function(e){this.setProperties({currentGroupedMessagesPosition:e,currentEnvPosition:0}),this.fetchEnv()},envChanged:function(e){this.set("currentEnvPosition",e),this.fetchEnv()},fetchEnv:function(){var e=this,n=this.currentMessage
138
- if(n&&!n.env&&"env"===this.currentTab)return this.set("loadingEnv",!0),(0,t.ajax)("/fetch-env/".concat(n.key,".json")).then(function(e){return n.set("env",e)}).always(function(){return e.set("loadingEnv",!1)})},findEquivalentMessageIndex:function(e){var t=0
169
+ var a=t.messageIndex||0,r=a===this.currentGroupedMessagesPosition
170
+ this.setProperties({currentRow:e,loadingEnv:!1,currentGroupedMessagesPosition:a,currentEnvPosition:0}),r&&this.notifyPropertyChange("currentGroupedMessagesPosition"),this.fetchEnv()},tabChanged:function(e){this.setProperties({currentTab:e,loadingEnv:!1}),this.fetchEnv()},groupedMessageChanged:function(e){this.setProperties({currentGroupedMessagesPosition:e,currentEnvPosition:0}),this.fetchEnv()},envChanged:function(e){this.set("currentEnvPosition",e),this.fetchEnv()},fetchEnv:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=this.currentMessage
171
+ if(t.force||n&&!n.env&&"env"===this.currentTab)return this.set("loadingEnv",!0),n.fetchEnv().finally((function(){return e.set("loadingEnv",!1)}))},findEquivalentMessageIndex:function(e){var t=0
139
172
  return e&&e.group&&this.currentRow&&this.currentRow.group&&e.key===this.currentRow.key&&(t=e.messages.mapBy("key").indexOf(this.currentMessage.key),t=Math.max(0,t)),t},updateSelectedRow:function(){var e=this.get("currentRow.key")
140
- if(e&&this.rows){var t=this.rows.find(function(t){return t.key===e})
173
+ if(e&&this.rows){var t=this.rows.find((function(t){return t.key===e}))
141
174
  if(t){var n=this.findEquivalentMessageIndex(t)
142
175
  this.selectRow(t,{messageIndex:n})}else this.setProperties({currentRow:null,currentEnvPosition:0,currentGroupedMessagesPosition:0})}},load:function(e){var n=this
143
176
  e=e||{}
144
177
  var a={filter:this.filter.join("_")}
145
- _.isEmpty(this.search)||(a.search=this.search,this.regexSearch&&(a.regex_search="true"))
146
- return e.before&&(a.before=e.before,e.knownGroups&&(a.known_groups=e.knownGroups)),e.after&&(a.after=e.after),this.set("loading",!0),(0,t.ajax)("/messages.json",{data:a}).then(function(a){if(0==Ember.compare(a.filter,n.filter)&&0==Ember.compare(a.search,n.search)){if(a.messages.length>0){var s=n.toObjects(a.messages),i=n.rows
147
- e.before?i.unshiftObjects(s):(s.forEach(function(e){i.forEach(function(t){if(t.key===e.key&&(i.removeObject(t),n.currentRow===t)){var a=n.findEquivalentMessageIndex(e)
148
- n.selectRow(e,{messageIndex:a})}})}),i.addObjects(s),s.length>0&&(0,t.increaseTitleCount)(s.length))}return n.set("total",a.total),a}}).always(function(){return n.set("loading",!1)})},reload:function(){var e=this
149
- return this.set("total",0),this.rows.clear(),this.load().then(function(t){return e.updateCanLoadMore(t)})},updateCanLoadMore:function(e){e&&(e.messages.length<50?this.set("canLoadMore",!1):this.set("canLoadMore",!0))},loadMore:function(){var e=this.rows
178
+ this.search&&this.search.length>0&&(a.search=this.search,this.regexSearch&&(a.regex_search="true"))
179
+ return e.before&&(a.before=e.before,e.knownGroups&&(a.known_groups=e.knownGroups)),e.after&&(a.after=e.after),this.set("loading",!0),(0,t.ajax)("/messages.json",{data:a}).then((function(a){if(0==Ember.compare(a.filter,n.filter)&&0==Ember.compare(a.search,n.search)){if(a.messages.length>0){var r=n.toObjects(a.messages),s=n.rows
180
+ e.before?s.unshiftObjects(r):(r.forEach((function(e){s.forEach((function(t){if(t.key===e.key&&(s.removeObject(t),n.currentRow===t)){var a=n.findEquivalentMessageIndex(e)
181
+ n.selectRow(e,{messageIndex:a})}}))})),s.addObjects(r),r.length>0&&(0,t.increaseTitleCount)(r.length))}return n.set("total",a.total),a}})).finally((function(){return n.set("loading",!1)}))},reload:function(){var e=this
182
+ return this.set("total",0),this.rows.clear(),this.load().then((function(t){return e.updateCanLoadMore(t)}))},updateCanLoadMore:function(e){e&&(e.messages.length<50?this.set("canLoadMore",!1):this.set("canLoadMore",!0))},loadMore:function(){var e=this.rows
150
183
  if(0!==e.length){var t=e[e.length-1],n=t.group?t.row_id:t.key
151
- this.load({after:n})}else this.load({})},hideCountInLoadMore:Ember.computed("search","filter",function(){var e=this.filter
152
- return this.search&&this.search.length>0||e&&e.length<6}),moreBefore:Ember.computed("rows.length","canLoadMore",function(){return this.get("rows.length")>=50&&this.canLoadMore}),totalBefore:Ember.computed("total","rows.length",function(){return this.total-this.rows.length}),showMoreBefore:function(){var e=this,t=this.rows,n=t[0],a=n.group?n.row_id:n.key,s=t.filterBy("group").mapBy("regex")
153
- this.load({before:a,knownGroups:s}).then(function(t){return e.updateCanLoadMore(t)})},regexSearch:Ember.computed("search",function(){var e=this.search
184
+ this.load({after:n})}else this.load({})},hideCountInLoadMore:Ember.computed("search","filter",(function(){var e=this.filter
185
+ return this.search&&this.search.length>0||e&&e.length<6})),moreBefore:Ember.computed("rows.length","canLoadMore",(function(){return this.get("rows.length")>=50&&this.canLoadMore})),totalBefore:Ember.computed("total","rows.length",(function(){return this.total-this.rows.length})),showMoreBefore:function(){var e=this,t=this.rows,n=t[0],a=n.group?n.row_id:n.key,r=t.filterBy("group").mapBy("regex")
186
+ this.load({before:a,knownGroups:r}).then((function(t){return e.updateCanLoadMore(t)}))},regexSearch:Ember.computed("search",(function(){var e=this.search
154
187
  if(e&&e.length>2&&"/"===e[0]){var t=e.match(/\/(.*)\/(.*)/)
155
- if(t&&3===t.length)try{return new RegExp(t[1],t[2])}catch(n){}}}),toObjects:function(e){return e.map(function(e){return e.group?a.default.create(e):n.default.create(e)})}})
156
- e.default=i}),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=void 0
157
- var a=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")
158
- 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")
159
- 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("env.{application_version,length}",function(){var e=this.get("backtrace"),t=this.get("env")
160
- return(Array.isArray(t)?t.map(function(e){return e.application_version}).compact().join(""):t&&t.application_version)&&e&&e.length>0}),rowClass:Ember.computed("severity",function(){switch(this.get("severity")){case 0:return"debug"
188
+ if(t&&3===t.length)try{return new RegExp(t[1],t[2])}catch(n){}}return null})),toObjects:function(e){return e.map((function(e){return e.group?a.default.create(e):n.default.create(e)}))}})
189
+ e.default=s})),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=void 0
190
+ var a=Em.Object.extend({MAX_LEN:200,fetchEnv:function(){var e=this
191
+ return(0,t.ajax)("/fetch-env/".concat(this.key,".json")).then((function(t){return e.set("env",t)}))},expand:function(){this.set("expanded",!0)},solve:function(){return(0,t.ajax)("/solve/".concat(this.key),{type:"PUT"})},destroy:function(){return(0,t.ajax)("/message/".concat(this.key),{type:"DELETE"})},protect:function(){return this.set("protected",!0),(0,t.ajax)("/protect/".concat(this.key),{type:"PUT"})},unprotect:function(){return this.set("protected",!1),(0,t.ajax)("/unprotect/".concat(this.key),{type:"DELETE"})},showCount:Ember.computed("count",(function(){return this.count>1})),hasMore:Ember.computed("message","expanded",(function(){return!this.expanded&&this.message.length>this.MAX_LEN})),shareUrl:Ember.computed("key",(function(){return"".concat(n.default.get("rootPath"),"/show/").concat(this.key)})),displayMessage:Ember.computed("message","expanded",(function(){var e=this.message
192
+ return!this.expanded&&this.message.length>this.MAX_LEN&&(e=this.message.substr(0,this.MAX_LEN)),e})),updateFromObject:function(e){this.set("count",e.get("count"))},canSolve:Ember.computed("env.{application_version,length}",(function(){return(Array.isArray(this.env)?this.env.map((function(e){return e.application_version})).compact().join(""):this.env&&this.env.application_version)&&this.backtrace&&this.backtrace.length>0})),rowClass:Ember.computed("severity",(function(){switch(this.get("severity")){case 0:return"debug"
161
193
  case 1:return"info"
162
194
  case 2:return"warn"
163
195
  case 3:return"error"
164
- case 4:return"fatal"}}),glyph:Ember.computed("severity",function(){switch(this.get("severity")){case 0:case 1:return""
196
+ case 4:return"fatal"
197
+ default:return"unknown"}})),glyph:Ember.computed("severity",(function(){switch(this.get("severity")){case 0:case 1:return""
165
198
  case 2:return"<i class='fa fa-exclamation-circle warning'></i>"
166
199
  case 3:return"<i class='fa fa-times-circle error'></i>"
167
- case 4:return"<i class='fa fa-times-circle fatal'></i>"}})})
168
- e.default=a})
169
- define("client-app/models/pattern-item",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
170
- var t=Ember.Object.extend({isNew:!1,value:"",valueBuffer:"",error:null,saving:!1,count:0,init:function(){this._super.apply(this,arguments),this.set("valueBuffer",this.get("value"))},updateValue:function(e){this.setProperties({value:e,valueBuffer:e})},hasBuffer:Ember.computed("value","valueBuffer",function(){return this.get("value")!==this.get("valueBuffer")}),zeroCount:Ember.computed("count",function(){return this.get("count")<=0})})
171
- e.default=t}),define("client-app/resolver",["exports","ember-resolver"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
200
+ case 4:return"<i class='fa fa-times-circle fatal'></i>"
201
+ default:return"<i class='fa fa-question-circle unknown'></i>"}}))})
202
+ e.default=a})),define("client-app/models/pattern-item",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
203
+ var t=Ember.Object.extend({isNew:!1,value:"",valueBuffer:"",error:null,saving:!1,count:0,init:function(){this._super.apply(this,arguments),this.set("valueBuffer",this.get("value"))},updateValue:function(e){this.setProperties({value:e,valueBuffer:e})},hasBuffer:Ember.computed("value","valueBuffer",(function(){return this.get("value")!==this.get("valueBuffer")})),zeroCount:Ember.computed("count",(function(){return this.get("count")<=0}))})
204
+ e.default=t})),define("client-app/resolver",["exports","ember-resolver"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
172
205
  var n=t.default
173
- e.default=n}),define("client-app/router",["exports","client-app/config/environment"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
174
- var n=Ember.Router.extend({location:t.default.locationType,rootURL:t.default.rootURL})
175
- n.map(function(){this.route("index",{path:"/"}),this.route("show",{path:"/show/:id"}),this.route("settings")})
176
- var a=n
177
- e.default=a}),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=void 0
206
+ e.default=n})),define("client-app/router",["exports","@babel/runtime/helpers/esm/classCallCheck","@babel/runtime/helpers/esm/possibleConstructorReturn","@babel/runtime/helpers/esm/getPrototypeOf","@babel/runtime/helpers/esm/assertThisInitialized","@babel/runtime/helpers/esm/inherits","@babel/runtime/helpers/esm/defineProperty","client-app/config/environment"],(function(e,t,n,a,r,s,i,o){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
207
+ var l=function(e){function l(){var e,s;(0,t.default)(this,l)
208
+ for(var u=arguments.length,c=new Array(u),d=0;d<u;d++)c[d]=arguments[d]
209
+ return s=(0,n.default)(this,(e=(0,a.default)(l)).call.apply(e,[this].concat(c))),(0,i.default)((0,r.default)(s),"location",o.default.locationType),(0,i.default)((0,r.default)(s),"rootURL",o.default.rootURL),s}return(0,s.default)(l,e),l}(Ember.Router)
210
+ e.default=l,l.map((function(){this.route("index",{path:"/"}),this.route("show",{path:"/show/:id"}),this.route("settings")}))})),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=void 0
178
211
  var a=Ember.Route.extend({model:function(){return t.default.create()},setupController:function(e,t){this._super(e,t),t.reload()
179
- var a=0,s=1
180
- this.refreshInterval=setInterval(function(){if(!t.loading){a+=1
181
- var e=(0,n.isHidden)(),i=!e
182
- 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)}})
183
- e.default=a}),define("client-app/routes/settings",["exports","client-app/lib/utilities","client-app/models/pattern-item"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
212
+ var a=0,r=1
213
+ this.refreshInterval=setInterval((function(){if(!t.loading){a+=1
214
+ var e=(0,n.isHidden)(),s=!e
215
+ e&&a%r==0&&(s=!0,r<20&&r++),s&&(t.loadMore(),e||(r=1))}}),3e3),this.events.on("panelResized",(function(t){e.resizePanels(t)}))},deactivate:function(){clearInterval(this.refreshInterval)}})
216
+ e.default=a})),define("client-app/routes/settings",["exports","client-app/lib/utilities","client-app/models/pattern-item"],(function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
184
217
  var a=Ember.Route.extend({model:function(){return(0,t.ajax)("/settings.json")},setupController:function(e,t){this._super.apply(this,arguments)
185
- var a=t.suppression,s=a.filter(function(e){return e.hard}).map(function(e){return n.default.create(e)}),i=a.reject(function(e){return e.hard}).map(function(e){return n.default.create(e)}),r=t.grouping.map(function(e){return n.default.create(e)}),o=s.length>0
186
- e.setProperties({showCodedSuppression:o,codedSuppression:s,customSuppression:i,grouping:r})}})
187
- e.default=a}),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=void 0
218
+ var a=t.suppression,r=a.filter((function(e){return e.hard})).map((function(e){return n.default.create(e)})),s=a.reject((function(e){return e.hard})).map((function(e){return n.default.create(e)})),i=t.grouping.map((function(e){return n.default.create(e)})),o=r.length>0
219
+ e.setProperties({showCodedSuppression:o,codedSuppression:r,customSuppression:s,grouping:i})}})
220
+ e.default=a})),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=void 0
188
221
  var a=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))}})
189
- e.default=a}),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=void 0
190
- var t=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"}})
191
- e.default=t}),define("client-app/templates/components/actions-menu",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
192
- var t=Ember.HTMLBars.template({id:"iO5WYaED",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"],[9],[7,"i"],[11,"class","fa fa-ellipsis-h"],[9],[10],[3,"action",[[22,0,[]],"expandMenu"]],[10],[0,"\\n "],[7,"button"],[11,"class","share btn"],[9],[7,"i"],[11,"class","fa fa-share"],[9],[10],[7,"span"],[9],[0,"Share"],[10],[3,"action",[[22,0,[]],"share"]],[10],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[14,1],[0,"\\n "],[7,"button"],[11,"class","share btn"],[9],[7,"i"],[11,"class","fa fa-share"],[9],[10],[7,"span"],[9],[0,"Share"],[10],[3,"action",[[22,0,[]],"share"]],[10],[0,"\\n"]],"parameters":[]}]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/actions-menu.hbs"}})
193
- e.default=t}),define("client-app/templates/components/env-tab",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
194
- var t=Ember.HTMLBars.template({id:"f/S09Y5R",block:'{"symbols":[],"statements":[[4,"if",[[23,["isEnvArray"]]],null,{"statements":[[0," "],[1,[27,"page-nav",null,[["list","position","extraClasses","navigate"],[[23,["message","env"]],[23,["currentEnvPosition"]],"env-nav",[23,["envChangedAction"]]]]],false],[0,"\\n"]],"parameters":[]},null],[1,[21,"html"],true],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/env-tab.hbs"}})
195
- e.default=t}),define("client-app/templates/components/message-info",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
196
- var t=Ember.HTMLBars.template({id:"w2mnjd51",block:'{"symbols":["btn"],"statements":[[7,"div"],[11,"class","message-info"],[9],[0,"\\n"],[4,"tabbed-section",null,[["onTabChange"],[[27,"action",[[22,0,[]],"tabChanged"],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,"tab-contents",null,[["className","name","hint","currentMessage"],["env","env","show environment",[23,["currentMessage"]]]],{"statements":[[4,"if",[[23,["currentMessage"]]],null,{"statements":[[4,"if",[[23,["currentMessage","env"]]],null,{"statements":[[4,"if",[[23,["showTitle"]]],null,{"statements":[[0," "],[7,"h3"],[9],[0,"Env"],[10],[0,"\\n"]],"parameters":[]},null],[0," "],[1,[27,"env-tab",null,[["message","currentEnvPosition","envChangedAction"],[[23,["currentMessage"]],[23,["currentEnvPosition"]],[23,["envChangedAction"]]]]],false],[0,"\\n"]],"parameters":[]},{"statements":[[4,"if",[[23,["loadingEnv"]]],null,{"statements":[[0," Loading env...\\n"]],"parameters":[]},{"statements":[[0," No env for this message.\\n "]],"parameters":[]}]],"parameters":[]}]],"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]]]],[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 "],[3,"action",[[22,0,[]],[22,1,["action"]]]],[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"}})
197
- e.default=t}),define("client-app/templates/components/message-row",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
198
- var t=Ember.HTMLBars.template({id:"pF0hQ9a+",block:'{"symbols":[],"statements":[[7,"div"],[11,"class","count"],[9],[0,"\\n"],[4,"if",[[23,["model","showCount"]]],null,{"statements":[[0," "],[1,[23,["model","count"]],false],[0,"\\n"]],"parameters":[]},null],[10],[0,"\\n"],[7,"div"],[11,"class","severity"],[9],[1,[23,["model","glyph"]],true],[10],[0,"\\n"],[7,"div"],[11,"class","message-body"],[9],[0,"\\n "],[1,[23,["model","displayMessage"]],false],[0,"\\n"],[10],[0,"\\n"],[7,"div"],[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,"div"],[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"}})
199
- e.default=t}),define("client-app/templates/components/page-nav",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
200
- var t=Ember.HTMLBars.template({id:"JzGCF3z8",block:'{"symbols":[],"statements":[[7,"button"],[12,"disabled",[21,"disableBackButtons"]],[11,"class","btn nav-btn no-text"],[9],[0,"\\n "],[7,"i"],[11,"class","fa fa-fast-backward"],[9],[10],[0,"\\n"],[3,"action",[[22,0,[]],"bigJump","back"]],[10],[0,"\\n"],[7,"button"],[12,"disabled",[21,"disableBackButtons"]],[11,"class","btn nav-btn no-text"],[9],[0,"\\n "],[7,"i"],[11,"class","fa fa-backward"],[9],[10],[0,"\\n"],[3,"action",[[22,0,[]],"takeStep","back"]],[10],[0,"\\n"],[7,"span"],[11,"class","current-number"],[9],[1,[21,"displayNumber"],false],[0,"/"],[1,[23,["list","length"]],false],[10],[0,"\\n"],[7,"button"],[12,"disabled",[21,"disableForwardButtons"]],[11,"class","btn nav-btn no-text"],[9],[0,"\\n "],[7,"i"],[11,"class","fa fa-forward"],[9],[10],[0,"\\n"],[3,"action",[[22,0,[]],"takeStep","front"]],[10],[0,"\\n"],[7,"button"],[12,"disabled",[21,"disableForwardButtons"]],[11,"class","btn nav-btn no-text"],[9],[0,"\\n "],[7,"i"],[11,"class","fa fa-fast-forward"],[9],[10],[0,"\\n"],[3,"action",[[22,0,[]],"bigJump","front"]],[10],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/page-nav.hbs"}})
201
- e.default=t}),define("client-app/templates/components/panel-resizer",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
202
- var t=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"}})
203
- e.default=t}),define("client-app/templates/components/patterns-list",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
204
- var t=Ember.HTMLBars.template({id:"VdI64njJ",block:'{"symbols":["pattern"],"statements":[[4,"if",[[23,["mutable"]]],null,{"statements":[[0," "],[7,"button"],[11,"class","btn new-pattern"],[9],[7,"i"],[11,"class","fa fa-plus"],[9],[10],[0," New"],[3,"action",[[22,0,[]],"create"]],[10],[0,"\\n"]],"parameters":[]},null],[4,"each",[[23,["allPatterns"]]],null,{"statements":[[0," "],[7,"div"],[11,"class","pattern-wrapper"],[9],[0,"\\n "],[1,[27,"input",null,[["type","class","placeholder","value","disabled"],["textfield","pattern-input","Enter regular expression…",[22,1,["valueBuffer"]],[27,"or",[[23,["immutable"]],[22,1,["saving"]]],null]]]],false],[0,"\\n"],[4,"if",[[23,["mutable"]]],null,{"statements":[[4,"if",[[22,1,["hasBuffer"]]],null,{"statements":[[0," "],[7,"button"],[12,"disabled",[22,1,["saving"]]],[11,"class","btn ok no-text save shrink"],[9],[0,"\\n "],[7,"i"],[11,"class","fa fa-check"],[9],[10],[0,"\\n "],[3,"action",[[22,0,[]],"save",[22,1,[]]]],[10],[0,"\\n"]],"parameters":[]},null],[0," "],[7,"button"],[12,"disabled",[22,1,["saving"]]],[11,"class","btn no-text trash shrink"],[9],[0,"\\n "],[7,"i"],[11,"class","fa fa-trash"],[9],[10],[0,"\\n "],[3,"action",[[22,0,[]],"trash",[22,1,[]]]],[10],[0,"\\n"]],"parameters":[]},null],[0,"\\n"],[4,"if",[[23,["showCounter"]]],null,{"statements":[[0," "],[7,"input"],[11,"disabled","true"],[11,"title","Number of logs that have been suppressed by this pattern"],[11,"class","count shrink"],[12,"value",[22,1,["count"]]],[9],[10],[0,"\\n "],[7,"button"],[11,"class","btn no-text reset shrink"],[11,"title","Reset count of suppressed logs"],[12,"disabled",[22,1,["zeroCount"]]],[9],[0,"\\n "],[7,"i"],[11,"class","fa fa-rotate-right"],[9],[10],[0,"\\n "],[3,"action",[[22,0,[]],"resetCount",[22,1,[]]]],[10],[0,"\\n"]],"parameters":[]},null],[0," "],[10],[0,"\\n"],[4,"if",[[23,["applyRetroactivelyCheckbox"]]],null,{"statements":[[4,"if",[[22,1,["isNew"]]],null,{"statements":[[0," "],[7,"div"],[11,"class","retro-checkbox"],[9],[0,"\\n "],[7,"input"],[12,"checked",[22,1,["retroactive"]]],[11,"class","checkbox"],[12,"onclick",[27,"action",[[22,0,[]],"checkboxChanged",[22,1,[]]],null]],[11,"type","checkbox"],[9],[10],[0,"\\n Apply retroactively\\n "],[10],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},null],[4,"if",[[22,1,["error"]]],null,{"statements":[[7,"pre"],[11,"class","api-error"],[9],[1,[22,1,["error"]],false],[10]],"parameters":[]},null]],"parameters":[1]},null]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/patterns-list.hbs"}})
205
- e.default=t}),define("client-app/templates/components/tabbed-section",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
206
- var t=Ember.HTMLBars.template({id:"zCP0V00P",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]]]],[9],[0,"\\n "],[1,[27,"unbound",[[22,1,["name"]]],null],false],[0,"\\n "],[3,"action",[[22,0,[]],[23,["selectTab"]],[22,1,[]]]],[10],[0,"\\n "],[10],[0,"\\n"]],"parameters":[1]},null],[10],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/tabbed-section.hbs"}})
207
- e.default=t}),define("client-app/templates/components/time-formatter",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
208
- var t=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"}})
209
- e.default=t}),define("client-app/templates/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
210
- var t=Ember.HTMLBars.template({id:"ZfZsvZU6",block:'{"symbols":["row"],"statements":[[7,"div"],[11,"id","top-panel"],[9],[0,"\\n "],[7,"div"],[11,"id","log-table"],[9],[0,"\\n"],[4,"if",[[23,["model","moreBefore"]]],null,{"statements":[[0," "],[7,"div"],[11,"class","show-more"],[9],[0,"\\n"],[4,"if",[[23,["model","hideCountInLoadMore"]]],null,{"statements":[[0," Load more\\n"]],"parameters":[]},{"statements":[[0," Select to see "],[1,[23,["model","totalBefore"]],false],[0," more\\n"]],"parameters":[]}],[0," "],[3,"action",[[22,0,[]],"showMoreBefore"]],[10],[0,"\\n"]],"parameters":[]},null],[4,"each",[[23,["model","rows"]]],null,{"statements":[[0," "],[1,[27,"message-row",null,[["model","selectRow"],[[22,1,[]],[27,"action",[[22,0,[]],"selectRowAction",[22,1,[]]],null]]]],false],[0,"\\n"]],"parameters":[1]},null],[0," "],[10],[0,"\\n"],[10],[0,"\\n"],[7,"div"],[11,"id","bottom-panel"],[12,"class",[28,[[27,"if",[[23,["model","currentRow","group"]],"group-view"],null]]]],[9],[0,"\\n"],[4,"if",[[23,["model","currentRow","group"]]],null,{"statements":[[0," "],[1,[27,"page-nav",null,[["list","position","extraClasses","navigate"],[[23,["model","currentRow","messages"]],[23,["model","currentGroupedMessagesPosition"]],"group-nav",[27,"action",[[22,0,[]],"groupedMessageChangedAction"],null]]]],false],[0,"\\n"]],"parameters":[]},null],[0," "],[1,[27,"message-info",null,[["currentMessage","loadingEnv","removeMessage","solveMessage","onTabChange","envChangedAction","currentEnvPosition","actionsInMenu"],[[23,["model","currentMessage"]],[23,["model","loadingEnv"]],[27,"action",[[22,0,[]],"removeMessage"],null],[27,"action",[[22,0,[]],"solveMessage"],null],[27,"action",[[22,0,[]],"tabChangedAction"],null],[27,"action",[[22,0,[]],"envChangedAction"],null],[23,["model","currentEnvPosition"]],[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 "],[7,"input"],[12,"checked",[21,"showDebug"]],[12,"onchange",[27,"action",[[22,0,[]],[27,"action",[[22,0,[]],"updateFilter","showDebug"],null]],null]],[11,"type","checkbox"],[9],[10],[0,"\\n "],[7,"span"],[9],[0,"Debug"],[10],[0,"\\n "],[10],[0,"\\n "],[7,"label"],[11,"class","info"],[9],[0,"\\n "],[7,"input"],[12,"checked",[21,"showInfo"]],[12,"onchange",[27,"action",[[22,0,[]],[27,"action",[[22,0,[]],"updateFilter","showInfo"],null]],null]],[11,"type","checkbox"],[9],[10],[0,"\\n "],[7,"span"],[9],[0,"Info"],[10],[0,"\\n "],[10],[0,"\\n "],[7,"label"],[11,"class","warn"],[9],[0,"\\n "],[7,"input"],[12,"checked",[21,"showWarn"]],[12,"onchange",[27,"action",[[22,0,[]],[27,"action",[[22,0,[]],"updateFilter","showWarn"],null]],null]],[11,"type","checkbox"],[9],[10],[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 "],[7,"input"],[12,"checked",[21,"showErr"]],[12,"onchange",[27,"action",[[22,0,[]],[27,"action",[[22,0,[]],"updateFilter","showErr"],null]],null]],[11,"type","checkbox"],[9],[10],[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 "],[7,"input"],[12,"checked",[21,"showFatal"]],[12,"onchange",[27,"action",[[22,0,[]],[27,"action",[[22,0,[]],"updateFilter","showFatal"],null]],null]],[11,"type","checkbox"],[9],[10],[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 "],[7,"input"],[11,"class","search"],[11,"placeholder","Search"],[12,"onkeyup",[27,"action",[[22,0,[]],"updateSearch"],[["value"],["target.value"]]]],[11,"type","text"],[9],[10],[0,"\\n "],[7,"div"],[11,"class","footer-btns"],[9],[0,"\\n"],[4,"if",[[23,["showSettings"]]],null,{"statements":[[4,"link-to",["settings"],[["class"],["settings btn no-text"]],{"statements":[[0," "],[7,"i"],[11,"class","fa fa-cog"],[9],[10],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},null],[0," "],[7,"button"],[11,"class","clear btn danger"],[9],[7,"i"],[11,"class","fa fa-trash-o"],[9],[10],[7,"span"],[9],[0,"Clear logs"],[10],[3,"action",[[22,0,[]],"clear"]],[10],[0,"\\n "],[10],[0,"\\n "],[10],[0,"\\n "],[10],[0,"\\n"],[10],[0,"\\n"],[1,[21,"panel-resizer"],false],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/index.hbs"}})
211
- e.default=t}),define("client-app/templates/settings",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
212
- var t=Ember.HTMLBars.template({id:"VCEsnuWV",block:'{"symbols":[],"statements":[[7,"div"],[11,"class","settings-page"],[9],[0,"\\n "],[4,"link-to",["index"],null,{"statements":[[0,"Home"]],"parameters":[]},null],[0,"\\n "],[7,"div"],[11,"class","settings-header"],[9],[0,"\\n "],[7,"h1"],[11,"class","header-title"],[9],[0,"Settings"],[10],[0,"\\n "],[7,"img"],[11,"class","header-logo"],[12,"src",[27,"logster-url",["images/icon_144x144.png"],null]],[9],[10],[0,"\\n "],[10],[0,"\\n\\n "],[7,"div"],[11,"class","settings-section suppression-patterns"],[9],[0,"\\n "],[7,"h2"],[11,"class","section-title"],[9],[0,"Suppression Patterns"],[10],[0,"\\n "],[7,"div"],[9],[0,"New messages that match these Regular Expression patterns will be suppressed. Checking Apply retroactively will remove all existing messages that match the patterns."],[10],[0,"\\n\\n"],[4,"if",[[23,["showCodedSuppression"]]],null,{"statements":[[0," "],[7,"h3"],[11,"class","subsection-title"],[9],[0,"Hard-coded patterns:"],[10],[0,"\\n "],[7,"div"],[11,"class","tip"],[9],[0,"These patterns can\'t be removed via the UI because they are commited to the source code of your app."],[10],[0,"\\n "],[1,[27,"patterns-list",null,[["patterns","mutable"],[[23,["codedSuppression"]],false]]],false],[0,"\\n"]],"parameters":[]},null],[0,"\\n "],[7,"h3"],[11,"class","subsection-title"],[9],[0,"Custom patterns:"],[10],[0,"\\n "],[1,[27,"patterns-list",null,[["patterns","key","applyRetroactivelyCheckbox","mutable"],[[23,["customSuppression"]],"suppression",true,true]]],false],[0,"\\n "],[10],[0,"\\n "],[7,"div"],[11,"class","settings-section grouping-patterns"],[9],[0,"\\n "],[7,"h2"],[11,"class","section-title"],[9],[0,"Grouping Patterns"],[10],[0,"\\n "],[7,"div"],[9],[0,"Add a Regular Expression pattern to group all new and existing messages into a single row when viewing the logs."],[10],[0,"\\n\\n "],[1,[27,"patterns-list",null,[["patterns","key","mutable"],[[23,["grouping"]],"grouping",true]]],false],[0,"\\n "],[10],[0,"\\n"],[10],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/settings.hbs"}})
213
- e.default=t}),define("client-app/templates/show",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
214
- var t=Ember.HTMLBars.template({id:"Z9BtSx7U",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","envChangedAction","currentEnvPosition","actionsInMenu"],[[23,["model"]],"true",[27,"action",[[22,0,[]],"envChanged"],null],[23,["envPosition"]],false]]],false],[0,"\\n"],[10],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/show.hbs"}})
215
- e.default=t}),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(decodeURIComponent(t))}
216
- 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+43e54768"})
222
+ e.default=a})),define("client-app/serializers/-default",["exports","@ember-data/serializer/json"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("client-app/serializers/-json-api",["exports","@ember-data/serializer/json-api"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("client-app/serializers/-rest",["exports","@ember-data/serializer/rest"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("client-app/services/store",["exports","ember-data/store"],(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=void 0
223
+ var t=Ember.HTMLBars.template({id:"Jmulcwk9",block:'{"symbols":[],"statements":[[1,[22,"update-time"],false],[0,"\\n"],[1,[22,"outlet"],false],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/application.hbs"}})
224
+ e.default=t})),define("client-app/templates/components/actions-menu",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
225
+ var t=Ember.HTMLBars.template({id:"0D8OukUv",block:'{"symbols":["&default"],"statements":[[4,"if",[[24,["actionsInMenu"]]],null,{"statements":[[4,"if",[[24,["showMenu"]]],null,{"statements":[[0," "],[7,"div",true],[10,"class","actions-menu"],[8],[0,"\\n "],[14,1],[0,"\\n "],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[7,"button",false],[12,"class","expand btn no-text"],[3,"action",[[23,0,[]],"expandMenu"]],[8],[7,"i",true],[10,"class","fa fa-ellipsis-h"],[8],[9],[9],[0,"\\n"],[4,"if",[[24,["showShare"]]],null,{"statements":[[0," "],[7,"button",false],[12,"class","share btn"],[3,"action",[[23,0,[]],"share"]],[8],[7,"i",true],[10,"class","fa fa-share"],[8],[9],[7,"span",true],[8],[0,"Share"],[9],[9],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},{"statements":[[0," "],[14,1],[0,"\\n"],[4,"if",[[24,["showShare"]]],null,{"statements":[[0," "],[7,"button",false],[12,"class","share btn"],[3,"action",[[23,0,[]],"share"]],[8],[7,"i",true],[10,"class","fa fa-share"],[8],[9],[7,"span",true],[8],[0,"Share"],[9],[9],[0,"\\n"]],"parameters":[]},null]],"parameters":[]}]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/actions-menu.hbs"}})
226
+ e.default=t})),define("client-app/templates/components/back-trace",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
227
+ var t=Ember.HTMLBars.template({id:"OLySMQ5Y",block:'{"symbols":["line"],"statements":[[4,"each",[[24,["lines"]]],null,{"statements":[[7,"div",true],[10,"class","backtrace-line"],[8],[1,[23,1,["line"]],false],[4,"if",[[23,1,["url"]]],null,{"statements":[[7,"a",true],[11,"href",[29,[[23,1,["url"]]]]],[10,"target","_blank"],[10,"class","line-link"],[8],[7,"i",true],[10,"class","fa fa-external-link-square"],[8],[9],[9]],"parameters":[]},null],[9]],"parameters":[1]},null]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/back-trace.hbs"}})
228
+ e.default=t})),define("client-app/templates/components/env-tab",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
229
+ var t=Ember.HTMLBars.template({id:"LEg262h6",block:'{"symbols":[],"statements":[[4,"if",[[24,["isEnvArray"]]],null,{"statements":[[0," "],[1,[28,"page-nav",null,[["list","position","extraClasses","navigate"],[[24,["message","env"]],[24,["currentEnvPosition"]],"env-nav",[24,["envChangedAction"]]]]],false],[0,"\\n"]],"parameters":[]},null],[1,[22,"html"],true],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/env-tab.hbs"}})
230
+ e.default=t})),define("client-app/templates/components/message-info",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
231
+ var t=Ember.HTMLBars.template({id:"xUaasKAn",block:'{"symbols":["btn"],"statements":[[7,"div",true],[10,"class","message-info"],[8],[0,"\\n"],[4,"tabbed-section",null,[["onTabChange"],[[28,"action",[[23,0,[]],"tabChanged"],null]]],{"statements":[[4,"tab-contents",null,[["name","hint","currentMessage"],["info","show info",[24,["currentMessage"]]]],{"statements":[[4,"if",[[24,["showTitle"]]],null,{"statements":[[0," "],[7,"h3",true],[8],[0,"Message\\n"],[4,"if",[[24,["currentMessage","showCount"]]],null,{"statements":[[0," ("],[1,[24,["currentMessage","count"]],false],[0," copies reported)\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[7,"pre",true],[8],[1,[24,["currentMessage","message"]],false],[9],[0,"\\n"]],"parameters":[]},null],[4,"tab-contents",null,[["name","defaultTab","hint","currentMessage"],["backtrace","true","show backtrace",[24,["currentMessage"]]]],{"statements":[[4,"if",[[24,["showTitle"]]],null,{"statements":[[0," "],[7,"h3",true],[8],[0,"Backtrace"],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[7,"pre",true],[8],[1,[28,"back-trace",null,[["class","backtrace","env"],["backtrace",[24,["currentMessage","backtrace"]],[24,["currentMessage","env"]]]]],false],[9],[0,"\\n"]],"parameters":[]},null],[4,"tab-contents",null,[["className","name","hint","currentMessage"],["env","env","show environment",[24,["currentMessage"]]]],{"statements":[[4,"if",[[24,["currentMessage"]]],null,{"statements":[[4,"if",[[24,["currentMessage","env"]]],null,{"statements":[[4,"if",[[24,["showTitle"]]],null,{"statements":[[0," "],[7,"h3",true],[8],[0,"Env"],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[1,[28,"env-tab",null,[["message","currentEnvPosition","envChangedAction"],[[24,["currentMessage"]],[24,["currentEnvPosition"]],[24,["envChangedAction"]]]]],false],[0,"\\n"]],"parameters":[]},{"statements":[[4,"if",[[24,["loadingEnv"]]],null,{"statements":[[0," Loading env...\\n"]],"parameters":[]},{"statements":[[0," No env for this message.\\n "]],"parameters":[]}]],"parameters":[]}]],"parameters":[]},null]],"parameters":[]},null]],"parameters":[]},null],[0,"\\n"],[4,"if",[[24,["currentMessage"]]],null,{"statements":[[0," "],[7,"div",true],[10,"class","message-actions"],[8],[0,"\\n"],[4,"actions-menu",null,[["actionsInMenu","showShare","share"],[[24,["actionsInMenu"]],[24,["showShare"]],[28,"action",[[23,0,[]],"share"],null]]],{"statements":[[4,"each",[[24,["buttons"]]],null,{"statements":[[0," "],[7,"button",false],[12,"class",[29,[[23,1,["klass"]]," btn ",[28,"if",[[23,1,["danger"]],"danger",""],null]]]],[3,"action",[[23,0,[]],[23,1,["action"]]]],[8],[0,"\\n "],[7,"i",true],[11,"class",[29,["fa fa-",[23,1,["icon"]]]]],[8],[9],[0,"\\n "],[7,"span",true],[8],[1,[23,1,["label"]],false],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[1]},null]],"parameters":[]},null],[0," "],[9],[0,"\\n"]],"parameters":[]},null],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/message-info.hbs"}})
232
+ e.default=t})),define("client-app/templates/components/message-row",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
233
+ var t=Ember.HTMLBars.template({id:"y51tJEuM",block:'{"symbols":[],"statements":[[7,"div",true],[10,"class","count"],[8],[0,"\\n"],[4,"if",[[24,["model","showCount"]]],null,{"statements":[[0," "],[1,[24,["model","count"]],false],[0,"\\n"]],"parameters":[]},null],[9],[0,"\\n"],[7,"div",true],[10,"class","severity"],[8],[1,[24,["model","glyph"]],true],[9],[0,"\\n"],[7,"div",true],[10,"class","message-body"],[8],[0,"\\n "],[1,[24,["model","displayMessage"]],false],[0,"\\n"],[9],[0,"\\n"],[7,"div",true],[10,"class","protected"],[8],[0,"\\n"],[4,"if",[[24,["model","protected"]]],null,{"statements":[[0," "],[7,"i",true],[10,"title","message is protected, clearing will not remove it"],[10,"class","fa fa-lock"],[8],[9],[0,"\\n"]],"parameters":[]},null],[9],[0,"\\n"],[7,"div",true],[10,"class","time"],[8],[1,[28,"time-formatter",null,[["timestamp"],[[24,["model","timestamp"]]]]],false],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/message-row.hbs"}})
234
+ e.default=t})),define("client-app/templates/components/page-nav",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
235
+ var t=Ember.HTMLBars.template({id:"LtWub9my",block:'{"symbols":[],"statements":[[7,"button",false],[12,"disabled",[22,"disableBackButtons"]],[12,"class","btn nav-btn no-text"],[3,"action",[[23,0,[]],"bigJump","back"]],[8],[0,"\\n "],[7,"i",true],[10,"class","fa fa-fast-backward"],[8],[9],[0,"\\n"],[9],[0,"\\n"],[7,"button",false],[12,"disabled",[22,"disableBackButtons"]],[12,"class","btn nav-btn no-text"],[3,"action",[[23,0,[]],"takeStep","back"]],[8],[0,"\\n "],[7,"i",true],[10,"class","fa fa-backward"],[8],[9],[0,"\\n"],[9],[0,"\\n"],[7,"span",true],[10,"class","current-number"],[8],[1,[22,"displayNumber"],false],[0,"/"],[1,[24,["list","length"]],false],[9],[0,"\\n"],[7,"button",false],[12,"disabled",[22,"disableForwardButtons"]],[12,"class","btn nav-btn no-text"],[3,"action",[[23,0,[]],"takeStep","front"]],[8],[0,"\\n "],[7,"i",true],[10,"class","fa fa-forward"],[8],[9],[0,"\\n"],[9],[0,"\\n"],[7,"button",false],[12,"disabled",[22,"disableForwardButtons"]],[12,"class","btn nav-btn no-text"],[3,"action",[[23,0,[]],"bigJump","front"]],[8],[0,"\\n "],[7,"i",true],[10,"class","fa fa-fast-forward"],[8],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/page-nav.hbs"}})
236
+ e.default=t})),define("client-app/templates/components/panel-resizer",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
237
+ var t=Ember.HTMLBars.template({id:"mMcWs7yM",block:'{"symbols":[],"statements":[[7,"div",true],[10,"class","line-1"],[8],[9],[0,"\\n"],[7,"div",true],[10,"class","line-2"],[8],[9],[0,"\\n"],[7,"div",true],[10,"class","line-3"],[8],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/panel-resizer.hbs"}})
238
+ e.default=t})),define("client-app/templates/components/patterns-list",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
239
+ var t=Ember.HTMLBars.template({id:"uOSj4xjF",block:'{"symbols":["pattern"],"statements":[[4,"if",[[24,["mutable"]]],null,{"statements":[[0," "],[7,"button",false],[12,"class","btn new-pattern"],[3,"action",[[23,0,[]],"create"]],[8],[7,"i",true],[10,"class","fa fa-plus"],[8],[9],[0," New"],[9],[0,"\\n"]],"parameters":[]},null],[4,"each",[[24,["allPatterns"]]],null,{"statements":[[0," "],[7,"div",true],[10,"class","pattern-wrapper"],[8],[0,"\\n "],[1,[28,"input",null,[["type","class","placeholder","value","disabled"],["textfield","pattern-input","Enter regular expression…",[23,1,["valueBuffer"]],[28,"or",[[24,["immutable"]],[23,1,["saving"]]],null]]]],false],[0,"\\n"],[4,"if",[[24,["mutable"]]],null,{"statements":[[4,"if",[[23,1,["hasBuffer"]]],null,{"statements":[[0," "],[7,"button",false],[12,"disabled",[23,1,["saving"]]],[12,"class","btn ok no-text save shrink"],[3,"action",[[23,0,[]],"save",[23,1,[]]]],[8],[0,"\\n "],[7,"i",true],[10,"class","fa fa-check"],[8],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[7,"button",false],[12,"disabled",[23,1,["saving"]]],[12,"class","btn no-text trash shrink"],[3,"action",[[23,0,[]],"trash",[23,1,[]]]],[8],[0,"\\n "],[7,"i",true],[10,"class","fa fa-trash"],[8],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[]},null],[0,"\\n"],[4,"if",[[24,["showCounter"]]],null,{"statements":[[0," "],[7,"input",true],[10,"disabled","true"],[10,"title","Number of logs that have been suppressed by this pattern"],[10,"class","count shrink"],[11,"value",[23,1,["count"]]],[8],[9],[0,"\\n "],[7,"button",false],[12,"class","btn no-text reset shrink"],[12,"title","Reset count of suppressed logs"],[12,"disabled",[23,1,["zeroCount"]]],[3,"action",[[23,0,[]],"resetCount",[23,1,[]]]],[8],[0,"\\n "],[7,"i",true],[10,"class","fa fa-rotate-right"],[8],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n"],[4,"if",[[24,["applyRetroactivelyCheckbox"]]],null,{"statements":[[4,"if",[[23,1,["isNew"]]],null,{"statements":[[0," "],[7,"div",true],[10,"class","retro-checkbox"],[8],[0,"\\n "],[7,"input",true],[11,"checked",[23,1,["retroactive"]]],[10,"class","checkbox"],[11,"onclick",[28,"action",[[23,0,[]],"checkboxChanged",[23,1,[]]],null]],[10,"type","checkbox"],[8],[9],[0,"\\n Apply retroactively\\n "],[9],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},null],[4,"if",[[23,1,["error"]]],null,{"statements":[[7,"pre",true],[10,"class","api-error"],[8],[1,[23,1,["error"]],false],[9]],"parameters":[]},null]],"parameters":[1]},null]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/patterns-list.hbs"}})
240
+ e.default=t})),define("client-app/templates/components/tabbed-section",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
241
+ var t=Ember.HTMLBars.template({id:"66JSiIiX",block:'{"symbols":["tab","&default"],"statements":[[14,2],[0,"\\n"],[7,"ul",true],[10,"class","tabs"],[8],[0,"\\n"],[4,"each",[[24,["tabs"]]],null,{"statements":[[0," "],[7,"li",true],[8],[0,"\\n "],[7,"a",false],[12,"title",[29,[[28,"unbound",[[23,1,["hint"]]],null]]]],[12,"href","#"],[12,"class",[29,[[28,"if",[[23,1,["active"]],"active"],null]]]],[3,"action",[[23,0,[]],[24,["selectTab"]],[23,1,[]]]],[8],[0,"\\n "],[1,[28,"unbound",[[23,1,["name"]]],null],false],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[1]},null],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/tabbed-section.hbs"}})
242
+ e.default=t})),define("client-app/templates/components/time-formatter",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
243
+ var t=Ember.HTMLBars.template({id:"Nb2l5Onl",block:'{"symbols":[],"statements":[[1,[22,"time"],false],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/components/time-formatter.hbs"}})
244
+ e.default=t})),define("client-app/templates/index",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
245
+ var t=Ember.HTMLBars.template({id:"2RzivmrL",block:'{"symbols":["row"],"statements":[[7,"div",true],[10,"id","top-panel"],[8],[0,"\\n "],[7,"div",true],[10,"id","log-table"],[8],[0,"\\n"],[4,"if",[[24,["model","moreBefore"]]],null,{"statements":[[0," "],[7,"div",false],[12,"class","show-more"],[3,"action",[[23,0,[]],"showMoreBefore"]],[8],[0,"\\n"],[4,"if",[[24,["model","hideCountInLoadMore"]]],null,{"statements":[[0," Load more\\n"]],"parameters":[]},{"statements":[[0," Select to see "],[1,[24,["model","totalBefore"]],false],[0," more\\n"]],"parameters":[]}],[0," "],[9],[0,"\\n"]],"parameters":[]},null],[4,"each",[[24,["model","rows"]]],null,{"statements":[[0," "],[1,[28,"message-row",null,[["model","selectRow"],[[23,1,[]],[28,"action",[[23,0,[]],"selectRowAction",[23,1,[]]],null]]]],false],[0,"\\n"]],"parameters":[1]},null],[0," "],[9],[0,"\\n"],[9],[0,"\\n"],[7,"div",true],[10,"id","bottom-panel"],[11,"class",[29,[[28,"if",[[24,["model","currentRow","group"]],"group-view"],null]]]],[8],[0,"\\n"],[4,"if",[[24,["model","currentRow","group"]]],null,{"statements":[[0," "],[1,[28,"page-nav",null,[["list","position","extraClasses","navigate"],[[24,["model","currentRow","messages"]],[24,["model","currentGroupedMessagesPosition"]],"group-nav",[28,"action",[[23,0,[]],"groupedMessageChangedAction"],null]]]],false],[0,"\\n"]],"parameters":[]},null],[0," "],[1,[28,"message-info",null,[["currentMessage","currentRow","loadingEnv","removeMessage","solveMessage","onTabChange","envChangedAction","currentEnvPosition","actionsInMenu","showShare","fetchEnv"],[[24,["model","currentMessage"]],[24,["model","currentRow"]],[24,["model","loadingEnv"]],[28,"action",[[23,0,[]],"removeMessage"],null],[28,"action",[[23,0,[]],"solveMessage"],null],[28,"action",[[23,0,[]],"tabChangedAction"],null],[28,"action",[[23,0,[]],"envChangedAction"],null],[24,["model","currentEnvPosition"]],[24,["actionsInMenu"]],true,[24,["model","fetchEnv"]]]]],false],[0,"\\n\\n "],[7,"div",true],[10,"class","action-panel"],[8],[0,"\\n "],[7,"div",true],[10,"class","severity-filters"],[8],[0,"\\n "],[7,"div",true],[10,"class","more-wrapping"],[8],[0,"\\n "],[7,"label",true],[10,"class","debug"],[8],[0,"\\n "],[7,"input",true],[11,"checked",[22,"showDebug"]],[11,"onchange",[28,"action",[[23,0,[]],[28,"action",[[23,0,[]],"updateFilter","showDebug"],null]],null]],[10,"type","checkbox"],[8],[9],[0,"\\n "],[7,"span",true],[8],[0,"Debug"],[9],[0,"\\n "],[9],[0,"\\n "],[7,"label",true],[10,"class","info"],[8],[0,"\\n "],[7,"input",true],[11,"checked",[22,"showInfo"]],[11,"onchange",[28,"action",[[23,0,[]],[28,"action",[[23,0,[]],"updateFilter","showInfo"],null]],null]],[10,"type","checkbox"],[8],[9],[0,"\\n "],[7,"span",true],[8],[0,"Info"],[9],[0,"\\n "],[9],[0,"\\n "],[7,"label",true],[10,"class","warn"],[8],[0,"\\n "],[7,"input",true],[11,"checked",[22,"showWarn"]],[11,"onchange",[28,"action",[[23,0,[]],[28,"action",[[23,0,[]],"updateFilter","showWarn"],null]],null]],[10,"type","checkbox"],[8],[9],[0,"\\n "],[7,"i",true],[10,"class","fa fa-exclamation-circle warning"],[8],[9],[0,"\\n "],[7,"span",true],[8],[0,"Warning"],[9],[0,"\\n "],[9],[0,"\\n "],[7,"label",true],[10,"class","error"],[8],[0,"\\n "],[7,"input",true],[11,"checked",[22,"showErr"]],[11,"onchange",[28,"action",[[23,0,[]],[28,"action",[[23,0,[]],"updateFilter","showErr"],null]],null]],[10,"type","checkbox"],[8],[9],[0,"\\n "],[7,"i",true],[10,"class","fa fa-times-circle error"],[8],[9],[0,"\\n "],[7,"span",true],[8],[0,"Error"],[9],[0,"\\n "],[9],[0,"\\n "],[7,"label",true],[10,"class","fatal"],[8],[0,"\\n "],[7,"input",true],[11,"checked",[22,"showFatal"]],[11,"onchange",[28,"action",[[23,0,[]],[28,"action",[[23,0,[]],"updateFilter","showFatal"],null]],null]],[10,"type","checkbox"],[8],[9],[0,"\\n "],[7,"i",true],[10,"class","fa fa-times-circle fatal"],[8],[9],[0,"\\n "],[7,"span",true],[8],[0,"Fatal"],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n "],[7,"div",true],[10,"class","search-clear-all"],[8],[0,"\\n "],[7,"input",true],[10,"class","search"],[10,"placeholder","Search"],[11,"onkeyup",[28,"action",[[23,0,[]],"updateSearch"],[["value"],["target.value"]]]],[10,"type","text"],[8],[9],[0,"\\n "],[7,"div",true],[10,"class","footer-btns"],[8],[0,"\\n"],[4,"if",[[24,["showSettings"]]],null,{"statements":[[4,"link-to",null,[["class","route"],["settings btn no-text","settings"]],{"statements":[[0," "],[7,"i",true],[10,"class","fa fa-cog"],[8],[9],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},null],[0," "],[7,"button",false],[12,"class","clear btn danger"],[3,"action",[[23,0,[]],"clear"]],[8],[7,"i",true],[10,"class","fa fa-trash-o"],[8],[9],[7,"span",true],[8],[0,"Clear logs"],[9],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"],[1,[22,"panel-resizer"],false],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/index.hbs"}})
246
+ e.default=t})),define("client-app/templates/settings",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
247
+ var t=Ember.HTMLBars.template({id:"QRu+EVou",block:'{"symbols":[],"statements":[[7,"div",true],[10,"class","settings-page"],[8],[0,"\\n "],[4,"link-to",null,[["route"],["index"]],{"statements":[[0,"Home"]],"parameters":[]},null],[0,"\\n "],[7,"div",true],[10,"class","settings-header"],[8],[0,"\\n "],[7,"h1",true],[10,"class","header-title"],[8],[0,"Settings"],[9],[0,"\\n "],[7,"img",true],[10,"class","header-logo"],[11,"src",[28,"logster-url",["images/icon_144x144.png"],null]],[8],[9],[0,"\\n "],[9],[0,"\\n\\n "],[7,"div",true],[10,"class","settings-section suppression-patterns"],[8],[0,"\\n "],[7,"h2",true],[10,"class","section-title"],[8],[0,"Suppression Patterns"],[9],[0,"\\n "],[7,"div",true],[8],[0,"New messages that match these Regular Expression patterns will be suppressed. Checking Apply retroactively will remove all existing messages that match the patterns."],[9],[0,"\\n\\n"],[4,"if",[[24,["showCodedSuppression"]]],null,{"statements":[[0," "],[7,"h3",true],[10,"class","subsection-title"],[8],[0,"Hard-coded patterns:"],[9],[0,"\\n "],[7,"div",true],[10,"class","tip"],[8],[0,"These patterns can\'t be removed via the UI because they are commited to the source code of your app."],[9],[0,"\\n "],[1,[28,"patterns-list",null,[["patterns","mutable"],[[24,["codedSuppression"]],false]]],false],[0,"\\n"]],"parameters":[]},null],[0,"\\n "],[7,"h3",true],[10,"class","subsection-title"],[8],[0,"Custom patterns:"],[9],[0,"\\n "],[1,[28,"patterns-list",null,[["patterns","key","applyRetroactivelyCheckbox","mutable"],[[24,["customSuppression"]],"suppression",true,true]]],false],[0,"\\n "],[9],[0,"\\n "],[7,"div",true],[10,"class","settings-section grouping-patterns"],[8],[0,"\\n "],[7,"h2",true],[10,"class","section-title"],[8],[0,"Grouping Patterns"],[9],[0,"\\n "],[7,"div",true],[8],[0,"Add a Regular Expression pattern to group all new and existing messages into a single row when viewing the logs."],[9],[0,"\\n\\n "],[1,[28,"patterns-list",null,[["patterns","key","mutable"],[[24,["grouping"]],"grouping",true]]],false],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/settings.hbs"}})
248
+ e.default=t})),define("client-app/templates/show",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
249
+ var t=Ember.HTMLBars.template({id:"Xt+M1cRV",block:'{"symbols":[],"statements":[[4,"link-to",null,[["route"],["index"]],{"statements":[[0,"Recent"]],"parameters":[]},null],[0,"\\n"],[7,"div",true],[10,"id","bottom-panel"],[10,"class","full"],[8],[0,"\\n "],[1,[28,"message-info",null,[["currentMessage","showTitle","envChangedAction","currentEnvPosition","actionsInMenu"],[[24,["model"]],"true",[28,"action",[[23,0,[]],"envChanged"],null],[24,["envPosition"]],false]]],false],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"client-app/templates/show.hbs"}})
250
+ e.default=t}))
251
+ define("client-app/transforms/boolean",["exports","@ember-data/serializer/-private"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.BooleanTransform}})})),define("client-app/transforms/date",["exports","@ember-data/serializer/-private"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.DateTransform}})})),define("client-app/transforms/number",["exports","@ember-data/serializer/-private"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.NumberTransform}})})),define("client-app/transforms/string",["exports","@ember-data/serializer/-private"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.StringTransform}})})),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(decodeURIComponent(t))}
252
+ 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+58c5cd3f"})