Jump to content

Script Error when logging into XR1000


Recommended Posts

 

Not sure if this will help but it seems to be source codes, maybe something is wrong.. This is for the Rapp overviem

 

 Polymer({
      is: "rapp-overview",

      properties: {
        _cycle: {
          type: Object,
          value: null
        },
        rapps: {
          type: Object,
          value: []
        },
        _selectedRapps: {
          type: Object,
          value: [],
          observer: "_updateSelRappsLength"
        },
        _selectedRappsLength: {
          type: Number,
          value: 0,
          observer: "_updateLineColours"
        },
        _maxSelected: {
          type: Number,
          value: 8
        },
        _memData: {
          type: Object,
          value: {
            totalbytes: {},
            estimates: {},
            memory: {},
          }
        },
        _selectedData: {
          type: String,
          value: "totalbytes",
          observer: "_selectedDataChanged"
        },
        _selectedPage: {
          type: String,
          value: "single",
          observer: "_selectedDataChanged"
        },
        _selectedTab: {
          type: String,
          value: "memory",
          observer: "_selectedDataChanged"
        },
        timespans: {
          type: Array,
          value:[
            20,
            40,
            60,
            100,
            200,
            400,
          ]
        },
        _selectedTimespan: {
          type: Number,
          value: null,
          observer: "_selectedTimespanChanged"
        },
        _enableInBackground: {
          type: Boolean,
          value: null,
          observer: "_enableBackgroundChanged"
        },
        _timeCount: {
          type: Number,
          value: 0
        },

        _sortMethod: {
          type: String,
          value: "default",
          observer: "_sortMethodChanged"
        },
        _sortAscending: {
          type: Boolean,
          value: false
        },
        __sortInfo: {
          type: Object,
          value: {}
        },
        showSystemInfo: {
          type: Boolean,
          value: null,
          observer: "_showSystemInfoChanged",
          reflectToAttribute: true
        },
        systemInfos: {
          type: Array,
          value: []
        },
        systemInfoAsRaw: {
          type: Boolean,
          value: false
        },

        __gOptions: Object,
        __gData: Object,
        __shades: Array,
        __prePage: String,

        __columns: {
          type: Object,
          value: [
            {key: "peak-size", display: "VMem Size"},
            {key: "peak-peak", display: "VMem Peak"},
            {key: "current-p", display: "Memory (P)"},
            {key: "current-r", display: "Memory (R)"},
            {key: "current-vmach", display: "VMach Current"},
            {key: "peak-vmach", display: "VMach Peak"},
          ]
        }
      },

      _sortingMethods: {
        ["default"]: function(a,b,info){
          return a.name > b.name ? 1 : -1;
        },
        ["peak-size"]: function(a,b,info){
          if(!info[a.id]) return 1;
          if(!info[b.id]) return -1;
          var valA = info[a.id].vm_size;
          var valB = info[b.id].vm_size;
          return valA - valB;
        },
        ["peak-peak"]: function(a,b,info){
          if(!info[a.id]) return 1;
          if(!info[b.id]) return -1;
          var valA = info[a.id].vm_peak;
          var valB = info[b.id].vm_peak;
          return valA - valB;
        },
        ["current-p"]: function(a,b,info){
          if(!info[a.id]) return 1;
          if(!info[b.id]) return -1;
          var valA = info[a.id].vm_pss;
          var valB = info[b.id].vm_pss;
          return valA - valB;
        },
        ["current-r"]: function(a,b,info){
          if(!info[a.id]) return 1;
          if(!info[b.id]) return -1;
          var valA = info[a.id].vm_rss;
          var valB = info[b.id].vm_rss;
          return valA - valB;
        },
        ["current-vmach"]: function(a,b,info){
          if(!info[a.id]) return 1;
          if(!info[b.id]) return -1;
          var valA = info[a.id].totalbytes;
          var valB = info[b.id].totalbytes;
          return valA - valB;
        },
        ["peak-vmach"]: function(a,b,info){
          if(!info[a.id]) return 1;
          if(!info[b.id]) return -1;
          var valA = info[a.id].totalbytes_max;
          var valB = info[b.id].totalbytes_max;
          return valA - valB;
        },
      },

      _formatTimespan: function(time){
        if(time * this._refreshInterval >= 120){
          return this._format("{0} minutes",(time * this._refreshInterval) / 60);
        }else{
          return this._format("{0} seconds",(time * this._refreshInterval));
        }
      },
      _formatTimespanAgo: function(){
        var time = this._getTimespan();
        if(time * this._refreshInterval >= 120){
          return this._format("{0} minutes Ago",(time * this._refreshInterval) / 60);
        }else{
          return this._format("{0} seconds Ago",(time * this._refreshInterval));
        }
      },
      _getTimespan: function(){
        return this.timespans[this._selectedTimespan];
      },

      _getSortIcon: function(thisMethod,method,ascending){
        if(thisMethod !== method)
          return "blank";
        else {
          return ascending ? "arrow-drop-up" : "arrow-drop-down";
        }
      },

      _getSortMethod: function(method,ascending){
        return function(a,b){
          if(this._sortingMethods[method]){
            var args = [a,b,this.__sortInfo || {}];
            return ((ascending === true) ? 1 : -1) * this._sortingMethods[method].apply(this,args);
          }else{
            return 0;
          }
        }.bind(this);
      },

      _sortMethodChanged: function(){
        this._sortAscending = false;
      },

      _sortClick: function(e){
        var sort = $(e.target).closest("[sort]").attr("sort") || "default";
        if(this._sortMethod !== sort){
          this._sortAscending = false;
          this._sortMethod = sort;
        }else{
          this._sortAscending = !this._sortAscending;
        }
      },

      _selectableDisabled: function(rapp,count){
        if(count < this._maxSelected) return false;
        for(var i = 0; i < this._selectedRapps.length; i ++){
          var srapp = this._selectedRapps;
          if(srapp.id === rapp.id){
            return false;
          }
        }
        return true;
      },

      _format: function () {
        return String.format.apply(this, arguments);
      },

      _selectedTimespanChanged: function(newVal){
        var storageNameSpace = "com.netdumasoftware.rappoverview";
        var storageNameKey = "timespan";
        if(newVal !== null){
          duma.storage(storageNameSpace,storageNameKey,newVal);
        }else{
          this._selectedTimespan = Math.min(parseInt(duma.storage(storageNameSpace,storageNameKey)),this.timespans.length - 1) || 0;
        }
      },
      _enableBackgroundChanged: function(newVal){
        var storageNameSpace = "com.netdumasoftware.rappoverview";
        var storageNameKey = "enableBackground";
        if(newVal !== null){
          duma.storage(storageNameSpace,storageNameKey,newVal);
        }else{
          this._enableInBackground = duma.storage(storageNameSpace,storageNameKey) === "true";
        }
      },
      _showSystemInfoChanged: function(newVal){
        var storageNameSpace = "com.netdumasoftware.rappoverview";
        var storageNameKey = "showSystemInfo";
        if(newVal !== null){
          duma.storage(storageNameSpace,storageNameKey,newVal);
        }else{
          this.showSystemInfo = duma.storage(storageNameSpace,storageNameKey) === "true";
        }
      },

      ready: function () {
        this._setGraphOptions();
        this.__shades = getAllShades();
        this._maxSelected = this.__shades.length;
        this._refreshLoop();
        this.$.clipboardButton.getText = this._getClipboardText.bind(this);
      },

      _getSelected: function () {
        return this._selectedRapps.map((x) => x);
      },

      _getColor: function (num) {
        return this.__shades[num % this.__shades.length];
      },

      _genRowStyle: function (index) {
        return ("fill:{0};".format(this._getColor(index)));
      },
      _genLegendStyle: function (index) {
        return "background-color:{0};".format(this._getColor(index));
      },

      _updateDropdownLabel: function () {
        $(this.$.dropdown.$.menuButton).find("paper-input")[0].value = "{0} Rapps Selected".format(this._selectedRappsLength);
      },

      _updateSelRappsLength: function () {
        this._selectedRappsLength = this._selectedRapps ? this._selectedRapps.length : 0;
        this._updateLineColours();
        this._updateDropdownLabel();
      },

      _getRappObject: function (rappOrRappID, list) {
        if (!list) { list = this.rapps; }
        for (var i = 0; i < list.length; i++) {
          var test = list;
          if (test === rappOrRappID || test.id === rappOrRappID || test.id === rappOrRappID.id) {
            return test
          }
        }
      },

      _isRappSelected: function (rapp, length) {
        return this._getRappObject(rapp, this._selectedRapps) ? true : null;
      },

      _addRappToSelected: function (rapp) {
        rapp = this._getRappObject(rapp);
        this._selectedRapps.push(rapp);
        this._updateSelRappsLength();
      },
      _removeRappFromSelected: function (rapp) {
        for (var i = this._selectedRapps.length - 1; i >= 0; i--) {
          var sel = this._selectedRapps;
          if (sel === rapp || sel.id === rapp.id || sel.id === rapp) {
            this._selectedRapps.splice(i, 1);
          }
        }
        this._updateSelRappsLength();
      },
      _toggleSelected: function (rapp) {
        if (this._isRappSelected(rapp)) {
          this._removeRappFromSelected(rapp);
        } else {
          this._addRappToSelected(rapp);
        }
      },

      _onRappRowClick: function (e) {
        var row = $(e.target).closest(".rapp-row")[0];
        if (row && row.rapp) {
          if(!this._selectableDisabled(row.rapp,this._selectedRappsLength)){
            this._toggleSelected(row.rapp);
          }
        }
      },

      _formatBytes: function (value) {
        return format_bytes(value, 1);
      },

      _setGraphOptions: function () {
        this.__gOptions = {
          animation: {
            duration: 0
          },
          scales: {
            yAxes: [{
              ticks: {
                beginAtZero: true,
                callback: this._formatBytes,
                precision: 0
              },
              scaleLabel: {
                display: true,
                labelString: "Memory Usage"
              }
            }],
            xAxes: [{
              type: 'time',
              time: {
                minUnit: 'second',
              },
              ticks: {
                autoSkip: true,
                display: false,
              },
              offset: false,
              display: true,
              distribution: 'linear',
              stacked: true,
              scaleLabel: {
                display: false
              }
            }]
          },
          elements: {
            line: {
              tension: 0.1
            },
            point: {
              pointStyle: 'circle',
              radius: 0,
              hitRadius: 3,
            }
          },
          legend: {
            display: false
          }
        }
        this.__miniOptions = {
          animation: {
            duration: 0
          },
          scales: {
            yAxes: [{
              ticks: {
                beginAtZero: true,
                callback: this._formatBytes,
                precision: 0
              }
            }],
            xAxes: [{
              type: 'time',
              time: {
                minUnit: 'second',
              },
              ticks: {
                autoSkip: true,
                display: false,
              },
              offset: false,
              display: true,
              distribution: 'linear',
              stacked: true,
              scaleLabel: {
                display: false
              }
            }]
          },
          elements: {
            line: {
              tension: 0.1
            },
            point: {
              pointStyle: 'circle',
              radius: 0,
              hitRadius: 3,
            }
          }
        }
      },

      _update: function () {
        if (this.$.chart.chart) {
          var axis = this.$.chart.chart.config.options.scales.xAxes[0].ticks;
          axis.min = this._timeCount - (this._getTimespan() - 1);
          axis.max = this._timeCount;
          this.$.chart.chart.update();
        }
      },

      _getEstimColor: function (color) {
        return new Color(color).setVal(64, 3).hex()
      },

      _updateLineColours: function () {
        for (var i = 0; i < this._selectedRapps.length; i++) {
          var rapp = this._selectedRapps;
          if (this._memData.totalbytes[rapp.id]) {
            var color = this._getColor(i);
            function __setCol__(obj){
              obj.borderColor = color;
              obj.pointBorderColor = color;
              obj.pointBackgroundColor = color;
            }
            __setCol__(this._memData.totalbytes[rapp.id]);
            __setCol__(this._memData.estimates[rapp.id]);
            __setCol__(this._memData.memory[rapp.id]);
          }
        }
        this._update();
      },

      _initEmptyData: function () {
        return [];
      },

      _initData: function (rapp, index) {
        var color = this._getColor(index);
        this._memData.totalbytes[rapp.id] = {
          borderColor: color,
          pointBorderColor: color,
          pointBackgroundColor: color,
          backgroundColor: 'transparent',
          type: 'line',
          data: this._initEmptyData()
        }
        this._memData.estimates[rapp.id] = {
          borderColor: color,
          pointBorderColor: color,
          pointBackgroundColor: color,
          backgroundColor: 'transparent',
          type: 'line',
          data: this._initEmptyData()
        }
        this._memData.memory[rapp.id] = {
          borderColor: color,
          pointBorderColor: color,
          pointBackgroundColor: color,
          backgroundColor: 'transparent',
          type: 'line',
          data: this._initEmptyData()
        }
        return [this._memData.totalbytes[rapp.id], this._memData.estimates[rapp.id], this._memData.memory[rapp.id]];
      },

      _clampAndClone: function (data) {
        if(!data || !data.data) return {data:[]}
        while (data.data.length > this._getTimespan()) {
          data.data.shift()
        }
        var clone = Object.assign({}, data);
        clone.data = data.data.map(function (val) {
          return val;
        });
        return clone;
      },

      _addData: function (rapp, memInfo, index) {
        var datas = {
          totalbytes: this._memData.totalbytes[rapp.id] || this._initData(rapp, index)[0],
          estimates: this._memData.estimates[rapp.id] || this._initData(rapp, index)[1],
          memory: this._memData.memory[rapp.id] || this._initData(rapp, index)[2]
        }
        if (memInfo.totalbytes) datas.totalbytes.data.push({ t: this._timeCount, y: parseInt(memInfo.totalbytes) });
        if (memInfo.estimate) datas.estimates.data.push({ t: this._timeCount, y: parseInt(memInfo.estimate) });
        if (memInfo.vm_pss || memInfo.vm_rss) datas.memory.data.push({ t: this._timeCount, y: parseInt((memInfo.vm_pss || memInfo.vm_rss) * 1024) });
        return this._getSingleData(rapp);
      },

      _getSingleData: function (rapp) {
        return [this._clampAndClone(this._memData[this._selectedData][rapp.id])];
      },

      _setCurrentShow: function (rapp, list, datasets) {
        for (var i = 0; i < list.length; i++) {
          var elem = list;
          if ((elem.rapp === rapp.id || elem.rapp === rapp)) {
            if (datasets[0] && datasets[0].data.length) {
              var data = datasets[0].data[datasets[0].data.length - 1].y || 0;
              $(elem).text(format_bytes(data, 1));
              return;
            } else {
              $(elem).text("N/A");
              return;
            }
          }
        }
      },

      _setAdvancedInfo: function (info) {
        this.__sortInfo = info;
      },
      _getAdvancedInfo: function(key,rapp,info,asRaw){
        var map = {
          ["peak-size"]: "vm_size",
          ["peak-peak"]: "vm_peak",
          ["current-p"]: "vm_pss",
          ["current-r"]: "vm_rss",
          ["current-vmach"]: "totalbytes",
          ["peak-vmach"]: "totalbytes_max"
        }
        var map_multis = {
          vm_size: 1024,
          vm_peak: 1024,
          vm_pss: 1024,
          vm_rss: 1024,
          totalbytes: 1,
          totalbytes_max: 1
        }
        var text;
        if(info[rapp.id]){
          var rinfo = info[rapp.id];
          var infokey = map[key];
          if(rinfo[infokey]){
            var val = rinfo[infokey] * map_multis[infokey];
            if(asRaw) text = val;
            else text = format_bytes(val);
          }
        }
        return text || "N/A";
      },

      _formatData: function (info) {
        var datasets = [];
        var showCurrents = $(".currentByteShow", this.$.dialog);
        if (info) {
          this._timeCount += 1;
        }
        if(this._selectedPage === "advanced"){
          this._setAdvancedInfo(info);
          return
        }
        for (var i = 0; i < this._selectedRapps.length; i++) {
          var rapp = this._selectedRapps;
          if (info && info[rapp.id]) {
            this._addData(rapp, info[rapp.id], i);
          }
          if (this._selectedPage !== "advanced") {
            var sets = this._getSingleData(rapp);
            if (sets) {
              datasets = datasets.concat(sets);
              this._setCurrentShow(rapp, showCurrents, sets);
            }
          }
        }
        if (this._selectedPage === "single") {
          this.__gData = {
            datasets: datasets
          }
          this._update();
        }
      },

      _clipboardFormatGroup: function(header,keyVals){
        var outs = [header + ":"];
        for(var i = 0; i < keyVals.length; i++){
          var v = keyVals;
          var key = v.name;
          var val = v.value;
          outs.push(key + ": " + val);
        }
        return outs.join("\n\t");
      },

      _getClipboardText: function(){
        var groups = [];
        if(this.showSystemInfo) groups.push(this._clipboardFormatGroup("System",this.systemInfos));

        if(this.__sortInfo){
          for(var i = 0; i < this.rapps.length; i++){
            var rapp = this.rapps;
            var vals = [];

            for(var v = 0; v < this.__columns.length; v++){
              var col = this.__columns[v];
              var val = this._getAdvancedInfo(col.key,rapp,this.__sortInfo,true);
              vals.push({
                name: col.display,
                value: val
              });
            }
            groups.push(this._clipboardFormatGroup(rapp.name,vals));
          }
        }

        return groups.join("\n\n\n");
      },

      _systemTranslationTable: {
        kernel: "Kernel Dynamic",
        kernel_gap: "Kernel Gap",
        kernel_static: "Kernel Static",
        mem_av: "Mem Available",
        mem_free: "Mem Free",
        user_space: "User Space",
      },

      _systemValueFormat: function(val,asRaw){
        if(asRaw) return val;
        return format_bytes(val,10);
      },

      _formatSystem: function(systemMemInfo){
        var newInfos = [];

        var keys = Object.keys(this._systemTranslationTable);
        for(var i = 0; i < keys.length; i++){
          var key = keys;
          var name = this._systemTranslationTable[key];
          var val = systemMemInfo[key];
          newInfos.push({
            name: name,
            value: val
          });
        }

        this.systemInfos = newInfos;
      },

      _selectedDataChanged: function () {
        this._formatData();
        if (this._selectedTab === "advanced") {
          this._selectedPage = "advanced";
        } else {
          this._selectedPage = "single";
        }
      },

      _getSelectedIds: function () {
        var ret = [];
        var fromList = this._selectedRapps;
        if(this._selectedPage === "advanced") fromList = this.rapps;
        for (var i = 0; i < fromList.length; i++) {
          ret.push(fromList.id);
        }
        return ret;
      },

      _getPromises: function () {
        var ret = [this.$.dialog.opened || this._enableInBackground];
        if(ret[0]){
          var rappList = this._getSelectedIds();
          if (this._enableInBackground || this._selectedPage === "advanced" || this._selectedData === "totalbytes")
            ret.push(long_rpc_promise("com.netdumasoftware.systeminfo", "get_rapp_gstate", rappList))
          if (this._enableInBackground || this._selectedPage === "advanced" || this._selectedData === "memory")
            ret.push(long_rpc_promise("com.netdumasoftware.systeminfo", "get_rapp_meminfo", rappList))

          while (ret.length < 3) ret.push([]);

          if (this.showSystemInfo && (this._enableInBackground || this._selectedPage === "advanced"))
            ret.push(long_rpc_promise("com.netdumasoftware.systeminfo", "get_mem_info", []))
        }
        return ret;
      },

      _mergeData: function (gstates, memInfo) {
        var ret = {};
        for (var i = 0; i < this.rapps.length; i++) {
          var rapp = this.rapps;
          var merge = {};
          if (gstates) Object.assign(merge, gstates[rapp.id] || {});
          if (memInfo) Object.assign(merge, memInfo[rapp.id] || {});
          ret[rapp.id] = merge;
        }
        return ret;
      },

      _refreshInterval: 3,
      _refreshLoop: function () {
        if (!this._cycle) {
          this._cycle = start_cycle(this._getPromises.bind(this), function (doStuff, gstates, memInfo, systemMemInfo) {
            if (doStuff) {
              var mergedData = this._mergeData(gstates[0], memInfo[0]);
              this._formatData(mergedData);
              if(systemMemInfo && systemMemInfo[0]) this._formatSystem(systemMemInfo[0]);
            }
          }.bind(this), this._refreshInterval * 1000);
        }
      },

      _enableCurrentPage: function () {
        if (this.__prePage && this._selectedRapps.length === 1) {
          this._removeRappFromSelected(this.__prePage);
        }
        if (this._selectedRapps.length === 0) {
          var rappid = top.location.hash.replace('#', '');
          this._addRappToSelected(rappid);
          this.__prePage = rappid;
        }
      },

      open: function () {
        long_rpc_promise("com.netdumasoftware.procmanager", "installed_rapps", []).done(function (installed) {
          this.rapps = installed[0];
          this._enableCurrentPage();
          this.$.dialog.open();
        }.bind(this));
      },

      close: function () {
        this.$.dialog.close();
      },
    }); 

