Calling function import from SAP Cloud SDK returns an empty object

Describe the bug
Calling a function import from SAP Cloud SDK returns an empty object, even though the call is successful.
You can reproduce the issue by using the following git repository.
https://github.com/miyasuta/sdk-function-import-test
To Reproduce
Steps to reproduce the behavior:

Develop a custom odata service which includes a function import.
In a Cloud SDK app, generate an odata client using below command as explained here.
sap-cloud-sdk generate-odata-client -i service-specification/ -o odata-client/
Call the function import from the Cloud SDK app.
When the function import gets called, it falls into then() block, meaning that the call was successful.
However, the response object is empty.

Expected behavior
Response object should be filled with returned data.
Screenshots
Calling the OData function import directly

Calling function import from Cloud SDK app (delivery data should be returned between {})

Used Versions:

node version via node -v: 12.16.1
npm version via npm -v: 6.14.4
SAP Cloud SDK version you used as dependency: 1.31.0

Code Examples
My controller code is as below.
import { Controller, Get } from '@nestjs/common';
import { functionImports } from 'odata-client/catalog-service';

@Controller('get-delivery')
export class GetDeliveryController {
    @Get()
    getDeliveryInfo() {
        return new Promise((resolve, reject) => {
            functionImports.getDeliveryDate({})
            .execute({
                url: 'http://localhost:4004'
            })
            .then(res => {
                resolve('Function call successful: ' + JSON.stringify(res))
            })
            .catch(error => {
                resolve('Error occurred: ' + JSON.stringify(error))
            })
        })
    }
}

Log file
No error has occurred.
Additional context
None
Please check the following points

[X ] Have you provided detailed description about your issue?
[X ] Have you shared all the necessary information to help the cloud-sdk developer reproduce the issue?
[ X] Have you provided the expected behaviour?
[ X] Have you attached some useful screenshots?
[ X] Have you provided the node/npm/cloud-sdk versions?
[ X] Have you shared your code snippets as a minial example?
[ ] Have you provided you log file or related error messages?
[ X] Have you searched for related issues on Stackoverflow or answers.sap.com?

Hi @miyasuta , thank you for creating an issue in this repo.
We are working on a similar bug about the functional import.
We will let you know for the updates.

Hi @florian-richter , here is another example for the bug of the function import, where cap is used.

@miyasuta, please note that this repository has been moved and the link to this issue has changed.

Hi @miyasuta, we fixed this bug and made a new release last week.
Could you please try the latest version 1.32.1?
We are looking forward to your feedback.

