logster 2.17.0 → 2.18.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: c9e087ab906cb53b0864cbae56f1479010bd61c761a3debf03dc1c6d215b23fd
4
- data.tar.gz: 66a3952e9374ef55dd28833f1f8ac2a05aecc55026517423afd00e36cd1b2de6
3
+ metadata.gz: b42108529f3d1efa06b9505e663768978d196547f3a740b93ef39e1c0e3fa799
4
+ data.tar.gz: e9dec0e088efd26bd4bb9fb68a8c42f08a29f20b05ce852c3c555525f77c187e
5
5
  SHA512:
6
- metadata.gz: 0c5810d7a7de4ceeec360aee11699dc1d2138ec9bce2967c33621871ded17756fa35f56acc8cb382fa46b7b76a3ea81aff6f29cd655012211e8c4bf0d64d13d6
7
- data.tar.gz: ec4132020bc2b8e195d1e196a83bf9f9049452e05c615310136ec5bbddc5870a4f1f84e633b18288e4ea0a3f26dc580eb1ca1ce885b8241e75dfa25b639bd7a5
6
+ metadata.gz: 507d69d608f83f30a6e9367669d692fce19056fd1be4a187b39c6cbacb3b20464f49a8569e8741f29c7e716d568fae1537ca01aa06dd98e1fa14a7b6fa3ccd2b
7
+ data.tar.gz: 45132294504ae2947342ffca2c2f9d973a6d405e1da941aec7e4757e72f7aec6497a73e79a1d2d40216e50a0436293ad9399db217fd3f38687aa259f3b1daa5a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # CHANGELOG
2
2
 
3
+ - 2024-02-15: 2.18.0
4
+
5
+ - FEATURE: Implement a default Content-Security-Policy
6
+
7
+ - 2024-02-15: 2.17.1
8
+
9
+ - UX: fixed top menu when backlink to the site exists
10
+
3
11
  - 2024-02-15: 2.17.0
4
12
 
5
13
  - FEATURE: backlink to site
@@ -1,6 +1,6 @@
1
1
  var __ember_auto_import__
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={}
2
+ !function(){var e,r={892: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)})))},308: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(477)}))
21
- var t=o.O(void 0,[468],(function(){return o(109)}))
20
+ n.forEach(r.bind(null,0)),n.push=r.bind(null,n.push.bind(n))}(),o.O(void 0,[468],(function(){return o(308)}))
21
+ var t=o.O(void 0,[468],(function(){return o(892)}))
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={477:function(r,n){window._eai_r=require,window._eai_d=define},553:function(r,n,e){var t,o
2
+ !function(){var r,n={308:function(r,n){window._eai_r=require,window._eai_d=define},435: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(477)}))
21
- var o=t.O(void 0,[916],(function(){return t(553)}))
20
+ e.forEach(n.bind(null,0)),e.push=n.bind(null,e.push.bind(e))}(),t.O(void 0,[916],(function(){return t(308)}))
21
+ var o=t.O(void 0,[916],(function(){return t(435)}))
22
22
  o=t.O(o),__ember_auto_import__=o}()
@@ -577,7 +577,7 @@ e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,confi
577
577
  var r,n,a,c,u,y,h,j=w(_)
578
578
  function _(){var e;(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,_)
579
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()
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:"hasTopMenu",get:function(){return this.backToSiteLinkText&&this.backToSiteLinkPath}},{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()
581
581
  case 4:this.loading=!1,this.model.updateSelectedRow()
582
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")
583
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]:{}
@@ -598,7 +598,7 @@ break
598
598
  case 10:t.trim().length||alert("Can not create a grouping pattern with the given rows")