Link to comment
Share on other sites

This is for application side bar, not sure if any of this will help but Id love to be able to get into geo filter and ping heatmap for gaming 

 

 Polymer({
      is: "application-sidebar",
      properties: {
        applications: {
          type: Array,
          observer: "_onApplicationsChange"
        },

        activeApplicationId: String,

        collapsed: {
          type: Boolean,
          observer: "_onCollapsedChange",
          reflectToAttribute: true,
          value: false
        },
        difference: Object,
      },

      hostAttributes: {
        'role': 'navigation',
      },

      getAriaLabel: function(text,collapsed){
        return collapsed ? text : "";
      },

      getApp: function (id) {
        for (var i = 0; i < this.applications.length; i++) {
          var application = this.applications;
          if (application.id === id) {
            var applicationElements = this.querySelectorAll(".sidebar-application");
            
            for (var i = 0; i < applicationElements.length; i++) {
              var element = applicationElements;

              if (element.application.id === id) {
                application.target = element;
              }
            }

            return application;
          }
        }
      },

      _onCollapsedChange: function (ne,ol) {
        if (this.collapsed) {
          this.debounce("sidebar-collapse-change", function () {
            this._collapsed = true;
          }, 200);

        } else {
          this.debounce("sidebar-collapse-change", function () {
            this._collapsed = false;
          });
        }
      },

      _onApplicationsChange: function(apps,oldApps){
        // true = new app, false = removed app, null = no difference
        var difference = {}
        if(apps && oldApps){
          for(var n = 0; n < apps.length; n ++){
            var new_app = apps[n];
            difference[new_app.id] = true;
            for(var o = 0; o < oldApps.length; o ++){
              var old_app = oldApps[o];
              if(old_app.id === new_app.id){
                difference[new_app.id] = null;
              }else if(difference[old_app.id] === undefined){
                difference[old_app.id] = false;
              }
            }
          }
        }else if(apps){
          for(var n = 0; n < apps.length; n++){
            difference[apps[n].id] = null;
          }
        }
        this.difference = difference;
      },

      _doWiggle: function(application){
        return (!!this.difference[application.id]) ? "wiggle" : null;
      },
      
      _getApplicationLink: function (application) {
        return "#" + application.id;
      },

      _isActiveApplication: function (applicationId, activeApplicationId) {
        return activeApplicationId === applicationId;
      },

      _isSet: function (variable) {
        return typeof variable !== "undefined";
      },

      _applicationClick: function (e) {
        e.preventDefault();
        
        var element = e.target;
        while (typeof element.application === "undefined") {
          element = element.parentNode;
        }

        var application = element.application;

        if (application.children) {
          this._collapsibleOpen = !this._collapsibleOpen;
        
        } else {
          document.location.hash = "#" + application.id;
          this.activeApplicationId = application.id;
        }
      },

      _sortSidebar: function (app1, app2) {
        var order = [
          "com.netdumasoftware.desktop",
          "com.netdumasoftware.geofilter",
          "com.netdumasoftware.pingheatmap",
          "com.netdumasoftware.qos",
          "com.netdumasoftware.benchmark",          
          "com.netdumasoftware.devicemanager",
          "com.netdumasoftware.adblocker",
          "com.netdumasoftware.networkmonitor",
          "com.netdumasoftware.datausage",
          "com.netdumasoftware.trafficcontroller",
          "com.netdumasoftware.hybridvpn"
        ];
        // Any unknown rapps will appear here! Instead of after all listed rapps.
        var end = [
          "com.netdumasoftware.systeminfo",
          "com.netdumasoftware.rappstore",
          "com.netdumasoftware.settings",
          "com.netdumasoftware.ngportal"
        ]

        if(end.indexOf(app1.id) > -1){
          if(end.indexOf(app2.id) > -1){
            return end.indexOf(app1.id) < end.indexOf(app2.id) ? -1 : 1;
          }
          return 1;
        }else if(end.indexOf(app2.id) > -1){
          return -1;
        }

        if (
          order.indexOf(app1.id) > -1 &&
          (
            order.indexOf(app2.id) === -1 ||
            order.indexOf(app1.id) < order.indexOf(app2.id)
          )
        ) {
          return -1;

        } else if (
          order.indexOf(app2.id) > -1 &&
          (
            order.indexOf(app1.id) === -1 ||
            order.indexOf(app2.id) < order.indexOf(app1.id)
          )
        ) {
          return 1;

        } else if (app1.name < app2.name) {
          return -1;

        } else if (app1.name > app2.name) {
          return 1;

        }

        return 0;
      }
    }); 

 