Hi @jjtang1985,
Thanks for the update.
I have updated the sdk version in package.json dependency. Is this what needs to be done?
  "dependencies": {
    "@sap-cloud-sdk/core": "^1.32.1",

I have tested in the new version, but unfortunaltelly, the result didn't change.
I have updated my GitHub repo.
https://github.com/miyasuta/sdk-function-import-test

Hi @miyasuta , I checked out your repository and tested.
I found out the root cause of your issue, which is the edmx file you used for the generator.
Your data provider is the CAP service that is using OData V4, while the edmx does not match.
I fixed the edmx file and re-generated the OData client again, the endpoint gave me the data:
Function call successful: {"deliveryDate":"2020-11-06T00:00:00.000Z"}

Please follow the steps below so you can have your application running:

call this URL to get the metadata
use it for generating your OData client again
make sure you are using the latest version of the generator.
make sure you use the new client instead of the old instance
try your endpoint

Please let me know, if this helps.

Hi @jjtang1985
Thanks for your advice. My project is now working for OData v4 as well as v2.
I have another project which has the same issue. It is based on Gateway OData service (v2).
I have updated sdk version to 1.32.1 and regenerated odata client, but the issue persists.
I confirmed that the Gateway was returning correct data.
I noticed that the data format returned from the Geteway was different from the data returned from CAP.
Below information is for your reference.
From Geteway
{
   "d":{
      "getDeliveryDate":{
         "__metadata":{
            "type":"ZCAI_STO_SRV.CT_DeliveryDate"
         },
         "DeliveryDate":"/Date(1606348800000)/"
      }
   }
}

From CAP (v2)
{
   "d":{
      "deliveryDate":"/Date(1606348800000)/"
   }
}

edmx file
<edmx:Edmx xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:sap="http://www.sap.com/Protocols/SAPData" Version="1.0">
    <edmx:Reference xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Uri="https://webidetesting6354665-gda3ba2c0.dispatcher.jp1.hana.ondemand.com/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_COMMON',Version='0001',SAP__Origin='LOCAL')/$value">
        <edmx:Include Namespace="com.sap.vocabularies.Common.v1" Alias="Common" />
    </edmx:Reference>
    <edmx:Reference xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Uri="https://webidetesting6354665-gda3ba2c0.dispatcher.jp1.hana.ondemand.com/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_CAPABILITIES',Version='0001',SAP__Origin='LOCAL')/$value">
        <edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities" />
    </edmx:Reference>
    <edmx:Reference xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Uri="https://webidetesting6354665-gda3ba2c0.dispatcher.jp1.hana.ondemand.com/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_COMMUNICATION',Version='0001',SAP__Origin='LOCAL')/$value">
        <edmx:Include Namespace="com.sap.vocabularies.Communication.v1" Alias="Communication" />
    </edmx:Reference>
    <edmx:Reference xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Uri="https://webidetesting6354665-gda3ba2c0.dispatcher.jp1.hana.ondemand.com/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_AGGREGATION',Version='0001',SAP__Origin='LOCAL')/$value">
        <edmx:Include Namespace="Org.OData.Aggregation.V1" Alias="Aggregation" />
    </edmx:Reference>
    <edmx:Reference xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Uri="https://webidetesting6354665-gda3ba2c0.dispatcher.jp1.hana.ondemand.com/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_PERSONALDATA',Version='0001',SAP__Origin='LOCAL')/$value">
        <edmx:Include Namespace="com.sap.vocabularies.PersonalData.v1" Alias="PersonalData" />
    </edmx:Reference>
    <edmx:DataServices m:DataServiceVersion="2.0">
        <Schema xmlns="http://schemas.microsoft.com/ado/2008/09/edm" Namespace="ZCAI_STO_SRV" xml:lang="en" sap:schema-version="1">
            <EntityType Name="StockSransfer" sap:content-version="1">
                <Key>
                    <PropertyRef Name="PoNumber" />
                </Key>
                <Property Name="PoNumber" Type="Edm.String" Nullable="false" MaxLength="10" sap:unicode="false" sap:label="Purchasing Doc." sap:updatable="false" sap:sortable="false" sap:filterable="false" />
                <Property Name="CompCode" Type="Edm.String" Nullable="false" MaxLength="4" sap:unicode="false" sap:label="Company Code" sap:updatable="false" sap:sortable="false" sap:filterable="false" />
                <Property Name="PurchOrg" Type="Edm.String" Nullable="false" MaxLength="4" sap:unicode="false" sap:label="Purchasing Org." sap:updatable="false" sap:sortable="false" sap:filterable="false" />
                <Property Name="PurGroup" Type="Edm.String" Nullable="false" MaxLength="3" sap:unicode="false" sap:label="Purch.  All rights reserved.
 *
 * This is a generated file powered by the SAP Cloud SDK for JavaScript.
 */
import { transformReturnValueForComplexTypeV2, deserializeComplexTypeV2, FunctionImportRequestBuilderV2, FunctionImportParameter } from '@sap-cloud-sdk/core';
import { CtDeliveryDate } from './CtDeliveryDate';

/**
 * Type of the parameters to be passed to [[getDeliveryDate]].
 */
export interface GetDeliveryDateParameters {
  /**
   * Material.
   */
  material: string;
  /**
   * Suppl Plant.
   */
  supplPlant: string;
  /**
   * Dest Plant.
   */
  destPlant: string;
}

/**
 * Get Delivery Date.
 *
 * @param parameters - Object containing all parameters for the function import.
 * @returns A request builder that allows to overwrite some of the values and execute the resultng request.
 */
export function getDeliveryDate(parameters: GetDeliveryDateParameters): FunctionImportRequestBuilderV2<GetDeliveryDateParameters, CtDeliveryDate> {
  const params = {
    material: new FunctionImportParameter('Material', 'Edm.String', parameters.material),
    supplPlant: new FunctionImportParameter('SupplPlant', 'Edm.String', parameters.supplPlant),
    destPlant: new FunctionImportParameter('DestPlant', 'Edm.String', parameters.destPlant)
  }

  return new FunctionImportRequestBuilderV2('get', '/sap/opu/odata/sap/ZCAI_STO_SRV', 'getDeliveryDate', (data) => transformReturnValueForComplexTypeV2(data, (data) => deserializeComplexTypeV2(data, CtDeliveryDate)), params);
}

export const functionImports = {
  getDeliveryDate
};

controller
import { Controller, Req, Post } from '@nestjs/common';
import { Request } from 'express';
import { functionImports } from 'odata-client/zcai-sto-service';

@Controller('get-delivery-date')
export class GetDeliveryDateController {
    @Post()
    getDeliveryDate(@Req() request: Request) {
        const memory = request.body.conversation.memory
        const parameter = {
            material: memory.item.material,
            supplPlant: '1520',
            destPlant: memory.office.plant
        }

        return new Promise((resolve, reject)=> {
            functionImports.getDeliveryDate(parameter)
            .execute({
                destinationName: 'CC_S4_1909_FPS01_500'
            })
            .then(res => { //res object is empty!
                console.log('received response object: ' + JSON.stringify(res))
                console.log('received deliveryDate: ' + res.deliveryDate)
                ...
            })
            .catch(error => {
              ...
            })
        })
}

Hi @miyasuta, I'm happy to hear that your previous application is running now.
The SDK expects that the response structure does not contain the function name just like the CAP v2 example.
Could you please share what is the Gateway service? I could not find it in the api hub.

Hi @jjtang1985,
The Geteway service which I'm using is a custom OData service created at S/4HANA on-premise.
I followed the procedure in below link to create the function import.
https://help.sap.com/viewer/68bf513362174d54b58cddec28794093/7.5.9/en-US/c5dc22512c312314e10000000a44176d.html

@miyasuta I have made a little test on our dev ERP system and I can reproduce the issue and receive a payload like:
{
    "d": {
        "Test123": {
            "__metadata": {
                "type": "SRS_ML_SRV.TestType"
            },
            "propB": "1.234E3",
            "propA": "Hello World"
        }
    }
}

for a function import named Test123. So I have to investigate if there is some button in the SEGW to define the return type or reach out to experts on this topic why the gateway builds the data like this.
Thanks for bringing this to our attention.

I created a question on: https://answers.sap.com/questions/13199175/unexpected-key-function-import.html

@miyasuta I also tried Entity as a return type and for this there is no extra key included. So if it is urgent you could create a dummy entity which has the same properties as the complex type you used. This should work. Or you wait until we implemented some fallback logic in the response parsing so that we can handle both cases with and without the additional key in the response.

@miyasuta  , as Frank mentioned, only the complex type as return type is affected. I created a ticket in the back log for discussing this issue.
Before that, I also would like to ask some questions.

Is this blocking your live system or just a PoC project?
Could you please try to use Entity as return type as Frank mentioned and let us know the result?
What exactly is the function import you would like to introduce? If you you can share more details, maybe we can also find a way for building an OData query with e.g. filter/batch as workaround.

I will update here after our discussion.

Hi all,
Thank you for your investigation. I will try using entity as return type, and update here.
This is not a program for production, but just a PoC.
The purpose of the function import to get delivery date of stock transfer order, based on material, shipping plant and destination plant.
As the delivery date is result of some calculation, I thought function import would better suit than get entity (read operation).

Hi all,
After changing the return type to entity, the issue has been resolved.
Thank you very much for your help.

good to hear. Of course it should also work with the complex type. I will keep this issue open and add either the PR from us that we handle the complex type case or how to adjust the S/4 system so that it does not add this extra key.

Since there is a work around we will close this one and see if we see more customer demand for a proper solution.

Dear @FrankEssenberger ,
I've posted today the question Structure returned by V2 adapter proxy does not match V2 result of S/4HANA backend. The service used there is the standard S/4HANA (Cloud) API: API_CV_ATTACHMENT_SRV. It has the function import GetAttachmentCount which is returning:
{
  "d": {
    "GetAttachmentCount": {
      "AttachmentCount": 0
    }
  }
}

As I've tested against our S/4HANA system and as it is documented on api.sap.com. So yes, I would like to have a proper solution for this issue if it still exists for the SAP Cloud SDK for JS.
If needed I can also file an SAP incident.
Best regards
Gregor

Hi @gregorwolf ,
thanks for raising this up.
Although the execute function does not work with the GetAttachmentCount as part of the response, you still can try executeRaw.
After that, you can deserialise the response like the example below:
deserializeComplexType(yourResponse.data.d.GetAttachmentCount, YourComplexType)

Please share, whether this can solve your issue.
I created a backlog item for the API design, as this seems to be a common issue.
Best reagards,
Junjie

Hi @jjtang1985 ,
I had the same kind of issue as @gregorwolf on prem system.
deserializeComplexType(yourResponse.data.d.GetAttachmentCount, YourComplexType)
This is solved my problem, I got the result as I wanted.

Do you consider applying this to the "execute Function" ?
Regards,
Zafer

Hi @miyasuta, @gregorwolf, @zfrk,
We implemented the feature in @sap-cloud-sdk/odata-common: 2.3.0 to support the modification of the response
data before deserialization.
Take the following response as an example:
{
  "d": {
    "GetAttachmentCount": {
      "AttachmentCount": 0
    }
  }
}

Now, you can pass dataAccessor function as a parameter to execute() to modify the response data before the deserialization:
functionImportsRequestBuilder.execute(
  destination,
  data => data.d.GetAttachmentCount
);

I hope it can help you solve the problem. Please re-open the issue if you have any further questions.
Best regards,
Zhongpin Wang


Rely on Geocoder for validating zip codes

Description of changes
This PR adds an extra check before saving a new user record. This checks to see if the zip code is found by Geocoder by checking the latitude and longitude attributes for truthiness.
This is to allow any zip code that Geocoder can locate to be input during user before_create validations.
Issue Resolved
Fixes #242

Ready for review again. I added some tests for the negative case and revamped all api mocking to use VCR. This should make tests faster and not have to make any kind of actual API call after the first time they are run.

@alexbeeken - Are you able to make the above code review suggestions?  Hope so...this is a fantastic PR!

@hpjaj Hey sorry for the delay, you know how life gets busy. I updated based on your comments and this is ready for review again.


Rename Symbol Unexpected Behavior

Issue Type: Bug

Behaviour
Expected vs. Actual
Setup:
Put cursor on a variable, hit F2, type new name and hit enter
Expected:
All instances of that variable are renamed to the new name
Actual:
Other variables are renamed to a seemingly random combination of their names and new names. Letters are also randomly capitalized.
Steps to reproduce:
In a python program, select a variable and use Rename Symbol or hit F2. Do this a few times in a row on different variables. Usually on the third try, it will do unexpected things

Diagnostic data

Python version (& distribution if applicable, e.g. Anaconda): 3.10.2
Type of virtual environment used (e.g. conda, venv, virtualenv, etc.): conda
Value of the python.languageServer setting: Default

User Settings

defaultLS: {"defaultLSType":"Pylance"}

downloadLanguageServer: true

envFile: "<placeholder>"

venvPath: "<placeholder>"

venvFolders: "<placeholder>"

condaPath: "<placeholder>"

pipenvPath: "<placeholder>"

poetryPath: "<placeholder>"

languageServer: "Pylance"

linting
• enabled: true
• cwd: "<placeholder>"
• Flake8Args: "<placeholder>"
• flake8Enabled: false
• flake8Path: "<placeholder>"
• lintOnSave: true
• banditArgs: "<placeholder>"
• banditEnabled: false
• banditPath: "<placeholder>"
• mypyArgs: "<placeholder>"
• mypyEnabled: false
• mypyPath: "<placeholder>"
• pycodestyleArgs: "<placeholder>"
• pycodestyleEnabled: false
• pycodestylePath: "<placeholder>"
• prospectorArgs: "<placeholder>"
• prospectorEnabled: false
• prospectorPath: "<placeholder>"
• pydocstyleArgs: "<placeholder>"
• pydocstyleEnabled: false
• pydocstylePath: "<placeholder>"
• pylamaArgs: "<placeholder>"
• pylamaEnabled: false
• pylamaPath: "<placeholder>"
• pylintArgs: "<placeholder>"
• pylintPath: "<placeholder>"

sortImports
• args: "<placeholder>"
• path: "<placeholder>"

formatting
• autopep8Args: "<placeholder>"
• autopep8Path: "<placeholder>"
• provider: "autopep8"
• blackArgs: "<placeholder>"
• blackPath: "<placeholder>"
• yapfArgs: "<placeholder>"
• yapfPath: "<placeholder>"

testing
• cwd: "<placeholder>"
• debugPort: 3000
• nosetestArgs: "<placeholder>"
• nosetestsEnabled: undefined
• nosetestPath: "<placeholder>"
• promptToConfigure: true
• pytestArgs: "<placeholder>"
• pytestEnabled: false
• pytestPath: "<placeholder>"
• unittestArgs: "<placeholder>"
• unittestEnabled: false
• autoTestDiscoverOnSaveEnabled: true

terminal
• activateEnvironment: true
• executeInFileDir: "<placeholder>"
• launchArgs: "<placeholder>"

experiments
• enabled: true
• optInto: []
• optOutFrom: []

tensorBoard
• logDirectory: "<placeholder>"

Extension version: 2022.4.0
VS Code version: Code 1.66.0 (e18005f0f1b33c29e81d732535d8c0e47cafb0b5, 2022-03-30T05:50:14.623Z)
OS version: Windows_NT x64 10.0.18362
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz (16 x 2400)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: unavailable_offvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
63.71GB (40.30GB free)

Process Argv
--crash-reporter-id f59b737e-b5ef-4e72-8dfd-53ab67676639

Screen Reader
no

VM
0%

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythonvspyl392:30443607
pythontb:30283811
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
pythondataviewer:30285071
vscod805cf:30301675
pythonvspyt200:30340761
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
vsc1dst:30438360
pythonvs932:30410667
wslgetstarted:30449410
vsclayoutctrt:30451275
pythonvsnew555:30457759
vscscmwlcmc:30438804
vscgsvidc:30447482
vscaat:30438848
pynewfile477:30463512

https://user-images.githubusercontent.com/44767171/161144969-34c93a0f-5c01-4260-b2e0-21959de5b452.mp4

@AlteriusOmega can you provide some repro steps that we can try? I did very simple repro I created and it doesn't repro.
also, while you prepare repro, can you make sure that you don't have any other extensions enabled/installed except python/pylance extension? asking since I saw some others reporting similar issue and it was due to them having multiple extensions installed that handles rename. and they basically messed up each others rename edits.

I'm sorry, I can no longer reproduce this particular issue. I only had the Python and associated Jupyter extensions installed, nothing else. I fixed this particular issue by uninstalling all my extensions and, importantly, deleted all of the extension folders from the VSCode program folders, then reinstalled. I'm no longer having the very strange behavior seen here but I am having another issue where VSCode will not rename certain variables, giving "Request textDocument/prepareRename failed with message: Maximum call stack size exceeded" but I will submit that as another ticket.


If a player that hasn't set a name yet tries to join a lobby, they should be prompted with the name setting window.

https://github.com/sopra-fs23-group-13/meme-it-client/commit/19fc3aba82bec1208aa6915a4ea850a2b1cbdba2


"gethexaformat" messes up column widths

This patch and this patch seem to have messed up column widths.  E.g. the Unicode character "𝔹" (U+1D539) is counted as double-width.  Before these patches, it did not fall in any of the double-width ranges.  However, after these patches, gethexaformat conflates U+1D539 with U+D539 (픹), which is considered as a wide character.
I don't understand what the purpose of gethexaformat is -- it seems to just be performing the bitwise operation x & 0xFFFF, but using text parsing?  Why are only the least significant 16 bits considered when determining whether a character is wide?  This seems like it would cause many characters beside my example to have the wrong width...

@BDisp - Please review


use #5fd7ff for go icon

@kazukazuinaina  check this. The go should be use lightblue.

@glepnir
Are you sure you've addressed the Mentions to the wrong person?
I am not the maintainer of this repository.

@kazukazuinaina . Sorry.. my mistake.


[WIP] hedgewars: <IP_ADDRESS> -> 0.9.25

Motivation for this change
https://www.hedgewars.org/node/7024
Complains about loading assets on startup? Should investigate...
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Seems fine playing it? Dunno.

https://github.com/NixOS/nixpkgs/pull/52290


Add some furnace tests for some of the MaterialX closures

This is to quantify the energy loss/gain of the individual closures. I've also added a way for testrender to show the results of the get_albedo() method directly, for comparison with furnace tests.
I've also added a rational fit for the albedo of sheen, which is taken from the MaterialX project. It doesn't look like an exact match, but it should be good enough for now.

The mx-layer test was added in a previous PR, but was not actually being run. I added it to the list of tests to run but didn't re-generate the image yet.

The one remaining that fails is the Debug build, and at least some of the test were failing simply by timing out -- some of the render tests take a godawful long time when not optimized. Like that touch-up patch I added earlier today, we may just want to bump up the ctest timeout value for the individual tests higher in debug mode.

I'm tempted to merge this and just bump the timeouts for those failing tests individually, as a separate PR. Shall I do that, or do you really want to do that yourself, @fpsunflower ?

Yeah I'm fine with ignoring the timeouts, but there is one legit failure in debug mode -- an assert is being triggered. I was just able to repro locally, so let me try to sort that out first ...


Bindings in Join are not merged with Union

Laravel Version: 4.2.11
PHP Version: 5.4.23
Database Driver & Version: MySql

On a union of two query builders with joins, the bindings from the join on the second query are not merged.  In the example below, the binding for 'tableA' is included, but the binding for 'tableB' ($param2) is not merged.
public function test()
  {
    $param1 = 1;
    $param2 = 2;

    $tableA = \DB::table('childA')
        ->select(['*'])
        ->leftJoin('inventory', function($join) use ($param1) {
          $join->where('inventory.tenantId', '=', $param1);
        });

    $tableB = \DB::table('childB')
        ->select(['*'])
        ->leftJoin('inventory', function($join) use ($param2) {
          $join->where('inventory.tenantId', '=', $param2);
        });

    $tableA->union($tableB);

    $sql = $tableA->toSql();
    $bindings = $tableA->getBindings();

    // $bindings = array(1), should be array(1, 2)
    $this->assertEquals(array(1, 2), $bindings);

  }

https://paste.laravel.io/r5VQ1

Sorry but 4.2 is not supported anymore, try posting on the forums maybe someone will be able to help.


Overwrite main config file while reload from scm

Hi,
I am trying to automate reload Jenkins config from scm (git) using this plugin. I use a groovy script during Jenkins startup to download the latest config from scm. I use following actions to re-load the config
I am using groovy script from this gist - https://gist.github.com/gshively11/13dcdd61b78b7910923e#file-gistfile1-txt
....................trimmed............... .............. scmSyncPlugin.configure(mock, jsonObj) scmSyncPlugin.business.synchronizeAllConfigs(ScmSyncConfigurationPlugin.AVAILABLE_STRATEGIES) instance.doReload() instance.save()
It is working as expected but it overwrite the main config.xml and reset all my settings.
Any help would highly appreciated.
Thanks,
Arun S

@arunssasidhar Did you resolve this issue ?

not yet.

@arunssasidhar This is how I managed to do this.
The problem:
SCM plugin overrides Jenkins start method, and the groovy script is executed only after the plugin initialises, so the config file is overwritten already.
The solution: (provisioning with ansible)

Install jenkins
two separate groovy files, one for plugin installation and one for scm config reload.
First, place the plugin installation script in the  init.groovy.d and restart jenkins
Wait for jenkins to be online again
Now clone the actual config repo somewhere (may be in /tmp)
Replace /var/lib/jenkins/config.xml with the config.xml from the cloned repository.
Place the scm-configuration xml in jenkins
Place the groovy script for scm config reload in  init.groovy.d
Restart jenkins


How to sync two instances of newsboat?

I have newsboat running on the server which pulls new RSS data on regular basis.
I would like to have another instance of newsboat on my laptop and:

sync new rss data from the server instance.
sync back the new/modifications/deletions of the articles from client to server (after some reading offline).

I know all the data are kept in sqlite database files. I would appreciate any hints how to approach this (what sequence of steps should be done?,  etc.)
Can the databases be updated by external script without exiting the newsboat?
Regards,
Piotr

I believe the most common way is to use one of the remote APIs we support. If you want to just sync files manually, then:

close Newsboat (on both ends). You might get lucky copying the database while Newsboat is running, but most likely you'll corrupt the database instead;
copy at least cache.db and the urls file. Config file should definitely be copied if it contains ignore-article settings. Queue and history can be left alone if you don't use Podboat and don't care about missing history in command line and searches;
now start Newsboat again.

There is no way to "merge" two caches, even nearly identical ones, so you make sure to only run Newsboat on a single machine at a time.
Note that configs can include paths to other configs and to scripts — make sure those are consistent between machines, or keep per-machine configs and include them with something like include `echo ~/.newsboat/config.$HOST` .

Does all the remote APIs support two-ways sync? I mean if something is marked as read in newsboat vs in the web ui.

@bbigras I believe they all do. If you find one that doesn't, please open an issue about that.
Since the original question was answered, and there seem to be no follow-up to do, I'm closing this issue.


Wrong version in podspec

Current version is 2.1.1. But in the podspec it is 2.1.0.

Haven't updated the podspec as the only change from 2.1.0 to 2.1.1 was to get Carthage working.


Botocore 1.32.1 breaks some tests with moto

Problem
Latest botocore 1.32.1 released few hours ago breakes some tests in moto (4.2.8 - i.e. latest). Some of the internal models stored in botocore are gzipped (and it changes between botocore versions) are not recognized by moto when it tries to load the models. Botocore internally uses JSONFIleLoader https://github.com/boto/botocore/blob/develop/botocore/loaders.py#L149 that automatically handles .json.gz data and decomresseses it, while moto uses "load_resources" which does not try to load .gz versions of files https://github.com/getmoto/moto/blob/master/moto/utilities/utils.py#L16
There are a number of such internal models in botocore that are gzipped but In case of botocore 1.32.1 what changed is that
botocore/data/emr/2009-03-31/service-2.json that previously (1.32.0) was stored as plain .json became now `botocore/data/emr/2009-03-31/service-2.json.gz’ - you can see it by downloading the packages from pypi and comparing them.

        This is a wrapper round the PEP 302 loader get_data API. The package
        argument should be the name of a package, in standard module format
        (foo.bar). The resource argument should be in the form of a relative
        filename, using '/' as the path separator. The parent directory name '..'
        is not allowed, and nor is a rooted name (starting with a '/').

        The function returns a binary string, which is the contents of the
        specified resource.

        For packages located in the filesystem, which have already been imported,
        this is the rough equivalent of

            d = os.path.dirname(sys.modules[package].__file__)
            data = open(os.path.join(d, resource), 'rb').read()

        If the package cannot be located or loaded, or it uses a PEP 302 loader
        which does not support get_data(), then None is returned.
        """

        spec = importlib.util.find_spec(package)
        if spec is None:
            return None
        loader = spec.loader
        if loader is None or not hasattr(loader, 'get_data'):
            return None
        # XXX needs test
        mod = (sys.modules.get(package) or
               importlib._bootstrap._load(spec))
        if mod is None or not hasattr(mod, '__file__'):
            return None

        # Modify the resource name to be compatible with the loader.get_data
        # signature - an os.path format "filename" starting with the dirname of
        # the package's __file__
        parts = resource.split('/')
        parts.insert(0, os.path.dirname(mod.__file__))
        resource_name = os.path.join(*parts)
>       return loader.get_data(resource_name)
E       FileNotFoundError: [Errno 2] No such file or directory: '/usr/local/lib/python3.8/site-packages/botocore/data/emr/2009-03-31/service-2.json'

You can see a failure of Airflow canary run (this is what triggered our investigation):
https://github.com/apache/airflow/actions/runs/6882709099/job/18722609903#step:5:14716
Potential solution
For now we will limit moto to < 1.32.1 in Airflow as a workaround but I think the best solution would be to extes load_resources method in moto to handle also .gz version automatically. That should fix this problem (and also address any future problem like that if botocore team will compress more models.

Hi @potiuk! I've raised #7030 for this. Can you verify this is fixed with moto >= 4.2.9.dev9?

Ah . I checked before I opened mine but our issues/pr's crossed :)
Yes confirmed it fixes the issue:
tests/providers/amazon/aws/hooks/test_emr.py::TestEmrHook::test_create_job_flow_extra_args PASSED                                                                                [100%]

=============================================================================================================================================== warnings summary ================================================================================================================================================
tests/conftest.py:1144
  /opt/airflow/tests/conftest.py:1144: PytestDeprecationWarning: A private pytest class or function was used.
    warnings_recorder = WarningsRecorder()

tests/providers/amazon/aws/hooks/test_emr.py::TestEmrHook::test_create_job_flow_extra_args
  /usr/local/lib/python3.11/site-packages/flask_appbuilder/models/sqla/__init__.py:105: MovedIn20Warning: Deprecated API features detected! These feature(s) are not compatible with SQLAlchemy 2.0. To prevent incompatible upgrades prior to updating applications, ensure requirements files are pinned to "sqlalchemy<2.0". Set environment variable SQLALCHEMY_WARN_20=1 to show all deprecation warnings.  Set environment variable SQLALCHEMY_SILENCE_UBER_WARNING=1 to silence this message. (Background on SQLAlchemy 2.0 at: https://sqlalche.me/e/b8d9)
    @as_declarative(name="Model", metaclass=ModelDeclarativeMeta)

tests/providers/amazon/aws/hooks/test_emr.py::TestEmrHook::test_create_job_flow_extra_args
tests/providers/amazon/aws/hooks/test_emr.py::TestEmrHook::test_create_job_flow_extra_args
  /usr/local/lib/python3.11/site-packages/marshmallow_sqlalchemy/convert.py:17: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
    _META_KWARGS_DEPRECATED = LooseVersion(ma.__version__) >= LooseVersion("3.10.0")

tests/providers/amazon/aws/hooks/test_emr.py: 10 warnings
  /usr/local/lib/python3.11/site-packages/pydantic/_internal/_config.py:267: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.4/migration/
    warnings.warn(DEPRECATION_MESSAGE, DeprecationWarning)

tests/providers/amazon/aws/hooks/test_emr.py::TestEmrHook::test_create_job_flow_extra_args
  /usr/local/lib/python3.11/site-packages/pydantic/_internal/_config.py:317: UserWarning: Valid config keys have changed in V2:
  * 'orm_mode' has been renamed to 'from_attributes'
    warnings.warn(message, UserWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html

 ======================== Warning summary =============================

   The tests generated 1 warnings.
   After removing duplicates, 1  of them remained.
   They are stored in /opt/airflow/warnings.txt file.

 ======================================================================

======================================================================================================================================== 1 passed, 15 warnings in 2.34s =========================================================================================================================================
root@521a8e95e106:/opt/airflow# pip freeze | grep oto
...
boto3==1.29.1
botocore==1.32.1
moto==4.2.9.dev9
...
root@521a8e95e106:/opt/airflow#

Super quick fix ! Do you know when you might release it? This way I might simply not merge https://github.com/apache/airflow/pull/35671 and just wait for moto release

This is quite high-prio, so I'll try to get a release out today. Will ping you once that's done.

Fantastic.
It's all I need. No need to ping. Our CI attempts to upgrde to latest versions of everything every time CI build in "main" branch happens, so once it is released we will find out because our dedicated "Latest botocore" build will stop failing.  This is how we found it out actually just hours after botocore was relased.

Done @potiuk! https://pypi.org/project/moto/4.2.9/
I'll close this, but do let me know if you run into any other issues.

:bow:


Persist groups in edit assignments view

This was first brought up by @david-yz-liu in issue https://github.com/MarkUsProject/Markus/issues/1552.
We want to allow instructors to choose to persist groups when editing an existing assignment, but what should happen if it was already persisted, then unchecked? By default, the "Students can work in groups" option wouldn't be checked, but the existing groups wouldn't be changed, which may contradict this.
(CC @reidka )

This needs further discussion but is related to #2237 and #2180.
Right now, the persist groups button only shows up if "allow students to work in groups" is selected and there is another assignment that does not allow web submits and is a group assignment.
We have used the persist groups in the past to create the directories for individual assignments, but to avoid the problems in the comments above, I'd like ad this feature to the Groups tab, rather than the settings tab (as in #2180)


Does Bot Channel Registration Have Integration With KeyVault

When I create bot channel registration, have to input appId and secret, where Azure store these credentials?
Can Bot Channel Registration reference secret from my Keyvault instead?
[Enter feedback here]

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: c93f5e57-c662-644a-776d-b1dd112a3832
Version Independent ID: f7bfec78-1f6b-fcb5-09da-138e27dcad58
Content: Create a Bot Channels Registration with Bot Service - Bot Service
Content Source: articles/bot-service-quickstart-registration.md
Service: bot-service
GitHub Login: @Kaiqb
Microsoft Alias: kamrani

@RonnieQuan Please look at this article: Azure Bot Service encryption for data at rest. Let me know if it answers your questions.


Padding Bug

Describe the bug
Hello,
There is a problem with the bottom item in the appearance of the drop-down menu.
Here are some devices where I encountered the view (space) error:
iPhone 11
Samsung (SM-A307FN/DS)
Samsung (SM-A920F)
I tried styling it but it had no effect.
To Reproduce
Steps to reproduce the behavior:

Open hold menu.

Expected behavior
Just a little bit padding for last (actually bottom) item.
Screenshots (Two different devices)

Package versions

React: 18.1.0
React Native: 0.70.5
React Native Reanimated: ~2.12.0
React Native Hold Menu: ^0.1.5
Expo: ~47.0.12

Additional context
"Actions" section icon does not load (any icon - 'home', 'archive', etc.).

hi, when I updated the 37. line of the "style.ts" file from the node_modules folder, problem was solved. (temporarily 👾)
paddingVertical: styleGuide.spacing * 1.25,
to
paddingVertical: styleGuide.spacing * 1.1,

Hi,
previous solution doesnt work when i tested it on 10 different devices. rather than entering a different size for each screen format, the style.ts file needs to be rewritten with fixed dimensions.

Hey there, I saw the PR about the fix. I guess giving the flex is not a good solution since the sizes of the menu are really really important for the animations to run perfectly. We cannot let the menu calculate the size automatically.
So for the problem, this is not expected for sure, didn't see it before.

Do you only get this on the devices you listed? Not other devices?
What is the value of the font size in device settings?
Can you provide the code piece of the HoldMenu usage? (The list of items in your example.)
Can yo try without icons? (Thinking if they might be the reason)


When creating cluster with Rancher deployed on Azure instance, the user is brought back to cluster management page

Setup

Rancher version: v2.7-head
Browser type & version: Chrome build 107

Describe the bug

After deploying Rancher on an azure instance suse 15.4, I clicked create cluster but then after selecting either node driver or custom, I was brought back to the cluster management page. You can see that the URL is in create

To Reproduce

Deploy v2.7-head Rancher on SUSE 15.4 on azure
Click create cluster
Click any of the options, I chose custom in the image above
See that you are brought back to the cluster page and not to the config edit page

Result
User is not brought to the config edit page, but is brought back to the cluster management page
Expected Result

User should be brought to the edit config page where user can define the values to create a cluster.

Closing as duplicate of https://github.com/rancher/dashboard/issues/7636 (issue applies to all non-rke2 clusters)


Scancode no licenses are found

Problem
The variable for the SPDX Tool version is not set. As a result, converting the SPDX Report in Tag/Value format to SPDX JSON does not work.
Solution
Ensure, the SPDX Tool is set properly.

Empty files are a problem, because no hash checksum is produced. For more details have a look at: https://github.com/nexB/scancode-toolkit/issues/3250


Add the optional S3bucket name

Description
Add the optional s3 bucket name, this is a combination of multiple branches and pull request-
https://github.com/nih-sparc/sparc-api/tree/s3bucket_refactor
https://github.com/nih-sparc/sparc-api/pull/160
More works are on the way for the front end and new pull request will be added subsequently.
Type of change
Delete those that don't apply.

[ ] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
I ran the unit tests and they passed.
Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have added unit tests that prove my fix is effective or that my feature works

So now for each API we can either use the query argument bucket_name or s3BucketName? Do we need both, is one not sufficient?

I agree, I think bucket_name can be removed. Also I think Config.S3_BUCKET_NAME should be renamed to DEFAULT_S3_BUCKET_NAME
Either that, or we force the requests to have a s3BucketName passed in as an argument to that we can remove the config var entirely

@egauzens @hsorby I am trying to understand the issue here. The argument - bucket_name can be useful, it provides the flexibility to call these methods in main.py with the bucket name set. Take a look at the simulation_ui_file method and it calls once of these methods, we can not set the bucket name without the argument.

@egauzens @hsorby I am trying to understand the issue here. The argument - bucket_name can be useful, it provides the flexibility to call these methods in main.py with the bucket name set. Take a look at the simulation_ui_file method and it calls once of these methods, we can not set the bucket name without the argument.

Ah ok I did not see it was used by other endpoints in the api. In that case it makes sense

So now for each API we can either use the query argument bucket_name or s3BucketName? Do we need both, is one not sufficient?

@hsorby bucket_name provides the default value and can be used by other methods internally while s3BucketName is the value of the url query or default value when called through the route.


SPARKC-507: Infinite Retries and  Mark all Idmepotent Queries

Changes our retry policy to retry all exceptions which can possible be
temporary. This will move burden to users to detect when the system is
beyond hope but will allow a momentarily troubled cluster recover from
issues.
Some queries will not be retried regardless of the retry policy. To fix
this we mark all of our idempotent queries so the driver will retry
them.

Build against Scala 2.11 finished with success

Build against Scala 2.10 finished with success


Exception with optional tracked property

The other issue I ran into was an exception when the tracked property is optional and initially undefined:
TypeError: Cannot read property 'call' of null
    at TestComponent.desc.initializer (http://localhost:7357/assets/vendor.js:71830:29)
    at getter (http://localhost:7357/assets/vendor.js:58964:29)
    at TestComponent.get [as obj] (http://localhost:7357/assets/vendor.js:16419:19)
    at TestComponent.get value [as value] (http://localhost:7357/assets/tests.js:288:36)
    at getPossibleMandatoryProxyValue (http://localhost:7357/assets/vendor.js:13811:19)
    at _getProp (http://localhost:7357/assets/vendor.js:13876:17)
    at http://localhost:7357/assets/vendor.js:49296:45
    at http://localhost:7357/assets/vendor.js:49244:37
    at track (http://localhost:7357/assets/vendor.js:58933:7)
    at valueForRef (http://localhost:7357/assets/vendor.js:49243:44)

Added a failing test at https://github.com/nwhittaker/ember-tracked-nested/commit/ff3b7de0088eeb9a837f07b9abd85b6b32a38829. Also happy to submit a PR with a possible fix, if desired.

Thanks for catching it! Will take a stab at this issue.

1.0.4 should resolve the issue. Please reopen if not fixed.

Thanks for addressing this and #1 so quickly! I have a follow-on question for this issue:
@trackedNested obj;

update() {
  this.obj = { foo: { bar: 1 } };
}

Given the above snippet, if I run update(), changes to obj.foo.bar are no longer tracked.
I see that I can restore the tracking behavior with this change:
update() {
-  this.obj = { foo: { bar: 1 } };
+  this.obj = nested({ foo: { bar: 1 } }, this, 'obj').data;
}

Is using nested().data the intended API for this scenario?

Thanks. That is also fixed as of 1.0.11


Ancestry might be broken

Test with http://person.ancestry.com/tree/34211057/person/19227526747/facts
Family names are parsed incorrectly. HTML might have changed.

A better example: http://person.ancestry.com/tree/1326857/person/-1952512282/facts
Parsing of relative's names is broken for sure.


Clarify the Goal of Koan

Maybe its just me, but its not clear what this koan is supposed to accomplish? There are no hints as to what I need to change.
// Arrays can also be iterated through using a for loop
#[test]
fn for_loops() {
    let arr: [u64; 3] = [1, 2, 3];
    let mut y: u64 = 1;
    for x in &arr {
        assert!(*x == y);
    }
}

https://github.com/crazymykl/rust-koans/blob/266553469b0103e979480f1a6318b25e8750f728/src/koans/array.rs#L95-101
Thx for the project!

Really late, but just want to clarify that y is mut because you need to add 1 to it every loop.
@crazymykl Can clarify, but this is what I think.

Closed by #52.


docs(beginners,advanced): improve grammar in several doc pages

This improves the sentence structure in various places of the documentation.
It does not change the content, and avoids changing the already-excellent
sample code in the docs.

@19majkel94 Good suggestions -- thank you for the review!  I tweaked those two sentences to incorporate the feedback.
Overall the documentation is excellent; I'm happy I can improve it a bit and am looking forward to finding time to contribute to this project.

@pwagener
For future contributions - please don't force push amended commits as it makes checking changes after review so much harder. I always squash PR with proper merge commit message so don't afraid of bad commit history with names like PR Fix for the commits 😉


Prerequisites-least privileged role

Please update the prereq section to identify the admin roles that are needed to do the work on this page.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 5d46abb2-6ad9-e86e-8808-b69ca11922d8
Version Independent ID: c4ccd9d6-13c7-6150-6a44-241bdf9b0982
Content: Use number matching in multifactor authentication (MFA) notifications - Azure Active Directory - Microsoft Entra
Content Source: articles/active-directory/authentication/how-to-mfa-number-match.md
Service: active-directory
Sub-service: authentication
GitHub Login: @Justinha
Microsoft Alias: justinha

@DeanGross
Thanks for your feedback! We will investigate and update as appropriate.

#please-close


1708 - Implement Connect Login

Resolves #1708

There's a few things which sonar has flagged as well, I should probably up the quality gate to fail on any tbf: https://sonarcloud.io/project/issues?id=VATSIM-UK_core&pullRequest=1743&resolved=false&types=CODE_SMELL

There's a few things which sonar has flagged as well, I should probably up the quality gate to fail on any tbf: https://sonarcloud.io/project/issues?id=VATSIM-UK_core&pullRequest=1743&resolved=false&types=CODE_SMELL

Two of the three things it flagged are Laravel-isms that are false positives.
$provider isn't used in the method but it does get initialised via the constructor and then used elsewhere
config() stuff being referenced three times is fine in my opinion?

config() stuff being referenced three times is fine in my opinion?
Maybe worth just referencing it once to retrieve the value and then reference that variable?

config() stuff being referenced three times is fine in my opinion?

Maybe worth just referencing it once to retrieve the value and then reference that variable?

Not really, I'd be just extracting the vatsim-connect.base config option to solve the duplication. Then I'd need to extract the id, secret and scope for consistency. Feels cleaner to just reference the config option multiple times

:tada: This PR is included in version 6.5.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Raspbian arm-6 upload files number and size limited to 5 and 3MB

Gitea version (or commit ref): 88aef6e #3684 Gitea 1.4 Master 20180318 binary
Gitea version (or commit ref): Gitea 1.4 gitea-1.4-linux-arm-6 binary
Git version: 2.11.0
Operating system: Raspbian Stretch Lite (Debian CLI) RPI-2-ModelB arm-6
Database (use [x]):

[ ] PostgreSQL
[x] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[x] Not relevant

Log gist:
2018/03/18 00:25:07 [I] Log Mode: File(Info)
2018/03/18 00:25:07 [I] XORM Log Mode: File(Info)
2018/03/18 00:25:07 [I] Cache Service Enabled
2018/03/18 00:25:07 [I] Session Service Enabled
2018/03/18 00:25:08 [I] Git Version: 2.11.0
2018/03/18 00:25:08 [I] SQLite3 Supported
2018/03/18 00:25:08 [I] Run Mode: Production
2018/03/18 00:25:11 [I] Listen: http://<IP_ADDRESS>:60005
2018/03/18 00:25:11 [I] LFS server enabled

Description
I can provide direct access to the Raspberry;
I have installed and running from binary with an NGINX proxy (HTTP/HTTPS->HTTPS->Gitea), everything works ok except somewhat the most important thing:
*I cannot upload more than 5 files in Google Chrome
*I cannot upload anything larger than 3MB
*The configuration file is loaded correctly, as I have removed the cfg file and it went to "First Install", and port works (60005)
This is possible an arm-6 code issue?
$gitea/custom/conf/app.ini
[code]
APP_NAME = Gitea Distributed Version Control System
RUN_USER = git
RUN_MODE = prod
[attachment]
ENABLE = true
ALLOWED_TYPES = / #Consider this the "all files" as github bugs
MAX_SIZE = 20
MAX_FILES = 1000
[security]
INTERNAL_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE1MjEzMTM4NzR9.fPSFUhfJC0tSGguvpPb1DER1uvLFY-dZ3iY1yFbjX1o
INSTALL_LOCK   = true
SECRET_KEY     =
[database]
DB_TYPE  = mysql
HOST     = <IP_ADDRESS>:60006
NAME     = Gitea
USER     = gitea
PASSWD   = H2U0Evu6Osca2lPL
SSL_MODE = disable
PATH     = data/gitea.db
[repository]
ROOT = /home/git/gitea-repositories
[server]
SSH_DOMAIN       = localhost
DOMAIN           = localhost
HTTP_PORT        = 60005
ROOT_URL         = http://localhost:60005/
DISABLE_SSH      = false
SSH_PORT         = 60000
LFS_START_SERVER = true
LFS_CONTENT_PATH = /home/git/Gitea/data/lfs
LFS_JWT_SECRET   =
OFFLINE_MODE     = false
[mailer]
ENABLED = false
[service]
REGISTER_EMAIL_CONFIRM            = false
ENABLE_NOTIFY_MAIL                = false
DISABLE_REGISTRATION              = false
ENABLE_CAPTCHA                    = false
REQUIRE_SIGNIN_VIEW               = false #If false, anonymous can see public reps
DEFAULT_KEEP_EMAIL_PRIVATE        = false
DEFAULT_ALLOW_CREATE_ORGANIZATION = true
DEFAULT_ENABLE_TIMETRACKING       = true
NO_REPLY_ADDRESS                  = example
[picture]
DISABLE_GRAVATAR        = false
ENABLE_FEDERATED_AVATAR = true
[openid]
ENABLE_OPENID_SIGNIN = true
ENABLE_OPENID_SIGNUP = true
[session]
PROVIDER = file
[log]
MODE      = file
LEVEL     = Info
ROOT_PATH = /home/git/Gitea/log
[/code]
Screenshots

##Related
https://github.com/go-gitea/gitea/issues/3586

see https://docs.gitea.io/en-us/config-cheat-sheet/

I did that already, I've tried for many hours different "attachment" positions, as I have included the configuration file (and deleted just to be sure Gitea is loading it, as I wrote it went to fresh install; replaced back and settings back). Restart every time, even reboot to be sure.
...
[attachment]
ENABLE = true
ALLOWED_TYPES = / #Consider this the "all files" as github bugs
MAX_SIZE = 20
MAX_FILES = 1000
...
Even tried attachments but doesn't work.

Oh well, I found the problem!!!
Taken from https://github.com/go-gitea/gitea/blob/master/custom/conf/app.ini.sample
Documentation is somewhat misleading, browser settings are another configuration topic:
[repository.upload]
; Whether repository file uploads are enabled. Defaults to true
ENABLED = true
; Path for uploads. Defaults to data/tmp/uploads (tmp gets deleted on gitea restart)
TEMP_PATH = data/tmp/uploads
; One or more allowed types, e.g. image/jpeg|image/png. Nothing means any file type
ALLOWED_TYPES =
; Max size of each file in MB. Defaults to 3MB
FILE_MAX_SIZE = 3
; Max number of files per upload. Defaults to 5
MAX_FILES = 5


Use b.core instead of b.r.core.

Description
Blocks have an r property and a core property. Both functions just look up the chain of ancestors of the block to find the core and reactor. It's unnecessary to go all the way up to the reactor just to then grab the core off of it.

Checklist

[x] This PR has only one purpose or idea.
[x] Tests have been added/updated to verify that the new/changed code works.

[x] The code style follows good practices.
[x] The commit message(s) follow good practices.

[x] The release notes (location doc/release/0.X.rst) are up-to-date with any bug fixes or new features.
[x] The documentation is still up-to-date in the doc folder.
[x] The dependencies are still up-to-date in setup.py.

Basically acting on the note in this docstring:
https://github.com/terrapower/armi/blob/646f23da6ce77fb410dffd202dbddb0fba57da63/armi/reactor/blocks.py#L173-L181
Can't completely remove b.r yet because it's used to get active nuclides from reactor blueprints here:
https://github.com/terrapower/armi/blob/646f23da6ce77fb410dffd202dbddb0fba57da63/armi/reactor/blocks.py#L737

I love it!
Can we remove the comment you link on line ~173 now?

Can we remove the comment you link on line ~173 now?

I would like to remove that entire function, but we still have one case of b.r.blueprints so we can't remove this property altogether. I think we can trim some of the docstring and make it better. I'll push a commit with a new docstring.

I agree that removing b.r would be an unnecessary change to the API. The docstring had this comment:
It may make sense to try to factor out the usage of ``b.r``

So that's why I thought it might be desirable to remove it. But as long as it's being used, and it's not hurting anything, it makes more sense to leave it in for continuity.


Only allowing to fetch unique links to not have the bot post the same reddit post every once in a while

Hello!
First, I must say, that your package is really awesome and the only one who actually has all the features I need.
Second, I want to make a small feature request.
After I implemented the package into my Bot, I shortly realized that in some situations the bot fetches the same reddit post (mostly happening with NSFW subreddits). Is there a way to tell the bot to only post links that have not been fetched before?
I am fairly new to discord bot coding or even coding in general, so might there be a solution on my end that I don't know of?

Hello! I apologise for the delay; I'll do my best to catch up as quickly as possible.
The likelihood of the bot retrieving the same post twice or more is strongly influenced by the parameters you enable; the more constraints you add, the less possibilities you have.
If you don't want the same link to be extracted twice in succession, you can save each fetched item as a variable and verify if the next fetch matches it before repeating the function. Completely eliminating repeats, on the other hand, is far more problematic, particularly given the amount of data that must be stored for each HTTP request.
A potential solution is to save the fetched links in a database, then determine if the URL is present in the cache on each fetch, disregard the retrieved post if so, and rerun the operation.
For clearer visual analysis, here's a flow chart:

Even so, I wouldn't necessarily recommend this approach since post URLs become redundant if the user who uploaded them deletes them, followed by a lot of wasteful data. Browsing the registry may also add a considerable amount of time to the procedure itself.
All in all, broadening the parameters to permit more posts to be obtained is often an alternative.
I hope this information is useful!


Could NOT find PkgConfig on windows if is not host triplet

Describe the bug
find_package(PkgConfig REQUIRED)

pkg_search_module(CAIROMM REQUIRED cairomm cairomm-1.16)

-- Including Win32 support
CMake Error at D:/software/jetbrains/CLion/bin/cmake/win/x64/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
Call Stack (most recent call first):
  D:/software/jetbrains/CLion/bin/cmake/win/x64/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
  D:/software/jetbrains/CLion/bin/cmake/win/x64/share/cmake-3.25/Modules/FindPkgConfig.cmake:99 (find_package_handle_standard_args)
  D:/vcpkg/scripts/buildsystems/vcpkg.cmake:852 (_find_package)
  src/cairo/CMakeLists.txt:9 (find_package)

-- Configuring incomplete, errors occurred!

Environment

OS: win10
Compiler: msvc 17.5.4

To Reproduce
Steps to reproduce the behavior:

vcpkg install cairomm:x64-windows-static
Clone https://github.com/xiaozhuai/vcpkg_demo recursively, and comment out other demos instead of cairo oneadd_subdirectory(src/cairo)
#add_subdirectory(src/highway)
#add_subdirectory(src/imageinfo)
#add_subdirectory(src/libusb)
#add_subdirectory(src/libyuv)
#add_subdirectory(src/luajit)
#add_subdirectory(src/opencv)
#add_subdirectory(src/opencv_camera)
#add_subdirectory(src/opencv_scanner)
#add_subdirectory(src/opencv_segment)
#add_subdirectory(src/opencv_verification_code)
#add_subdirectory(src/opengles_angle)
#add_subdirectory(src/protobuf)
#add_subdirectory(src/qt5_quick)
#add_subdirectory(src/qt5_widgets)
#add_subdirectory(src/sigslot)
#add_subdirectory(src/skia)
#add_subdirectory(src/tbb)
#add_subdirectory(src/xorstr)
#add_subdirectory(src/yoga)

Configure project, and you should see the same error.

Expected behavior
It should works well like before. I have no idea which commit break it.

This issue could be reproduced with vcpkg 2023-04-07-bedcba5172f5e4b91caac660ab7afe92c27a9895 and VS2022 17.5.4
1> CMake generation started for configuration: 'x64-Debug'.
1> Command line: "C:\WINDOWS\system32\cmd.exe" /c "%SYSTEMROOT%\System32\chcp.com 65001 >NUL && "C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\COMMUNITY\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMake\bin\cmake.exe"  -G "Visual Studio 17 2022" -A x64  -DCMAKE_CONFIGURATION_TYPES:STRING="Debug" -DCMAKE_INSTALL_PREFIX:PATH="C:\Users\test\source\repos\test-usage\out\install\x64-Debug" -DCMAKE_TOOLCHAIN_FILE=F:/Feature-test/port-bug/vcpkg/scripts/buildsystems/vcpkg.cmake "C:\Users\test\source\repos\test-usage" 2>&1"
1> Working directory: C:\Users\test\source\repos\test-usage\out\build\x64-Debug
1> [CMake] -- Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.19045.
1> [CMake] -- The C compiler identification is MSVC 19.35.32217.1
1> [CMake] -- The CXX compiler identification is MSVC 19.35.32217.1
1> [CMake] -- Detecting C compiler ABI info
1> [CMake] -- Detecting C compiler ABI info - done
1> [CMake] -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x64/cl.exe - skipped
1> [CMake] -- Detecting C compile features
1> [CMake] -- Detecting C compile features - done
1> [CMake] -- Detecting CXX compiler ABI info
1> [CMake] -- Detecting CXX compiler ABI info - done
1> [CMake] -- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x64/cl.exe - skipped
1> [CMake] -- Detecting CXX compile features
1> [CMake] -- Detecting CXX compile features - done
1> [CMake] CMake Error at C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
1> [CMake]   Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
1> [CMake] Call Stack (most recent call first):
1> [CMake]   C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
1> [CMake]   C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.25/Modules/FindPkgConfig.cmake:99 (find_package_handle_standard_args)
1> [CMake]   F:/Feature-test/port-bug/vcpkg/scripts/buildsystems/vcpkg.cmake:852 (_find_package)
1> [CMake]   test-usage/CMakeLists.txt:8 (find_package)
1> [CMake] -- Configuring incomplete, errors occurred!
1> [CMake] See also "C:/Users/test/source/repos/test-usage/out/build/x64-Debug/CMakeFiles/CMakeOutput.log".
1> 'C:\WINDOWS\system32\cmd.exe' '/c "%SYSTEMROOT%\System32\chcp.com 65001 >NUL && "C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\COMMUNITY\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMake\bin\cmake.exe"  -G "Visual Studio 17 2022" -A x64  -DCMAKE_CONFIGURATION_TYPES:STRING="Debug" -DCMAKE_INSTALL_PREFIX:PATH="C:\Users\test\source\repos\test-usage\out\install\x64-Debug" -DCMAKE_TOOLCHAIN_FILE=F:/Feature-test/port-bug/vcpkg/scripts/buildsystems/vcpkg.cmake "C:\Users\test\source\repos\test-usage" 2>&1"' execution failed with error: ''C:\WINDOWS\system32\cmd.exe' '/c "%SYSTEMROOT%\System32\chcp.com 65001 >NUL && "C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\COMMUNITY\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMake\bin\cmake.exe"  -G "Visual Studio 17 2022" -A x64  -DCMAKE_CONFIGURATION_TYPES:STRING="Debug" -DCMAKE_INSTALL_PREFIX:PATH="C:\Users\test\source\repos\test-usage\out\install\x64-Debug" -DCMAKE_TOOLCHAIN_FILE=F:/Feature-test/port-bug/vcpkg/scripts/buildsystems/vcpkg.cmake "C:\Users\test\source\repos\test-usage" 2>&1"' returned with exit code: 1'.

If you want pkg-config in user projects, you must install it.
The toolchain may pick pkgconf from the port pkgconf if it is installed.

pkgconf is already installed with host triplet. It works before, and now it not working.
Should I also install pkgconf:x64-windows-static ?
Previously, only host triplet was required to install pkgconf to work.
I have no idea which commit changed this behavior.
C:\Users\xiaozhuai\Desktop>vcpkg list pkgconf
pkgconf:x64-windows                               1.8.0#5             pkgconf is a program which helps to configure co...
vcpkg-pkgconfig-get-modules:x64-windows           2022-02-10#1

The host triplet paths are only used when VCPKG_HOST_TRIPLET is set on the user project...
#25529

@dg0yt Tried set VCPKG_DEFAULT_HOST_TRIPLET or VCPKG_HOST_TRIPLET  env variables as x64-windows, it didn't work.

VCPKG_HOST_TRIPLET is a CMake variable used by the vcpkg toolchain, not an env variable.

VCPKG_HOST_TRIPLET

@dg0yt It works, why can't we use x64-windows as default host triplet?

x64-windows is not the right one if it is not the one choosen by the user or by vcpkg tool.


Tab conflict custom code snippet placement with code suggestions

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: May 2023 (version 1.79)
OS Version:

Steps to Reproduce:
the snippet for example for css:
"@media": {
		"prefix": "media",
		"body": [
			"@media (${1:max}-width:${2}) {",
			" ${3} ",
			"}"
		],
		"description": "@media",
		"scope": "css,html,scss"
}

so in the same css/scss file with lot of other codes, when typing "media" and press tab, it will include with cursor selecting 'min' and tab to go after the colon.
@media (min-width:) {

}

but suddenly in new version maybe, requesting "media"  snippet and tab > code is included
@media (min-width:) {

}

with the cursor over 'min'. But it shows little popup with suggestions like "min-height, min-width..." when i just want to have "min".
and while popup is there and you want to go after colon by pressing tab, it includes "min-height" instead of going to colon.
@media (min-height-width:) {

}

I have the same issue but in JavaScript like this
console.log('
don't complete the whole line

This can be controlled via editor.suggest.snippetsPreventQuickSuggestions, we changed its default for the 1.79-release


Seemingly incorrect resolving API endpoint IP

What steps did you take and what happened:
I've set up a k8s cluster with 3 masters and 1 worker with 2 load balancers sharing a virtual IP (<IP_ADDRESS>) in front of the API service. I've added a line in /etc/hosts to map the hostname (k8s-cluster-endpoint) to the virtual IP (<IP_ADDRESS>). From what I can see everything is working correctly, all the following pods seem to be fine and kubectl which is pointing to the virtual IP is working fine.
root@master01:sonobuoy# kubectl get pods --all-namespaces
NAMESPACE     NAME                                           READY   STATUS    RESTARTS   AGE
kube-system   coredns-66bff467f8-8s6nl                       1/1     Running   28         5h58m
kube-system   coredns-66bff467f8-tnw2c                       1/1     Running   28         5h58m
kube-system   etcd-master01                                  1/1     Running   1          6h1m
kube-system   etcd-master02                                  1/1     Running   4          4h2m
kube-system   etcd-master03                                  1/1     Running   1          4h1m
kube-system   kube-apiserver-master01                        1/1     Running   1          6h1m
kube-system   kube-apiserver-master02                        1/1     Running   4          4h3m
kube-system   kube-apiserver-master03                        1/1     Running   1          4h1m
kube-system   kube-controller-manager-master01               1/1     Running   3          6h1m
kube-system   kube-controller-manager-master02               1/1     Running   4          4h3m
kube-system   kube-controller-manager-master03               1/1     Running   1          4h1m
kube-system   kube-proxy-mhmvx                               1/1     Running   1          5h58m
kube-system   kube-proxy-n7k9w                               1/1     Running   1          4h1m
kube-system   kube-proxy-w4m5z                               1/1     Running   4          4h3m
kube-system   kube-proxy-wtncr                               1/1     Running   3          4h1m
kube-system   kube-router-j8mpv                              1/1     Running   0          22m
kube-system   kube-router-pdfzm                              1/1     Running   0          22m
kube-system   kube-router-s7n79                              1/1     Running   0          22m
kube-system   kube-router-zz2t4                              1/1     Running   0          23m
kube-system   kube-scheduler-master01                        1/1     Running   2          6h1m
kube-system   kube-scheduler-master02                        1/1     Running   4          4h3m
kube-system   kube-scheduler-master03                        1/1     Running   1          4h1m

However when running sonobuoy it seems to be trying to use <IP_ADDRESS>:443 as the api server ip, despite the fact that the server endpoint is https://k8s-cluster-endpoint:6443. I'm unsure where <IP_ADDRESS>:443 is coming from.
root@master01:sonobuoy# cat /etc/kubernetes/admin.conf | grep endp
    server: https://k8s-cluster-endpoint:6443

Here's how I run sonobuoy:
$ sonobuoy --kubeconfig /etc/kubernetes/admin.conf run --mode quick --wait

And here are the logs:
root@master01:root# kubectl logs --follow -n sonobuoy sonobuoy
time="2020-08-27T21:30:43Z" level=info msg="Scanning plugins in ./plugins.d (pwd: /)"
time="2020-08-27T21:30:43Z" level=info msg="Scanning plugins in /etc/sonobuoy/plugins.d (pwd: /)"
time="2020-08-27T21:30:43Z" level=info msg="Directory (/etc/sonobuoy/plugins.d) does not exist"
time="2020-08-27T21:30:43Z" level=info msg="Scanning plugins in ~/sonobuoy/plugins.d (pwd: /)"
time="2020-08-27T21:30:43Z" level=info msg="Directory (~/sonobuoy/plugins.d) does not exist"
time="2020-08-27T21:31:13Z" level=error msg="could not get api group resources: Get \"https://<IP_ADDRESS>:443/api?timeout=32s\": dial tcp <IP_ADDRESS>:443: i/o timeout"
time="2020-08-27T21:31:13Z" level=info msg="no-exit was specified, sonobuoy is now blocking"

What did you expect to happen:
The sonobuoy run to be able to connect to the API to get the resources.
Anything else you would like to add:
Here is my /etc/hosts on master01 (other nodes are similar, only the localhost name changes):
<IP_ADDRESS>   localhost master01

<IP_ADDRESS>         k8s-cluster-endpoint
<IP_ADDRESS>          ha01
<IP_ADDRESS>          ha02
<IP_ADDRESS>          master01
<IP_ADDRESS>          master02
<IP_ADDRESS>          master03
<IP_ADDRESS>          worker01

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Environment:

Sonobuoy version:

root@master01:sonobuoy# sonobuoy version
Sonobuoy Version: v0.18.5
MinimumKubeVersion: 1.16.0
MaximumKubeVersion: 1.18.99
GitSHA: a79a43a99680f7274e6315dbf09fadc8fd81a6e0
API Version check skipped due to missing `--kubeconfig` or other error

Kubernetes version: (use kubectl version):

root@master01:sonobuoy# kubectl version
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.8", GitCommit:"9f2892aab98fe339f3bd70e3c470144299398ace", GitTreeState:"clean", BuildDate:"2020-08-13T16:12:48Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.0", GitCommit:"9e991415386e4cf155a24b1da15becaa390438d8", GitTreeState:"clean", BuildDate:"2020-03-25T14:50:46Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}

Kubernetes installer & version:

root@master01:sonobuoy# kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.8", GitCommit:"9f2892aab98fe339f3bd70e3c470144299398ace", GitTreeState:"clean", BuildDate:"2020-08-13T16:10:16Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}

I've created the cluster using kubeadm like so:
kubeadm init --config /etc/kubernetes/init/kubeadm-init.yaml --ignore-preflight-errors=NumCPU

where /etc/kubernetes/init/kubeadm-init.yaml is:
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
kubernetesVersion: v1.18.0
clusterName: test-int

controlPlaneEndpoint: "k8s-cluster-endpoint"

controllerManager:
  extraArgs:
    allocate-node-cidrs: "true"
    cluster-cidr: "<IP_ADDRESS>/16"

apiServer:
  extraArgs:
    enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,Priority,ResourceQuota,PodSecurityPolicy"

Cloud provider or hardware configuration:

I'm using kube-router, the configuration is as follows:
apiVersion: v1
kind: ConfigMap
metadata:
  name: kube-router-cfg
  namespace: kube-system
  labels:
    tier: node
    k8s-app: kube-router
data:
  cni-conf.json: |
    {
       "cniVersion":"0.4.0",
       "name":"mynet",
       "plugins":[
          {
             "name":"kubernetes",
             "type":"bridge",
             "bridge":"kube-bridge",
             "isDefaultGateway":true,
             "ipam":{
                "type":"host-local"
             }
          }
       ]
    }
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: kube-router
  namespace: kube-system
  labels:
    k8s-app: kube-router
    tier: node
spec:
  selector:
    matchLabels:
      k8s-app: kube-router
      tier: node
  template:
    metadata:
      labels:
        k8s-app: kube-router
        tier: node
    spec:
      priorityClassName: system-node-critical
      serviceAccountName: kube-router
      serviceAccount: kube-router
      containers:
        - name: kube-router
          image: docker.io/cloudnativelabs/kube-router
          imagePullPolicy: Always
          args:
            - --run-router=true
            - --run-firewall=true
            - --run-service-proxy=true
            - --bgp-graceful-restart=true
            - --kubeconfig=/var/lib/kube-router/kubeconfig
          env:
            - name: NODE_NAME
              valueFrom:
                fieldRef:
                  fieldPath: spec.nodeName
            - name: KUBE_ROUTER_CNI_CONF_FILE
              value: /etc/cni/net.d/10-kuberouter.conflist
          livenessProbe:
            httpGet:
              path: /healthz
              port: 20244
            initialDelaySeconds: 10
            periodSeconds: 3
          resources:
            requests:
              cpu: 250m
              memory: 250Mi
          securityContext:
            privileged: true
          volumeMounts:
            - name: lib-modules
              mountPath: /lib/modules
              readOnly: true
            - name: cni-conf-dir
              mountPath: /etc/cni/net.d
            - name: kubeconfig
              mountPath: /var/lib/kube-router
              readOnly: true
            - name: xtables-lock
              mountPath: /run/xtables.lock
              readOnly: false
      initContainers:
        - name: install-cni
          image: docker.io/cloudnativelabs/kube-router
          imagePullPolicy: Always
          command:
            - /bin/sh
            - -c
            - set -e -x;
              if [ ! -f /etc/cni/net.d/10-kuberouter.conflist ]; then
              if [ -f /etc/cni/net.d/*.conf ]; then
              rm -f /etc/cni/net.d/*.conf;
              fi;
              TMP=/etc/cni/net.d/.tmp-kuberouter-cfg;
              cp /etc/kube-router/cni-conf.json ${TMP};
              mv ${TMP} /etc/cni/net.d/10-kuberouter.conflist;
              fi
          volumeMounts:
            - name: cni-conf-dir
              mountPath: /etc/cni/net.d
            - name: kube-router-cfg
              mountPath: /etc/kube-router
      hostNetwork: true
      tolerations:
        - effect: NoSchedule
          operator: Exists
        - key: CriticalAddonsOnly
          operator: Exists
        - effect: NoExecute
          operator: Exists
      volumes:
        - name: lib-modules
          hostPath:
            path: /lib/modules
        - name: cni-conf-dir
          hostPath:
            path: /etc/cni/net.d
        - name: kube-router-cfg
          configMap:
            name: kube-router-cfg
        - name: kubeconfig
          configMap:
            name: kube-proxy
            items:
              - key: kubeconfig.conf
                path: kubeconfig
        - name: xtables-lock
          hostPath:
            path: /run/xtables.lock
            type: FileOrCreate
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: kube-router
  namespace: kube-system
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: kube-router
  namespace: kube-system
rules:
  - apiGroups:
      - ""
    resources:
      - namespaces
      - pods
      - services
      - nodes
      - endpoints
    verbs:
      - list
      - get
      - watch
  - apiGroups:
      - "networking.k8s.io"
    resources:
      - networkpolicies
    verbs:
      - list
      - get
      - watch
  - apiGroups:
      - extensions
    resources:
      - networkpolicies
    verbs:
      - get
      - list
      - watch
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: kube-router
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: kube-router
subjects:
  - kind: ServiceAccount
    name: kube-router
    namespace: kube-system

OS (e.g. from /etc/os-release):

root@master01:sonobuoy# cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.5 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.5 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

Sonobuoy tarball (which contains * below)
https://github.com/vmware-tanzu/sonobuoy/releases/download/v0.18.5/sonobuoy_0.18.5_linux_amd64.tar.gz

It looks like this is not an issue with sonobuoy, it's also happening when I try to deploy ingress-nginx. I suspect that it may be something wrong with my kube-router or coredns setup, but I'm still not sure what's wrong.
Feel free to close this as not sonobuoy related, although any pointers towards a fix would be much appreciated.

Thanks for reaching out @emmetog. Good luck fixing your issue.

For future reference, the issue was kube-router which wasn't set up correctly. As a K8s noobie a few things were tripping me up:

In my attempts to debug and fix this, I was changing all sorts of parameters to kubeadm init such as cluster-cidr, service-cluster-ip-range, advertise-address. In the end none of these are needed, kube-router just requires allocate-node-cidrs: "true". When this wasn't correctly configured I was getting errors in kube-router like Failed to list *v1.Endpoints: Get https://<IP_ADDRESS>:443/api/v1/endpoints?limit=500&resourceVersion=0: dial tcp <IP_ADDRESS>:443: i/o timeout
I had also enabled some extra admission plugins, such as PodSecurityPolicy which restrict inter-pod communication. When I found it in the docs during my blind stumbling it sounded so great that I couldn't help but turn it on. Lesson: get everything working with a basic setup before turning on things like PSP.
Giving kube-router permissions to reach the api. I had to investigate quite a bit before realizing that the kube-router pod doesn't actually need a kubeconfig file (most examples I had seen online had lots of mentions of the kubeconfig file in the DaemonSet manifests). Turns out this is completely unnecessary as k8s automatically injects the tokens into each pod, so the kube-router already had all it needed to contact the k8s api. Commenting out all mention of kubeconfig in the DaemonSet manifest for kube-router fixed 403 permission denied issues.


Update documentation

Update documentation due to changes in https://github.com/docker/getting-started/pull/104
Proposed changes
I've added a second version of Dockerfile, because I had issues with building sql3 with yarn.
Unreleased project version (optional)
Related issues (optional)
https://github.com/docker/getting-started/pull/104
https://github.com/docker/getting-started/issues/36
https://github.com/docker/getting-started/issues/36

Thanks @MetaMmodern for your contribution!
You're right, this line needs to be added to this description as well.
I left a comment to just show one Dockerfile instead of two. Do you want to update your PR?

Sure, I'll update it asap)

Hey @MetaMmodern, wondering if you had a chance to update the docs? Thanks again for your contribution. Appreciate it :)

Hey @MetaMmodern, wondering if you had a chance to update the docs? Thanks again for your contribution. Appreciate it :)

Sorry, totally forgot about it) gonna do this right now)

@usha-mandya Hi, I've finished fixing my fix))))


2.0: bye coffeescript, hello typescript

[x] convert coffeescript to high quality typescript
[x] make all tests pass again
[x] fix all typescript linter and compiler errors
[x] make node tests work again on CI
[x] convert all tests to typescript
[x] tests for named wildcards
[x] document segmentNameEndChar
[x] document named wildcards
[ ] make browser tests run again with zuul on saucelabs
[x] get code coverage working again
[ ] reach 100% code coverage
[ ] push code coverage to codecov.io
[x] figure out typescript build
[ ] use babel to add set polyfill in parcel build
[ ] freshen up README.md
[ ] freshen up package.json
[x] remove returns and autogenerated comments in tape tests
[x] support segmentNameEndChar https://github.com/snd/url-pattern/issues/49
[x] change default charset https://github.com/snd/url-pattern/issues/33
[x] tests for new default charset
[x] add support for named wildcards https://github.com/snd/url-pattern/pull/44/files
[ ] auto generate documentation and link to it

npm run doc

[ ] update changelog
[ ] publish 2.0.0 to NPM

https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html
https://medium.com/cameron-nokes/the-30-second-guide-to-publishing-a-typescript-package-to-npm-89d93ff7bccd
https://codeburst.io/https-chidume-nnamdi-com-npm-module-in-typescript-12b3b22f0724

[ ] publish to deno third party modules https://deno.land/x/

:wave: I'm interested in seeing this ship. Any update?
Great work on this package by the way

I'm interested too. How is it going?


minContribution could be passed as an init() argument

It will make the rICO contract more flexible and reusable.

range checks should be implemented (e.g. require(minContribution  !=0)

Sure, as long as we have enough stack space for another variable :)


Need comment field for test result to indicate where a failure happened

After clicking "Start" on a launched test case, click "Fail" and a dialog box opens.
Type the reason in the box and click "Fail". Click the "Fail" tab to see your test
faiilure reason.

Check out the "comments" tab

Functionality in the product.


Adding SSO CAS to Wekan

This is the integration to Wekan of the package atoy40:meteor-account-cas.
See https://github.com/wekan/wekan/issues/620
There is also a change in wekan build project : https://github.com/wekan/wekan/pull/1742
Usage:
-without settings, CAS is disabled
-the presence of the settings indicated here https://atmospherejs.com/atoy40/accounts-cas will activate CAS ; don't forget to specify the ROOT_URL properly

@ppoulard why the package is added in the Dockerfile ? (I don't see that line in the main repo. Thanks !

Hi,
maybe because it was working with it ?

De: "Andrés"<EMAIL_ADDRESS>À: "wekan/wekan-dev"<EMAIL_ADDRESS>Cc: "Philippe Poulard"<EMAIL_ADDRESS>"Mention"
<EMAIL_ADDRESS>Envoyé: Dimanche 17 Février 2019 12:27:09
Objet: Re: [wekan/wekan-dev] Adding SSO CAS to Wekan (#9)

[ https://github.com/ppoulard | @ppoulard ] why the package is added in the
Dockerfile ? (I don't see that line in the main repo. Thanks !

—
You are receiving this because you were mentioned.
Reply to this email directly, [
https://github.com/wekan/wekan-dev/pull/9#issuecomment-464444840 | view it on
GitHub ] , or [
https://github.com/notifications/unsubscribe-auth/ADsldPjHSMPnC0vCLWriHhNq6kaFfTuIks5vOTyNgaJpZM4U_ovj
| mute the thread ] .

https://github.com/wekan/wekan/blob/devel/Dockerfile#L261
https://github.com/wekan/wekan/blob/devel/.meteor/packages#L90
https://github.com/wekan/meteor-accounts-cas

Thanks, I'll update the PR later !

@ppoulard Some changes were already in the updated Dockerfile, so I updated your branch.


Migrate Hosting ASP.NET Core Images with Docker over HTTPS from GitHub to docs

Migrate Hosting ASP.NET Core Images with Docker over HTTPS to our docs repo.

These two documents should be included in this issue. All 3 can be summarized as a single document.
https://github.com/dotnet/dotnet-docker/blob/master/samples/aspnetapp/aspnetcore-docker-https.md
https://github.com/dotnet/dotnet-docker/blob/master/samples/aspnetapp/aspnetcore-docker-windows.md


[WIP] synchronous actions

https://github.com/davidmarne/built_redux/issues/36

Codecov Report

Merging #37 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #37   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           6      6
  Lines          78     76    -2
=====================================
- Hits           78     76    -2

Impacted Files
Coverage Δ

lib/src/store.dart
100% <100%> (ø)
:arrow_up:

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 2101010...b77916e. Read the comment docs.


Feature/metadata query protocol

MDQP defines a simple protocol for retrieving metadata about named entities, or named collections of entities.  The goal of the protocol is to profile various aspects of HTTP to allow requesters to
rely on certain, rigorously defined, behaviour.
The code contained within this PR implements:

https://github.com/iay/md-query/blob/master/draft-young-md-query.txt (draft-young-md-query-05)
https://github.com/iay/md-query/blob/master/draft-young-md-query-saml.txt (draft-young-md-query-saml-05)

Due to the requirements of MDQP and our current status of implementation the PR also addresses changes with DB structure and signature generation. In addition RawEntityDescriptor has much greater internal support including the ability to act as a single, signed, root node in response to metadata queries.
it is my belief that all parts of these specs are covered in this PR, so anything which is 'missing' should be highlighted for correction prior to merge except for the following in md-query:

2.2 which can't be identified within the Rails stack (as best as my research indicates)
4.3
6.2/6.3

Instead all of the above will be handled by the implementing Apache HTTPD instance.

cc @rianniello due to size of PR and understanding of SAML MDQP

Back to you Mr @smangelsdorf

Travis CI failure aside, I am happy with this PR. I note the following failure in Ruby 2.2:
  1) EntitySource url validation rejects a url which does not parse
     Failure/Error: expect(subject).not_to be_valid
       expected #<EntitySource @values={:active=>true, :rank=>1436743727391, :url=>"https://fed.test_example.com/metadata/full.xml", :created_at=>2015-07-13 09:28:47 +1000, :updated_at=>2015-07-13 09:28:47 +1000}> not to be valid
     # ./spec/models/entity_source_spec.rb:47:in `block (3 levels) in <top (required)>'
     # ./spec/rails_helper.rb:21:in `block (3 levels) in <top (required)>'
     # ./spec/rails_helper.rb:20:in `block (2 levels) in <top (required)>'

Underscore in hostname no longer causes an exception from URI::parse. I looked into a similar issue for ausaccessfed/rapidconnect, but I couldn't find a URL which matches URI::regexp but fails to parse. Perhaps it's not a valid test case anymore.

Fixing Travis with the pending move to codeship isn't really of benefit, issue logged to ensure this occurs on next PR.
I am also happy for merge now @smangelsdorf

Errr... What?

smangelsdorf merged commit 0f080d9 into develop 29 seconds ago

Ah, never mind. 0f080d9 is the merge commit


fix: allow to setup private dbt repository

Description
This PR adds a new setting to allow to setup an SSH key to clone private DBT repositories. Fixes #578
WARNING
This has been tested only on github.com.

@bmtcril ready: https://github.com/openedx/openedx-aspects/pull/115

@Ian2012 🎉 Your pull request was merged!  Please take a moment  to answer a two question survey so we can improve your experience in the future.


 And then, do we consider the highest, lowest, or average value when sorting?  Average (mean) actually might be good enough.

ok that wasn't so bad, assuming that our csv is always good!
done in #4bf175b33342cac51bf490f4f529fb74e8bfb280


New scheme extension: coconut-up

This is a first version of the coconut-up (Unconditional Privacy) scheme:

On issuing use Pedersen Commits instead of El-Gamal to ensure unconditional privacy.
Fixed proofs for new issuing
Added a coco_ensure to check for errors.
Added a test for aggregate issuing.

Land it!


Migrate mlflow and databricks classes to deployments APIs.

Description
Related to https://github.com/mlflow/mlflow/pull/10420. MLflow AI gateway will be deprecated and replaced by the mlflow.deployments module. Happy to split this PR if it's too large.
Dependencies
Install mlflow from https://github.com/mlflow/mlflow/pull/10420:
pip install git+https://github.com/mlflow/mlflow.git@refs/pull/10420/merge

Test (manual)
Click

"""
Run this first in the mlflow repo:
mlflow deployments start-server --config-path examples/gateway/openai/config.yaml

python a.py secrets/haru-openai/openai-api-key
"""
from langchain.chat_models import ChatMlflow, ChatDatabricks
from langchain.embeddings import MlflowEmbeddings, DatabricksEmbeddings
from langchain.llms import Databricks, Mlflow
from langchain.schema.messages import HumanMessage
from mlflow.deployments import get_deploy_client
import uuid
import sys

##### MLflow #####
chat = ChatMlflow(target_uri="http://<IP_ADDRESS>:5000", endpoint="chat")
print(chat.invoke([HumanMessage(content="hello")]))

embeddings = MlflowEmbeddings(target_uri="http://<IP_ADDRESS>:5000", endpoint="embeddings")
print(embeddings.embed_query("hello")[:3])
print(embeddings.embed_documents(["hello", "world"])[0][:3])

llm = Mlflow(target_uri="http://<IP_ADDRESS>:5000", endpoint="completions")
print(llm("I am"))

##### Databricks #####
secret = sys.argv[1]
client = get_deploy_client("databricks")

name = f"chat-{uuid.uuid4()}"
client.create_endpoint(
    name=name,
    config={
        "served_entities": [
            {
                "name": "test",
                "external_model": {
                    "name": "gpt-4",
                    "provider": "openai",
                    "task": "llm/v1/chat",
                    "openai_config": {
                        "openai_api_key": "{{" + secret + "}}",
                    },
                },
            }
        ],
    },
)
try:
    chat = ChatDatabricks(target_uri="databricks", endpoint=name)
    print(chat.invoke([HumanMessage(content="hello")]))
finally:
    client.delete_endpoint(endpoint=name)

name = f"embeddings-{uuid.uuid4()}"
client.create_endpoint(
    name=name,
    config={
        "served_entities": [
            {
                "name": "test",
                "external_model": {
                    "name": "text-embedding-ada-002",
                    "provider": "openai",
                    "task": "llm/v1/embeddings",
                    "openai_config": {
                        "openai_api_key": "{{" + secret + "}}",
                    },
                },
            }
        ],
    },
)
try:
    embeddings = DatabricksEmbeddings(target_uri="databricks", endpoint=name)
    print(embeddings.embed_query("hello")[:3])
    print(embeddings.embed_documents(["hello", "world"])[0][:3])
finally:
    client.delete_endpoint(endpoint=name)

name = f"completions-{uuid.uuid4()}"
client.create_endpoint(
    name=name,
    config={
        "served_entities": [
            {
                "name": "test",
                "external_model": {
                    "name": "gpt-3.5-turbo-instruct",
                    "provider": "openai",
                    "task": "llm/v1/completions",
                    "openai_config": {
                        "openai_api_key": "{{" + secret + "}}",
                    },
                },
            }
        ],
    },
)
try:
    llm = Databricks(
        endpoint_name=name, transform_output_fn=lambda r: r["choices"][0]["text"]
    )
    print(llm("I am"))
finally:
    client.delete_endpoint(endpoint=name)

Follow-up tasks
(This PR is too large. I'll file a separate one for follow-up tasks.)

Update docs/docs/integrations/providers/mlflow_ai_gateway.mdx and  docs/docs/integrations/providers/databricks.md.

@harupy Can we file a PR to update https://python.langchain.com/docs/integrations/providers/mlflow_ai_gateway as well? We need to mark this deprecated, introducing https://python.langchain.com/docs/integrations/providers/mlflow, and then add content to https://python.langchain.com/docs/integrations/providers/databricks

Yes, I will.

@baskaryan Would you mind reviewing this PR?

@baskaryan Could you take another look?


[doc][Flink] add user doc for CDC computed column function truncate.

Purpose
Follow-up for https://github.com/apache/incubator-paimon/pull/1148

Hi, @JingsongLi , would you help review the careless work of doc missing.
Thanks.


authentication signature validation

unlike the full scope of an oauth system/plugin, the only thing this plugin would do is validate the Authorization token headers against a known public/private key.
we could extend this a bit further to make it a bit more generic, by allowing to configure the schema of the header (regex)
e.g. an example of "oAuth Lite"
header_format = /oauth_token="(.+)"/g

would extract 370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb from:
Authorization: OAuth oauth_consumer_key="xvz1evFS4wEEPTGEFPHBog",
              oauth_nonce="kYjzVBB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4cg",
              oauth_signature="tnnArxj06cWHq44gCs1OSKk%2FjLY%3D",
              oauth_signature_method="HMAC-SHA1",
              oauth_timestamp="1318622958",
              oauth_token="370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb",
              oauth_version="1.0"

:+1: OAuth 1.0 validation only or 2.0 as well?

:+1: OAuth 1.0 validation only or 2.0 as well?

it shouldn't matter, if allowing to extract tokens from headers using a regex (e.g. header_format) then in theory can support any "signing" method, be it oauth, or otherwise.
in the case of oAuth the "method" would be HMAC-SHA1


Python Card Game

I want to add  Card Game , which will be made using Python

@TusharAMD kindly assign


Release 0.1.1

@rohitnarula7176,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Removed a redundant AtRestEncryptionEnabled: true property

Lines 799 and 817 are dupes which was preventing cloud formation designer from rendering the template. Fixed and verified.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thanks for your contribution!


Feat: Added the post component

Pull Request Overview
📝 Summary
This PR is to add the posts component, this will help to the user to generate posts in the socialsphere platform. ✨
🔗 Related Issues

Closes #7

🔄 Changes Made

[x] Added the component
[x] Styled the component using the same code colors
[x] Added the mocked data to the future dynamic data
[x] Added a prop to get the post data

🖼 Current Output

🧪 Testing

[x] Test the responsive design

LGTM! Thank you so much!

Thanks for the opportunity!


direct client with saml SAML2Client for web services authentication

Hello, i will like to implement "web services authentication" workflow with pac4j-saml
but a noticed that SAML2Client is only for web applications authentication,
is there a recommended way to go

Please use the mailing list: https://groups.google.com/forum/?fromgroups#!forum/pac4j-users


issue with saving images !!

Hi And Sorry For My Bad English.
Please help.. i used Download with drag-n-drop and i save many images with no issue.. but some time I'm getting an error message !! and i don't know why?
And Please watch the video below..Is it possible to solve this issue!! and Thank you
https://user-images.githubusercontent.com/35997957/134283832-84ec7193-fa25-4d63-9388-526bcd3cdf5e.mp4

I can't reproduce with Edge Dev 97.0.1060.2/Image Picka 0.14.0.
What is your browser/extension version?


Better join game UI

I feel like the current "Join game" process is lacking, especially for people stuck in download hell due to low internet speeds / lots of mods.

Some players have trouble even noticing the download status bar so they wonder if play button is broken
Its impossible to know how long it will take until downloads are complete
Its not possible to stop joining game (except by joining another game?), so if you decide you dont want to join any game right now the client will continue useless downloads
If files are downloaded it is usually not clear to which mod or maps these files belong
Its easy to loose track of the fact that you are currently joining a game
Its easy to loose track of the fact that you are currently waiting for ladder game
Joining another game while a join is already in progress is confusing because the client does not give a clear indication which game is being joined right now
Its not clear to the user if or how waiting for a ladder game and joining a custom game at the same time conflict with each other

Solution:
When waiting for ladder or joing a game, replace the bottom download indicator with a proper full width area that is seen in ALL tabs that inform the user that he is currently waiting/joining, which game for and show detailed information for downloads and allow him to cancel.
Mockup:

This mockup needs additional thought put into how download of current file is distinguished from general download progress necessary to join and how waiting for ladder would be displayed.

Another mockup:

Important is that the client stays functional

Closing this because i don't have time for it, might reopen later.

If https://github.com/FAForever/downlords-faf-client/issues/1523 happenes, this would need more thought.


firewall requirements

testing on networks with restrictions requires opening certain ports. Suggested clarification at the bottom of the document

@PedroPerezMSFT : Thanks for your contribution to the Azure documentation! The author, @steveesp, has been notified to review your proposed change.

#sign-off @jimdial