logster 2.15.0 → 2.17.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 23419b94f8bfe53e7622e10040cfc9e586e6781bfdd48c1b42c35996ff69354d
4
- data.tar.gz: 07f5e7dc0940195515abbbf1feadd7ba8e7c33321bcecccdce471e90bd3ac423
3
+ metadata.gz: c9e087ab906cb53b0864cbae56f1479010bd61c761a3debf03dc1c6d215b23fd
4
+ data.tar.gz: 66a3952e9374ef55dd28833f1f8ac2a05aecc55026517423afd00e36cd1b2de6
5
5
  SHA512:
6
- metadata.gz: 2a8e49f11ebd077e9d4820c0f8f16ad13b3540fde494afe31a6d873cb5ee689310819c7b38fba906eb6ecc37a563fa2a1c8f75740c0fb1ee9017a98fe91b3452
7
- data.tar.gz: 14a266428ce1f6e2062d22836688d33d19d92fe182647552e6173e88882d472f8b6c998b3e6f1872706b2c79eec614eb64d2c3ab0d5b0986626b56deef8c59cd
6
+ metadata.gz: 0c5810d7a7de4ceeec360aee11699dc1d2138ec9bce2967c33621871ded17756fa35f56acc8cb382fa46b7b76a3ea81aff6f29cd655012211e8c4bf0d64d13d6
7
+ data.tar.gz: ec4132020bc2b8e195d1e196a83bf9f9049452e05c615310136ec5bbddc5870a4f1f84e633b18288e4ea0a3f26dc580eb1ca1ce885b8241e75dfa25b639bd7a5
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # CHANGELOG
2
2
 
3
+ - 2024-02-15: 2.17.0
4
+
5
+ - FEATURE: backlink to site
6
+
7
+ - 2024-01-19: 2.16.0
8
+
9
+ - FEATURE: Add inline grouping pattern creation
10
+
11
+ - 2024-01-16: 2.15.0
12
+
13
+ - FEATURE: Add loading spinner
14
+
3
15
  - 2024-01-15: 2.14.0
4
16
 
5
17
  - FEATURE: Stop grouping logs with different messages
data/README.md CHANGED
@@ -62,6 +62,10 @@ Logster can be configured using `Logster.config`:
62
62
 
