[Bug]: Error using ListReport Extension

OData Version
OData V2
Draft
Yes
Scenario
List Report like SM30
Environment
VSCode preview ok / Error in On Premisse
UI5 Spreadsheet Component
v_0_33_0
What happened?
I´m trying to use it in an extension button in List Report.

Testing locally on VSCode works fine. But when I deploy and try to test in Launchpad, it cannot find the component usage in the manifest.

I've checked the version, and everything is fine.

In the attachment, are my manifest and controller.
manifest.json
ListReportExt.controller.txt
PS: This point works fine in the preview application(VSCode), but not work after deployment in the launchpad

Could you please help me to find out what I´m doing wrong?
Thanks in advance
Leandro
Relevant log output
Device-dbg.js:85 2024-03-01 12:26:47 Device API logging initialized - DEVICE
VM54913:1 Uncaught ReferenceError: uim_main is not defined
    at onload (VM54913:1:1)
Log-dbg.js:452 2024-03-01 12:26:55.346500 App  has errors and may not run correctly; see SAP Note 2364579 -  zehsam_cfgemp
g @ Log-dbg.js:452
Log-dbg.js:452 2024-03-01 12:26:55.346699 Error in app component zehsam_cfgemp: No descriptor was found -  zehsam_cfgemp
g @ Log-dbg.js:452
Log-dbg.js:452 2024-03-01 12:26:56.693500 Deprecated API call of 'sap.ushell.Container.getService'. Please use 'getServiceAsync' instead -  sap.ushell.services.Container
g @ Log-dbg.js:452
common.load.xhrlogon-dbg.js:3066

       Failed to load resource: the server responded with a status of 404 ()
a.send @ common.load.xhrlogon-dbg.js:3066
common.load.xhrlogon-dbg.js:3066

       Failed to load resource: the server responded with a status of 404 ()
a.send @ common.load.xhrlogon-dbg.js:3066
common.load.xhrlogon-dbg.js:3066

       Failed to load resource: the server responded with a status of 404 ()
a.send @ common.load.xhrlogon-dbg.js:3066
:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/configemployeekpi/zehsamcfgemp/annotations/annotation.xml?sap-language=EN&sap-client=010:1

       Failed to load resource: the server responded with a status of 404 ()
assert-dbg.js:33 Falha na declaração: Source must contain an annotation object to be merged
n @ assert-dbg.js:33
Log-dbg.js:452 2024-03-01 12:27:05.391899 Deprecated API call of 'sap.ushell.CrossApplicationNavigation.createEmptyAppState'. Please use 'createEmptyAppStateAsync' instead -  sap.ushell.services.CrossApplicationNavigation
g @ Log-dbg.js:452
Log-dbg.js:452 2024-03-01 12:27:05.399000 Deprecated API call of 'sap.ushell.CrossApplicationNavigation.isInitialNavigation'. Please use 'isInitialNavigationAsync' instead -  sap.ushell.services.CrossApplicationNavigation
g @ Log-dbg.js:452
Log-dbg.js:453 2024-03-01 12:27:07.601500 No valid cache key segment last modification date provided by OData annotations -  FioriElements: genericUtilities.CacheHelper
g @ Log-dbg.js:453
Log-dbg.js:452 2024-03-01 12:27:33.502899 Deprecated API call of 'sap.ushell.CrossApplicationNavigation.createEmptyAppState'. Please use 'createEmptyAppStateAsync' instead -  sap.ushell.services.CrossApplicationNavigation
g @ Log-dbg.js:452
Log-dbg.js:452 2024-03-01 12:27:33.894899 Deprecated API call of 'sap.ushell.CrossApplicationNavigation.createEmptyAppState'. Please use 'createEmptyAppStateAsync' instead -  sap.ushell.services.CrossApplicationNavigation
g @ Log-dbg.js:452
assert-dbg.js:33 Falha na declaração: sName must be a string or omitted
n @ assert-dbg.js:33
Log-dbg.js:453 2024-03-01 12:27:35.311399 No valid cache key segment last modification date provided by OData annotations -  FioriElements: genericUtilities.CacheHelper
g @ Log-dbg.js:453
assert-dbg.js:33 Falha na declaração: could not find any translatable text for key 'searchButtonStatus_undefined' in bundle file(s): '/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/esh/search/ui/resources/resources_en.properties', '/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/esh/search/ui/resources/resources.properties'
n @ assert-dbg.js:33
assert-dbg.js:33 Falha na declaração: could not find any translatable text for key 'searchButtonStatus_undefined' in bundle file(s): '/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/esh/search/ui/resources/resources_en.properties', '/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/esh/search/ui/resources/resources.properties'
n @ assert-dbg.js:33
Log-dbg.js:452 2024-03-01 12:27:45.344399 FLP PageBuildingAdapter: remote catalog service sap/ushell_abap/pbServices/ui2/RemoteCatalogService must be loaded before use. -
g @ Log-dbg.js:452
:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/configemployeekpi/zehsamcfgemp/thirdparty/customControl/spreadsheetImporter/v0_33_0/manifest.json?sap-language=EN&sap-client=010:1

       Failed to load resource: the server responded with a status of 404 ()
Component-preload.js:1

       Failed to load resource: the server responded with a status of 404 ()
Component-preload.js:1

       Failed to load resource: the server responded with a status of 404 ()
Log-dbg.js:452 2024-03-01 12:28:56.577000 failed to load JavaScript resource: cc/spreadsheetimporter/v0_33_0/Component-preload.js -  sap.ui.ModuleSystem
g @ Log-dbg.js:452
common.load.xhrlogon-dbg.js:3066

       Failed to load resource: the server responded with a status of 404 ()
a.send @ common.load.xhrlogon-dbg.js:3066
:44300/sap/bc/ui2/fl…RJYNARUF6E9OZQ3EY:1 Uncaught (in promise) ModuleError: failed to load 'cc/spreadsheetimporter/v0_33_0/Component.js' from ../ui5_ui5/ui2/ushell/resources/~20221102093300~/configemployeekpi/zehsamcfgemp/thirdparty/customControl/spreadsheetImporter/v0_33_0/Component.js: 404
    at se (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:9:7148)
    at ne.failWith (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:9:4989)
    at me (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:9:13743)
    at be (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:9:15705)
    at Object.r [as require] (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:9:19045)
    at https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/core-min-1.js:460:34708
    at new Promise (<anonymous>)
    at https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/core-min-1.js:460:34675
Caused by: XHRLoadError: 404
    at n (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:9:9771)
    at XMLHttpRequest.<anonymous> (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:9:10023)
    at a (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:327:5568)
    at r.dispatch (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:327:6311)
    at a.handleEvent (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:327:36567)
    at XMLHttpRequest.t [as _fnHandler] (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:327:36898)
    at a.send (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:327:39186)
    at window.XMLHttpRequest.<computed> [as send] (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:263:318)
    at pe (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:9:10115)
    at me (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:9:13719)
ListReportExt-dbg.controller.js:104 Uncaught (in promise) ModuleError: failed to load 'cc/spreadsheetimporter/v0_33_0/Component.js' from ../ui5_ui5/ui2/ushell/resources/~20221102093300~/configemployeekpi/zehsamcfgemp/thirdparty/customControl/spreadsheetImporter/v0_33_0/Component.js: 404
    at se (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:9:7148)
    at ne.failWith (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:9:4989)
    at me (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:9:13743)
    at be (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:9:15705)
    at Object.r [as require] (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:9:19045)
    at https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/core-min-1.js:460:34708
    at new Promise (<anonymous>)
    at https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/core-min-1.js:460:34675
Caused by: XHRLoadError: 404
    at n (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:9:9771)
    at XMLHttpRequest.<anonymous> (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:9:10023)
    at a (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:327:5568)
    at r.dispatch (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:327:6311)
    at a.handleEvent (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:327:36567)
    at XMLHttpRequest.t [as _fnHandler] (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:327:36898)
    at a.send (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:327:39186)
    at window.XMLHttpRequest.<computed> [as send] (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:263:318)
    at pe (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:9:10115)
    at me (https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/ui2/ushell/resources/~20221102093300~/sap/ushell_abap/bootstrap/evo/abap.js:9:13719)

Spreadsheet Component Init
sap.ui.define([
    "sap/m/MessageToast"
], function (MessageToast) {
    'use strict';

    return {
        openSpreadsheetUploadDialog: async function (oEvent) {
            debugger;
            this.getView().setBusyIndicatorDelay(0);
            this.getView().setBusy(true);
            //if (!this.spreadsheetUpload) {
            this.spreadsheetUpload = await this.getView()
                .getController()
                .getOwnerComponent()
                .createComponent({
                    usage: "spreadsheetImporter",
                    async: true,
                    componentData: {
                        context: this,
                        standalone: false,
                        createActiveEntity: false,
                        activateDraft: false,
                        showBackendErrorMessages: true,
                        showOptions: true,
                        hidePreview: true,
                        hideSampleData: false,
                        sampleData: [{ partner: "HC00001411", target_oth: "2.5", target_lay: "2.0", target_5s: "4", target_sfi: "1" }],
                        spreadsheetFileName: "Emp_x_KPI_Template.xlsx",
                        i18nModel: this.getView().getModel("i18n"),
                        skipMandatoryFieldCheck: true
                    },
                });

            this.spreadsheetUpload.attachCheckBeforeRead(function (oEvent) {
                debugger;
                const sheetData = oEvent.getParameter("sheetData");
                let errorArray = [];
                let partnerOk = false;
                let target_othOk = false;
                let target_layOk = false;
                for (const [index, row] of sheetData.entries()) {
                    for (const key in row) {
                        if (key === "Business Partner Number[partner]") {
                            partnerOk = true;
                        }
                        if (key === "Audits / Month[target_oth]") {
                            target_othOk = true;
                        }
                        if (key === "Layered Evaluation / Month[target_lay]") {
                            target_layOk = true;
                        }
                    }

                    if (partnerOk === false) {
                        const error = {
                            title: "Business Partner Number is initial",
                            row: index + 2,
                            group: true,
                            ui5type: "Error"
                        };
                        errorArray.push(error);
                    }

                    if (target_othOk === false) {
                        const error = {
                            title: "Audits / Month is initial",
                            row: index + 2,
                            group: true,
                            ui5type: "Error"
                        };
                        errorArray.push(error);
                    }

                    if (target_layOk === false) {
                        const error = {
                            title: "Layered Evaluation / Month is initial",
                            row: index + 2,
                            group: true,
                            ui5type: "Error"
                        };
                        errorArray.push(error);
                    }
                }

                oEvent.getSource().addArrayToMessages(errorArray);
            }, this);

            this.spreadsheetUpload.attachChangeBeforeCreate(function (oEvent) {
                let payload = oEvent.getParameter("payload");
                oEvent.getSource().setPayload(payload);
            }, this);

            this.spreadsheetUpload.attachRequestCompleted(function (oEvent) {
                const success = oEvent.getParameter("success");
                if (success) {
                    console.log("Request Completed");
                } else {
                    console.log("Request Failed");
                }
            }, this);

            this.spreadsheetUpload.openSpreadsheetUploadDialog();
            this.getView().setBusy(false);
        }
    };
});