599
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
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)
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,"hasTopMenu",[r.computed],Object.getOwnPropertyDescriptor(u.prototype,"hasTopMenu"),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
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
603
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}
604
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"
@@ -1381,10 +1381,10 @@ var r=(0,t.createTemplateFactory)({id:"jowUyE+e",block:'[[[18,2,[[28,[37,1],null
1381
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
1382
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})
1383
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
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})
1384
+ var r=(0,t.createTemplateFactory)({id:"PwYcQgbE",block:'[[[41,[30,0,["hasTopMenu"]],[[[1," "],[10,0],[14,1,"top-menu"],[12],[1,"\\n "],[8,[39,1],null,[["@path","@text"],[[30,0,["backToSiteLinkPath"]],[30,0,["backToSiteLinkText"]]]],null],[1,"\\n "],[13],[1,"\\n"]],[]],null],[10,0],[14,1,"top-panel"],[15,0,[52,[30,0,["hasTopMenu"]],"with-top-menu"]],[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,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,["if","back-to-site-link","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})
1385
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
1386
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})
1387
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
1388
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})
1389
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))}
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"})
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+b7702e90"})
@@ -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}#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}}
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,.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;border-bottom:1px solid #ddd;background-color:#fafafa}.divider div{margin:auto;width:24px;height:1px;background-color:#ccc;position:relative}#overlay,#top-menu,#top-panel{position:fixed}.divider .line-1{top:5px}.divider .line-2,.tabs a{top:6px}.divider .line-3{top:7px}#top-panel{top:0;left:0;right:0;bottom:320px;overflow:auto}#top-panel.with-top-menu{top:35px}#top-menu{z-index:900;left:0;top:0;width:100%}.action-panel,.message-info,.nav-controls.group-nav{position:absolute;left:0;right:0}#back-to-site-panel{padding:10px;background-color:#f1f1f1;height:15px}.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: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{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;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}}
@@ -39,6 +39,11 @@ export default class IndexController extends Controller {
39
39
  return Preload.get("back_to_site_link_path");
40
40
  }
41
41
 
42
+ @computed
43
+ get hasTopMenu() {
44
+ return this.backToSiteLinkText && this.backToSiteLinkPath;
45
+ }
46
+
42
47
  get actionsInMenu() {
43
48
  return (
44
49
  /mobile/i.test(navigator.userAgent) && !/iPad/.test(navigator.userAgent)
@@ -277,10 +277,22 @@ tbody tr {
277
277
  bottom: 320px;
278
278
  overflow: auto;
279
279
  }
280
+ #top-panel.with-top-menu {
281
+ top: 35px;
282
+ }
283
+
284
+ #top-menu {
285
+ position: fixed;
286
+ z-index: 900;
287
+ left: 0;
288
+ top: 0;
289
+ width: 100%;
290
+ }
280
291
 
281
292
  #back-to-site-panel {
282
293
  padding: 10px;
283
294
  background-color: #f1f1f1;
295
+ height: 15px;
284
296
  }
285
297
 