Link to comment
Share on other sites

  • Administrators

Thanks for that. Please first try downgrading to the previous firmware version: https://kb.netgear.com/000062702/XR1000-Firmware-Version-1-0-0-52 and see whether the same issue occurs please.

If it continues then it is possible the issue is located in the boot process given it continues after reboots, in which case then re-install the firmware using the TFTP method https://kb.netgear.com/000059634/How-to-upload-firmware-to-a-NETGEAR-router-using-Windows-TFTP?article=000059634

Link to comment
Share on other sites

Using your first method everything works now, yay you are seriously the man for sticking with me.

 

Should I choose to not do automatic updates in duma os? Just afraid to be back here in a few days

 

Link to comment
Share on other sites

  • Administrators

Try this and see if it works:

  1. Quit the game completely - so go back to console dashboard
  2. Remove device from the Geo-Filter
  3. Resync from the Geo-Filter Map menu
  4. Re-add the device to the Geo-Filter with the manual option
  5. Set up the Geo-Filter how you like
  6. Wait 2 minutes
  7. Boot up game
Link to comment
Share on other sites

20 hours ago, Cashshu said:

Vi esto en Aplicaciones si miras el mapa de ping y también el filtro Geo muestra un botón de reproducción. El resto muestra un botón de pausa. Cuando comenzamos, todas las aplicaciones estaban en pausa y luego me ayudaste a que todas funcionaran. ahora son solo esos 2 los que no lo harán.

no importa cuántas veces reinicie y espere que vuelva a iniciar sesión, todavía muestra la rueda de carga que muestra los errores808593864_ScreenShot2021-10-29at9_08_52AM.png.6463115394786f87712d547467526b3c.png

Hola, yo tube un poblema similar, para poder resolverlo volví a cargar una version de firmware anterior, una vez cargada la versión anterior realize un reset, posteriormente volví a cargar el firmware beta, realize las configuraciones y todo quedó corecto. Un saludo 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...