Manifest
{
  "_version": "1.48.0",
  "sap.app": {
    "id": "configemployeekpi.zehsamcfgemp",
    "type": "application",
    "i18n": "i18n/i18n.properties",
    "applicationVersion": {
      "version": "0.0.1"
    },
    "title": "{{appTitle}}",
    "description": "{{appDescription}}",
    "resources": "resources.json",
    "sourceTemplate": {
      "id": "@sap/generator-fiori:lrop",
      "version": "1.10.5",
      "toolsId": "f8838881-294c-4bbc-80e5-b861178592ea"
    },
    "dataSources": {
      "mainService": {
        "uri": "/sap/opu/odata/sap/ZUI_CONFIG_EMPLOYEE/",
        "type": "OData",
        "settings": {
          "annotations": [
            "ZUI_CONFIG_EMPLOYEE_VAN",
            "annotation"
          ],
          "localUri": "localService/metadata.xml",
          "odataVersion": "2.0"
        }
      },
      "ZUI_CONFIG_EMPLOYEE_VAN": {
        "uri": "/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Annotations(TechnicalName='ZUI_CONFIG_EMPLOYEE_VAN',Version='0001')/$value/",
        "type": "ODataAnnotation",
        "settings": {
          "localUri": "localService/ZUI_CONFIG_EMPLOYEE_VAN.xml"
        }
      },
      "annotation": {
        "type": "ODataAnnotation",
        "uri": "annotations/annotation.xml",
        "settings": {
          "localUri": "annotations/annotation.xml"
        }
      }
    },
    "crossNavigation": {
      "inbounds": {
        "ConfigEmployee-manage": {
          "semanticObject": "ConfigEmployee",
          "action": "manage",
          "title": "{{flpTitle}}",
          "subTitle": "{{flpSubtitle}}",
          "signature": {
            "parameters": {},
            "additionalParameters": "allowed"
          }
        }
      }
    }
  },
  "sap.ui": {
    "technology": "UI5",
    "icons": {
      "icon": "",
      "favIcon": "",
      "phone": "",
      "phone@2": "",
      "tablet": "",
      "tablet@2": ""
    },
    "deviceTypes": {
      "desktop": true,
      "tablet": true,
      "phone": true
    }
  },
  "sap.ui5": {
    "flexEnabled": true,
    "componentUsages": {
      "spreadsheetImporter": {
        "name": "cc.spreadsheetimporter.v0_33_0"
      }
    },
    "resourceRoots": {
      "cc.spreadsheetimporter.v0_33_0": "./thirdparty/customControl/spreadsheetImporter/v0_33_0"
    },
    "dependencies": {
      "minUI5Version": "1.108.4",
      "libs": {
        "sap.m": {},
        "sap.ui.core": {},
        "sap.ushell": {},
        "sap.f": {},
        "sap.ui.comp": {},
        "sap.ui.generic.app": {},
        "sap.suite.ui.generic.template": {}
      }
    },
    "contentDensities": {
      "compact": true,
      "cozy": true
    },
    "models": {
      "i18n": {
        "type": "sap.ui.model.resource.ResourceModel",
        "settings": {
          "bundleName": "configemployeekpi.zehsamcfgemp.i18n.i18n"
        }
      },
      "": {
        "dataSource": "mainService",
        "preload": true,
        "settings": {
          "defaultBindingMode": "TwoWay",
          "defaultCountMode": "Inline",
          "refreshAfterChange": false,
          "metadataUrlParams": {
            "sap-value-list": "none"
          }
        }
      },
      "@i18n": {
        "type": "sap.ui.model.resource.ResourceModel",
        "uri": "i18n/i18n.properties"
      }
    },
    "resources": {
      "css": []
    },
    "routing": {
      "config": {},
      "routes": [],
      "targets": {}
    },
    "extends": {
      "extensions": {
        "sap.ui.controllerExtensions": {
          "sap.suite.ui.generic.template.ListReport.view.ListReport": {
            "controllerName": "configemployeekpi.zehsamcfgemp.ext.controller.ListReportExt",
            "sap.ui.generic.app": {
              "ConfigEmployee": {
                "EntitySet": "ConfigEmployee",
                "Actions": {
                  "spreadsheetUploadButton": {
                    "id": "spreadsheetUploadButtonButton",
                    "text": "Upload",
                    "press": "openSpreadsheetUploadDialog",
                    "requiresSelection": false
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "sap.ui.generic.app": {
    "_version": "1.3.0",
    "settings": {
      "forceGlobalRefresh": false,
      "objectPageHeaderType": "Dynamic",
      "considerAnalyticalParameters": true,
      "showDraftToggle": false
    },
    "pages": {
      "ListReport|ConfigEmployee": {
        "entitySet": "ConfigEmployee",
        "component": {
          "name": "sap.suite.ui.generic.template.ListReport",
          "list": true,
          "settings": {
            "condensedTableLayout": true,
            "smartVariantManagement": true,
            "enableTableFilterInPageVariant": true,
            "filterSettings": {
              "dateSettings": {
                "useDateRange": true
              }
            },
            "dataLoadSettings": {
              "loadDataOnAppLaunch": "always"
            }
          }
        },
        "pages": {
          "ObjectPage|ConfigEmployee": {
            "entitySet": "ConfigEmployee",
            "defaultLayoutTypeIfExternalNavigation": "MidColumnFullScreen",
            "component": {
              "name": "sap.suite.ui.generic.template.ObjectPage"
            }
          }
        }
      }
    }
  },
  "sap.fiori": {
    "registrationIds": [],
    "archeType": "transactional"
  }
}

Hm, did not see an obvious error.
Does it work when you open it directly without launchpad like:
https://ehsdev.lce.arcelormittal.com:44300/sap/bc/ui5_ui5/sap/ZEHSAM_CFGEMP/index.html

Hi Marian,
Yes, this way the application works very well! Thanks!

Clicking on Upload, open the fragment

What do you suggest to work properly in Launchpad? Create a new Tile with a different config? This is my actual Tile

Thank you!

Regarding "With this request i would expect to request Component-preload.js instead of Component.js"
I'm not seeing Component-preload.js in BSP application

No worries, it is deployed, just a bit hidden in SE80.
It is under those cryptic named files:

Thanks Marian for your help!
I let you know if the application will work properly after the weekend :-)
If not, I will create a new tile with the direct URL without the launchpad.

need any more help?

seems issue is solved

Hi Marian,
Apologies for the delay, the problem has been solved. It was something in the cache on the backend. I cleared the metadata in /IWFND/MAINT_SERVICE and SAP Gateway Client, and it´s working perfectly inside Launchpad. Thank you so much!

Happy that it works :)


Add support for dynamic actions

What specifically? Defining them? I have Objective-C code that does exactly that particular thing, so can submit PR over the weekend.

@grabbou yup defining them, preferably via javascript if possible :godmode:

Oh yeah, we just need to figure out the best way to support all properties, including icons (available constants and custom ones from assets) - preferred use of require(image!...) as much as possible. I think we can leave the localisedTitle and localisedDescription since in most cases, translation will be done on JS side with e.g. intl

Done.

Closed by #9


linter-pep8 fails to identify python file

I want atom to lint jython flavored files that are suffixed with .vpy, however, they are not linted unless I change the suffix to .py (which is a no-go for other reasons). Is there any way to indicate to linter-pep8 that these files should be linted?

Ï had a look at the code to see if I could spot where suffix is filtered, but I wasn't able to find anything?

OK, so the problem seems to be solved by manually setting the file type to Python (click the file type in the bottom of atom and set) - and then after a while the linter kicks in.

What are .vpy files in the first place? 😕
This extension activates whenever a cursor is on a place in a file identified by the source.python scope (which is only loosely related to file extension), as that is how proper Python files are identified.

.vpy files comes from Vortex - Spotfire like application providing a Jython API.


VideoPlayer.tsx: Don't newline subtitles. (Help yomitan get the entire subtitle)

Related to the issue i had, after still struggling and not being able to do anything with yomitan, i decided to just fix it here.
https://github.com/killergerbah/asbplayer/issues/459#issuecomment-2242794235

Works!

Also this has been driving me crazy, trying to run it locally.

The extension doesn't seem to work/thinks its a different site even though I changed this.

the streaming video options also dissapears.
There's also hardcoded things, preventing you from simply running it on localhost, it has to be at localhost/asbplayer
    GET http://localhost/asbplayer/static/js/main.62a96a7c.js net::ERR_ABORTED 404 (Not Found)
script.js:1 Ignoring Event: localhost

Was thinking it would be convenient to run it/test everything + run it locally if internet goes down :)

Have you tried fixing this problem using the regex-based text replacement feature instead?
Under misc settings you can configure asbplayer to replace all \n characters with a space  .
About the extension and locally-hosted asbplayer website - prod versions of the extension (like from Chrome web store) do not recognize localhost due to restrictions on the webstore. You can build a dev version of the extension instead if you want it to work with a locally-hosted asbplayer website.

That makes it into 1 long line yea, but that's definitely worse to read. (I think basically all long subtitles are stacked). So not ideal :/

And i guess for making it work offline, it would be way easier to just add a serviceworker and add "progressive web app" support, that way the browser would cache the app even if you don't have internet.

Have you tried this setting on Yomitan?

I am hesitant to make changes just to workaround specific problems with other software.

Yes i tried that, it adds random text from other sentences to the line.

I'm not really sure what the bad thing about adding it would be :D
I have another friend who has the same issue but who doesn't use github. I think it's valid to be able to get the full sentence without using the extension? (And i think for most people, the only reason why they're using a browser media player, is for pop up dictonaries).

Okay I see your point.
I'll come back to this - I want to be reasonably sure this change is safe to make.

Okay I see your point. I'll come back to this - I want to be reasonably sure this change is safe to make.

Sure! Also don't want to pressure anything!
Maybe make it an option in the misc settings to be 100% sure? (So maybe default on, then Don't turn newlines into tags in subtitles or something

It looks like there's a bug: multiple subtitle tracks are rendered with extra space between them now.

Do you have a subtitle file i could try out and see?

Here's my branch, and master. (With & without the dom option). (No difference)

Or is it this? foun some subtitle online with dual, but it seems really weird

seems to only happen on my branch, with Pre-cache Subtitle DOM on

I'll try to fix it

    line-height: normal;
    display: inline;

seems to do it

Actually seems like you can get away with just setting
.subtitle-line {
    display: inline;
}

I don't know what's best :)

ok should work now

Can you run Prettier on VideoPlayer.tsx? I can merge after that.

Thanks!


⚠ Bofrost.be has degraded performance

In 70b2da9, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1161 ms

Resolved: Bofrost.be performance has improved in dffad23.


Fail to use it in Google Colab

Hello,
Thank you for your effort at doing this python version.
I am struggling to run the first example.
My code (just 3 lines of code) can be reproduced with this notebook
Can you please help me to understand what is wrong?
Thank you!

Hi
L.19 in example.py only works in python 2.
Try replacing yield line.lower().translate(None, delchars).split(' ')
with yield line.lower().translate({ord(x): None for x in delchars}).split(' ')
You're probably going to run into more issues down the line though as this code was written for python 2 and appears to be no longer maintained.
Cheers

(The issue further down in your code is because model.fit() expects a list of lists, not a list of strings. Each document should be represented as a list of words.)


RFC: multiple tokens and different token generators

It took some figuring out but I finally discovered the beauty of this plugin. However, there are 3 things I would like to add/change before I could actually use this, I hope we can discuss.
Intro: how does it work
I will come up with a PR for the readme so new users can more easily understand the logic behind using the plugin.
Summarized the token record stores all new fields values for a foreign record and automatically updates that foreign record with the new values once the token verifies, quite brilliant ☺

generate a token
specify related table to be updated (foreign_table)
specify which record (foreign_key) in the related table needs to be updated if token verification succeeds
specify the new field values (foreign_data) you want updated in the record if token verification succeeds

RFC1. Token generating
I would like to implement more flexible token generating, preferably using a lib already dedicated to that purpose. I am using https://github.com/ircmaxell/RandomLib myself and think it would be nice if we could support its "Generators". This way we can generate all sorts of tokens (chars, numbers, etc) from weak to strong.
RFC2. Token verification
Currently, the verify function simply looks if a token record exists with given token value and status 0.
IMO this makes sense in the current implementation but dropping the UNIQUE limitation on the database (if we would implement token generating as described above which could lead to e.g. duplicate short sized PINs per user) would IMO require another check on the find. Having looked at other solutions it could be something like the user_id.
RFC3: Multiple tokens/types
Currently, it does not seem possible to generate multiple tokens (even though updating mullitple fields using a single token works). Let's take the following example assuming RFC1 is implemented:

token with value 123456 generated for password reset, updates password field in Users table with foreign_id 1
token with value aab98b213586277493941eb740331ef9 generated for confirming email field in the same Users table with same foreign key.

Again, looking at other solutions this could be solved by adding an (optional) token_type field where we can store stuff like default, password-reset, email-verification. This way the unique idenitifier could be userid/token-value/token-type. Adding this to the custom find would round up things.
Closing note
I realize this proposal introduces a big change to the original idea but feel it could be a good one as it would make it generic enough to apply to all use-cases.  Feedback appreciated.

Switchable token library is a good idea.
I'm a little more on the fence about RFC2. Enforcing token uniqueness from within the plugin is a cool thing to have, but imposes some kind of limitations. Dropping all limitations would be cool but prevents us from enforcing uniqueness from within the plugin.
As for #3, I think the rationale is that you can't process a password recovery via email unless you accept the email as verified first. Therefore not needing dual fields. It never occurred to me before, but you're right that if multiple recovery method are supported, then this assumption becomes false. +1 for that.

Maybe my example for 3 wasn't too smart so maybe this helps, taking the token lifetime into the equation:

user registers with username and email
email-validation token is generated with 1 month lifetime
app uses the username, does not enfore email validation for friendly/easy onboarding
user forgets his password after two weeks

Op 27 jan. 2017 om 22:11 heeft Philippe Lafrance<EMAIL_ADDRESS>het volgende geschreven:
Switchable token library is a good idea.
I'm a little more on the fence about RFC2. Enforcing token uniqueness from within the plugin is a cool thing to have, but imposes some kind of limitations. Dropping all limitations would be cool but prevents us from enforcing uniqueness from within the plugin.
As for #3, I think the rationale is that you can't process a password recovery via email unless you accept the email as verified first. Therefore not needing dual fields. It never occurred to me before, but you're right that if multiple recovery method are supported, then this assumption becomes false. +1 for that.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Goodmorning mr. @Phillaf, as far as RFC2 goes:

the plugin now enforces uniqueness on the token field and this is indeed a good thing
I am suggesting that we keep enforcing uniqueness from within the plugin but use a two column composite constraint instead (e.g. token and user_id)

This way we can prevent clashes when using simple tokens like 123456 in combination with many users.
I have also given thought about using even more fields (like foreign_table and foreign_id) for the constraint to make things fail-proof but that would probably be overkill for what's to be achieved,
What do you think?

RFC1:  I don't want to add any hard external dependency. Currently tokens are generated using openssl_random_pseudo_bytes() or random_bytes() which are good enough for majority of uses cases. So if you want to implement an adapter interface with defaults being the same then it's fine by me.

RFC2: I don't think uniqueness along with another field is necessary. Just use universally unique tokens. If some wants to use "dumb" tokens like 123456 they can roll the own stuff :)

RFC3: Allow multiple tokens per foreign_table & foreign_key type pair good be useful. So :+1:  for that.
Config could be like 'fields' => ['<token_type>' => ['field1', field2'], '<token_type>' => ['field3']]

As for the 'dumb' tokens... they seem to be used mostly for SMS messages. Got them today on my phone in 6 and 8 digit format from bank, Microsoft and work remote login.

Would it be an idea to solve the uniqueness discussion by:

sticking to unique tokens (and thus keeping the single-column constraint as it is now)
simply generating another token in case a duplicate key is generated (and the save fails)

It looks like combining this approach with the token_type field would solve most if not all problems.

Sounds good.

Thanks for the patience, I believe we are currently at this point:

introduce a new column named token_type
implement an adapter interface for the token generating logic (current method as default)
do not change the current UNIQUE constraint, tokens will stay unique within the plugin

Which would lead to something like this:

Two questions remain:

do we agree that we need to implement a configurable verify() where we not only look for the token value but also for foreign_table and foreign_key (to prevent false positive in situations where a token value exists but the record does not match e.g. logged in user-id)?
do we accept that functional duplicates can exist in the plugin (like the password-reset example in red above)? If not, four-column uniqueness is back on the table again.

FWIW I am being a bit thorough (bitchy) here but this would be a core part of my commercial app, implicitly meaning I will have to commit to help maintaining it 😉

do we agree that we need to implement a configurable verify() where we not only look for the token value but also for foreign_table and foreign_key (to prevent false positive in situations where a token value exists but the record does not match e.g. logged in user-id)?

If tokens are unique I don't see the need to checking any additional fields. With token based auth in general isn't it the user's responsibility to ensure no one else has access to his tokens?

do we accept that functional duplicates can exist in the plugin (like the password-reset example in red above)? If not, four-column uniqueness is back on the table again.

If tokens are unique duplicates in other columns are no problem.

I (finally) get your point mr. @ADmad. It seems most functionality I'm chasing after should reside in the application logic and not this plugin.  In that light, I now also think I don't need the automated logic of the behavior. As brilliant as it is I will have to build logic around the various token_types anyway and updating the related entity is only a small extra step then.
Closing as my PR would destroy the simplicity/beauty of this plugin. Also apologies for the long strain but this was hard to get my head around. Again much appreciated, I will take the input for my plugin-attempt 👍


Find a way to not use Drawio Desktop as exporter

Drawio Desktop act as a wrapper around Drawio webapp, Can we find a way to reproduce this wrapping instead of using Drawio Desktop and make it lighter

Hey @rlespinasse,
Have you read this page: https://fasterthanli.me/series/dont-shell-out/part-1 ?
May be it could help...

Yes, I see this one. Kroki has a way of doing it.
Before all that, I analyze the situation.
The article and Kroki confirmed it.
drawio-exporter will need to reimplement the drawio wrapping around the export HTML page.


[spaceland] Added new port for SpaceLand library

Added a new package for SpaceLand (SL) library, which is a suite of C++ template classes that support geometric computation (specifically adapted to OpenGL). SL is mostly intended for computer graphics developers and it includes many different kind of algorithms (linear algebra methods, coding/decoding tecniques, generalized data structures, utilities).  http://vic.crs4.it/vic/download/

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: ajaspe sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Thanks, looks good!


Upgrade to Polymer 3

Since polymer 3 is now available
That would let us get rid of bower 🎉

https://www.polymer-project.org/3.0/docs/upgrade


masked field mismatch

Hello.
I've installed v.2.8 and add standard nessus scan. It appeard in the table on Manage Scans tab with the following parameters:
-s vnessus.local -u [maskedpassword] -p <submittedpassword> --policy test-policy --hosts @HOSTS
(failed to attach screenshot)
After jumping through the tabs i returned to Manage Scans one and saw another version of masking:
-s vnessus.local -u [maskedpassword] -p [maskedpassword] --policy test-policy --hosts @HOSTS
PS. Documentation about instalation from source lacks some apache setup steps.

just installed mastr branch, it has different password entering scheme, so the issue can be closed


Present at-mention context providers from OpenCtx

This PR integrates OpenCtx provides into Cody. Cody will now be able to fetch @-mention context from any of the configured OpenCtx providers. All the configured providers will be automatically listed in the @-mention menu UI.
If no OpenCtx providers are configured by default, this PR enables the "Web Url" provider powered by OpenCtx: https://openctx.org/docs/providers/web.
For now, this PR stops showing the other experimental providers, including Packages, GitHub, and more. These providers will be soon migrated to OpenCtx only.
This integration will be available to all VS Code users as part of the pre-release and does not require the experimental.noodle flag to be true.
This PR also bumps up the versions of @openctx packaged to use the latest ones.
Test plan
Demo video: https://www.loom.com/share/a095faf7b57449ada50108ff7091480d?sid=96b718b6-ab8a-433c-baf0-7597e277bd1c

I think the best way to do this is something like what's done for queryContextItems in https://sourcegraph.com/github.com/sourcegraph/cody/-/blob/vscode/webviews/promptEditor/plugins/atMentions/chatContextClient.tsx?L29. You can add new methods for getting the providers' metas and mentions (I don't think the webview needs the full items). And queryContextItems is the same as mentions so you can just consolidate those 2 APIs and use the OpenCtx API design/terms there.
Let me know if you want any help here.

@sqs

I think the best way to do this is something like what's done for queryContextItems in https://sourcegraph.com/github.com/sourcegraph/cody/-/blob/vscode/webviews/promptEditor/plugins/atMentions/chatContextClient.tsx?L29. You can add new methods for getting the providers' meta's and mentions(I don't think the review needs the fullitems). And queryContextItemsis the same asmentions`, so you can just consolidate those 2 APIs and use the OpenCtx API design/terms.
Let me know if you want any help here.

@sqs I didn't clearly understand what you meant here. Right now, I have implemented the getAllMentionProvidersMetadata method to fetch the list of providers and render them in the MentionsMenu.
The queryContextItems internally calls mentions but only if the selected provider is openctx; otherwise, it will call the queryContextItems for the provider, which implements the Cody-specific Provider interface.
If your idea is to refactor the whole thing, then I would like to do it as a next step into a separate PR.


Typo in flocker node installation guide

Hi there, when trying to install the Flocker node on Ubuntu 14.04, the following line in the doc cause problem:
add-apt-repository -y "deb https://clusterhq-archive.s3.amazonaws.com/ubuntu/$(lsb_release --release --short)/\$(ARCH) /"

The results of this command is the addition of the following content in the file /etc/apt/sources.list:
deb https://clusterhq-archive.s3.amazonaws.com/ubuntu/14.04/$(arch) /
# deb-src https://clusterhq-archive.s3.amazonaws.com/ubuntu/14.04/$(arch) /

Seems that there is an extra "" char in the command line, this works perfectly:
add-apt-repository -y "deb https://clusterhq-archive.s3.amazonaws.com/ubuntu/$(lsb_release --release --short)/$(arch) /"

Content of the file /etc/apt/sources.list:
deb https://clusterhq-archive.s3.amazonaws.com/ubuntu/14.04/x86_64 /
# deb-src https://clusterhq-archive.s3.amazonaws.com/ubuntu/14.04/x86_64 /

My bad, had some troubles automating the installation, and the expected package repository is:
deb https://clusterhq-archive.s3.amazonaws.com/ubuntu/14.04/$(ARCH) /
# deb-src https://clusterhq-archive.s3.amazonaws.com/ubuntu/14.04/$(ARCH) /


Fix Properties.String() bug

obvious typo in Properties.String method is leaving out the Wire field.

I signed it!

Also fixed in #316.


Wait for the old CRD Manager to stop before starting a new one

PR Description
This PR fixes an issue which was reported on the community slack. A person ran into this error when doing a config reload:
failed to register service discovery metrics: failed to create service discovery refresh metrics
error running crd manager

I could not reproduce the error, but I think it happens due to the new CRD Manager starting up before the old one has had a chance to stop and unregister its metrics.
I tested my change locally with a config like this, just to make sure the waitgroup functions ok:

Alloy config
discovery.kubernetes "nodes" {
  kubeconfig_file = "/Users/paulintodev/.kube/config"
  role = "node"
}

discovery.kubernetes "services" {
  kubeconfig_file = "/Users/paulintodev/.kube/config"
  role = "service"
}

// ServiceMonitor resources
prometheus.operator.servicemonitors "servicemonitors" {
  client {
    kubeconfig_file = "/Users/paulintodev/.kube/config"
  }
  clustering {
    enabled = false
  }
  forward_to = []
}

// PodMonitor resources
prometheus.operator.podmonitors "podmonitors" {
  client {
    kubeconfig_file = "/Users/paulintodev/.kube/config"
  }
  clustering {
    enabled = false
  }
  forward_to = []
}

// Probe resources
prometheus.operator.probes "probes" {
  client {
    kubeconfig_file = "/Users/paulintodev/.kube/config"
  }
  clustering {
    enabled = false
  }
  forward_to = []
}

logging {
  level = "info"
  format = "logfmt"
}

I changed the clustering/enabled value, then triggered a config reload via curl localhost:12345/-/reload. Then I shut down Alloy using Ctrl + C. The reload and shutdown went ok.
PR Checklist

[x] CHANGELOG.md updated
[ ] Documentation added
[x] Tests updated
[ ] Config converters updated

The same thing happens to me if I do configuration changes.

The test in this PR was flaky, but it is now fixed thanks to help from @mattdurham. He made a couple of suggestions:

To have the test wait until Run starts before proceeding. I added this code to the PR.

In the production code, to wrap the cancelations in a mutex like this:

Code
type cancelHandler struct {
	mut            sync.RWMutex
	cancel         context.CancelFunc
	alreadyTrigger bool
}

func (ch *cancelHandler) Set(cncl context.CancelFunc) {
	ch.mut.Lock()
	defer ch.mut.Unlock()

	ch.cancel = cncl
}

func (ch *cancelHandler) Cancel() {
	ch.mut.Lock()
	defer ch.mut.Unlock()

	if ch.alreadyTrigger {
		return
	}
	if ch.cancel == nil {
		return
	}
	ch.cancel()
	ch.alreadyTrigger = true
}

// Run implements component.Component.
func (c *Component) Run(ctx context.Context) error {
	// innerCtx gets passed to things we create, so we can restart everything anytime we get an update.
	// Ideally, this component has very little dynamic config, and won't have frequent updates.
	var innerCtx context.Context
	// cancel is the func we use to trigger a stop to all downstream processors we create
	var cancel cancelHandler

	wg := sync.WaitGroup{}

	c.reportHealth(nil)
	errChan := make(chan error, 1)

	defer wg.Wait()
	for {
		select {
		case <-ctx.Done():
			cancel.Cancel()
			return nil
		case err := <-errChan:
			c.reportHealth(err)
		case <-c.onUpdate:
			c.manager = c.crdManagerFactory.New(c.opts, c.cluster, c.opts.Logger, c.config, c.kind, c.ls)

			// Wait for the old manager to stop.
			// If we start the new manager before stopping the old one,
			// the new manager might not be able to register its debug metrics due to a duplicate registration error.
			cancel.Cancel()
			var cncl context.CancelFunc
			innerCtx, cncl = context.WithCancel(ctx)
			cancel.Set(cncl)
			wg.Add(1)
			go func() {
				if err := c.manager.Run(innerCtx); err != nil {
					level.Error(c.opts.Logger).Log("msg", "error running crd manager", "err", err)
					errChan <- err
				}
				wg.Done()
			}()
		}
	}
}

I'm not convinced that this is necessary, so I have not added this suggestion to this PR. We could revisit this decision in the future in case of issues. The code is already wrapped in a mutex, so to me it looks ok as it is. The test is also not flaky.

internal/component/prometheus/operator/common/component.go

@thampiotr Thank you for the review! Unfortunately, I believe @mattdurham is out for the next two weeks. I'll just merge it :)


clean up project toml, main file, and dependencies

It's OK at this point -- I'll add the sequence tests back with DifferenceEquations as downstream.


Use -inf as mask value for the causal mask

The value that is used for masking is currently set to -1e10. In FP16 respectively mixed precision training this leads to numerical issues. This can be fixed by using float('-inf') instead as infinity has an own special representation in IEEE 754.

Looks good to me :+1: I'll update it to version 0.19.1 as well.

Forgot to merge :sweat_smile:


Add boilerplate classes in addons

There is a lot of boilerplate necessary to get fixed-data-table working.
I have created a repo which simplifies the example and makes it MUCH easier to use: https://github.com/ofersadgat/fixed-data-table-simple . It would be cool if we could integrate this with the actual examples (as it also shows how to do dynamic loading).

Also, I have added a few improvements such as adding the abstraction that the table will expand to fill the size of the div that it is in so you dont need to care about managing the sizes manually. Also, instead of using the refresh hack to check and see if the div size has changed it uses a library which handles that with an event.


Use a different keyword as @namespace is part of CSS

https://developer.mozilla.org/en-US/docs/Web/CSS/@namespace
Perhaps @ns or @prefix or something similar?

I decided to @prefix
Thank you!

Looks good :+1:


Changes VanDerCorputSampleGenerator to include goal.

This refactors VanDerCorputSampleGenerator to include the start and end (goal) values as the first two samples to be checked, followed by the discretized intermediate checks within the interval range.
This is an alternate way to address #297 and #303, but avoids the non-termination problem introduced in #303 by simplifying the generator loop.  The resulting output should be identical to the expected output of #303.
@mkoval @DavidB-CMU let's continue the discussion from #303 here.

@mkoval: Heads-up that the VDC unit test will fail because it checks the end value first instead of last.  I'll fix before merge but I wanted to wait until after we converged on discussion.

Ok, since I didn't hear any feedback and the sequences seemed to be pretty correct, I changed the unit tests to match them.

I agree that we explicitly check the endpoint of trajectories inside motion planners. However, I also agree with @DavidB-CMU that this does not belong in our implementation of the Van de Corput sequence - which does not inherently have anything to do with collision checking or trajectories.
I would prefer to either:

manually check the endpoint of trajectories in each planner
add an optional check_endpoints argument to the Van de Corput sequence that defaults to False

I am slightly in favor of (2) because it matches the API that @ClintLiddick implemented in https://github.com/personalrobotics/aikido/pull/37.

That is why I didn't modify the VanDerCorputSequence, I modified the VanDerCorputSampleGenerator.  From its docstring:

This wraps VanDerCorputSequence() in a way that's useful for collision-checking.

This function is NOT the Van Der Corput sequence at all.  It does the relatively arbitrary step-size discretization that we only use for collision checking.

Sorry - I forgot that these were split. This is the right place to add that this functionality. :+1:


Add end_col and end_line to rule body

Relates to #290

Codecov Report

Merging #330 (e5dfd76) into master (cd163f3) will decrease coverage by 0.07%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #330      +/-   ##
==========================================
- Coverage   97.53%   97.45%   -0.08%
==========================================
  Files          23       23
  Lines        1868     1889      +21
==========================================
+ Hits         1822     1841      +19
- Misses         46       48       +2

Impacted Files
Coverage Δ

robocop/utils/utils.py
98.76% <ø> (ø)

robocop/checkers/__init__.py
93.10% <100.00%> (ø)

robocop/rules.py
100.00% <100.00%> (ø)

robocop/run.py
95.97% <100.00%> (-0.95%)
:arrow_down:

robocop/checkers/comments.py
100.00% <0.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update cd163f3...e5dfd76. Read the comment docs.


Added example for updating a single document

Hi, its seems that in the example the docId variable isn't defined

Hi, its seems that in the example the docId variable isn't defined

Great, let's see if now it's better.
Added a more detailed example, using the new Limit() parameter as well. Thanks for noticing the detail!

Hi, jsgm. It looks fine now. Before I merge, could you please squash your commit into one in order to keep a clean history?

Thank you :=)


[QUERY] Migration guide for Azure.Storage.Queues from legacy versions of the Azure Storage .NET library to version 12

Library name and version
Azure.Storage.Queues v12.2.0
Query/Question
Hello,
This is a great migration guide for Blobs at: https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Azure.Storage.Blobs/AzureStorageNetMigrationV12.md
While many of the concepts in this guide is generic and common, is there a similar guide for the Azure.Storage.Queues namespaces also?
Specifically one that can map the classes:
https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Azure.Storage.Blobs/AzureStorageNetMigrationV12.md#class-conversion-reference
Environment
Windows 11 .NET 6.0.0

@dipakboyed Apologies for the late reply. Thanks for reaching out to us and reporting this issue. We are looking into this issue and we will provide an update.
In the meantime, I was able to find the Guide for migrating to @azure/storage-queue v12 from azure-storage for SDK for JS if that helps.
https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/storage/storage-queue/MigrationGuide.md

@amnguye @seanmcc-msft The below migration guide only talks about the Azure.Storage.Blobsand not Azure.Storage.Queues .
https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Azure.Storage.Blobs/AzureStorageNetMigrationV12.md
Are there any migration guide articles for Azure.Storage.Queues ?

There's currently no migration guide yet. We can take this as a feature request.

Adding Service attention label on this.

Hello, any update here? Have such a guide will be very helpful.

@KarpenkoY thanks for reaching out.  We have not gotten to this item yet, but intend to in the medium term.


TypeError: ErrorOverlayPlugin is not a constructor

/Users/hjodiawalla/Desktop/CEP/personalizationnodeweb/webpack.config.js:11
    new ErrorOverlayPlugin(),
    ^

TypeError: ErrorOverlayPlugin is not a constructor

From the source code, looks like ErrorOverlayPlugin is a class and not a function constructor.

Try to get .default As a workaround it should be a problem in export. I will fix it soon.

@neoziro thanks a lot for addressing this! However the fix was a breaking change and ideally it should've been released as 0.2.0 to avoid breaking existing builds that used the 0.1.2 API. Maybe consider deprecating 0.1.3 and re-releasing?

You are right, sorry for that. I think the usage is still very moderate so I will not publish again.


bin/pymarkdown now uses argparse

This results, in a more robust and better command line interface.

Merged


Added 'VariantThemeProvider' Control

Q
A

Bug fix?
[ no]

New feature?
[yes ]

New sample?
[no ]

Related issues?
mentioned in #1120

What's in this Pull Request?
This control extends the FluentUI ThemeProvider control and allows you to apply the required variation to the theme among those available in Fluent UI, which is none, neutral, soft, strong.
You can also pass an object that contains the colors (primary, text, background) to generate a theme and then apply the variation.

Thank you @fabiofranzini!


SNI Hotrod configuration and documentation

https://issues.jboss.org/browse/ISPN-5721
Tasks:

https://issues.jboss.org/browse/ISPN-6524
https://issues.jboss.org/browse/ISPN-6525

Highlights:

This PR has hard dependency to https://github.com/infinispan/infinispan/pull/4255 and will be rebased as 4255 will be merged
Hotrod client SNI configuration added
Finished integration test
Added documentation

Squashed with https://github.com/infinispan/infinispan/pull/4255


Feat/tests backend

Fixes #<issue_number_goes_here>
Dynamic Backend for all integration tests

It's a good idea to open an issue first for discussion.

[x] Tests pass
[ ] Appropriate changes to README are included in PR

updated secrets to use new admin creds


Added integration test for WKO Retry Improvements: implement the handling of Severe Failures

test cases:

where the operator keeps retrying until the problem is fixed outside of the domain spec, for example, a missing secret is created.
log a clear message in the domain Failed condition with the cause, actions to fix the problem, and indicates that the next retry time and when the retry will stop.
when the operator stops retrying when the maximum retry time is reached (negative case with a deliberately-set-low domain.spec.failureRetryLimitMinutes).
when he operator starts retrying in the intervals specified in domain.spec.failureRetryIntervalSeconds

Jenkins job:
https://build.weblogick8s.org:8443/job/weblogic-kubernetes-operator-kind-new/12960/

I need to close this PR because I have had trouble to syncup with latest version of main. new PR is https://github.com/oracle/weblogic-kubernetes-operator/pull/3425


Need a movie film website

Describe the project you want to add with tech stack
I just want to add my project
Expected behavior
I hope it will helping
Screenshots (optional)
Access into my index will be better
Additional context (optional )
nothing

@pranjay-poddar can i started working on it

please allow me the opportunity to work on this proejct

@pranjay-poddar can i started working on it

Sure, sorry im late to respons your comment

please allow me the opportunity to work on this proejct

sure


DDC can't handle private symbols

Creating private symbols using the const Symbol constructor breaks DDC:
main() {
  print(const Symbol("_foo"));
}

yields the following error:
[error] Evaluation of this constant expression throws an exception.

It seems like this is expected behavior.
Keeping the bug open for a better error message: it should state that private symbols can't be built, unless there is a library-mirror.


[Meta] License comments (retry :D)

Type

[ ] Bugfix
[ ] Enhancement
[ ] New Feature
[x] Other

Description of the changes
Changes the doc string license to a comment

:|


RM-264497 Release react-dart 7.1.3

Security Insights
No security relevant content was detected by automated scans.
Action Items

Review PR for security impact; comment "security review required" if needed or unsure
Verify aviary.yaml coverage of security relevant code

Questions or Comments? Reach out on Slack: #support-infosec.


Feature: allow folders to be continued more usefully

The --continue option can now be used with folders.
When a download is being sent to a file, detect when the file to resume is complete (→ has its final name)

Avoids 0-byte ranged transfers (which still count against the shared folder's download limit!)
Speeds up --continue (resume mode) for partially transferred folders containing lots of files.
Especially useful when download allowances are very limited, e.g. Tor-proxied access, or very popular folders.

Now uses the conventional .part suffix for tempfiles, to make life nicer with Linux desktop thumbnailers.
Update command line arguments to match.

Apologies for the forced push. @wkentaro, any chance you could merge these now, or is there anything more you'd like to see? I've adapted the patch to your move of cli.py to __main__.py, and worked my new folder-mode --continue/resume handling in around the internal-only skip_download flag you introduced - Skip Download mode has priority.
Happy to review and update it to match your requirements.

Yes please consider this, I run a fork just for this reason.
I just had to update my fork after an issue popped up

Just a random feedback: this feature is very useful. I'll install the fork one to have this.

@achadwick Looks really useful. Thank you for the contribution!


Fix windows build

Fixes the \r symbol remaining at the end of entry in the file utils/update-flash-refs.js:194, which resulted in the build not working on Windows.

That's not the only problem in windows build, see https://github.com/mozilla/shumway/pull/2442/files

That \r is put there by the Windows filesystem regardless of the value of eol in .gitconfig, so this patch is still also necessary (this only fixes the extension build).

The idea is that you cant fix the code for xargs in the mozilla-build, so I have to add certain file in ".gitattributes" and prevent git-for-windows auto-CLRF mechanism.
There are many ways to fix that, I made a comment only to get your interest in the project again. Why did you try to build it?

I tried to build it because I’m working on #2435.


KDE Plasma5 + xdg-user-dir:  plasma5 xorg session does not autostart  xdg-user-dirs.desktop

Describe the bug
This is what I observe for NEW user with clean home directory.
configuration.nix has only plasma5 enabled.
> find ~ -name *dirs.dirs
> ls -1 ~
Desktop
> xdg-
xdg-desktop-icon      xdg-icon-resource     xdg-screensaver       xdg-user-dirs-update
xdg-desktop-menu      xdg-mime              xdg-settings
xdg-email             xdg-open              xdg-user-dir

> xdg-user-dirs-update
> find ~ -name *dirs.dirs
/home/testuser/.config/user-dirs.dirs
> ls -1 ~
Desktop
Documents
Downloads
Music
Pictures
Public
Templates
Videos

> ls -1 /run/current-system/sw/etc/xdg/autostart/
baloo_file.desktop
gmenudbusmenuproxy.desktop
kaccess.desktop
klipper.desktop
kwrited-autostart.desktop
org.kde.kdeconnect.daemon.desktop
org.kde.plasmashell.desktop
pam_kwallet_init.desktop
polkit-kde-authentication-agent-1.desktop
powerdevil.desktop
xdg-user-dirs.desktop
xembedsniproxy.desktop
> cat /run/current-system/sw/etc/xdg/autostart/xdg-user-dirs.desktop
[Desktop Entry]
Type=Application
Name=User folders update
TryExec=xdg-user-dirs-update
Exec=xdg-user-dirs-update
StartupNotify=false
NoDisplay=true

X-GNOME-Autostart-Phase=Initialization
X-KDE-autostart-phase=1

Plasma ignores the requirement to autostart /run/current-system/sw/etc/xdg/autostart/xdg-user-dirs.desktop
Linked discussion:
#222904 comment<PHONE_NUMBER>
#221604  #222904
Expected behavior
The desktop file xdg-user-dirs.desktop is installed together with xdg-user-dirs-update script by package xdg-user-dirs sourced by all DEs, including Plasma. This desktop file is expected to be executed by DE so that xdg-user-dirs-update can   building the home directories.
Behavior can be disabled by linking directories to $HOME.
Notify maintainers
@ttuegel
@nyanloutre
(from https://github.com/NixOS/nixpkgs/blob/nixos-22.11/pkgs/desktops/plasma-5/default.nix#L38)
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
> nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.0.10-lqx1, NixOS, 22.11 (Raccoon), 22.11.3253.eac7da7b519`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.11.1`
 - channels(root): `"nixos-22.11"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

The issue could be connected with the fact, that desktop file carries no execute flag (the binary, which it executes does).

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/error-installing-kde-spin-i-think/27375/4

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/error-installing-kde-spin-i-think/27375/6

As per discourse discussion and thanks to jtojnar, this is due a confirmed bug: https://github.com/systemd/systemd/issues/18791   Patch is already out. Bug affects only KDE and impacts all distributions. Until it lands, use either:

in ~/.config/autostart create a file “userdirs.desktop” with this content:

[Desktop Entry]
Exec=xdg-user-dirs-update
TryExec=xdg-user-dirs-update
NoDisplay=true
StartupNotify=false
Type=Application
X-KDE-AutostartScript=true
X-KDE-autostart-phase=1

or
2) add this to configuration.nix to create systemd user service, which does the same:
systemd.user.services.xdg-user-dirs_workaround={
 description="(Workaround to 2a63d3f0) User folders update";
 documentation="man:xdg-user-dirs-update(1)";
 path=[pkgs.xdg-user-dirs];
 wantedBy=["graphical-session-pre.target"];
 unitConfig.RequiresMountsFor="/home";
 serviceConfig.Type="oneshot";
 script="${pkgs.bash}/bin/xdg-user-dirs-update";
};

there is no need to enable anything, its managed by NixOS, reboot and relogin should be enough.
Directories can be controlled from within configuration.nix like this (example):
environment.etc."xdg/user-dirs.defaults".text=''
 DESKTOP=Desktop
 DOWNLOAD=Downloads
 TEMPLATES=Documents/Templates
 PUBLICSHARE=Documents/Public
 DOCUMENTS=Documents
 MUSIC=Documents/Music
 PICTURES=Documents/Photos
 VIDEOS=Documents/Movies
'';

Beware that directory localization is extremely primitive, only few words allowed. Custom directory names are possible by editing the ~/.config/user-dirs.dirs after relogin, or write them as-is globally for every user into configuration.nix.


Makefile: Install ODH 2.x operator

Adjusting Makefile commands to deploy ODH 2.x operator.
Fixes https://github.com/opendatahub-io/distributed-workloads/issues/121
Description

Use ODH 2.x operator.
Added contrib/configuration/basic-dsc.yaml, this DSC CR will be used by OpenShift CI. Intention is to deploy basic ODH components using DSC CR, the rest is deployed manually to use latest resources (as done now).
How Has This Been Tested?

Manually.
Merge criteria:

[ ] The commits are squashed in a cohesive manner and have meaningful messages.
[ ] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[ ] The developer has manually tested the changes and verified that the changes work

/lgtm

Trying to merge it manually, because without this change I can't make OpenShift CI green.

/lgtm


When loading from the classpath look in more than one place

I gave my new classpath loading a whirl when deployed in Tomcat and the ClasspathHelper did not find the swagger.json in WEB-INF/classes inside my war.
After some googling I ran across this this stack overflow article. Where they describe that in a web app world the classloader situation is more complicated.
So my solution is to change the code try looking for the resource in two places.

yes, we've done that inside swagger-codegen as well.


[PE-D][Tester A] Help guide still pointing to addressbook instead of your group's user guide

Remember to update the help guide link to your UG instead of the addressbook :)!

Labels: severity.Low type.FeatureFlaw
original: ZhuLeYao/ped#11

Duplicate of #110


C++ exception

Hi,
I installed pykaldi using: conda install -c pykaldi pykaldi
I installed kaldi separately following their instructions.
Both are installed in the same environment, and appear in: miniconda3/pkgs
When I try to run the jupyter notebook example mfcc-extraction, I get the following error:

RuntimeError                              Traceback (most recent call last)
 in
2              MatrixWriter(wspec) as writer:
3
----> 4     for key, wav in reader:
5         if wav.duration < opts.min_duration:
6             continue
~/miniconda3/envs/myenv/lib/python3.7/site-packages/kaldi/util/table.py in iter(self)
49     def iter(self):
50         while not self.done():
---> 51             yield self.key(), self.value()
52             self.next()
53
~/miniconda3/envs/myenv/lib/python3.7/site-packages/kaldi/util/table.py in value(self)
106             The current value.
107         """
--> 108         return super(_SequentialReaderBase, self).value()
109
110     def next(self):
RuntimeError: C++ exception:
Can someone please help?
Thank you

I thought this was being caused by an installation error. And because I didn't download pykaldi from source, my installation of pykaldi didn't have the folder in the example. The example explicitly stated that the .wav file should be put in the same folder as the pykaldi installation. However, by simply pointing to a .wav file in an arbitrary folder, the example runs fine.


[WIP] Add strong feature flags to wisp-feature

Introduction
Work in progress
This PR adds strongly typed feature flags to wisp-feature, wisp-feature-testing and wisp-launchdarkly.
The idea is to define feature flags and their attributes using data classes, without breaking the existing approach.
Goals:

Define your feature flags using strong types
Provide strong feature flags in parallel with legacy feature flags, to make it easer to incrementally adopt the new approach
Easy, fluent test support

Example
Step 1: Define some flags
data class DisableAvatar(
  val customerToken: String,
  val clientIdentifier: String,
  val avatarType: AvatarType
) : BooleanFeatureFlag { // String, Double, Enum, Json, etc... are also available
  override val feature = Feature("disable-avatar")
  override val key = customerToken
  override val attributes = Attributes()
    .with("clientIdentifier", clientIdentifier)
    .with("avatarType", avatarType.toString())
}

data class AppJsonObject(val id: Int, val message: String)
data class AppJsonFlag(
  val customerToken: String
) : JsonFeatureFlag<AppJsonObject> {
  override val returnType = AppJsonObject::class
  override val feature = Feature("app-json-flag")
  override val key = customerToken
  override val attributes = Attributes()
}

Step 2: Use the flag
class SomeService(val featureFlags: FeatureFlags) {
  fun something() {
    val disableAvatar = featureFlags.get(
      DisableAvatar(
        customerToken = "...",
        clientIdentifier = "...",
        routeId = AvatarType.SQUARE
      )
    ) // Returns Boolean / Double / Data Class depending on the flag type

    val appJsonObject = featureFlags.get(
      JsonFeatureFlag(customerToken = "...")
    ) // Returns AppJsonObject
  }
}

Step 3: Test the flag
@Test
fun `test the thing`() {
  val featureFlags = FakeFeatureFlags()
    .override<DisableAvatar>(true) // Make `DisableAvatar` true normally
    .override<DisableAvatar>(false) { it.avatarType == AvatarType.SQUARE } // Make `DisableAvatar` false if the avatarType is square
    .override<JsonFeatureFlag, AppJsonObject>(AppJsonObject(1, "hello"))

  // inject `featureFlags` into the system-under-test
}

TODO

[ ] Update README examples (including renaming with -> override)
[ ] Many more tests (particularly for wisp-feature-testing)
[ ] Attempt to use this in a real dependency and make sure partial migrations work and are smooth
[ ] Figure out why misk-feature duplicates various interfaces of wisp-feature, and then figure out what to do about it

mind giving some examples of how these will be set in launch darkly? is it simply specifying the attributes to match the strongly typed object?

@acostama: Sure thing!
The idea is launch darkly configuration remains the same as today, right now Misk supports the string and number types from LaunchDarkly which means each "strong" type ultimately needs to be mapped to a string or a number. We don't currently support array or boolean but we should be able to add it if needed.
The "strong type" to "launch darkly attribute" conversion happens as part of defining a feature flag:
data class MyFeatureFlag(
  // Strongly typed fields go here
  val customerToken: CustomerToken,
  val customerRegion: Region
) : BooleanFeatureFlag  { // inherited flag type must match the flag configuration in launch darkly
  val feature = Feature("my-feature-flag") // Must match a feature flag name in launch darkly
  val key = customerToken  // this field will be sent to launch darkly as the feature key
  val attributes = Attributes() // these fields will be sent to launch darkly as string/number custom attributes
    .with("customerRegion", customerRegion.toString()) // here we convert our typesafe region to a string or number
}

The key constraints are:

feature needs to match a feature name in launch darkly
The flag type (BooleanFeatureFlag/StringFeatureFlag/etc...) needs to match the flag type in launch darkly
The attributes all need to be string or number and will be sent as custom attributes to launch darkly.

This means we aren't perfectly typesafe since we can still make mistakes when defining MyFeatureFlag, but we are typesafe when using and testing with MyFeatureFlag which I think is a bit better then the status quo 🙂


FMG exporting and importing adds additional linebreaks to all IDs

Exporting and re-importing modified text adds an extra linebreak to the end of each ID's text.

If you have text that already has linebreaks, it seems to double them up in-game despite appearing correctly in Smithbox.

Pressing backspace once on these doubled linebreaks appears to do nothing in Smithbox but removes the second linebreak in-game. Backspacing twice correctly removes the entire linebreak as you would expect.
If it makes any difference, I was exporting these modified text IDs from json text files while updating old mods.
Edit:
It also appears to add an invisible linebreak to the end of any lines that come before a linebreak.

Fixed in 1.0.17


fix: base animate-with-reanimated urls

Hello!!
Thanks a lot for featuring my work here :)
I recently refactored my Animate with Reanimated repo.
This PR aims to fix the referenced URLs

Hi,
Thank you for your contribution!
I appreciate the time and effort you put into refactoring the URLs.
The changes look great, and I'll go ahead and merge this now.
Keep up the awesome work! 🚀


Name is too long for docker-cloud.yml file

Could also be an issue with docker cloud?
ERROR: Validation Error: {"service": {"name": ["Ensure this value has at most 32 characters (it has 33)."]}}
ERROR: Stack Update action on 'NGINX' has failed

Issue on my part the container name was to long not the image.


fails to activate

tested wit 0.10.0

Thanks for the report. Unfortunately I am on vacation but hope to fix this
when I return.
On Sun, 16 Apr 2017, 11:04 AM Jiri Spac<EMAIL_ADDRESS>wrote:

[image: image]
https://cloud.githubusercontent.com/assets/1305378/25070086/3d417134-2294-11e7-8631-6d7e764b0065.png
tested wit 0.10.0
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/CoenraadS/BracketPair/issues/20, or mute the thread
https://github.com/notifications/unsubscribe-auth/AFVa4ZPhJtokRxlV_ZGQ23buMGqilW3qks5rwdmcgaJpZM4M-lHM
.

Do you have any custom settings?

Should be fixed in 0.10.2


Feat/jenkinsfile

@RolandBakunts Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.


How to change font in theme ?

Hi,
I'm working on a Theme for Brackets, and I want to use a custom font instead of the default Brackets font.
I tried to use a @font-face in the theme.less file, but it seem to not working...
`@font-face {
font-family: 'myfont';
src: url(fonts/myfont.ttf) format('ttf');
font-weight: normal;
font-style:normal;
}
.CodeMirror, .CodeMirror-scroll {
background-color: @background;
color: @foreground;
line-height: 25px;
font-family: 'myfont', Menlo;
}`
Does anyone have any idea how to do this?
Thank you very much for your help ! ;)

You can change font-size and font-family in preferences file.
Go to Debug->Open Preferences File. Then in the right pane in brackets.json file edit "fonts.fontSize" and "fonts.fontFamily"

Also are you using 1.9 version? If yes, then there are some issues related to font-size and font-family in this, so you can install a stable pre-release for 1.10 in which above issue is fixed, https://github.com/adobe/brackets/releases/tag/release-1.10-prerelease-1

Ok thank you very much !
I will download the pre-release 😊👍🏻

Thank you so much!

thanks

i have failed coz  the  font-size and font-family nothing changing

For me easier way is to go to view >> Themes... >> font-family
Make sure font name should be within quotes


Split PredefinedNetworkConditions class

Get the PredefinedNetworkConditions class ready for the bidi protocol

Class doesn't have a base class


e_os file moved to the "internal" include tree

Storing it with the other private header files in place of the project root directory looks more appropriate.
All the files that includes it were update accordingly:
include "e_os.h" -> include "internal/e_os.h"

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

Nice to have, perhaps, but we have many other PR's in the backlog to look at.

That means that will be left pending? There is a motivation why the file is under the.root? The same applies to the /osdep/haiku.h Thanks

The file is there because that's where it always was. We used to have files in the source dirs and then we created  the include directories and put them there. We just never got around to it.  My preference is that we spend time on existing PR's that have real issues, not nice-to-have, for the rest of this release.  The team may feel otherwise.

This is really a really easy PR. Approving it would have cost less
time than argueing about it.

I understood the point. But removing it from the the proj root was a start since has been there since the begin of the times.

I'll put a -1 because of @dot-asm's argument, and because this is a distraction right now.

Are you confusing e_os.h an e_os2.h?

No I am not confusing the two files.  Nor was Andy.

Then I really have no idea what you're talking about

I'm siding with @dot-asm here. e_os.h doesn't need to be moved, it needs to be split into pieces, primarily bound to different platforms. @richsalz made an attempt at this specifically for msvc stuff.
osdep/haiku.h is another start at the same thing. Instead of shoving yet more stuff into e_os.h, we placed it in an os dependent header.
All this comes from a long term intention to make a better intern architecture / platform layer, instead of a gazillion platform specific guards throughout the code.
So I think this PR is the wrong move. As @dot-asm says, there's a risk that it "legitimizes" e_os.h further and delays the move to the better layer I mentioned.
-1  (with thanks to @davxy for reactualising the bigger issue, even though that wasn't your intent)

@levitte That is clear now. Anyway I think that is a work that should be done. That's really ugly to have it in the root dir (again... IMHO). And my move is supported by two core motivs:

e_os.h is there from the start of the times
osdep/haiku.h has been done 2 years ago

With this peace maybe in 10 years the thing is addressed :D (just joking).
Technically speaking I don't see the problem so challenging (maybe I'm missing some details).
I'll see if I can help in that sense after that 1.1.1 has been released
BR

Moving this to post-1.1.1

(If you disagree and think that this should block the 1.1.1 release, please comment.0


[Key Vault] Prevent errors caused by setting update challenge authentication bug

Description
An at-least-temporary fix for https://github.com/Azure/azure-sdk-for-python/issues/30382. Since triggering an authentication challenge at the update_setting endpoint doesn't work with our standard flow, this PR updates the method to trigger auth challenges using get_setting if necessary (i.e. if we don't have a cached challenge for the user's vault URL).
I opted to use a real service request instead of a direct token request so that we can still use any auth parameters that would only be discovered with a challenge from the service. get_setting was chosen because:

It's a quick, inexpensive operation.
We already have the information necessary to make a successful request (a setting name).

Any error raised by this additional get_setting call is tossed. If the error is from failing to authenticate, then this error would have been raised when calling update_setting anyway. If the error is specific to the GET request -- e.g. the setting doesn't exist -- we will still have triggered an auth challenge from the service. The error from the GET request wouldn't be relevant to the update_setting call (the user didn't explicitly request the get_setting call in the first place), so there's no compelling reason I can think of to expose an error that comes up.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.


feat(notifications): improve discord notifications

Description
Added a field in the general notification settings to allow a role to be mentioned in the webhook message via discord notification agent
Screenshot (if UI-related)

To-Dos

[X] Successful build pnpm build
[X] Translation keys pnpm i18n:extract
[ ] Database migration (if required)

Done. but pnpm i18n:extract didn't change content of en.json file

@all-contributors please add @guillaumearnx for code

@all-contributors please add @guillaumearnx for code

:tada: This PR is included in version 2.2.0 :tada:
The release is available on:

v2.2.0
GitHub release

Your semantic-release bot :package::rocket:


Allow for custom partition count in DLQ

According to this SO answer from @garyrussell it is currently not possible to configure a divergent partition count than the origin topic for DLQs. Since we do not require as many partitions for the DLQs and kafka allocates a good amount of disk space for each of them we'd like to have it set to some lower value.
spring-kafka does support this feature already by giving the option to provide a custom DeadLetterPublishingRecoverer that implements BiFunction<ConsumerRecord<?, ?>, Exception, TopicPartition>, read https://docs.spring.io/spring-kafka/reference/html/#dead-letters.
For us it would be sufficient to get a configurable property along the lines spring.cloud.stream.kafka.bindings.<channelName>.consumer.dlqPartitionCount which implies a new partition being set for each message that is send to the dlq.

@garyrussell , Thank you.
By any chance, will it be back ported to other older version(v2.1.x) as well ?
It would be helpful to get this there.


[Example] Stable-Diffusion

See https://drive.google.com/drive/u/1/folders/1WMba3yWHJ8a2ywLb-y4oEV6frF1DBEzS

Let's do a demo where we have:
prompt_01.txt contains
flying cactus

prompt_02.txt contains
fish with wings

etc

https://github.com/bacalhau-project/examples/tree/vedant-examples/model-inference

use the GPU version of this please

we also need to scale up the number of GPUs on the production network so we can demonstrate doing many diffusions in parallel (using the sharding example above). Let's say... 5?

Completed in https://docs.bacalhau.org/examples/model-inference/stable-diffusion-cpu/


[T3A3][W14-A1]Lim Jie

Ready for review

Ready for review

Some comments added. Feel free to add more comment if you have any questions. Once you are done, you may close the PR after reading comments.


Bug? How can I display Hebrew text in a table? doc.text() does it, but  doc.table does not

After installing Hebrew fonts, doc.text(...) displays them, whilst doc.table(...) does not.
How can I display Hebrew text in a table?
I'm attaching the pdf file and here is my example code:
let doc = new jsPDF.jsPDF();
doc.addFont('libs/ofek/fonts/David.ttf', 'David', 'normal'); // this works
doc.addFont('libs/ofek/fonts/davidbd.ttf', 'davidbd', 'bold'); // this works
doc.setFont("David", "normal"); // set font
doc.setFontSize(16);
let headers;
let data;
doc.text(Michael Lev, 10, 10);
doc.text("מיכאל לאב", 10, 20);
doc.text("I am מיכאל לאב", 10, 30);
headers = that.createHeaders([
"field_name",
"field_value"
]);
data = [
{
field_name: "Michael",
field_value: "Lev"
},
{
field_name: "מיכאל",
field_value: "לאב"
}
];
doc.table(15, 60, data, headers, { autoSize: true });
doc.save("a4.pdf");
a4 (34).pdf

That's odd. I just tested it with different fonts (Batang) and different characters (which should in theory make no difference), and it works. Does this only happen with your specific font? Or only with Hebrew characters? Which jsPDF version do you have?

Thank you very much for your response.
I use jsPDF Version 2.2.0 Built on 2020-12-07T14:12:49.843Z
I need Hebrew, the specific font not so important, so I downloaded font David (David.ttf and davidbd.ttf) which I downloaded from freefontsdownload.net
I will greatly appreciate your help, since it's indeed weird that doc.text() displays Hebrew fonts but do.table() does not.

When I do copy/paste from https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.2.0/jspdf.umd.min.js into visual studio and save it, visual studio asks: "some Unicde characters in this file could not be saved in the current codepage. Do you want to resave this file as Unicode in order to maintain your data?" I answered "yes"

link to jspdf js file as I have is

Dear Lucas,
I’ll appreciate and be thankful if you help in solving my problem that doc.table() doesn’t display Hebrew fonts (whilst at the same time, doc.text() does

Ah, I just found the issue:
doc.addFont('libs/ofek/fonts/davidbd.ttf', 'davidbd', 'bold'); // this works

The font name (second parameter) must also be 'David'. Otherwise jsPDF can't resolve the David font in bold. You probably also received this console warning:
Unable to look up font label for font 'PTSanss', 'normal'. Refer to getFontList() for available fonts.

This works on my side:
doc.addFont("./David.ttf", "David", "normal");
doc.addFont("./davidbd.ttf", "David", "bold");

doc.setFont("David", "normal");
doc.text("סעיף א. כל בני אדם נולדו בני ", 10, 10); // some example text, don't know what it means ;)

const headers = ["foo", "bar"];
const data = [
  {
    foo: "סעיף א. כל בני אדם נולדו בני ",
    bar: "סעיף א. כל בני אדם נולדו בני "
  },
  { foo: "מיכאל", bar: "לאב" }
];
doc.table(15, 60, data, headers, { autoSize: true });
doc.save("font.pdf");

Ah, I just found the issue:
doc.addFont('libs/ofek/fonts/davidbd.ttf', 'davidbd', 'bold'); // this works

The font name (second parameter) must also be 'David'. Otherwise jsPDF can't resolve the David font in bold. You probably also received this console warning:
Unable to look up font label for font 'PTSanss', 'normal'. Refer to getFontList() for available fonts.

This works on my side:
doc.addFont("./David.ttf", "David", "normal");
doc.addFont("./davidbd.ttf", "David", "bold");

doc.setFont("David", "normal");
doc.text("סעיף א. כל בני אדם נולדו בני ", 10, 10); // some example text, don't know what it means ;)

const headers = ["foo", "bar"];
const data = [
  {
    foo: "סעיף א. כל בני אדם נולדו בני ",
    bar: "סעיף א. כל בני אדם נולדו בני "
  },
  { foo: "מיכאל", bar: "לאב" }
];
doc.table(15, 60, data, headers, { autoSize: true });
doc.save("font.pdf");


Re-enable coredumps in Vagrant + adapt NAT startup config to recommen…

…ded settings

Coverage decreased (-0.06%) to 75.367% when pulling 4d7aced56a431120e58e7a237041e1f3f5c3b98a on rastislavszabo:master into 50d618b7a954ebdbe0647f56e0e1bc62ddf6322a on contiv:master.


Filter out connection failures

Filter out connection failures. This may happen when the the transaction is not sequenced by consensus and is instead dropped.

In practice wouldn't we want a queue of txns and to continue retrying to submit them instead of dropping them?

In practice wouldn't we want a queue of txns and to continue retrying to submit them instead of dropping them?

That is why we have the loop line 57


Please add a license

Personally, I think a permissive license like MIT/Apache is most suitable for this.

The MIT Licence has been added.


fix: loading button to confirm swap has wrong color

Bug Report
Current behavior and Solution
Wrong loading color on the confirm swap button as showed in the image below.
Definition of Done:

[ ] Change the loading button color in light mode to be the same green color as the rest of the application.

closed by #217


Update main.go

https://github.com/elazarl/goproxy/issues/419

Probably mistaken taken from a PR. Thanks

Probably mistaken taken from a PR. Thanks


Enabling reticle display full white screen

Enabling the reticle without having changed at least once the image type will show the reticle on a full white screen.
Oddly, this does not happen if you have changed image type once.

It seems to be linked to the auto contrast breaking when enabling reticle

have a look at compute_percentile_xy_view i can make it work but i don't know what it really does

The problem comes from here
https://github.com/DigitalHolography/Holovibes/blob/e5102d1407f7046795a11a1dad222eea852750bf/Holovibes/cuda_sources/percentile.cu#L101-L108
When commenting the if (compute_on_sub_zone) part and keeping only the else expression for testing purpose the bug does not occur


License for this project

I want to create an app but there is no license. Can you please add a license?

License added; thanks for pointing this out.


 The results here are correct and what we are expecting. Note that there are three observers that can see one of the targets, the observers are connected to the target by white line and the target is labeled with the number 3.

In Pro 1.2, using the same inputs, we get the following:

Forget that the TOC isn't labeled properly (issues with Pro itself) but the colors for the output sight lines is backwards.

Here is the expected results (symbolology updated.... again).

However due to Pro defects the TOC labels are wrong, and the output Targets are not labeled either.

The Target labeling is due to:
BUG-000101471 "Geoprocessing tools in ArcGIS Pro do not honor output layer file (.lyrx) labels for tool results."
The TOC labels are a different bug altogether. Will have to log this one separately.

this is an issue with Pro


Remove unnecessary configure files

For android only, remove "config.xml,inst.wgt.py,inst.xpk.py" and update suite.json to keep android configure only.
For tizen only, remove "inst.apk.py" and update suite.json to keep tizen configure only, manifest.json is used for xpk package.

BUG=https://crosswalk-project.org/jira/browse/XWALK-3375

Verified the package building.

Good catch, thanks.


products API : update and inventory

Issue #, if available: solving #38
Description of changes:
Adding 2 new APIs in the product service:
POST:	"/products/" : updates a product
POST:     "/products/inventory" updates a product stock
Small UI tweak to add stock and disabled add to cart if stock = 0
To use the API   "/products/" to update a product, simply POST the full json from a product, for example:
{"id":"1",
"url":"http://xxxx.cloudfront.net/#/product/1",
"sk":"",
"name":"Black Leather Backpack",
"category":"accessories",
"style":"bag",
"description":"Our handmade leather backpack will look great at the office or out on the town.",
"price":119.99,
"image":"1.jpg",
"featured":"true",
"currentstock":5}

To use the API   "/products/inventory" to update a product stock, simply use a POST with a body containing product id and the stock delta (which can be negative or positive):
{
    "id": "1",
    "stockdelta": 10
}

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

almost done with this PR, need to implement Atomic counters or Conditional Writes for stock updates

@james-jory  please comment and check last commit including conditional update on inventory

Made several changes to make this service easier to develop with, refactored some inefficient code, and made the error handling more robust.

You can now run DDB locally to make developing, debugging, and testing easier. This now the default setup in docker-compose. However, you can still connect to DDB in your AWS account (if needed/desired). When running DDB locally, the products and categories tables are conditionally created and loaded from the products and categories yaml files.
Changed the way URLs were fully qualified to be fully qualified by default and to use pointers rather than passing products and categories by value to make this logic more efficient.
Always make sure the Content-Type is set to application/json when returning a success response (was inconsistent before).
Improved error handling to properly return 404s and 422s.
Added validation logic for product info when adding/updating products (checks on name, stock, price, category, etc).
Fixes for properly returning empty arrays when there is no data to return (was returning "null" before).
Added a new API endpoint to get a category by its ID. I needed to be able to lookup categories for validation anyway so decided to add a new endpoint for this too.
Made several code changes recommended by golang linter (variable names, function comments, etc).

Great stuff @james-jory thanks for the last effort making this good to go.
Merging now and let's make sure the other PR which are tied to products are aligned to this


Chromium revision is not downloaded

Error (node:5128) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Chromium revision is not downloaded. Run "npm install " or "yarn install"
Just run yarn add puppeteer and tried the example on the homepage
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
await page.goto('https://example.com');
await page.screenshot({path: 'example.png'});

I didn't mess up with any environment variables, just added this to my project.
System: win 10 64bit pro.

I have the folder .local-chromium there with some files ~300MB

So not sure what is the problem.

To hack it together you need to do:
const browser = await puppeteer.launch({
  headless: false,
  executablePath: './node_modules/puppeteer/.local-chromium/win64-599821/chrome-win/chrome.exe',
});

Definitively some problem with puppeteer figuring out where is chrome..

@hackhat can you please share the absolute path of your project? Looks like we failed with path resolution somewhere

@aslushnikov Is: E:\dev\xxx\

thx i meet the same question on my project

In case future me stumble upon this again.
const revision = require('puppeteer/package').puppeteer.chromium_revision;
is not available any more. You can use the following.
const revision = require('puppeteer/lib/cjs/puppeteer/revisions.js').PUPPETEER_REVISIONS.chromium;

Don't even know how I got here now hours later (@$@#$!!!!!), but if this happens again, it's in:
C:\Users[PC NAME].cache\puppeteer\chrome\win64-113.0.5672.63\chrome-win64\