286
298
  .message-info {
@@ -1,8 +1,12 @@
1
- <div id="top-panel">
2
- <BackToSiteLink
3
- @path={{this.backToSiteLinkPath}}
4
- @text={{this.backToSiteLinkText}}
5
- />
1
+ {{#if this.hasTopMenu}}
2
+ <div id="top-menu">
3
+ <BackToSiteLink
4
+ @path={{this.backToSiteLinkPath}}
5
+ @text={{this.backToSiteLinkText}}
6
+ />
7
+ </div>
8
+ {{/if}}
9
+ <div id="top-panel" class={{if this.hasTopMenu "with-top-menu"}}>
6
10
  <div id="log-table">
7
11
  {{#if this.model.moreBefore}}
8
12
  <div {{on "click" this.showMoreBefore}} class="show-more">
@@ -85,7 +85,7 @@ module Logster
85
85
  [200, { "content-type" => "application/json; charset=utf-8" }, [message.to_json]]
86
86
  else
87
87
  preload = { "/show/#{key}" => message }
88
- [200, { "content-type" => "text/html; charset=utf-8" }, [body(preload)]]
88
+ js_app(preload)
89
89
  end
90
90
  elsif resource =~ %r{/settings(\.json)?$}
91
91
  json = $1 == ".json"
@@ -114,7 +114,7 @@ module Logster
114
114
  [JSON.generate(suppression: suppression, grouping: grouping)],
115
115
  ]
116
116
  else
117
- [200, { "content-type" => "text/html; charset=utf-8" }, [body]]
117
+ js_app
118
118
  end
119
119
  elsif resource =~ %r{/patterns/([a-zA-Z0-9_]+)\.json$}
120
120
  unless Logster.config.enable_custom_patterns_via_ui
@@ -151,7 +151,7 @@ module Logster
151
151
  Logster.store.remove_ignore_count(pattern)
152
152
  [200, {}, ["OK"]]
153
153
  elsif resource == "/"
154
- [200, { "content-type" => "text/html; charset=utf-8" }, [body]]
154
+ js_app
155
155
  elsif resource =~ %r{/fetch-env/([0-9a-f]+)\.json$}
156
156
  key = $1
157
157
  env = Logster.store.get_env(key)
@@ -299,15 +299,12 @@ module Logster
299
299
  $3 || "/" if path =~ @path_regex
300
300
  end
301
301
 
302
- def css(name, attrs = {})
303
- attrs = attrs.map { |k, v| "#{k}='#{v}'" }.join(" ")
304
-
305
- "<link rel='stylesheet' type='text/css' href='#{@logs_path}/stylesheets/#{name}' #{attrs}>"
302
+ def css(name, csp_nonce)
303
+ "<link rel='stylesheet' type='text/css' href='#{@logs_path}/stylesheets/#{name}' nonce='#{csp_nonce}'>"
306
304
  end
307
305
 
308
- def script(prod, dev = nil)
309
- name = ENV["DEBUG_JS"] == "1" && dev ? dev : prod
310
- "<script src='#{@logs_path}/javascript/#{name}'></script>"
306
+ def script(name, csp_nonce)
307
+ "<script src='#{@logs_path}/javascript/#{name}' nonce='#{csp_nonce}'></script>"
311
308
  end
312
309
 
313
310
  def to_json_and_escape(payload)
@@ -344,32 +341,43 @@ module Logster
344
341
  preload
345
342
  end
346
343
 
347
- def body(preload = {})
344
+ def js_app(preload = {})
345
+ csp_nonce = SecureRandom.hex
348
346
  preload = preloaded_data.merge(preload)
349
347
  root_url = @logs_path
350
348
  root_url += "/" if root_url[-1] != "/"
351
- <<~HTML
349
+ body = <<~HTML
352
350
  <!doctype html>
353
351
  <html>
354
352
  <head>
355
353
  <link rel="shortcut icon" href="#{@logs_path}/images/icon_64x64.png">
356
354
  <link rel="apple-touch-icon" href="#{@logs_path}/images/icon_144x144.png" />
357
355
  <title>#{Logster.config.web_title || "Logs"}</title>
358
- <link href='//fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>
359
- <link href='//fonts.googleapis.com/css?family=Roboto+Mono' rel='stylesheet' type='text/css'>
356
+ <link href='//fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css' nonce='#{csp_nonce}'>
357
+ <link href='//fonts.googleapis.com/css?family=Roboto+Mono' rel='stylesheet' type='text/css' nonce='#{csp_nonce}'>
360
358
  <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=yes">
361
359
  <meta name="color-scheme" content="dark light">
362
- #{css("vendor.css")}
363
- #{css("client-app.css")}
364
- #{script("vendor.js")}
360
+ #{css("vendor.css", csp_nonce)}
361
+ #{css("client-app.css", csp_nonce)}
362
+ #{script("vendor.js", csp_nonce)}
365
363
  <meta id="preloaded-data" data-root-path="#{@logs_path}" data-preloaded="#{to_json_and_escape(preload)}">
366
364
  <meta name="client-app/config/environment" content="%7B%22modulePrefix%22%3A%22client-app%22%2C%22environment%22%3A%22production%22%2C%22rootURL%22%3A%22#{root_url}%22%2C%22locationType%22%3A%22history%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_DEFAULT_ASYNC_OBSERVERS%22%3Atrue%2C%22_JQUERY_INTEGRATION%22%3Afalse%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22name%22%3A%22client-app%22%2C%22version%22%3A%220.0.0%2B7a424002%22%7D%2C%22exportApplicationGlobal%22%3Afalse%7D" />
367
365
  </head>
368
366
  <body>
369
- #{script("client-app.js")}
367
+ #{script("client-app.js", csp_nonce)}
370
368
  </body>
371
369
  </html>
372
370
  HTML
371
+
372
+ [
373
+ 200,
374
+ {
375
+ "content-type" => "text/html; charset=utf-8",
376
+ "content-security-policy" =>
377
+ "script-src 'nonce-#{csp_nonce}'; style-src 'nonce-#{csp_nonce}'; object-src 'none'; base-uri 'none';",
378
+ },
379
+ [body],
380
+ ]
373
381
  end
374
382
  end
375
383
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Logster
4
- VERSION = "2.17.0"
4
+ VERSION = "2.18.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.17.0
4
+ version: 2.18.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-02-14 00:00:00.000000000 Z
11
+ date: 2024-02-15 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.6a5927a82fb199a66976.js
176
- - assets/javascript/chunk.178.ab1479ccc789e77b85d9.js
175
+ - assets/javascript/chunk.143.a2d29a1fb97842b7d0eb.js
176
+ - assets/javascript/chunk.178.98ff138cdeebea372782.js
177
177
  - assets/javascript/chunk.468.95dd450003497c781cb3.js
178
178
  - assets/javascript/chunk.916.85a3fc9d873df80f5ea5.js
179
179
  - assets/javascript/client-app.js