63
63
  - `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).
64
64
 
65
+ - `Logster.config.back_to_site_link_path` : Path for the backlink to site.
66
+
67
+ - `Logster.config.back_to_site_link_text` : Text for the backlink to site.
68
+
65
69
  ### Tracking Error Rate
66
70
 
67
71
  Logster allows you to register a callback when the rate of errors has exceeded
@@ -1,6 +1,6 @@
1
1
  var __ember_auto_import__
2
- !function(){var e,r={886:function(e,r,n){var o,t
3
- e.exports=(o=_eai_d,t=_eai_r,window.emberAutoImportDynamic=function(e){return 1===arguments.length?t("_eai_dyn_"+e):t("_eai_dynt_"+e)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(e){return t("_eai_sync_"+e)(Array.prototype.slice.call(arguments,1))},o("__v1-addons__early-boot-set__",[],(function(){})),void o("sinon",["__v1-addons__early-boot-set__"],(function(){return n(468)})))},851:function(e,r){window._eai_r=require,window._eai_d=define}},n={}
2
+ !function(){var e,r={109:function(e,r,n){var o,t
3
+ e.exports=(o=_eai_d,t=_eai_r,window.emberAutoImportDynamic=function(e){return 1===arguments.length?t("_eai_dyn_"+e):t("_eai_dynt_"+e)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(e){return t("_eai_sync_"+e)(Array.prototype.slice.call(arguments,1))},o("__v1-addons__early-boot-set__",[],(function(){})),void o("sinon",["__v1-addons__early-boot-set__"],(function(){return n(468)})))},477:function(e,r){window._eai_r=require,window._eai_d=define}},n={}
4
4
  function o(e){var t=n[e]
5
5
  if(void 0!==t)return t.exports
6
6
  var i=n[e]={exports:{}}
@@ -17,6 +17,6 @@ var r=function(r,n){var t,i,u=n[0],_=n[1],a=n[2],f=0
17
17
  if(u.some((function(r){return 0!==e[r]}))){for(t in _)o.o(_,t)&&(o.m[t]=_[t])
18
18
  if(a)var c=a(o)}for(r&&r(n);f<u.length;f++)i=u[f],o.o(e,i)&&e[i]&&e[i][0](),e[i]=0
19
19
  return o.O(c)},n=self.webpackChunk_ember_auto_import_=self.webpackChunk_ember_auto_import_||[]
20
- n.forEach(r.bind(null,0)),n.push=r.bind(null,n.push.bind(n))}(),o.O(void 0,[468],(function(){return o(851)}))
21
- var t=o.O(void 0,[468],(function(){return o(886)}))
20
+ n.forEach(r.bind(null,0)),n.push=r.bind(null,n.push.bind(n))}(),o.O(void 0,[468],(function(){return o(477)}))
21
+ var t=o.O(void 0,[468],(function(){return o(109)}))
22
22
  t=o.O(t),__ember_auto_import__=t}()
@@ -1,5 +1,5 @@
1
1
  var __ember_auto_import__
2
- !function(){var r,n={851:function(r,n){window._eai_r=require,window._eai_d=define},702:function(r,n,e){var t,o
2
+ !function(){var r,n={477:function(r,n){window._eai_r=require,window._eai_d=define},553:function(r,n,e){var t,o
3
3
  r.exports=(t=_eai_d,o=_eai_r,window.emberAutoImportDynamic=function(r){return 1===arguments.length?o("_eai_dyn_"+r):o("_eai_dynt_"+r)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(r){return o("_eai_sync_"+r)(Array.prototype.slice.call(arguments,1))},t("__v1-addons__early-boot-set__",[],(function(){})),void t("qunit",["__v1-addons__early-boot-set__"],(function(){return e(916)})))}},e={}
4
4
  function t(r){var o=e[r]
5
5
  if(void 0!==o)return o.exports
@@ -17,6 +17,6 @@ var n=function(n,e){var o,i,_=e[0],u=e[1],a=e[2],c=0
17
17
  if(_.some((function(n){return 0!==r[n]}))){for(o in u)t.o(u,o)&&(t.m[o]=u[o])
18
18
  if(a)var f=a(t)}for(n&&n(e);c<_.length;c++)i=_[c],t.o(r,i)&&r[i]&&r[i][0](),r[i]=0
19
19
  return t.O(f)},e=self.webpackChunk_ember_auto_import_=self.webpackChunk_ember_auto_import_||[]
20
- e.forEach(n.bind(null,0)),e.push=n.bind(null,e.push.bind(e))}(),t.O(void 0,[916],(function(){return t(851)}))
21
- var o=t.O(void 0,[916],(function(){return t(702)}))
20
+ e.forEach(n.bind(null,0)),e.push=n.bind(null,e.push.bind(e))}(),t.O(void 0,[916],(function(){return t(477)}))
21
+ var o=t.O(void 0,[916],(function(){return t(553)}))
22
22
  o=t.O(o),__ember_auto_import__=o}()
@@ -1,5 +1,5 @@
1
1
  "use strict"
2
- function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}define("client-app/app",["exports","@ember/application","ember-resolver","ember-load-initializers","client-app/config/environment"],(function(e,t,r,n,o){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function a(e,t){for(var r=0;r<t.length;r++){var n=t[r]
2
+ function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}define("client-app/app",["exports","@ember/application","ember-resolver","ember-load-initializers","client-app/config/environment"],(function(e,t,r,n,o){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function a(e,t){for(var r=0;r<t.length;r++){var n=t[r]
3
3
  n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,p(n.key),n)}}function c(e,t){return c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},c(e,t)}function u(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
4
4
  if(Reflect.construct.sham)return!1
5
5
  if("function"==typeof Proxy)return!0
@@ -49,6 +49,27 @@ var t,r,n,o=f(i)
49
49
  function i(){var e,t,r,n;(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,i)
50
50
  for(var a=arguments.length,c=new Array(a),u=0;u<a;u++)c[u]=arguments[u]
51
51
  return e=o.call.apply(o,[this].concat(c)),t=s(e),n=!1,(r=y(r="showMenu"))in t?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,e}return t=i,r=[{key:"willDestroyElement",value:function(){u(p(i.prototype),"willDestroyElement",this).apply(this,arguments),this.removeOutsideClickHandler()}},{key:"outsideClickHandler",value:function(e){this.element&&!this.element.contains(e.target)&&this.element!==e.target&&(this.set("showMenu",!1),this.updateMenu())}},{key:"updateMenu",value:function(){this.showMenu?this.addOutsideClickHandler():this.removeOutsideClickHandler()}},{key:"addOutsideClickHandler",value:function(){document.addEventListener("click",this.outsideClickHandler)}},{key:"removeOutsideClickHandler",value:function(){document.removeEventListener("click",this.outsideClickHandler)}},{key:"expandMenu",value:function(){this.toggleProperty("showMenu"),this.updateMenu()}}],r&&c(t.prototype,r),n&&c(t,n),Object.defineProperty(t,"prototype",{writable:!1}),i}(r.default),d(a.prototype,"outsideClickHandler",[n.bound],Object.getOwnPropertyDescriptor(a.prototype,"outsideClickHandler"),a.prototype),d(a.prototype,"expandMenu",[o.action],Object.getOwnPropertyDescriptor(a.prototype,"expandMenu"),a.prototype),i=a))||i
52
+ e.default=h})),define("client-app/components/back-to-site-link",["exports","@ember/component","@ember/object"],(function(e,t,r){var n,o
53
+ function i(e,t){for(var r=0;r<t.length;r++){var n=t[r]
54
+ n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,(o=n.key,i=void 0,i=function(e,t){if("object"!==_typeof(e)||null===e)return e
55
+ var r=e[Symbol.toPrimitive]
56
+ if(void 0!==r){var n=r.call(e,t||"default")
57
+ if("object"!==_typeof(n))return n
58
+ throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(o,"string"),"symbol"===_typeof(i)?i:String(i)),n)}var o,i}function a(e,t){return a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},a(e,t)}function c(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
59
+ if(Reflect.construct.sham)return!1
60
+ if("function"==typeof Proxy)return!0
61
+ try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}()
62
+ return function(){var r,n=u(e)
63
+ if(t){var o=u(this).constructor
64
+ r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments)
65
+ return function(e,t){if(t&&("object"===_typeof(t)||"function"==typeof t))return t
66
+ if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined")
67
+ return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
68
+ return e}(e)}(this,r)}}function u(e){return u=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},u(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
69
+ var l,f,s,p,y,d,h=(n=(0,r.computed)("attrs.text","attrs.path"),o=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
70
+ e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&a(e,t)})(u,e)
71
+ var t,r,n,o=c(u)
72
+ function u(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u),o.apply(this,arguments)}return t=u,(r=[{key:"shouldDisplay",get:function(){return this.text&&this.path}}])&&i(t.prototype,r),n&&i(t,n),Object.defineProperty(t,"prototype",{writable:!1}),u}(t.default),l=o.prototype,f="shouldDisplay",s=[n],p=Object.getOwnPropertyDescriptor(o.prototype,"shouldDisplay"),y=o.prototype,d={},Object.keys(p).forEach((function(e){d[e]=p[e]})),d.enumerable=!!d.enumerable,d.configurable=!!d.configurable,("value"in d||d.initializer)&&(d.writable=!0),d=s.slice().reverse().reduce((function(e,t){return t(l,f,e)||e}),d),y&&void 0!==d.initializer&&(d.value=d.initializer?d.initializer.call(y):void 0,d.initializer=void 0),void 0===d.initializer&&(Object.defineProperty(l,f,d),d=null),o)
52
73
  e.default=h})),define("client-app/components/back-trace",["exports","@ember/object","@ember/component","client-app/lib/preload"],(function(e,t,r,n){var o,i,a
53
74
  function c(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]
54
75
  if(null!=r){var n,o,i,a,c=[],u=!0,l=!1
@@ -461,46 +482,53 @@ var b=6e4,m=(a=(0,t.tagName)(""),c=(0,r.computed)("timestamp"),u=(0,r.computed)(
461
482
  e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&y(e,t)})(c,e)
462
483
  var t,r,n,a=d(c)
463
484
  function c(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),a.apply(this,arguments)}return t=c,r=[{key:"didInsertElement",value:function(){p(h(c.prototype),"didInsertElement",this).apply(this,arguments),(0,i.later)(this,this.updateTime,b)}},{key:"title",get:function(){return moment(this.timestamp).format()}},{key:"time",get:function(){return(0,o.formatTime)(this.timestamp)}},{key:"updateTime",value:function(){this.isDestroying||this.isDestroyed||(this.notifyPropertyChange("timestamp"),(0,i.later)(this,this.updateTime,b))}}],r&&s(t.prototype,r),n&&s(t,n),Object.defineProperty(t,"prototype",{writable:!1}),c}(n.default),v(f.prototype,"title",[c],Object.getOwnPropertyDescriptor(f.prototype,"title"),f.prototype),v(f.prototype,"time",[u],Object.getOwnPropertyDescriptor(f.prototype,"time"),f.prototype),l=f))||l)
464
- e.default=m})),define("client-app/controllers/index",["exports","@ember/runloop","@ember/object","@ember/controller","client-app/lib/utilities","client-app/lib/preload","@glimmer/tracking"],(function(e,t,r,n,o,i,a){var c,u,l
465
- function f(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */f=function(){return e}
485
+ e.default=m})),define("client-app/controllers/index",["exports","@ember/runloop","@ember/object","@ember/controller","client-app/lib/utilities","client-app/lib/preload","@glimmer/tracking"],(function(e,t,r,n,o,i,a){var c,u,l,f,s
486
+ function p(e){return function(e){if(Array.isArray(e))return y(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return
487
+ if("string"==typeof e)return y(e,t)
488
+ var r=Object.prototype.toString.call(e).slice(8,-1)
489
+ "Object"===r&&e.constructor&&(r=e.constructor.name)
490
+ if("Map"===r||"Set"===r)return Array.from(e)
491
+ if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return y(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(e,t){(null==t||t>e.length)&&(t=e.length)
492
+ for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r]
493
+ return n}function d(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */d=function(){return e}
466
494
  var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag"
467
- function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(L){u=function(e,t,r){return e[t]=r}}function l(e,t,r,o){var i=t&&t.prototype instanceof y?t:y,a=Object.create(i.prototype),c=new k(o||[])
468
- return n(a,"_invoke",{value:j(e,r,c)}),a}function s(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l
469
- var p={}
470
- function y(){}function d(){}function h(){}var v={}
495
+ function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(L){u=function(e,t,r){return e[t]=r}}function l(e,t,r,o){var i=t&&t.prototype instanceof p?t:p,a=Object.create(i.prototype),c=new k(o||[])
496
+ return n(a,"_invoke",{value:j(e,r,c)}),a}function f(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l
497
+ var s={}
498
+ function p(){}function y(){}function h(){}var v={}
471
499
  u(v,i,(function(){return this}))
472
500
  var b=Object.getPrototypeOf,m=b&&b(b(S([])))
473
501
  m&&m!==t&&r.call(m,i)&&(v=m)
474
- var g=h.prototype=y.prototype=Object.create(v)
475
- function w(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function O(e,t){function o(n,i,a,c){var u=s(e[n],e,i)
476
- if("throw"!==u.type){var l=u.arg,f=l.value
477
- return f&&"object"==_typeof(f)&&r.call(f,"__await")?t.resolve(f.__await).then((function(e){o("next",e,a,c)}),(function(e){o("throw",e,a,c)})):t.resolve(f).then((function(e){l.value=e,a(l)}),(function(e){return o("throw",e,a,c)}))}c(u.arg)}var i
502
+ var g=h.prototype=p.prototype=Object.create(v)
503
+ function w(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function O(e,t){function o(n,i,a,c){var u=f(e[n],e,i)
504
+ if("throw"!==u.type){var l=u.arg,s=l.value
505
+ return s&&"object"==_typeof(s)&&r.call(s,"__await")?t.resolve(s.__await).then((function(e){o("next",e,a,c)}),(function(e){o("throw",e,a,c)})):t.resolve(s).then((function(e){l.value=e,a(l)}),(function(e){return o("throw",e,a,c)}))}c(u.arg)}var i
478
506
  n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return i=i?i.then(n,n):n()}})}function j(e,t,r){var n="suspendedStart"
479
507
  return function(o,i){if("executing"===n)throw new Error("Generator is already running")
480
508
  if("completed"===n){if("throw"===o)throw i
481
509
  return E()}for(r.method=o,r.arg=i;;){var a=r.delegate
482
510
  if(a){var c=P(a,r)
483
- if(c){if(c===p)continue
511
+ if(c){if(c===s)continue
484
512
  return c}}if("next"===r.method)r.sent=r._sent=r.arg
485
513
  else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg
486
514
  r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg)
487
515
  n="executing"
488
- var u=s(e,t,r)
489
- if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===p)continue
516
+ var u=f(e,t,r)
517
+ if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===s)continue
490
518
  return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}function P(e,t){var r=t.method,n=e.iterator[r]
491
- if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,P(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),p
492
- var o=s(n,e.iterator,t.arg)
493
- if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,p
519
+ if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,P(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),s
520
+ var o=f(n,e.iterator,t.arg)
521
+ if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,s
494
522
  var i=o.arg
495
- return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,p):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,p)}function _(e){var t={tryLoc:e[0]}
523
+ return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,s):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,s)}function _(e){var t={tryLoc:e[0]}
496
524
  1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function x(e){var t=e.completion||{}
497
525
  t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(_,this),this.reset(!0)}function S(e){if(e){var t=e[i]
498
526
  if(t)return t.call(e)
499
527
  if("function"==typeof e.next)return e
500
528
  if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t
501
529
  return t.value=void 0,t.done=!0,t}
502
- return o.next=o}}return{next:E}}function E(){return{value:void 0,done:!0}}return d.prototype=h,n(g,"constructor",{value:h,configurable:!0}),n(h,"constructor",{value:d,configurable:!0}),d.displayName=u(h,c,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor
503
- return!!t&&(t===d||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,u(e,c,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},w(O.prototype),u(O.prototype,a,(function(){return this})),e.AsyncIterator=O,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise)
530
+ return o.next=o}}return{next:E}}function E(){return{value:void 0,done:!0}}return y.prototype=h,n(g,"constructor",{value:h,configurable:!0}),n(h,"constructor",{value:y,configurable:!0}),y.displayName=u(h,c,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor
531
+ return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,u(e,c,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},w(O.prototype),u(O.prototype,a,(function(){return this})),e.AsyncIterator=O,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise)
504
532
  var a=new O(l(t,r,n,o),i)
505
533
  return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},w(g),u(g,c,"Generator"),u(g,i,(function(){return this})),u(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[]
506
534
  for(var n in t)r.push(n)
@@ -519,51 +547,59 @@ if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(va
519
547
  if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o
520
548
  break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null)
521
549
  var a=i?i.completion:{}
522
- return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,p):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg
523
- return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),p},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t]
524
- if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),x(r),p}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t]
550
+ return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,s):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg
551
+ return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),s},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t]
552
+ if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),x(r),s}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t]
525
553
  if(r.tryLoc===e){var n=r.completion
526
554
  if("throw"===n.type){var o=n.arg
527
- x(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:S(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),p}},e}function s(e,t,r,n,o,i,a){try{var c=e[i](a),u=c.value}catch(l){return void r(l)}c.done?t(u):Promise.resolve(u).then(n,o)}function p(e){return function(){var t=this,r=arguments
555
+ x(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:S(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),s}},e}function h(e,t,r,n,o,i,a){try{var c=e[i](a),u=c.value}catch(l){return void r(l)}c.done?t(u):Promise.resolve(u).then(n,o)}function v(e){return function(){var t=this,r=arguments
528
556
  return new Promise((function(n,o){var i=e.apply(t,r)
529
- function a(e){s(i,n,o,a,c,"next",e)}function c(e){s(i,n,o,a,c,"throw",e)}a(void 0)}))}}function y(e,t){for(var r=0;r<t.length;r++){var n=t[r]
530
- n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,g(n.key),n)}}function d(e,t){return d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},d(e,t)}function h(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
557
+ function a(e){h(i,n,o,a,c,"next",e)}function c(e){h(i,n,o,a,c,"throw",e)}a(void 0)}))}}function b(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function m(e,t){for(var r=0;r<t.length;r++){var n=t[r]
558
+ n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,_(n.key),n)}}function g(e,t){return g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},g(e,t)}function w(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
531
559
  if(Reflect.construct.sham)return!1
532
560
  if("function"==typeof Proxy)return!0
533
561
  try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}()
534
- return function(){var r,n=b(e)
535
- if(t){var o=b(this).constructor
562
+ return function(){var r,n=j(e)
563
+ if(t){var o=j(this).constructor
536
564
  r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments)
537
565
  return function(e,t){if(t&&("object"===_typeof(t)||"function"==typeof t))return t
538
566
  if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined")
539
- return v(e)}(this,r)}}function v(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
540
- return e}function b(e){return b=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},b(e)}function m(e,t,r){return(t=g(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function g(e){var t=function(e,t){if("object"!==_typeof(e)||null===e)return e
567
+ return O(e)}(this,r)}}function O(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
568
+ return e}function j(e){return j=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},j(e)}function P(e,t,r){return(t=_(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _(e){var t=function(e,t){if("object"!==_typeof(e)||null===e)return e
541
569
  var r=e[Symbol.toPrimitive]
542
570
  if(void 0!==r){var n=r.call(e,t||"default")
543
571
  if("object"!==_typeof(n))return n
544
572
  throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
545
- return"symbol"===_typeof(t)?t:String(t)}function w(e,t,r,n,o){var i={}
573
+ return"symbol"===_typeof(t)?t:String(t)}function x(e,t,r,n,o){var i={}
546
574
  return Object.keys(n).forEach((function(e){i[e]=n[e]})),i.enumerable=!!i.enumerable,i.configurable=!!i.configurable,("value"in i||i.initializer)&&(i.writable=!0),i=r.slice().reverse().reduce((function(r,n){return n(e,t,r)||r}),i),o&&void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(o):void 0,i.initializer=void 0),void 0===i.initializer&&(Object.defineProperty(e,t,i),i=null),i}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
547
- var O=(c=(0,r.computed)("search"),u=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
548
- e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&d(e,t)})(g,e)
549
- var r,n,a,c,u,s,b=h(g)
550
- function g(){var e,t,r,n,i;(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,g)
551
- for(var a=arguments.length,c=new Array(a),u=0;u<a;u++)c[u]=arguments[u]
552
- return e=b.call.apply(b,[this].concat(c)),t=v(e),r="loading",n=l,i=v(e),n&&Object.defineProperty(t,r,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(i):void 0}),m(v(e),"showDebug",(0,o.getLocalStorage)("showDebug",!1)),m(v(e),"showInfo",(0,o.getLocalStorage)("showInfo",!1)),m(v(e),"showWarn",(0,o.getLocalStorage)("showWarn",!0)),m(v(e),"showErr",(0,o.getLocalStorage)("showErr",!0)),m(v(e),"showFatal",(0,o.getLocalStorage)("showFatal",!0)),m(v(e),"search",null),m(v(e),"queryParams",["search"]),e}return r=g,n=[{key:"showSettings",get:function(){return i.default.get("patterns_enabled")}},{key:"actionsInMenu",get:function(){return/mobile/i.test(navigator.userAgent)&&!/iPad/.test(navigator.userAgent)}},{key:"searchTerm",get:function(){return this.search?(this.doSearch(this.search),this.search):null}},{key:"doSearch",value:(s=p(f().mark((function e(t){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.model.set("search",t),this.loading=!0,e.next=4,this.model.reload()
575
+ var k=(c=(0,r.computed)("search"),u=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
576
+ e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&g(e,t)})(_,e)
577
+ var r,n,a,c,u,y,h,j=w(_)
578
+ function _(){var e;(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,_)
579
+ for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n]
580
+ return b(O(e=j.call.apply(j,[this].concat(r))),"loading",l,O(e)),b(O(e),"buildingGroupingPattern",f,O(e)),b(O(e),"rowMessagesForGroupingPattern",s,O(e)),P(O(e),"showDebug",(0,o.getLocalStorage)("showDebug",!1)),P(O(e),"showInfo",(0,o.getLocalStorage)("showInfo",!1)),P(O(e),"showWarn",(0,o.getLocalStorage)("showWarn",!0)),P(O(e),"showErr",(0,o.getLocalStorage)("showErr",!0)),P(O(e),"showFatal",(0,o.getLocalStorage)("showFatal",!0)),P(O(e),"search",null),P(O(e),"queryParams",["search"]),e}return r=_,n=[{key:"showSettings",get:function(){return i.default.get("patterns_enabled")}},{key:"backToSiteLinkText",get:function(){return i.default.get("back_to_site_link_text")}},{key:"backToSiteLinkPath",get:function(){return i.default.get("back_to_site_link_path")}},{key:"actionsInMenu",get:function(){return/mobile/i.test(navigator.userAgent)&&!/iPad/.test(navigator.userAgent)}},{key:"showCreateGroupingPattern",get:function(){return this.buildingGroupingPattern&&this.rowMessagesForGroupingPattern.length>1}},{key:"searchTerm",get:function(){return this.search?(this.doSearch(this.search),this.search):null}},{key:"doSearch",value:(h=v(d().mark((function e(t){return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.model.set("search",t),this.loading=!0,e.next=4,this.model.reload()
553
581
  case 4:this.loading=!1,this.model.updateSelectedRow()
554
- case 6:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"resizePanels",value:function(e){var t=document.getElementById("bottom-panel"),r=document.getElementById("top-panel")
582
+ case 6:case"end":return e.stop()}}),e,this)}))),function(e){return h.apply(this,arguments)})},{key:"resizePanels",value:function(e){var t=document.getElementById("bottom-panel"),r=document.getElementById("top-panel")
555
583
  t.style.height="".concat(e-13,"px"),r.style.bottom="".concat(e+12,"px")}},{key:"expandMessage",value:function(e){e.expand()}},{key:"selectRowAction",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
556
- this.model.selectRow(e,t)}},{key:"tabChangedAction",value:function(e){this.model.tabChanged(e)}},{key:"showMoreBefore",value:function(){this.model.showMoreBefore()}},{key:"loadMore",value:function(){return this.model.loadMore()}},{key:"clear",value:(u=p(f().mark((function e(){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!confirm("Clear the logs?\n\nCancel = No, OK = Clear")){e.next=6
584
+ this.model.selectRow(e,t)}},{key:"handleCheckboxChange",value:function(e,t){t.target.checked?this.rowMessagesForGroupingPattern=[].concat(p(this.rowMessagesForGroupingPattern),[e.message]):this.rowMessagesForGroupingPattern=this.rowMessagesForGroupingPattern.filter((function(t){return t!==e.message}))}},{key:"tabChangedAction",value:function(e){this.model.tabChanged(e)}},{key:"showMoreBefore",value:function(){this.model.showMoreBefore()}},{key:"loadMore",value:function(){return this.model.loadMore()}},{key:"clear",value:(y=v(d().mark((function e(){return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!confirm("Clear the logs?\n\nCancel = No, OK = Clear")){e.next=5
557
585
  break}return e.next=3,(0,o.ajax)("/clear",{type:"POST"})
558
- case 3:this.loading=!0,this.model.reload(),this.loading=!1
559
- case 6:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"removeMessage",value:function(e){var t=this.model.currentRow.group?this.model.currentRow:null,r=this.model.rows,n=t?r.indexOf(t):r.indexOf(e)
586
+ case 3:this.model.reload(),this.loading=!1
587
+ case 5:case"end":return e.stop()}}),e,this)}))),function(){return y.apply(this,arguments)})},{key:"removeMessage",value:function(e){var t=this.model.currentRow.group?this.model.currentRow:null,r=this.model.rows,n=t?r.indexOf(t):r.indexOf(e)
560
588
  e.destroy(),e.set("selected",!1),this.model.set("total",this.model.total-1)
561
589
  var o=!1,i=0
562
- t?(i=t.messages.indexOf(e),t.messages.removeObject(e),i=Math.min(i,t.messages.length-1),0===t.messages.length&&(r.removeObject(t),o=!0)):(r.removeObject(e),o=!0),o?n>0?this.model.selectRow(r[n-1]):this.model.total>0?this.model.selectRow(r[0]):this.model.reload():t&&this.model.selectRow(r[n],{messageIndex:i})}},{key:"solveMessage",value:function(e){this.model.solve(e)}},{key:"groupedMessageChangedAction",value:function(e){this.model.groupedMessageChanged(e)}},{key:"envChangedAction",value:function(e){this.model.envChanged(e)}},{key:"updateFilter",value:(c=p(f().mark((function e(t){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.toggleProperty(t),this.model.set(t,this[t]),(0,o.setLocalStorage)(t,this[t]),this.loading=!0,e.next=6,this.model.reload()
590
+ t?(i=t.messages.indexOf(e),t.messages.removeObject(e),i=Math.min(i,t.messages.length-1),0===t.messages.length&&(r.removeObject(t),o=!0)):(r.removeObject(e),o=!0),o?n>0?this.model.selectRow(r[n-1]):this.model.total>0?this.model.selectRow(r[0]):this.model.reload():t&&this.model.selectRow(r[n],{messageIndex:i})}},{key:"solveMessage",value:function(e){this.model.solve(e)}},{key:"groupedMessageChangedAction",value:function(e){this.model.groupedMessageChanged(e)}},{key:"envChangedAction",value:function(e){this.model.envChanged(e)}},{key:"updateFilter",value:(u=v(d().mark((function e(t){return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.toggleProperty(t),this.model.set(t,this[t]),(0,o.setLocalStorage)(t,this[t]),this.loading=!0,e.next=6,this.model.reload()
563
591
  case 6:this.loading=!1,this.model.updateSelectedRow()
564
- case 8:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"updateSearch",value:function(e){var r=e.target.value
565
- r!==this.search&&(r&&1===r.length||(0,t.debounce)(this,this.doSearch,r,250))}}],n&&y(r.prototype,n),a&&y(r,a),Object.defineProperty(r,"prototype",{writable:!1}),g}(n.default),l=w(u.prototype,"loading",[a.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),w(u.prototype,"showSettings",[r.computed],Object.getOwnPropertyDescriptor(u.prototype,"showSettings"),u.prototype),w(u.prototype,"searchTerm",[c],Object.getOwnPropertyDescriptor(u.prototype,"searchTerm"),u.prototype),w(u.prototype,"expandMessage",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"expandMessage"),u.prototype),w(u.prototype,"selectRowAction",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"selectRowAction"),u.prototype),w(u.prototype,"tabChangedAction",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"tabChangedAction"),u.prototype),w(u.prototype,"showMoreBefore",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"showMoreBefore"),u.prototype),w(u.prototype,"loadMore",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"loadMore"),u.prototype),w(u.prototype,"clear",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"clear"),u.prototype),w(u.prototype,"removeMessage",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"removeMessage"),u.prototype),w(u.prototype,"solveMessage",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"solveMessage"),u.prototype),w(u.prototype,"groupedMessageChangedAction",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"groupedMessageChangedAction"),u.prototype),w(u.prototype,"envChangedAction",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"envChangedAction"),u.prototype),w(u.prototype,"updateFilter",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"updateFilter"),u.prototype),w(u.prototype,"updateSearch",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"updateSearch"),u.prototype),u)
566
- e.default=O})),define("client-app/controllers/show",["exports","@ember/controller","@ember/object","@ember/service"],(function(e,t,r,n){var o,i,a,c
592
+ case 8:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"updateSearch",value:function(e){var r=e.target.value
593
+ r!==this.search&&(r&&1===r.length||(0,t.debounce)(this,this.doSearch,r,250))}},{key:"toggleGroupingPatternFromSelectedRows",value:function(){this.buildingGroupingPattern=!this.buildingGroupingPattern,this.rowMessagesForGroupingPattern=[]}},{key:"createGroupingPatternFromSelectedRows",value:(c=v(d().mark((function e(){var t
594
+ return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=this.findLongestMatchingPrefix(this.rowMessagesForGroupingPattern),!(t=this.escapeRegExp(t)).trim().length||!confirm('Do you want to create the grouping pattern\n\n"'.concat(t,'"\n\nCancel = No, OK = Create'))){e.next=10
595
+ break}return e.next=5,(0,o.ajax)("/patterns/grouping.json",{method:"POST",data:{pattern:t}})
596
+ case 5:this.rowMessagesForGroupingPattern=[],this.buildingGroupingPattern=!1,this.model.reload(),e.next=11
597
+ break
598
+ case 10:t.trim().length||alert("Can not create a grouping pattern with the given rows")
599
+ case 11:case"end":return e.stop()}}),e,this)}))),function(){return c.apply(this,arguments)})},{key:"findLongestMatchingPrefix",value:function(e){for(var t=e.reduce((function(e,t){return t.length<e.length?t:e}),e[0]),r="",n=function(){var n=t.substring(0,o+1)
600
+ if(!e.every((function(e){return e.includes(n)})))return"break"
601
+ r=n},o=0;o<t.length&&"break"!==n();o++);return r}},{key:"escapeRegExp",value:function(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}}],n&&m(r.prototype,n),a&&m(r,a),Object.defineProperty(r,"prototype",{writable:!1}),_}(n.default),l=x(u.prototype,"loading",[a.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),f=x(u.prototype,"buildingGroupingPattern",[a.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),s=x(u.prototype,"rowMessagesForGroupingPattern",[a.tracked],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),x(u.prototype,"showSettings",[r.computed],Object.getOwnPropertyDescriptor(u.prototype,"showSettings"),u.prototype),x(u.prototype,"backToSiteLinkText",[r.computed],Object.getOwnPropertyDescriptor(u.prototype,"backToSiteLinkText"),u.prototype),x(u.prototype,"backToSiteLinkPath",[r.computed],Object.getOwnPropertyDescriptor(u.prototype,"backToSiteLinkPath"),u.prototype),x(u.prototype,"searchTerm",[c],Object.getOwnPropertyDescriptor(u.prototype,"searchTerm"),u.prototype),x(u.prototype,"expandMessage",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"expandMessage"),u.prototype),x(u.prototype,"selectRowAction",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"selectRowAction"),u.prototype),x(u.prototype,"handleCheckboxChange",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"handleCheckboxChange"),u.prototype),x(u.prototype,"tabChangedAction",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"tabChangedAction"),u.prototype),x(u.prototype,"showMoreBefore",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"showMoreBefore"),u.prototype),x(u.prototype,"loadMore",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"loadMore"),u.prototype),x(u.prototype,"clear",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"clear"),u.prototype),x(u.prototype,"removeMessage",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"removeMessage"),u.prototype),x(u.prototype,"solveMessage",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"solveMessage"),u.prototype),x(u.prototype,"groupedMessageChangedAction",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"groupedMessageChangedAction"),u.prototype),x(u.prototype,"envChangedAction",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"envChangedAction"),u.prototype),x(u.prototype,"updateFilter",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"updateFilter"),u.prototype),x(u.prototype,"updateSearch",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"updateSearch"),u.prototype),x(u.prototype,"toggleGroupingPatternFromSelectedRows",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"toggleGroupingPatternFromSelectedRows"),u.prototype),x(u.prototype,"createGroupingPatternFromSelectedRows",[r.action],Object.getOwnPropertyDescriptor(u.prototype,"createGroupingPatternFromSelectedRows"),u.prototype),u)
602
+ e.default=k})),define("client-app/controllers/show",["exports","@ember/controller","@ember/object","@ember/service"],(function(e,t,r,n){var o,i,a,c
567
603
  function u(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */u=function(){return e}
568
604
  var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag"
569
605
  function l(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(L){l=function(e,t,r){return e[t]=r}}function f(e,t,r,o){var i=t&&t.prototype instanceof y?t:y,a=Object.create(i.prototype),c=new k(o||[])
@@ -893,7 +929,8 @@ for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n]
893
929
  return b(h(e=a.call.apply(a,[this].concat(r))),"selected",!1),b(h(e),"showCount",!0),f(h(e),"key",u,h(e)),f(h(e),"displayMessage",l,h(e)),e}return t=c,n=[{key:"init",value:function(){p(v(c.prototype),"init",this).apply(this,arguments)
894
930
  var e=this.messages.map((function(e){return r.default.create(e)}))
895
931
  this.set("messages",e)}},{key:"glyph",get:function(){return"clone"}},{key:"prefix",get:function(){return"far"}},{key:"solveAll",value:function(){return(0,o.ajax)("/solve-group",{type:"POST",data:{regex:this.regex}})}}],n&&s(t.prototype,n),i&&s(t,i),Object.defineProperty(t,"prototype",{writable:!1}),c}(n.default),u=g(c.prototype,"key",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=g(c.prototype,"displayMessage",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g(c.prototype,"glyph",[n.computed],Object.getOwnPropertyDescriptor(c.prototype,"glyph"),c.prototype),g(c.prototype,"prefix",[n.computed],Object.getOwnPropertyDescriptor(c.prototype,"prefix"),c.prototype),c)
896
- e.default=w})),define("client-app/models/message-collection",["exports","client-app/lib/utilities","client-app/models/message","client-app/models/group","@ember/utils","@ember/object","@ember/array"],(function(e,t,r,n,o,i,a){var c,u,l,f,s,p,y
932
+ e.default=w}))
933
+ define("client-app/models/message-collection",["exports","client-app/lib/utilities","client-app/models/message","client-app/models/group","@ember/utils","@ember/object","@ember/array"],(function(e,t,r,n,o,i,a){var c,u,l,f,s,p,y
897
934
  function d(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]
898
935
  if(!r){if(Array.isArray(e)||(r=k(e))||t&&e&&"number"==typeof e.length){r&&(e=r)
899
936
  var n=0,o=function(){}
@@ -1051,8 +1088,7 @@ this.load({after:t})}else this.load({})}},{key:"showMoreBefore",value:(l=b(h().m
1051
1088
  return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.rows[0],r=t.group?t.row_id:t.key,n=this.rows.filterBy("group").mapBy("regex"),e.next=5,this.load({before:r,knownGroups:n})
1052
1089
  case 5:o=e.sent,this.updateCanLoadMore(o)
1053
1090
  case 7:case"end":return e.stop()}}),e,this)}))),function(){return l.apply(this,arguments)})},{key:"toObjects",value:function(e){return e.map((function(e){return e.group?n.default.create(e):r.default.create(e)}))}}],c&&m(i.prototype,c),u&&m(i,u),Object.defineProperty(i,"prototype",{writable:!1}),v}(i.default),x(y.prototype,"filter",[c],Object.getOwnPropertyDescriptor(y.prototype,"filter"),y.prototype),x(y.prototype,"currentMessage",[u],Object.getOwnPropertyDescriptor(y.prototype,"currentMessage"),y.prototype),x(y.prototype,"hideCountInLoadMore",[l],Object.getOwnPropertyDescriptor(y.prototype,"hideCountInLoadMore"),y.prototype),x(y.prototype,"moreBefore",[f],Object.getOwnPropertyDescriptor(y.prototype,"moreBefore"),y.prototype),x(y.prototype,"totalBefore",[s],Object.getOwnPropertyDescriptor(y.prototype,"totalBefore"),y.prototype),x(y.prototype,"regexSearch",[p],Object.getOwnPropertyDescriptor(y.prototype,"regexSearch"),y.prototype),y)
1054
- e.default=R}))
1055
- define("client-app/models/message",["exports","@ember/object/computed","@ember/object","client-app/lib/utilities","client-app/lib/preload"],(function(e,t,r,n,o){var i,a,c,u,l,f,s,p,y,d
1091
+ e.default=R})),define("client-app/models/message",["exports","@ember/object/computed","@ember/object","client-app/lib/utilities","client-app/lib/preload"],(function(e,t,r,n,o){var i,a,c,u,l,f,s,p,y,d
1056
1092
  function h(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */h=function(){return e}
1057
1093
  var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag"
1058
1094
  function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(L){u=function(e,t,r){return e[t]=r}}function l(e,t,r,o){var i=t&&t.prototype instanceof p?t:p,a=Object.create(i.prototype),c=new k(o||[])
@@ -1324,6 +1360,8 @@ e.default=c})),define("client-app/services/page-title-list",["exports","ember-pa
1324
1360
  var r=(0,t.createTemplateFactory)({id:"jRr4M5Lv",block:'[[[46,[28,[37,1],null,null],null,null,null]],[],false,["component","-outlet"]]',moduleName:"client-app/templates/application.hbs",isStrictMode:!1})
1325
1361
  e.default=r})),define("client-app/templates/components/actions-menu",["exports","@ember/template-factory"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1326
1362
  var r=(0,t.createTemplateFactory)({id:"+wA0Wtkp",block:'[[[41,[30,1],[[[41,[30,0,["showMenu"]],[[[1," "],[10,0],[14,0,"actions-menu"],[12],[1,"\\n "],[18,3,null],[1,"\\n "],[13],[1,"\\n"]],[]],null],[1,"\\n "],[11,"button"],[24,0,"expand btn no-text"],[24,4,"button"],[4,[38,2],["click",[30,0,["expandMenu"]]],null],[12],[1,"\\n "],[8,[39,3],null,[["@icon"],["ellipsis-h"]],null],[1,"\\n "],[13],[1,"\\n\\n"],[41,[30,2],[[[1," "],[11,"button"],[24,0,"share btn"],[24,4,"button"],[4,[38,2],["click",[30,0,["share"]]],null],[12],[1,"\\n "],[8,[39,3],null,[["@icon"],["share"]],null],[1,"\\n "],[10,1],[12],[1,"Share"],[13],[1,"\\n "],[13],[1,"\\n"]],[]],null]],[]],[[[1," "],[18,3,null],[1,"\\n\\n"],[41,[30,2],[[[1," "],[11,"button"],[24,0,"share btn"],[24,4,"button"],[4,[38,2],["click",[30,0,["share"]]],null],[12],[1,"\\n "],[8,[39,3],null,[["@icon"],["share"]],null],[1,"\\n "],[10,1],[12],[1,"Share"],[13],[1,"\\n "],[13],[1,"\\n"]],[]],null]],[]]]],["@actionsInMenu","@showShare","&default"],false,["if","yield","on","fa-icon"]]',moduleName:"client-app/templates/components/actions-menu.hbs",isStrictMode:!1})
1363
+ e.default=r})),define("client-app/templates/components/back-to-site-link",["exports","@ember/template-factory"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1364
+ var r=(0,t.createTemplateFactory)({id:"amrAwK4x",block:'[[[41,[30,0,["shouldDisplay"]],[[[1," "],[10,0],[14,1,"back-to-site-panel"],[12],[1,"\\n "],[10,3],[15,6,[30,1]],[14,"rel","noopener noreferrer"],[12],[1,"\\n "],[8,[39,1],null,[["@icon"],["arrow-left"]],null],[1,"\\n "],[1,[30,2]],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"]],[]],null]],["@path","@text"],false,["if","fa-icon"]]',moduleName:"client-app/templates/components/back-to-site-link.hbs",isStrictMode:!1})
1327
1365
  e.default=r})),define("client-app/templates/components/back-trace",["exports","@ember/template-factory"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1328
1366
  var r=(0,t.createTemplateFactory)({id:"GtPahi+I",block:'[[[42,[28,[37,1],[[28,[37,1],[[30,0,["lines"]]],null]],null],null,[[[10,0],[14,0,"backtrace-line"],[12],[1,[30,1,["line"]]],[41,[30,1,["url"]],[[[10,3],[15,6,[30,1,["url"]]],[14,"target","_blank"],[14,0,"line-link"],[14,"rel","noopener noreferrer"],[12],[1,"\\n "],[8,[39,3],null,[["@icon"],["external-link-square-alt"]],null],[1,"\\n "],[13]],[]],null],[13]],[1]],null]],["line"],false,["each","-track-array","if","fa-icon"]]',moduleName:"client-app/templates/components/back-trace.hbs",isStrictMode:!1})
1329
1367
  e.default=r})),define("client-app/templates/components/env-tab",["exports","@ember/template-factory"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
@@ -1343,10 +1381,10 @@ var r=(0,t.createTemplateFactory)({id:"jowUyE+e",block:'[[[18,2,[[28,[37,1],null
1343
1381
  e.default=r})),define("client-app/templates/components/time-formatter",["exports","@ember/template-factory"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1344
1382
  var r=(0,t.createTemplateFactory)({id:"A3xKeZxN",block:'[[[10,1],[15,"title",[30,0,["title"]]],[12],[1,[30,0,["time"]]],[13]],[],false,[]]',moduleName:"client-app/templates/components/time-formatter.hbs",isStrictMode:!1})
1345
1383
  e.default=r})),define("client-app/templates/index",["exports","@ember/template-factory"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1346
- var r=(0,t.createTemplateFactory)({id:"qyxsXhU4",block:'[[[10,0],[14,1,"top-panel"],[12],[1,"\\n "],[10,0],[14,1,"log-table"],[12],[1,"\\n"],[41,[30,0,["model","moreBefore"]],[[[1," "],[11,0],[24,0,"show-more"],[4,[38,1],["click",[30,0,["showMoreBefore"]]],null],[12],[1,"\\n"],[41,[30,0,["model","hideCountInLoadMore"]],[[[1," Load more\\n"]],[]],[[[1," Select to see\\n "],[1,[30,0,["model","totalBefore"]]],[1,"\\n more\\n"]],[]]],[1," "],[13],[1,"\\n"]],[]],null],[1,"\\n"],[41,[30,0,["loading"]],[[[1," "],[10,0],[14,0,"loading"],[12],[13],[1,"\\n"]],[]],null],[1,"\\n"],[42,[28,[37,3],[[28,[37,3],[[30,0,["model","rows"]]],null]],null],null,[[[1," "],[8,[39,4],null,[["@model","@selectRow"],[[30,1],[28,[37,5],[[30,0,["selectRowAction"]],[30,1]],null]]],null],[1,"\\n"]],[1]],null],[1," "],[13],[1,"\\n"],[13],[1,"\\n\\n"],[10,0],[14,1,"bottom-panel"],[15,0,[52,[30,0,["model","currentRow","group"]],"group-view"]],[12],[1,"\\n"],[41,[30,0,["model","currentRow","group"]],[[[1," "],[8,[39,6],null,[["@list","@position","@extraClasses","@navigate"],[[30,0,["model","currentRow","messages"]],[30,0,["model","currentGroupedMessagesPosition"]],"group-nav",[30,0,["groupedMessageChangedAction"]]]],null],[1,"\\n"]],[]],null],[1,"\\n "],[8,[39,7],null,[["@currentMessage","@currentRow","@loadingEnv","@removeMessage","@solveMessage","@onTabChange","@envChangedAction","@currentEnvPosition","@actionsInMenu","@showShare"],[[30,0,["model","currentMessage"]],[30,0,["model","currentRow"]],[30,0,["model","loadingEnv"]],[30,0,["removeMessage"]],[30,0,["solveMessage"]],[30,0,["tabChangedAction"]],[30,0,["envChangedAction"]],[30,0,["model","currentEnvPosition"]],[30,0,["actionsInMenu"]],true]],null],[1,"\\n\\n "],[10,0],[14,0,"action-panel"],[12],[1,"\\n "],[10,0],[14,0,"severity-filters"],[12],[1,"\\n "],[10,0],[14,0,"more-wrapping"],[12],[1,"\\n "],[10,"label"],[14,0,"debug"],[12],[1,"\\n "],[10,"input"],[15,"checked",[30,0,["showDebug"]]],[15,"onchange",[28,[37,5],[[30,0,["updateFilter"]],"showDebug"],null]],[14,4,"checkbox"],[12],[13],[1,"\\n "],[10,1],[12],[1,"Debug"],[13],[1,"\\n "],[13],[1,"\\n\\n "],[10,"label"],[14,0,"info"],[12],[1,"\\n "],[10,"input"],[15,"checked",[30,0,["showInfo"]]],[15,"onchange",[28,[37,5],[[30,0,["updateFilter"]],"showInfo"],null]],[14,4,"checkbox"],[12],[13],[1,"\\n "],[10,1],[12],[1,"Info"],[13],[1,"\\n "],[13],[1,"\\n\\n "],[10,"label"],[14,0,"warn"],[12],[1,"\\n "],[10,"input"],[15,"checked",[30,0,["showWarn"]]],[15,"onchange",[28,[37,5],[[30,0,["updateFilter"]],"showWarn"],null]],[14,4,"checkbox"],[12],[13],[1,"\\n "],[8,[39,8],[[24,0,"warning"]],[["@icon"],["exclamation-circle"]],null],[1,"\\n "],[10,1],[12],[1,"Warning"],[13],[1,"\\n "],[13],[1,"\\n\\n "],[10,"label"],[14,0,"error"],[12],[1,"\\n "],[10,"input"],[15,"checked",[30,0,["showErr"]]],[15,"onchange",[28,[37,5],[[30,0,["updateFilter"]],"showErr"],null]],[14,4,"checkbox"],[12],[13],[1,"\\n "],[8,[39,8],[[24,0,"error"]],[["@icon"],["times-circle"]],null],[1,"\\n "],[10,1],[12],[1,"Error"],[13],[1,"\\n "],[13],[1,"\\n\\n "],[10,"label"],[14,0,"fatal"],[12],[1,"\\n "],[10,"input"],[15,"checked",[30,0,["showFatal"]]],[15,"onchange",[28,[37,5],[[30,0,["updateFilter"]],"showFatal"],null]],[14,4,"checkbox"],[12],[13],[1,"\\n "],[8,[39,8],[[24,0,"fatal"]],[["@icon"],["times-circle"]],null],[1,"\\n "],[10,1],[12],[1,"Fatal"],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n\\n "],[10,0],[14,0,"search-clear-all"],[12],[1,"\\n "],[10,"input"],[14,0,"search"],[14,"placeholder","Search"],[15,2,[30,0,["searchTerm"]]],[15,"onkeyup",[30,0,["updateSearch"]]],[14,4,"text"],[12],[13],[1,"\\n\\n "],[10,0],[14,0,"footer-btns"],[12],[1,"\\n"],[41,[30,0,["showSettings"]],[[[1," "],[8,[39,9],[[24,0,"settings btn no-text"]],[["@route"],["settings"]],[["default"],[[[[1,"\\n "],[8,[39,8],null,[["@icon"],["cog"]],null],[1,"\\n "]],[]]]]],[1,"\\n"]],[]],null],[1,"\\n "],[11,"button"],[24,0,"clear btn danger"],[24,4,"button"],[4,[38,1],["click",[30,0,["clear"]]],null],[12],[1,"\\n "],[8,[39,8],[[24,"prefix","far"]],[["@icon"],["trash-alt"]],null],[1,"\\n "],[10,1],[12],[1,"Clear logs"],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"],[13],[1,"\\n\\n"],[8,[39,10],null,null,null]],["row"],false,["if","on","each","-track-array","message-row","fn","page-nav","message-info","fa-icon","link-to","panel-resizer"]]',moduleName:"client-app/templates/index.hbs",isStrictMode:!1})
1384
+ var r=(0,t.createTemplateFactory)({id:"0W6DhOpv",block:'[[[10,0],[14,1,"top-panel"],[12],[1,"\\n "],[8,[39,0],null,[["@path","@text"],[[30,0,["backToSiteLinkPath"]],[30,0,["backToSiteLinkText"]]]],null],[1,"\\n "],[10,0],[14,1,"log-table"],[12],[1,"\\n"],[41,[30,0,["model","moreBefore"]],[[[1," "],[11,0],[24,0,"show-more"],[4,[38,2],["click",[30,0,["showMoreBefore"]]],null],[12],[1,"\\n"],[41,[30,0,["model","hideCountInLoadMore"]],[[[1," Load more\\n"]],[]],[[[1," Select to see\\n "],[1,[30,0,["model","totalBefore"]]],[1,"\\n more\\n"]],[]]],[1," "],[13],[1,"\\n"]],[]],null],[1,"\\n"],[41,[30,0,["loading"]],[[[1," "],[10,0],[14,0,"loading"],[12],[13],[1,"\\n"]],[]],null],[1,"\\n"],[42,[28,[37,4],[[28,[37,4],[[30,0,["model","rows"]]],null]],null],null,[[[1," "],[10,0],[14,0,"message-row-wrapper"],[12],[1,"\\n"],[41,[30,0,["buildingGroupingPattern"]],[[[1," "],[11,"input"],[24,0,"grouping-checkbox"],[24,4,"checkbox"],[4,[38,2],["change",[28,[37,5],[[30,0,["handleCheckboxChange"]],[30,1]],null]],null],[12],[13],[1,"\\n"]],[]],null],[1," "],[8,[39,6],null,[["@model","@selectRow"],[[30,1],[28,[37,5],[[30,0,["selectRowAction"]],[30,1]],null]]],null],[1,"\\n "],[13],[1,"\\n"]],[1]],null],[1," "],[13],[1,"\\n"],[13],[1,"\\n\\n"],[10,0],[14,1,"bottom-panel"],[15,0,[52,[30,0,["model","currentRow","group"]],"group-view"]],[12],[1,"\\n"],[41,[30,0,["model","currentRow","group"]],[[[1," "],[8,[39,7],null,[["@list","@position","@extraClasses","@navigate"],[[30,0,["model","currentRow","messages"]],[30,0,["model","currentGroupedMessagesPosition"]],"group-nav",[30,0,["groupedMessageChangedAction"]]]],null],[1,"\\n"]],[]],null],[1,"\\n "],[8,[39,8],null,[["@currentMessage","@currentRow","@loadingEnv","@removeMessage","@solveMessage","@onTabChange","@envChangedAction","@currentEnvPosition","@actionsInMenu","@showShare"],[[30,0,["model","currentMessage"]],[30,0,["model","currentRow"]],[30,0,["model","loadingEnv"]],[30,0,["removeMessage"]],[30,0,["solveMessage"]],[30,0,["tabChangedAction"]],[30,0,["envChangedAction"]],[30,0,["model","currentEnvPosition"]],[30,0,["actionsInMenu"]],true]],null],[1,"\\n\\n "],[10,0],[14,0,"action-panel"],[12],[1,"\\n "],[10,0],[14,0,"severity-filters"],[12],[1,"\\n "],[10,0],[14,0,"more-wrapping"],[12],[1,"\\n "],[10,"label"],[14,0,"debug"],[12],[1,"\\n "],[10,"input"],[15,"checked",[30,0,["showDebug"]]],[15,"onchange",[28,[37,5],[[30,0,["updateFilter"]],"showDebug"],null]],[14,4,"checkbox"],[12],[13],[1,"\\n "],[10,1],[12],[1,"Debug"],[13],[1,"\\n "],[13],[1,"\\n\\n "],[10,"label"],[14,0,"info"],[12],[1,"\\n "],[10,"input"],[15,"checked",[30,0,["showInfo"]]],[15,"onchange",[28,[37,5],[[30,0,["updateFilter"]],"showInfo"],null]],[14,4,"checkbox"],[12],[13],[1,"\\n "],[10,1],[12],[1,"Info"],[13],[1,"\\n "],[13],[1,"\\n\\n "],[10,"label"],[14,0,"warn"],[12],[1,"\\n "],[10,"input"],[15,"checked",[30,0,["showWarn"]]],[15,"onchange",[28,[37,5],[[30,0,["updateFilter"]],"showWarn"],null]],[14,4,"checkbox"],[12],[13],[1,"\\n "],[8,[39,9],[[24,0,"warning"]],[["@icon"],["exclamation-circle"]],null],[1,"\\n "],[10,1],[12],[1,"Warning"],[13],[1,"\\n "],[13],[1,"\\n\\n "],[10,"label"],[14,0,"error"],[12],[1,"\\n "],[10,"input"],[15,"checked",[30,0,["showErr"]]],[15,"onchange",[28,[37,5],[[30,0,["updateFilter"]],"showErr"],null]],[14,4,"checkbox"],[12],[13],[1,"\\n "],[8,[39,9],[[24,0,"error"]],[["@icon"],["times-circle"]],null],[1,"\\n "],[10,1],[12],[1,"Error"],[13],[1,"\\n "],[13],[1,"\\n\\n "],[10,"label"],[14,0,"fatal"],[12],[1,"\\n "],[10,"input"],[15,"checked",[30,0,["showFatal"]]],[15,"onchange",[28,[37,5],[[30,0,["updateFilter"]],"showFatal"],null]],[14,4,"checkbox"],[12],[13],[1,"\\n "],[8,[39,9],[[24,0,"fatal"]],[["@icon"],["times-circle"]],null],[1,"\\n "],[10,1],[12],[1,"Fatal"],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n\\n "],[10,0],[14,0,"search-clear-all"],[12],[1,"\\n "],[10,"input"],[14,0,"search"],[14,"placeholder","Search"],[15,2,[30,0,["searchTerm"]]],[15,"onkeyup",[30,0,["updateSearch"]]],[14,4,"text"],[12],[13],[1,"\\n\\n "],[10,0],[14,0,"footer-btns"],[12],[1,"\\n"],[41,[30,0,["showSettings"]],[[[41,[30,0,["showCreateGroupingPattern"]],[[[1," "],[11,"button"],[24,0,"settings btn"],[24,4,"button"],[4,[38,2],["click",[30,0,["createGroupingPatternFromSelectedRows"]]],null],[12],[1,"\\n "],[10,1],[12],[1,"Create Grouping Pattern"],[13],[1,"\\n "],[13],[1,"\\n"]],[]],null],[1,"\\n "],[8,[39,10],[[24,0,"settings btn no-text"]],[["@route"],["settings"]],[["default"],[[[[1,"\\n "],[8,[39,9],null,[["@icon"],["cog"]],null],[1,"\\n "]],[]]]]],[1,"\\n\\n "],[11,"button"],[24,0,"settings btn no-text"],[24,4,"button"],[4,[38,2],["click",[30,0,["toggleGroupingPatternFromSelectedRows"]]],null],[12],[1,"\\n "],[8,[39,9],null,[["@icon"],["list"]],null],[1,"\\n "],[13],[1,"\\n"]],[]],null],[1,"\\n "],[11,"button"],[24,0,"clear btn danger"],[24,4,"button"],[4,[38,2],["click",[30,0,["clear"]]],null],[12],[1,"\\n "],[8,[39,9],[[24,"prefix","far"]],[["@icon"],["trash-alt"]],null],[1,"\\n "],[10,1],[12],[1,"Clear logs"],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"],[13],[1,"\\n\\n"],[8,[39,11],null,null,null]],["row"],false,["back-to-site-link","if","on","each","-track-array","fn","message-row","page-nav","message-info","fa-icon","link-to","panel-resizer"]]',moduleName:"client-app/templates/index.hbs",isStrictMode:!1})
1347
1385
  e.default=r})),define("client-app/templates/settings",["exports","@ember/template-factory"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1348
1386
  var r=(0,t.createTemplateFactory)({id:"qqSpoh9d",block:'[[[10,0],[14,0,"settings-page"],[12],[1,"\\n "],[8,[39,0],null,[["@route"],["index"]],[["default"],[[[[1,"Home"]],[]]]]],[1,"\\n\\n "],[10,0],[14,0,"settings-header"],[12],[1,"\\n "],[10,"h1"],[14,0,"header-title"],[12],[1,"Settings"],[13],[1,"\\n "],[10,"img"],[14,0,"header-logo"],[15,"src",[28,[37,1],["images/icon_144x144.png"],null]],[12],[13],[1,"\\n "],[13],[1,"\\n\\n "],[10,0],[14,0,"settings-section suppression-patterns"],[12],[1,"\\n "],[10,"h2"],[14,0,"section-title"],[12],[1,"Suppression Patterns"],[13],[1,"\\n\\n "],[10,0],[12],[1,"New messages that match these Regular Expression patterns will be\\n suppressed. Checking Apply retroactively will remove all existing messages\\n that match the patterns."],[13],[1,"\\n\\n"],[41,[30,0,["showCodedSuppression"]],[[[1," "],[10,"h3"],[14,0,"subsection-title"],[12],[1,"Hard-coded patterns:"],[13],[1,"\\n\\n "],[10,0],[14,0,"tip"],[12],[1,"These patterns can\'t be removed via the UI because they\\n are commited to the source code of your app."],[13],[1,"\\n\\n "],[8,[39,3],null,[["@patterns","@mutable"],[[30,0,["codedSuppression"]],false]],null],[1,"\\n"]],[]],null],[1,"\\n "],[10,"h3"],[14,0,"subsection-title"],[12],[1,"Custom patterns:"],[13],[1,"\\n\\n "],[8,[39,3],null,[["@patterns","@key","@applyRetroactivelyCheckbox","@mutable"],[[30,0,["customSuppression"]],"suppression",true,true]],null],[1,"\\n "],[13],[1,"\\n\\n "],[10,0],[14,0,"settings-section grouping-patterns"],[12],[1,"\\n "],[10,"h2"],[14,0,"section-title"],[12],[1,"Grouping Patterns"],[13],[1,"\\n\\n "],[10,0],[12],[1,"Add a Regular Expression pattern to group all new and existing messages\\n into a single row when viewing the logs."],[13],[1,"\\n\\n "],[8,[39,3],null,[["@patterns","@key","@mutable"],[[30,0,["grouping"]],"grouping",true]],null],[1,"\\n "],[13],[1,"\\n"],[13]],[],false,["link-to","logster-url","if","patterns-list"]]',moduleName:"client-app/templates/settings.hbs",isStrictMode:!1})
1349
1387
  e.default=r})),define("client-app/templates/show",["exports","@ember/template-factory"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
1350
1388
  var r=(0,t.createTemplateFactory)({id:"d6AYgHoB",block:'[[[8,[39,0],[[24,0,"recent-link"]],[["@route"],["index"]],[["default"],[[[[1,"Recent"]],[]]]]],[1,"\\n\\n"],[10,0],[14,1,"bottom-panel"],[14,0,"full"],[12],[1,"\\n "],[8,[39,1],null,[["@currentMessage","@showTitle","@removeMessage","@solveMessage","@envChangedAction","@currentEnvPosition","@actionsInMenu"],[[30,0,["model"]],"true",[30,0,["removeMessage"]],[30,0,["solveMessage"]],[30,0,["envChanged"]],[30,0,["envPosition"]],false]],null],[1,"\\n"],[13]],[],false,["link-to","message-info"]]',moduleName:"client-app/templates/show.hbs",isStrictMode:!1})
1351
1389
  e.default=r})),define("client-app/config/environment",[],(function(){try{var e="client-app/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),r={default:JSON.parse(decodeURIComponent(t))}
1352
- return Object.defineProperty(r,"__esModule",{value:!0}),r}catch(n){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+43c6d5cb"})
1390
+ return Object.defineProperty(r,"__esModule",{value:!0}),r}catch(n){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+e8ac14cb"})
@@ -4471,7 +4471,7 @@ return e.symbol=r,e}}}}],{mixoutsTo:mt})
4471
4471
  var pn=mt.noAuto,mn=mt.config,vn=mt.library,gn=mt.dom,bn=mt.parse,yn=mt.findIconDefinition,_n=mt.toHtml,wn=mt.icon,On=mt.layer,En=mt.text,kn=mt.counter
4472
4472
  e.api=mt,e.config=mn,e.counter=kn,e.dom=gn,e.findIconDefinition=yn,e.icon=wn,e.layer=On,e.library=vn,e.noAuto=pn,e.parse=bn,e.text=En,e.toHtml=_n,Object.defineProperty(e,"__esModule",{value:!0})})),define("@fortawesome/free-solid-svg-icons",["exports"],(function(e){"use strict"
4473
4473
  var t={prefix:"fas",iconName:"trash-can",icon:[448,512,[61460,"trash-alt"],"f2ed","M135.2 17.7C140.6 6.8 151.7 0 163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3zM32 128H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V128zm96 64c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16z"]},n={prefix:"fas",iconName:"square-up-right",icon:[448,512,[8599,"external-link-square-alt"],"f360","M384 32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384zM320 313.4V176c0-8.8-7.2-16-16-16H166.6c-12.5 0-22.6 10.1-22.6 22.6c0 6 2.4 11.8 6.6 16L184 232l-66.3 66.3C114 302 112 306.9 112 312s2 10 5.7 13.7l36.7 36.7c3.6 3.6 8.5 5.7 13.7 5.7s10-2 13.7-5.7L248 296l33.4 33.4c4.2 4.2 10 6.6 16 6.6c12.5 0 22.6-10.1 22.6-22.6z"]},r={prefix:"fas",iconName:"circle-exclamation",icon:[512,512,["exclamation-circle"],"f06a","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"]},i={prefix:"fas",iconName:"square-check",icon:[448,512,[9745,9989,61510,"check-square"],"f14a","M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM337 209L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"]},o={prefix:"fas",iconName:"backward-fast",icon:[512,512,[9198,"fast-backward"],"f049","M493.6 445c-11.2 5.3-24.5 3.6-34.1-4.4L288 297.7V416c0 12.4-7.2 23.7-18.4 29s-24.5 3.6-34.1-4.4L64 297.7V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V96C0 78.3 14.3 64 32 64s32 14.3 32 32V214.3L235.5 71.4c9.5-7.9 22.8-9.7 34.1-4.4S288 83.6 288 96V214.3L459.5 71.4c9.5-7.9 22.8-9.7 34.1-4.4S512 83.6 512 96V416c0 12.4-7.2 23.7-18.4 29z"]},a={prefix:"fas",iconName:"circle-question",icon:[512,512,[62108,"question-circle"],"f059","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM169.8 165.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V250.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H222.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"]},s={prefix:"fas",iconName:"forward-fast",icon:[512,512,[9197,"fast-forward"],"f050","M18.4 445c11.2 5.3 24.5 3.6 34.1-4.4L224 297.7V416c0 12.4 7.2 23.7 18.4 29s24.5 3.6 34.1-4.4L448 297.7V416c0 17.7 14.3 32 32 32s32-14.3 32-32V96c0-17.7-14.3-32-32-32s-32 14.3-32 32V214.3L276.5 71.4c-9.5-7.9-22.8-9.7-34.1-4.4S224 83.6 224 96V214.3L52.5 71.4c-9.5-7.9-22.8-9.7-34.1-4.4S0 83.6 0 96V416c0 12.4 7.2 23.7 18.4 29z"]},u={prefix:"fas",iconName:"gear",icon:[512,512,[9881,"cog"],"f013","M481.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-30.9 28.1c-7.7 7.1-11.4 17.5-10.9 27.9c.1 2.9 .2 5.8 .2 8.8s-.1 5.9-.2 8.8c-.5 10.5 3.1 20.9 10.9 27.9l30.9 28.1c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-39.7-12.6c-10-3.2-20.8-1.1-29.7 4.6c-4.9 3.1-9.9 6.1-15.1 8.7c-9.3 4.8-16.5 13.2-18.8 23.4l-8.9 40.7c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-8.9-40.7c-2.2-10.2-9.5-18.6-18.8-23.4c-5.2-2.7-10.2-5.6-15.1-8.7c-8.8-5.7-19.7-7.8-29.7-4.6L69.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l30.9-28.1c7.7-7.1 11.4-17.5 10.9-27.9c-.1-2.9-.2-5.8-.2-8.8s.1-5.9 .2-8.8c.5-10.5-3.1-20.9-10.9-27.9L8.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l39.7 12.6c10 3.2 20.8 1.1 29.7-4.6c4.9-3.1 9.9-6.1 15.1-8.7c9.3-4.8 16.5-13.2 18.8-23.4l8.9-40.7c2-9.1 9-16.3 18.2-17.8C213.3 1.2 227.5 0 242 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l8.9 40.7c2.2 10.2 9.4 18.6 18.8 23.4c5.2 2.7 10.2 5.6 15.1 8.7c8.8 5.7 19.7 7.7 29.7 4.6l39.7-12.6c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM242 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160z"]},l={prefix:"fas",iconName:"rotate-right",icon:[512,512,["redo-alt","rotate-forward"],"f2f9","M447.5 224H456c13.3 0 24-10.7 24-24V72c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L397.4 96.6c-87.6-86.5-228.7-86.2-315.8 1c-87.5 87.5-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3c62.2-62.2 162.7-62.5 225.3-1L311 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8H447.5z"]},c={prefix:"fas",iconName:"ellipsis",icon:[448,512,["ellipsis-h"],"f141","M0 256a56 56 0 1 1 112 0A56 56 0 1 1 0 256zm160 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm216-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z"]},f={prefix:"fas",iconName:"circle-xmark",icon:[512,512,[61532,"times-circle","xmark-circle"],"f057","M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"]}
4474
- e.faBackward={prefix:"fas",iconName:"backward",icon:[512,512,[9194],"f04a","M459.5 440.6c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29V96c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4L288 214.3V256v41.7L459.5 440.6zM256 352V256 128 96c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4l-192 160C4.2 237.5 0 246.5 0 256s4.2 18.5 11.5 24.6l192 160c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29V352z"]},e.faCheck={prefix:"fas",iconName:"check",icon:[512,512,[10003,10004],"f00c","M470.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L192 338.7 425.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"]},e.faCheckSquare=i,e.faCog=u,e.faEllipsisH=c,e.faExclamationCircle=r,e.faExternalLinkSquareAlt=n,e.faFastBackward=o,e.faFastForward=s,e.faForward={prefix:"fas",iconName:"forward",icon:[512,512,[9193],"f04e","M52.5 440.6c-9.5 7.9-22.8 9.7-34.1 4.4S0 428.4 0 416V96C0 83.6 7.2 72.3 18.4 67s24.5-3.6 34.1 4.4L224 214.3V256v41.7L52.5 440.6zM256 352V256 128 96c0-12.4 7.2-23.7 18.4-29s24.5-3.6 34.1 4.4l192 160c7.3 6.1 11.5 15.1 11.5 24.6s-4.2 18.5-11.5 24.6l-192 160c-9.5 7.9-22.8 9.7-34.1 4.4s-18.4-16.6-18.4-29V352z"]},e.faLock={prefix:"fas",iconName:"lock",icon:[448,512,[128274],"f023","M144 144v48H304V144c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192V144C80 64.5 144.5 0 224 0s144 64.5 144 144v48h16c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80z"]},e.faPlus={prefix:"fas",iconName:"plus",icon:[448,512,[10133,61543,"add"],"2b","M240 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H176V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H240V80z"]},e.faQuestionCircle=a,e.faRedoAlt=l,e.faShare={prefix:"fas",iconName:"share",icon:[512,512,["arrow-turn-right","mail-forward"],"f064","M307 34.8c-11.5 5.1-19 16.6-19 29.2v64H176C78.8 128 0 206.8 0 304C0 417.3 81.5 467.9 100.2 478.1c2.5 1.4 5.3 1.9 8.1 1.9c10.9 0 19.7-8.9 19.7-19.7c0-7.5-4.3-14.4-9.8-19.5C108.8 431.9 96 414.4 96 384c0-53 43-96 96-96h96v64c0 12.6 7.4 24.1 19 29.2s25 3 34.4-5.4l160-144c6.7-6.1 10.6-14.7 10.6-23.8s-3.8-17.7-10.6-23.8l-160-144c-9.4-8.5-22.9-10.6-34.4-5.4z"]},e.faTimesCircle=f,e.faTrashAlt=t,e.faUnlock={prefix:"fas",iconName:"unlock",icon:[448,512,[128275],"f09c","M144 144c0-44.2 35.8-80 80-80c31.9 0 59.4 18.6 72.3 45.7c7.6 16 26.7 22.8 42.6 15.2s22.8-26.7 15.2-42.6C331 33.7 281.5 0 224 0C144.5 0 80 64.5 80 144v48H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H144V144z"]},Object.defineProperty(e,"__esModule",{value:!0})})),define("@fortawesome/free-regular-svg-icons",["exports"],(function(e){"use strict"
4474
+ e.faArrowLeft={prefix:"fas",iconName:"arrow-left",icon:[448,512,[8592],"f060","M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288 416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0L214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z"]},e.faBackward={prefix:"fas",iconName:"backward",icon:[512,512,[9194],"f04a","M459.5 440.6c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29V96c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4L288 214.3V256v41.7L459.5 440.6zM256 352V256 128 96c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4l-192 160C4.2 237.5 0 246.5 0 256s4.2 18.5 11.5 24.6l192 160c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29V352z"]},e.faCheck={prefix:"fas",iconName:"check",icon:[512,512,[10003,10004],"f00c","M470.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L192 338.7 425.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"]},e.faCheckSquare=i,e.faCog=u,e.faEllipsisH=c,e.faExclamationCircle=r,e.faExternalLinkSquareAlt=n,e.faFastBackward=o,e.faFastForward=s,e.faForward={prefix:"fas",iconName:"forward",icon:[512,512,[9193],"f04e","M52.5 440.6c-9.5 7.9-22.8 9.7-34.1 4.4S0 428.4 0 416V96C0 83.6 7.2 72.3 18.4 67s24.5-3.6 34.1 4.4L224 214.3V256v41.7L52.5 440.6zM256 352V256 128 96c0-12.4 7.2-23.7 18.4-29s24.5-3.6 34.1 4.4l192 160c7.3 6.1 11.5 15.1 11.5 24.6s-4.2 18.5-11.5 24.6l-192 160c-9.5 7.9-22.8 9.7-34.1 4.4s-18.4-16.6-18.4-29V352z"]},e.faList={prefix:"fas",iconName:"list",icon:[512,512,["list-squares"],"f03a","M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM16 232v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z"]},e.faLock={prefix:"fas",iconName:"lock",icon:[448,512,[128274],"f023","M144 144v48H304V144c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192V144C80 64.5 144.5 0 224 0s144 64.5 144 144v48h16c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80z"]},e.faPlus={prefix:"fas",iconName:"plus",icon:[448,512,[10133,61543,"add"],"2b","M240 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H176V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H240V80z"]},e.faQuestionCircle=a,e.faRedoAlt=l,e.faShare={prefix:"fas",iconName:"share",icon:[512,512,["arrow-turn-right","mail-forward"],"f064","M307 34.8c-11.5 5.1-19 16.6-19 29.2v64H176C78.8 128 0 206.8 0 304C0 417.3 81.5 467.9 100.2 478.1c2.5 1.4 5.3 1.9 8.1 1.9c10.9 0 19.7-8.9 19.7-19.7c0-7.5-4.3-14.4-9.8-19.5C108.8 431.9 96 414.4 96 384c0-53 43-96 96-96h96v64c0 12.6 7.4 24.1 19 29.2s25 3 34.4-5.4l160-144c6.7-6.1 10.6-14.7 10.6-23.8s-3.8-17.7-10.6-23.8l-160-144c-9.4-8.5-22.9-10.6-34.4-5.4z"]},e.faTimesCircle=f,e.faTrashAlt=t,e.faUnlock={prefix:"fas",iconName:"unlock",icon:[448,512,[128275],"f09c","M144 144c0-44.2 35.8-80 80-80c31.9 0 59.4 18.6 72.3 45.7c7.6 16 26.7 22.8 42.6 15.2s22.8-26.7 15.2-42.6C331 33.7 281.5 0 224 0C144.5 0 80 64.5 80 144v48H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H144V144z"]},Object.defineProperty(e,"__esModule",{value:!0})})),define("@fortawesome/free-regular-svg-icons",["exports"],(function(e){"use strict"
4475
4475
  var t={prefix:"far",iconName:"trash-can",icon:[448,512,[61460,"trash-alt"],"f2ed","M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zm80 64V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16z"]},n={prefix:"far",iconName:"square-check",icon:[448,512,[9745,9989,61510,"check-square"],"f14a","M211.8 339.8C200.9 350.7 183.1 350.7 172.2 339.8L108.2 275.8C97.27 264.9 97.27 247.1 108.2 236.2C119.1 225.3 136.9 225.3 147.8 236.2L192 280.4L300.2 172.2C311.1 161.3 328.9 161.3 339.8 172.2C350.7 183.1 350.7 200.9 339.8 211.8L211.8 339.8zM0 96C0 60.65 28.65 32 64 32H384C419.3 32 448 60.65 448 96V416C448 451.3 419.3 480 384 480H64C28.65 480 0 451.3 0 416V96zM48 96V416C48 424.8 55.16 432 64 432H384C392.8 432 400 424.8 400 416V96C400 87.16 392.8 80 384 80H64C55.16 80 48 87.16 48 96z"]}
4476
4476
  e.faCheckSquare=n,e.faClone={prefix:"far",iconName:"clone",icon:[512,512,[],"f24d","M64 464H288c8.8 0 16-7.2 16-16V384h48v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h64v48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM224 304H448c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H224c-8.8 0-16 7.2-16 16V288c0 8.8 7.2 16 16 16zm-64-16V64c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64V288c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64z"]},e.faCopy={prefix:"far",iconName:"copy",icon:[512,512,[],"f0c5","M224 0c-35.3 0-64 28.7-64 64V288c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H224zM64 160c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V384H304v64c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16h64V160H64z"]},e.faTrashAlt=t,Object.defineProperty(e,"__esModule",{value:!0})})),function(){var e,t=require("@fortawesome/fontawesome-svg-core")
4477
4477
  delete(e=require("@fortawesome/free-solid-svg-icons")).default,t.library.add(e),delete(e=require("@fortawesome/free-regular-svg-icons")).default,t.library.add(e)}()
@@ -1 +1 @@
1
- body{font-family:Arial,"Liberation Sans","DejaVu Sans",sans-serif;font-size:12px}body.mobile,body.mobile .message{font-size:14px}pre{font-family:"Roboto Mono",Consolas,Monaco,Ubuntu Mono,monospace}table.env-table tbody tr td{border-top:none;line-height:18px;height:18px;vertical-align:top}table.env-table,table.env-table table{border-spacing:0;border-collapse:collapse}table.env-table td{padding-right:5px}tbody tr{width:98%}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.loading{border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;width:30px;height:30px;animation:spin 1s linear infinite;margin:40dvh auto}.message-row{font-family:Roboto;display:flex}.message-row .protected,.message-row .severity{text-align:center;width:25px;flex-grow:0;flex-shrink:0;font-size:12px}.message-row div{border-top:.5px #e9e9e9 solid;padding-top:1px;padding-bottom:1px;line-height:25px}.message-row .count{width:30px;flex-grow:0;flex-shrink:0;padding-right:4px;box-sizing:border-box;font-size:11px;font-weight:700;text-align:right}.message-row .message-body{flex-grow:1;flex-shrink:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px}.message-row .time{flex-grow:0;flex-shrink:0;color:#999;vertical-align:top;font-size:12px;padding-right:8px}.action-panel .search,.action-panel .svg-inline--fa,.pattern-wrapper .pattern-input,.pattern-wrapper .shrink,.search-clear-all .btn.clear span,.search-clear-all .clear,input,label span{vertical-align:middle}.message-row:hover{background-color:#f8f8f8;cursor:pointer}.message-row.selected{background-color:#dfdfdf}.svg-inline--fa.fatal{color:#e00}.svg-inline--fa.error{color:#900}.svg-inline--fa.warning{color:#feb800}.debug{color:#777}.btn,.tabs a{text-decoration:none;color:#333}.action-panel .search{border:1px solid #ddd;padding:3px;box-sizing:border-box}#log-table .show-more{text-align:center;height:30px;line-height:30px;text-decoration:none;background-color:#ddd;cursor:pointer;margin-top:8px}#overlay,.divider{cursor:row-resize}#bottom-panel{position:fixed;bottom:0;left:0;right:0;height:300px;background-color:#f1f1f1;padding:0 8px 8px;z-index:2}#bottom-panel.full{position:static;background-color:inherit;height:90%}#bottom-panel.full>div{padding-bottom:40px}#bottom-panel.full .tabs{display:none}#bottom-panel.full .message-info{position:static}#bottom-panel.full .message-info .content{display:block;position:static}#bottom-panel.full .save,#bottom-panel.full .share{bottom:10px}#bottom-panel.full button.delete{display:none}#bottom-panel.full .message-actions button{margin-top:8px}@media (max-width:382px){#bottom-panel.full .message-actions{height:73px}}@media (min-width:383px){#bottom-panel.full .message-actions{height:40px}}#bottom-panel.full .message-actions{position:fixed;width:100%;left:0;bottom:0;background-color:#eee;border-top:1px solid #dfdfdf;padding-left:10px}.divider,.tabs{border-top:1px solid #ddd}.message-actions{position:absolute;bottom:5px;right:0;margin-right:10px}.message-actions button{margin-left:5px}.divider{position:fixed;bottom:310px;left:0;right:0;height:15px;border-bottom:1px solid #ddd;background-color:#fafafa}.divider div{margin:auto;width:24px;height:1px;background-color:#ccc;position:relative}.divider .line-1{top:5px}.divider .line-2,.tabs a{top:6px}.divider .line-3{top:7px}#top-panel{position:fixed;top:0;left:0;right:0;bottom:320px;overflow:auto}.action-panel,.message-info,.nav-controls.group-nav{position:absolute;left:0;right:0}.message-info{border-bottom:1px solid #ddd;top:0}#bottom-panel.group-view .message-info{top:43px}.nav-controls.group-nav{border-bottom:1px solid #ddd}.action-panel{bottom:0;font-weight:700}.action-panel input{margin:0}.severity-filters label{margin-right:18px}.search-clear-all .clear{float:right}#log-table{margin:auto;width:99%}.btn span{display:inline}.hidden{display:none}.message-info .env-table,.message-info pre{position:relative;margin:5px 10px 10px}#overlay{position:fixed;z-index:99999;top:0;bottom:0;left:0;right:0;opacity:0}.message-info .content,.tabs{position:absolute;left:0;right:0}.message-info .content{top:0;bottom:35px;overflow:auto;display:none}.message-info .content.active{display:block}.tabs{bottom:13px;list-style-type:none;margin:0 0 5px;padding:0 0 0 10px}.tabs a,.tabs li{position:relative}.tabs li{float:left;padding-right:5px;margin:0}.tabs a{border:1px solid #ddd;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;padding:6px;background-color:#e1e1e1}.tabs a.active{border-top:1px solid #f1f1f1;background-color:#f1f1f1}.btn{display:inline-block;margin:0;padding:5px 12px;font-size:1em;line-height:0;text-align:center;cursor:pointer;transition:all .25s;background-color:#ddd;border:none;font-weight:400}.btn:hover{color:#000;background-color:#ccc}.btn .svg-inline--fa{margin-right:7px}.btn:active{text-shadow:none}.btn.danger:hover{background-color:#c63c1b;color:#eee}.btn.ok{background-color:#3781dc;color:#fff}.btn.ok:hover{background-color:#286dc2;color:#fff}.search-clear-all .btn.clear,.search-clear-all .search{height:100%}.search-clear-all .btn.clear,.search-clear-all .search,.severity-filters label{align-self:center}.search-clear-all .footer-btns .settings{height:100%;box-sizing:border-box;margin:0 7px;display:inline-flex;align-items:center}.search-clear-all{display:flex;justify-content:space-between}.search-clear-all .search{min-width:0;flex-shrink:2}.footer-btns{flex-grow:0;flex-shrink:0}@media (min-width:771px){.search-clear-all,.severity-filters{height:100%}.more-wrapping,.severity-filters{display:flex}.severity-filters{float:left}.action-panel{padding:10px;box-sizing:border-box;height:45px}.message-info{bottom:45px}}@media (max-width:770px){.severity-filters{padding:10px}.search-clear-all{padding:0 10px 10px}.action-panel{height:69px}.message-info{bottom:69px}}@media (max-width:430px){.severity-filters{overflow-x:scroll;overflow-y:hidden;white-space:nowrap}.more-wrapping:after,.more-wrapping:before{content:"";position:absolute;height:18px}.more-wrapping:before{width:15px;margin-left:-10px;background:linear-gradient(to right,#f1f1f1 0,rgba(241,241,241,.001) 100%)}.more-wrapping:after{right:0;width:23px;background:linear-gradient(to left,#f1f1f1 0,rgba(241,241,241,.001) 100%)}}.btn.no-text .svg-inline--fa{margin:0}.btn[disabled]{opacity:.5}.actions-menu{position:absolute;background:#fafafa;display:inline-flex;flex-direction:column;bottom:27px;right:45px;width:115px;padding:5px 5px 0;box-shadow:0 4px 14px rgba(0,0,0,.15);z-index:3}.actions-menu button{margin:0 0 5px;height:27px}.nav-controls{padding:10px}#bottom-panel:not(.full) .nav-controls.env-nav{position:sticky;position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;top:0;background:#f1f1f1;z-index:1;border-bottom:1px solid #ddd}.current-number{margin:0 7px}.expand-list,.recent-link{text-decoration:underline;color:#00f;cursor:pointer}.settings-page{max-width:1110px;margin-right:auto;margin-left:auto;font-size:15px;padding:0 10px 70px}.settings-header{display:flex;align-items:center;margin-bottom:5px}.settings-header .header-title{flex-grow:1}.settings-header .header-logo{width:50px;height:50px}.settings-section{padding-top:15px}.settings-section .section-title{margin-top:0}.settings-section .subsection-title{margin-bottom:10px}.settings-section .tip{font-style:italic;font-size:13px;color:grey}.settings-section .pattern-wrapper{margin-top:10px;font-size:16px;display:flex;height:33px}.settings-section .api-error{font-family:Consolas,"Roboto Mono",Monaco,Ubuntu Mono,monospace;margin-top:5px;color:red}.pattern-wrapper .pattern-input{font-family:Consolas,"Roboto Mono",Monaco,Ubuntu Mono,monospace;width:600px;font-size:inherit;padding:5px 0;height:100%;box-sizing:border-box;flex-grow:1;flex-shrink:1}.retro-checkbox .checkbox{margin:0}.retro-checkbox{margin-top:7px}.btn.new-pattern{height:100%;line-height:18px}.pattern-wrapper .shrink{height:100%;width:40px;text-align:center;box-sizing:border-box;flex-grow:0;flex-shrink:0;margin-left:10px}.svg-inline--fa{opacity:.7}.pattern-wrapper .shrink.reset{background:unset;width:unset;padding:0;margin-left:8px}.grouping-patterns button.new-pattern{margin-top:10px}.backtrace-line .line-link{color:#9e9e9e;margin-left:3px;text-decoration:none;white-space:normal}@media (prefers-color-scheme:dark){#bottom-panel,body{background:#181818}.btn,.tabs a,body{color:#cecece}.message-row div{border-top-color:#404040}.message-row:hover{background:#262626}.message-row.selected{background:#303030}#log-table .show-more,.divider{background:#262626}.divider div{background:#707070}.divider,.tabs{border-top-color:#555}#bottom-panel:not(.full) .nav-controls.env-nav,.divider,.message-info,.nav-controls.group-nav{border-bottom-color:#555}.action-panel .search{background:#262626;border-color:#404040}.tabs a{background:#323232;border-color:#404040}.tabs a.active{background:#555;border-color:#707070;color:#f4f4f4}.btn{background:#323232}#bottom-panel.full .message-actions{background:#181818;border-color:#555}#bottom-panel:not(.full) .nav-controls.env-nav{background:#181818}.expand-list,.recent-link{color:#44f}}
1
+ body{font-family:Arial,"Liberation Sans","DejaVu Sans",sans-serif;font-size:12px}body.mobile,body.mobile .message{font-size:14px}pre{font-family:"Roboto Mono",Consolas,Monaco,Ubuntu Mono,monospace}table.env-table tbody tr td{border-top:none;line-height:18px;height:18px;vertical-align:top}table.env-table,table.env-table table{border-spacing:0;border-collapse:collapse}table.env-table td{padding-right:5px}tbody tr{width:98%}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.loading{border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;width:30px;height:30px;animation:spin 1s linear infinite;margin:40dvh auto}#bottom-panel:not(.full) .nav-controls.env-nav,.divider,.message-info,.nav-controls.group-nav{border-bottom:1px solid #ddd}.message-row,.message-row-wrapper{display:flex;width:inherit}.message-row{font-family:Roboto}.message-row .protected,.message-row .severity{text-align:center;width:25px;flex-grow:0;flex-shrink:0;font-size:12px}.message-row div{border-top:.5px #e9e9e9 solid;padding-top:1px;padding-bottom:1px;line-height:25px}.message-row .count{width:30px;flex-grow:0;flex-shrink:0;padding-right:4px;box-sizing:border-box;font-size:11px;font-weight:700;text-align:right}.message-row .message-body{flex-grow:1;flex-shrink:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px}.message-row .time{flex-grow:0;flex-shrink:0;color:#999;vertical-align:top;font-size:12px;padding-right:8px}.action-panel .search,.action-panel .svg-inline--fa,.pattern-wrapper .pattern-input,.pattern-wrapper .shrink,.search-clear-all .btn.clear span,.search-clear-all .clear,input,label span{vertical-align:middle}.message-row:hover{background-color:#f8f8f8;cursor:pointer}.message-row.selected{background-color:#dfdfdf}.svg-inline--fa.fatal{color:#e00}.svg-inline--fa.error{color:#900}.svg-inline--fa.warning{color:#feb800}.debug{color:#777}.btn,.tabs a{text-decoration:none;color:#333}.action-panel .search{border:1px solid #ddd;padding:3px;box-sizing:border-box}#log-table .show-more{text-align:center;height:30px;line-height:30px;text-decoration:none;background-color:#ddd;cursor:pointer;margin-top:8px}#overlay,.divider{cursor:row-resize}#bottom-panel{position:fixed;bottom:0;left:0;right:0;height:300px;background-color:#f1f1f1;padding:0 8px 8px;z-index:2}#bottom-panel.full{position:static;background-color:inherit;height:90%}#bottom-panel.full>div{padding-bottom:40px}#bottom-panel.full .tabs{display:none}#bottom-panel.full .message-info{position:static}#bottom-panel.full .message-info .content{display:block;position:static}#bottom-panel.full .save,#bottom-panel.full .share{bottom:10px}#bottom-panel.full button.delete{display:none}#bottom-panel.full .message-actions button{margin-top:8px}@media (max-width:382px){#bottom-panel.full .message-actions{height:73px}}@media (min-width:383px){#bottom-panel.full .message-actions{height:40px}}#bottom-panel.full .message-actions{position:fixed;width:100%;left:0;bottom:0;background-color:#eee;border-top:1px solid #dfdfdf;padding-left:10px}.divider,.tabs{border-top:1px solid #ddd}.message-actions{position:absolute;bottom:5px;right:0;margin-right:10px}.message-actions button{margin-left:5px}.divider{position:fixed;bottom:310px;left:0;right:0;height:15px;background-color:#fafafa}.divider div{margin:auto;width:24px;height:1px;background-color:#ccc;position:relative}.divider .line-1{top:5px}.divider .line-2,.tabs a{top:6px}.divider .line-3{top:7px}#top-panel{position:fixed;top:0;left:0;right:0;bottom:320px;overflow:auto}.action-panel,.message-info,.nav-controls.group-nav{position:absolute;left:0;right:0}#back-to-site-panel{padding:10px;background-color:#f1f1f1}.message-info{top:0}#bottom-panel.group-view .message-info{top:43px}.action-panel{bottom:0;font-weight:700}.action-panel input{margin:0}.severity-filters label{margin-right:10px}.search-clear-all .clear{float:right}#log-table{margin:auto;width:99%}.btn span{display:inline}.hidden{display:none}.message-info .env-table,.message-info pre{position:relative;margin:5px 10px 10px}#overlay{position:fixed;z-index:99999;top:0;bottom:0;left:0;right:0;opacity:0}.message-info .content,.tabs{position:absolute;left:0;right:0}.message-info .content{top:0;bottom:35px;overflow:auto;display:none}.message-info .content.active{display:block}.tabs{bottom:13px;list-style-type:none;margin:0 0 5px;padding:0 0 0 10px}.tabs a,.tabs li{position:relative}.tabs li{float:left;padding-right:5px;margin:0}.tabs a{border:1px solid #ddd;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;padding:6px;background-color:#e1e1e1}.tabs a.active{border-top:1px solid #f1f1f1;background-color:#f1f1f1}.btn{display:inline-block;margin:0;padding:5px 8px;font-size:1em;line-height:0;text-align:center;cursor:pointer;transition:all .25s;background-color:#ddd;border:none;font-weight:400}.btn:hover{color:#000;background-color:#ccc}.btn .svg-inline--fa{margin-right:7px}.btn:active{text-shadow:none}.btn.danger:hover{background-color:#c63c1b;color:#eee}.btn.ok{background-color:#3781dc;color:#fff}.btn.ok:hover{background-color:#286dc2;color:#fff}.search-clear-all .btn.clear,.search-clear-all .search{height:100%}.search-clear-all .btn.clear,.search-clear-all .search,.severity-filters label{align-self:center}.search-clear-all .footer-btns .settings{height:100%;box-sizing:border-box;display:inline-flex;align-items:center}.search-clear-all{display:flex;justify-content:space-between}.search-clear-all .search{min-width:0;flex-shrink:2}.footer-btns{display:flex;gap:.7em}@media (min-width:871px){.search-clear-all,.severity-filters{height:100%}.more-wrapping,.severity-filters{display:flex}.severity-filters{float:left}.action-panel{padding:10px;box-sizing:border-box;height:45px}.message-info{bottom:45px}}@media (max-width:870px){.severity-filters{padding:10px}.search-clear-all{padding:0 10px 10px}.action-panel{height:69px}.message-info{bottom:69px}}@media (max-width:430px){.severity-filters{overflow-x:scroll;overflow-y:hidden;white-space:nowrap}.more-wrapping:after,.more-wrapping:before{content:"";position:absolute;height:18px}.more-wrapping:before{width:15px;margin-left:-10px;background:linear-gradient(to right,#f1f1f1 0,rgba(241,241,241,.001) 100%)}.more-wrapping:after{right:0;width:23px;background:linear-gradient(to left,#f1f1f1 0,rgba(241,241,241,.001) 100%)}}.btn.no-text .svg-inline--fa{margin:0}.btn[disabled]{opacity:.5}.actions-menu{position:absolute;background:#fafafa;display:inline-flex;flex-direction:column;bottom:27px;right:45px;width:115px;padding:5px 5px 0;box-shadow:0 4px 14px rgba(0,0,0,.15);z-index:3}.actions-menu button{margin:0 0 5px;height:27px}.nav-controls{padding:10px}#bottom-panel:not(.full) .nav-controls.env-nav{position:sticky;position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;top:0;background:#f1f1f1;z-index:1}.current-number{margin:0 7px}.expand-list,.recent-link{text-decoration:underline;color:#00f;cursor:pointer}.settings-page{max-width:1110px;margin-right:auto;margin-left:auto;font-size:15px;padding:0 10px 70px}.settings-header{display:flex;align-items:center;margin-bottom:5px}.settings-header .header-title{flex-grow:1}.settings-header .header-logo{width:50px;height:50px}.settings-section{padding-top:15px}.settings-section .section-title{margin-top:0}.settings-section .subsection-title{margin-bottom:10px}.settings-section .tip{font-style:italic;font-size:13px;color:grey}.settings-section .pattern-wrapper{margin-top:10px;font-size:16px;display:flex;height:33px}.settings-section .api-error{font-family:Consolas,"Roboto Mono",Monaco,Ubuntu Mono,monospace;margin-top:5px;color:red}.pattern-wrapper .pattern-input{font-family:Consolas,"Roboto Mono",Monaco,Ubuntu Mono,monospace;width:600px;font-size:inherit;padding:5px 0;height:100%;box-sizing:border-box;flex-grow:1;flex-shrink:1}.retro-checkbox .checkbox{margin:0}.retro-checkbox{margin-top:7px}.btn.new-pattern{height:100%;line-height:18px}.pattern-wrapper .shrink{height:100%;width:40px;text-align:center;box-sizing:border-box;flex-grow:0;flex-shrink:0;margin-left:10px}.svg-inline--fa{opacity:.7}.pattern-wrapper .shrink.reset{background:unset;width:unset;padding:0;margin-left:8px}.grouping-patterns button.new-pattern{margin-top:10px}.backtrace-line .line-link{color:#9e9e9e;margin-left:3px;text-decoration:none;white-space:normal}@media (prefers-color-scheme:dark){#bottom-panel,body{background:#181818}.btn,.tabs a,body{color:#cecece}.message-row div{border-top-color:#404040}.message-row:hover{background:#262626}.message-row.selected{background:#303030}#log-table .show-more,.divider{background:#262626}.divider div{background:#707070}.divider,.tabs{border-top-color:#555}#bottom-panel:not(.full) .nav-controls.env-nav,.divider,.message-info,.nav-controls.group-nav{border-bottom-color:#555}.action-panel .search{background:#262626;border-color:#404040}.tabs a{background:#323232;border-color:#404040}.tabs a.active{background:#555;border-color:#707070;color:#f4f4f4}.btn{background:#323232}#bottom-panel.full .message-actions{background:#181818;border-color:#555}#bottom-panel:not(.full) .nav-controls.env-nav{background:#181818}.expand-list,.recent-link{color:#44f}}
@@ -0,0 +1,9 @@
1
+ import Component from "@ember/component";
2
+ import { computed } from "@ember/object";
3
+
4
+ export default class BackToSiteLink extends Component {
5
+ @computed("attrs.text", "attrs.path")
6
+ get shouldDisplay() {
7
+ return this.text && this.path;
8
+ }
9
+ }
@@ -13,6 +13,8 @@ import { tracked } from "@glimmer/tracking";
13
13
  @classic
14
14
  export default class IndexController extends Controller {
15
15
  @tracked loading = false;
16
+ @tracked buildingGroupingPattern = false;
17
+ @tracked rowMessagesForGroupingPattern = [];
16
18
 
17
19
  showDebug = getLocalStorage("showDebug", false);
18
20
  showInfo = getLocalStorage("showInfo", false);
@@ -27,12 +29,29 @@ export default class IndexController extends Controller {
27
29
  return Preload.get("patterns_enabled");
28
30
  }
29
31
 
32
+ @computed
33
+ get backToSiteLinkText() {
34
+ return Preload.get("back_to_site_link_text");
35
+ }
36
+
37
+ @computed
38
+ get backToSiteLinkPath() {
39
+ return Preload.get("back_to_site_link_path");
40
+ }
41
+
30
42
  get actionsInMenu() {
31
43
  return (
32
44
  /mobile/i.test(navigator.userAgent) && !/iPad/.test(navigator.userAgent)
33
45
  );
34
46
  }
35
47
 
48
+ get showCreateGroupingPattern() {
49
+ return (
50
+ this.buildingGroupingPattern &&
51
+ this.rowMessagesForGroupingPattern.length > 1
52
+ );
53
+ }
54
+
36
55
  @computed("search")
37
56
  get searchTerm() {
38
57
  if (this.search) {
@@ -67,6 +86,19 @@ export default class IndexController extends Controller {
67
86
  this.model.selectRow(row, opts);
68
87
  }
69
88
 
89
+ @action
90
+ handleCheckboxChange(row, event) {
91
+ if (event.target.checked) {
92
+ this.rowMessagesForGroupingPattern = [
93
+ ...this.rowMessagesForGroupingPattern,
94
+ row.message,
95
+ ];
96
+ } else {
97
+ this.rowMessagesForGroupingPattern =
98
+ this.rowMessagesForGroupingPattern.filter((i) => i !== row.message);
99
+ }
100
+ }
101
+
70
102
  @action
71
103
  tabChangedAction(newTab) {
72
104
  this.model.tabChanged(newTab);
@@ -87,7 +119,6 @@ export default class IndexController extends Controller {
87
119
  // eslint-disable-next-line no-alert
88
120
  if (confirm("Clear the logs?\n\nCancel = No, OK = Clear")) {
89
121
  await ajax("/clear", { type: "POST" });
90
- this.loading = true;
91
122
  this.model.reload();
92
123
  this.loading = false;
93
124
  }
@@ -171,4 +202,63 @@ export default class IndexController extends Controller {
171
202
 
172
203
  debounce(this, this.doSearch, term, 250);
173
204
  }
205
+
206
+ @action
207
+ toggleGroupingPatternFromSelectedRows() {
208
+ this.buildingGroupingPattern = !this.buildingGroupingPattern;
209
+ this.rowMessagesForGroupingPattern = [];
210
+ }
211
+
212
+ @action
213
+ async createGroupingPatternFromSelectedRows() {
214
+ let match = this.findLongestMatchingPrefix(
215
+ this.rowMessagesForGroupingPattern
216
+ );
217
+ match = this.escapeRegExp(match);
218
+
219
+ if (
220
+ match.trim().length &&
221
+ // eslint-disable-next-line no-alert
222
+ confirm(
223
+ `Do you want to create the grouping pattern\n\n"${match}"\n\nCancel = No, OK = Create`
224
+ )
225
+ ) {
226
+ await ajax("/patterns/grouping.json", {
227
+ method: "POST",
228
+ data: {
229
+ pattern: match,
230
+ },
231
+ });
232
+ this.rowMessagesForGroupingPattern = [];
233
+ this.buildingGroupingPattern = false;
234
+ this.model.reload();
235
+ } else if (!match.trim().length) {
236
+ // eslint-disable-next-line no-alert
237
+ alert("Can not create a grouping pattern with the given rows");
238
+ }
239
+ }
240
+
241
+ findLongestMatchingPrefix(strings) {
242
+ const shortestString = strings.reduce(
243
+ (shortest, str) => (str.length < shortest.length ? str : shortest),
244
+ strings[0]
245
+ );
246
+
247
+ let longestMatchingSubstring = "";
248
+ for (let i = 0; i < shortestString.length; i++) {
249
+ const currentSubstring = shortestString.substring(0, i + 1);
250
+
251
+ if (strings.every((str) => str.includes(currentSubstring))) {
252
+ longestMatchingSubstring = currentSubstring;
253
+ } else {
254
+ break;
255
+ }
256
+ }
257
+
258
+ return longestMatchingSubstring;
259
+ }
260
+
261
+ escapeRegExp(string) {
262
+ return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
263
+ }
174
264
  }
@@ -52,9 +52,19 @@ tbody tr {
52
52
  margin: 40dvh auto;
53
53
  }
54
54
 
55
+ .message-row-wrapper {
56
+ display: flex;
57
+ width: inherit;
58
+
59
+ .grouping-checkbox {
60
+ margin: 0;
61
+ }
62
+ }
63
+
55
64
  .message-row {
56
65
  font-family: "Roboto";
57
66
  display: flex;
67
+ width: inherit;
58
68
  }
59
69
 
60
70
  .message-row .severity,
@@ -268,6 +278,11 @@ tbody tr {
268
278
  overflow: auto;
269
279
  }
270
280
 
281
+ #back-to-site-panel {
282
+ padding: 10px;
283
+ background-color: #f1f1f1;
284
+ }
285
+
271
286
  .message-info {
272
287
  position: absolute;
273
288
  border-bottom: 1px solid #ddd;
@@ -306,7 +321,7 @@ label span {
306
321
  }
307
322
 
308
323
  .severity-filters label {
309
- margin-right: 18px;
324
+ margin-right: 10px;
310
325
  }
311
326
 
312
327
  .search-clear-all .clear {
@@ -396,7 +411,7 @@ label span {
396
411
  .btn {
397
412
  display: inline-block;
398
413
  margin: 0;
399
- padding: 5px 12px;
414
+ padding: 5px 8px;
400
415
  font-size: 1em;
401
416
  line-height: 0;
402
417
  text-align: center;
@@ -455,7 +470,6 @@ label span {
455
470
  .search-clear-all .footer-btns .settings {
456
471
  height: 100%;
457
472
  box-sizing: border-box;
458
- margin: 0 7px 0 7px;
459
473
  display: inline-flex;
460
474
  align-items: center;
461
475
  }
@@ -471,11 +485,11 @@ label span {
471
485
  }
472
486
 
473
487
  .footer-btns {
474
- flex-grow: 0;
475
- flex-shrink: 0;
488
+ display: flex;
489
+ gap: 0.7em;
476
490
  }
477
491
 
478
- @media (min-width: 771px) {
492
+ @media (min-width: 871px) {
479
493
  .severity-filters,
480
494
  .search-clear-all {
481
495
  height: 100%;
@@ -497,7 +511,7 @@ label span {
497
511
  }
498
512
  }
499
513
 
500
- @media (max-width: 770px) {
514
+ @media (max-width: 870px) {
501
515
  .severity-filters {
502
516
  padding: 10px;
503
517
  }
@@ -0,0 +1,8 @@
1
+ {{#if this.shouldDisplay}}
2
+ <div id="back-to-site-panel">
3
+ <a href={{@path}} rel="noopener noreferrer">
4
+ <FaIcon @icon="arrow-left" />
5
+ {{@text}}
6
+ </a>
7
+ </div>
8
+ {{/if}}
@@ -1,4 +1,8 @@
1
1
  <div id="top-panel">
2
+ <BackToSiteLink
3
+ @path={{this.backToSiteLinkPath}}
4
+ @text={{this.backToSiteLinkText}}
5
+ />
2
6
  <div id="log-table">
3
7
  {{#if this.model.moreBefore}}
4
8
  <div {{on "click" this.showMoreBefore}} class="show-more">
@@ -17,7 +21,16 @@
17
21
  {{/if}}
18
22
 
19
23
  {{#each this.model.rows as |row|}}
20
- <MessageRow @model={{row}} @selectRow={{fn this.selectRowAction row}} />
24
+ <div class="message-row-wrapper">
25
+ {{#if this.buildingGroupingPattern}}
26
+ <input
27
+ type="checkbox"
28
+ class="grouping-checkbox"
29
+ {{on "change" (fn this.handleCheckboxChange row)}}
30
+ />
31
+ {{/if}}
32
+ <MessageRow @model={{row}} @selectRow={{fn this.selectRowAction row}} />
33
+ </div>
21
34
  {{/each}}
22
35
  </div>
23
36
  </div>
@@ -109,9 +122,27 @@
109
122
 
110
123
  <div class="footer-btns">
111
124
  {{#if this.showSettings}}
125
+ {{#if this.showCreateGroupingPattern}}
126
+ <button
127
+ class="settings btn"
128
+ type="button"
129
+ {{on "click" this.createGroupingPatternFromSelectedRows}}
130
+ >
131
+ <span>Create Grouping Pattern</span>
132
+ </button>
133
+ {{/if}}
134
+
112
135
  <LinkTo @route="settings" class="settings btn no-text">
113
136
  <FaIcon @icon="cog" />
114
137
  </LinkTo>
138
+
139
+ <button
140
+ class="settings btn no-text"
141
+ type="button"
142
+ {{on "click" this.toggleGroupingPatternFromSelectedRows}}
143
+ >
144
+ <FaIcon @icon="list" />
145
+ </button>
115
146
  {{/if}}
116
147
 
117
148
  <button
@@ -1,6 +1,7 @@
1
1
  module.exports = function () {
2
2
  return {
3
3
  "free-solid-svg-icons": [
4
+ "arrow-left",
4
5
  "check-square",
5
6
  "trash-alt",
6
7
  "ellipsis-h",
@@ -19,6 +20,7 @@ module.exports = function () {
19
20
  "cog",
20
21
  "lock",
21
22
  "unlock",
23
+ "list",
22
24
  ],
23
25
  "free-regular-svg-icons": ["trash-alt", "check-square", "copy", "clone"],
24
26
  // "free-brands-svg-icons": []
@@ -0,0 +1,20 @@
1
+ import { module, test } from "qunit";
2
+ import { setupRenderingTest } from "ember-qunit";
3
+ import { render } from "@ember/test-helpers";
4
+ import hbs from "htmlbars-inline-precompile";
5
+
6
+ module("Integration | Component | back-to-site-link", function (hooks) {
7
+ setupRenderingTest(hooks);
8
+
9
+ test("With path and text paremeter", async function (assert) {
10
+ await render(hbs`<BackToSiteLink @path="/admin" @text="back to site"/>`);
11
+ assert.dom("#back-to-site-panel a").exists("It shows back to site link");
12
+ });
13
+
14
+ test("Without required paremeters", async function (assert) {
15
+ await render(hbs`<BackToSiteLink />`);
16
+ assert
17
+ .dom("#back-to-site-panel a")
18
+ .doesNotExist("It does not show back link to site");
19
+ });
20
+ });
@@ -6,10 +6,10 @@ import * as utilities from "client-app/lib/utilities";
6
6
 
7
7
  module("Unit | Controller | index", function (hooks) {
8
8
  setupTest(hooks);
9
+ const ajaxStub = sinon.stub(utilities, "ajax");
9
10
 
10
11
  test("uses search param to filter results", function (assert) {
11
12
  const controller = this.owner.lookup("controller:index");
12
- const ajaxStub = sinon.stub(utilities, "ajax");
13
13
  const messages = MessageCollection.create();
14
14
  const row1 = { message: "error tomtom", severity: 2, key: "ce1f53b0cc" };
15
15
  const row2 = { message: "error steaky", severity: 3, key: "b083352825" };
@@ -43,4 +43,35 @@ module("Unit | Controller | index", function (hooks) {
43
43
  "with correct terms"
44
44
  );
45
45
  });
46
+
47
+ test("Creating inline grouping patterns finds the longest matching prefix between selected messages", function (assert) {
48
+ const controller = this.owner.lookup("controller:index");
49
+ const messages = ["error foo tomtom", "error foo steaky", "error foo bar"];
50
+
51
+ assert.deepEqual(
52
+ controller.findLongestMatchingPrefix(messages),
53
+ "error foo "
54
+ );
55
+ });
56
+
57
+ test("Creating inline grouping patterns can handle special characters", function (assert) {
58
+ const controller = this.owner.lookup("controller:index");
59
+ let messages = [
60
+ "error foo!/@ tomtom",
61
+ "error foo!/@ steaky",
62
+ "error foo!/@ bar",
63
+ ];
64
+
65
+ assert.deepEqual(
66
+ controller.findLongestMatchingPrefix(messages),
67
+ "error foo!/@ "
68
+ );
69
+
70
+ messages = ["/$home/sam/.r\benv/", "/$home/sam/.r\benv/"];
71
+
72
+ assert.deepEqual(
73
+ controller.findLongestMatchingPrefix(messages),
74
+ "/$home/sam/.r\benv/"
75
+ );
76
+ });
46
77
  });
@@ -20,6 +20,8 @@ module Logster
20
20
  :max_env_count_per_message,
21
21
  :maximum_message_length,
22
22
  :use_full_hostname,
23
+ :back_to_site_link_text,
24
+ :back_to_site_link_path,
23
25
  )
24
26
 
25
27
  attr_writer :subdirectory
@@ -335,6 +335,12 @@ module Logster
335
335
  preload.merge!(gems_dir: gems_dir, backtrace_links_enabled: backtrace_links_enabled)
336
336
 
337
337
  preload.merge!(preload_backtrace_data) if backtrace_links_enabled
338
+ if Logster.config.back_to_site_link_text && Logster.config.back_to_site_link_path
339
+ preload.merge!(
340
+ back_to_site_link_text: Logster.config.back_to_site_link_text,
341
+ back_to_site_link_path: Logster.config.back_to_site_link_path,
342
+ )
343
+ end
338
344
  preload
339
345
  end
340
346
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Logster
4
- VERSION = "2.15.0"
4
+ VERSION = "2.17.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logster
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.15.0
4
+ version: 2.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Saffron
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-18 00:00:00.000000000 Z
11
+ date: 2024-02-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -172,8 +172,8 @@ files:
172
172
  - assets/images/icon_144x144.png
173
173
  - assets/images/icon_64x64.png
174
174
  - assets/javascript/.gitkeep
175
- - assets/javascript/chunk.143.0b76bade128635ff26b5.js
176
- - assets/javascript/chunk.178.7220dd5fc808cbd8a85c.js
175
+ - assets/javascript/chunk.143.6a5927a82fb199a66976.js
176
+ - assets/javascript/chunk.178.ab1479ccc789e77b85d9.js
177
177
  - assets/javascript/chunk.468.95dd450003497c781cb3.js
178
178
  - assets/javascript/chunk.916.85a3fc9d873df80f5ea5.js
179
179
  - assets/javascript/client-app.js
@@ -194,6 +194,7 @@ files:
194
194
  - client-app/README.md
195
195
  - client-app/app/app.js
196
196
  - client-app/app/components/actions-menu.js
197
+ - client-app/app/components/back-to-site-link.js
197
198
  - client-app/app/components/back-trace.js
198
199
  - client-app/app/components/env-tab.js
199
200
  - client-app/app/components/message-info.js
@@ -226,6 +227,7 @@ files:
226
227
  - client-app/app/styles/app.css
227
228
  - client-app/app/templates/application.hbs
228
229
  - client-app/app/templates/components/actions-menu.hbs
230
+ - client-app/app/templates/components/back-to-site-link.hbs
229
231
  - client-app/app/templates/components/back-trace.hbs
230
232
  - client-app/app/templates/components/env-tab.hbs
231
233
  - client-app/app/templates/components/message-info.hbs
@@ -250,6 +252,7 @@ files:
250
252
  - client-app/public/assets/images/icon_64x64.png
251
253
  - client-app/testem.js
252
254
  - client-app/tests/index.html
255
+ - client-app/tests/integration/components/back-to-site-link-test.js
253
256
  - client-app/tests/integration/components/back-trace-test.js
254
257
  - client-app/tests/integration/components/env-tab-test.js
255
258
  - client-app/tests/integration/components/message-info-test.js