Support parameter replacement in files

This issue was originally created at: 2008-02-22 14:24:07.
This issue was reported by: simpleton.
simpleton said at 2008-02-22 14:24:07

This might be useful by some people.  I'm new to Scons, and I've been using autoconf.  One features nice in autoconf is AC_CONFIG_FILES and AC_CONFIG_HEADERS, where a parameter can be declared, and then replaced.  I've created a small class that does just this and perhaps if it is found useful by others it could be integrated into Scons.  I find it useful for my project, for automatically generating the 'setup.nsi' scripts, keeping such information as the application name, version, etc, all in one place, instead of manually
updating each item.
Well here it is what it looks like.

import os
import os.path
import re

class FileParameterReplacer:
    """File parameter substitution class
    With this class you can create substitution values like in autoconf
    in files, and apply them to the files.  The file parameter names
    are enclosed in '@' like in autoconf:

    Sample usage:

    fpr = FileParameterReplacer()
    fpr.Replace("name", "myProject")
    fpr.Replace("version", "0.2.1")
    fpr.ApplyFile("test.in", "test.out")
    fpr.ApplyHeader("config.in", "config.h")"""

    def __init__(self):
        self.values = { }

    def Replace(self, name, value):
        self.values[name] = value

    def FileHandler(self, mo):
        attr = mo.group(1)

        if attr in self.values:
            return self.values[attr]
        else:
            return ""

    def ApplyFile(self, sourceName, destName):
        sourceFile = None
        destFile = None

        try:
            # Create the directory if needed
            tdir = os.path.dirname(destName)
            if os.path.isdir(tdir) == False:
                os.makedirs(tdir)

            sourceFile = open(sourceName, "rU")
            destFile = open(destName, "w")
            subre = re.compile("@(.*?)@")

            # Read a line from the input, and replace any items matching
            # @NAME@ with the value of the item 'NAME" in the dictionary
            for line in sourceFile:
                destFile.write(subre.sub(self.FileHandler, line))
        finally:
            if sourceFile is not None:
                sourceFile.close()
            if destFile is not None:
                destFile.close()

    def HeaderHandler(self, mo):
        attr = mo.group(1)

        if attr in self.values:
            return "#define " + attr + " " + self.values[attr] + "\n"
        else:
            # The two strips are correct, one to get rid of excess
            # spaces, the other for the newline at the end
            return "/* " + mo.group(0).strip().strip("\n") + " */\n"

    def ApplyHeader(self, sourceName, destName):
        sourceFile = None
        destFile = None

        try:
            # Create the directory if needed
            tdir = os.path.dirname(destName)
            if os.path.isdir(tdir) == False:
                os.makedirs(tdir)

            sourceFile = open(sourceName, "rU")
            destFile = open(destName, "w")
            subre = re.compile("^#undef\\s+([a-zA-Z_][a-zA-Z0-9_]*)\\s*$")

            # Read a line from the input, and replace any items matching
            # '#undef name' and replace with '#define name value'
            for line in sourceFile:
                destFile.write(subre.sub(self.HeaderHandler, line))

        finally:
            if sourceFile is not None:
                sourceFile.close()
            if destFile is not None:
                destFile.close()

voiz said at 2008-02-23 00:54:25

I've done something similar, but with the following differences:

It is implemented as a SCons builder;
It manages dependencies (the target is only rebuilt if the input file or one of the substituted values change);
It uses Python string substitutions instead of @-substitutions, so you would write "%(FOO)s" instead of<EMAIL_ADDRESS>This has two advantages:

It is faster: the substitution is implemented as a single call to the python % operator instead of relying on handler callbacks;
It allows replacing other things than strings (integers, floating-point numbers, ...).

Here's a very simple example usage:
=================== BEGIN config.h.in ===================

/* Package name */
#define PACKAGE "%(PACKAGE)s"

/* Define if stdint.h is present. */
%(HAVE_STDINT_H)s

==================== END config.h.in ====================
================ BEGIN SConscript snippet ===============

import sconstools.subst
sconstools.subst.register (env)

env["PACKAGE"] = "foo"
if haveStdintH:
    env.Defined ("HAVE_STDINT_H")
else:
    env.Undefined ("HAVE_STDINT_H")

env.Subst ("config.h", "config.h.in")

================= END SConscript snippet ================

voiz said at 2008-02-23 00:58:59

Created an attachment (id=312)
Implementation of the Subst builder

simpleton said at 2008-02-24 00:05:39

I like that a lot better, thanks.  Especially support for more than just simple strings.

gregnoel said at 2008-02-24 10:44:35

How does yours differ from http://scons.org/wiki/SubstInFileBuilder written by Gary Oberbrunner?  They seem to accomplish about the same thing.  Could they be combined?

voiz said at 2008-02-24 11:11:38

I wasn't aware of the existence of Gary's SubstInFileBuilder when I wrote mine, but here are the differences I see:

Gary's is much more flexible since it does environment variable substitution and allows arbitrary regular expression substitution;
I haven't run any benchmark, but mine should be much faster (flexibility has a cost).

IMO, for most use cases, Gary's is probably waay overkill (I've been using SCons>for several years now, and I have never felt the need for that level of flexibility).
So, could they be merged? Not really. Which one (if any) should be included in SCons? That depends: we should run some speed benchmarks and if the difference is indeed significant, I would argue that mine is the better choice (or else include both). OTOH if the speeds are close, then Gary's is probably better.

gregnoel said at 2008-02-24 14:45:48

Gary, you should be looking at this.
The SubstInFileBuilder page should be updated to have this routine, or at least refer to it.

garyo said at 2008-02-25 08:23:24

I think Maciej's GSoC work in 2007 includes a modified and much improved version of my SubstInFile.  So when that gets merged in, it will be part of SCons.  I think (?) there's even doc.
As for Jérôme's version, it seems OK but I think the required format (Python "%" operator) is a little limiting.  People often have .in files in a fixed format that need substitution.

simpleton said at 2008-02-25 12:09:15

A minor problem using the 're.sub' approach I've found.  If I have something like:

build_dir = "build"
top_build_dir = os.path.join(os.getcwd(), build_dir)

SUBST_DICT = { "%TOP_BUILD_DIR%": top_build_dir }

If using this with re.sub, a file containing %TOP_BUILD_DIR% (like a windows nsis script) will not properperly contain it, the '\b' will be processed by re.sub into 0x08.  It must first be double by something like: top_build_dir.replace("\", "\\")

voiz said at 2008-03-09 04:45:12

Looking closer, I have found the following issues with Gary's SubstInFile:

It is non-deterministic! Depending on exactly what you put in SUBST_DICT, in what order and what Python version you are using, you may get different results. This is because it doesn't ensure that the replacements do not overlap, and because it uses the dict.items function which returns the dictionary contents in random order;

The substitution depends on the complete dictionary. So if you change a single value which is used in a single file, all the files will be rebuilt.

To address Gary's concern that my Subst builder is too limiting, I've made a new version which adds the possibility to define the substitution format using a single regular expression. So now, you can do:

# With python % substitution:
env.Subst ("output", "input")

# With automake-like variables: "@NAME@"
env.Subst ("output", "input", SUBST_REGEXP=re.compile (r"@(\w+)@"))

voiz said at 2008-03-09 04:46:12

Created an attachment (id=324)
Implementation of the Subst builder with configurable format

gregnoel said at 2008-04-14 18:58:31

Bug party triage: Give to Gary to determine a comprehensive solution.

simpleton said at 2008-06-13 12:03:31

This is an additional idea.  The substitution tool could be designed in such a way to support universal substitutions for any format:

Subst(target, source, pattern="...", found="...", notfound="...", replace = None)

pattern is a pattern to match, with a field 'var' such as '@(?P\w+)@' found is a replacement to use, such as '$2' $1 = name, $2 = value notfound is a replacement to use if the var is not found in env[var], of if it is None then the var must be found or it is an error replace can be used to do a simple replacement on the value of env[var] before substitution, such as replace = ('\', '\\') to escape backslashes on one file but not another.
Simple usage:

env.Subst(os.path.join(top_build_dir, 'src', 'config.h'),
os.path.join(top_src_dir, 'src', 'config.h.in'), pattern = '^\\s*#undef\\s+(?P<var>\\w+)\\s*$', found='#define $1 $2', notfound='#define $1 0', replace = ('\\', '\\\\'))

env.Subst(os.path.join(top_build_dir, 'setup', 'setup.nsi'),
os.path.join(top_src_dir, 'setup', 'setup.nsi.in')

etc
Here is an example:

import re

def subst(source, pattern = '@(?P<var>\\w+)@', found = '$2', notfound = None,
replace = None, data = { }):
    def sfunc(mo):
        # pattern should contain a group (?P<var>...)
        try:
            var = mo.string[mo.start('var'):mo.end('var')]
        except IndexError:
            return '' # TODO: should probably abort

        # Get the name of that var
        try:
            value = str(data[var])
            use = found
        except KeyError:
            # value was not found in the dictionary
            value = ''
            use = notfound
            if notfound is None:
                # setting notfound to None means if the value is not
                # found it is an error, setting it to something else
                # allows a replacement for a not found value
                raise "not found"

        # If something to replace then replace it before substitution
        if replace is not None:
            value = value.replace(replace[0], replace[1])

        # First replace $1 with the name since the name should not contain
        # anything but normal letters/numbers/underscore
        result = use.replace('$1', var)
        result = result.replace('$2', value)

        return result

    r = re.compile(pattern, re.M)

    return r.sub(sfunc, source)

def subst_configure(input, replace = None, data = { }):
    return subst(input, replace = replace, data = data)

def subst_configh(input, replace = None, data = { }):
    return subst(input, pattern = "^\\s*#undef\\s+(?P<var>\\w+)\\s*$",
        found = "#define $1 $2", notfound = "#define $1 0", replace = replace, data = data)

# A 'config.h' style substitution
data = { 'HAVE_MATH_H' : 1, 'HAVE_STRDUP' : 1 }
input = "#undef HAVE_MATH_H\n#undef HAVE_STRDUP\n#undef HAVE_OTHER"

print subst_configh(input, data = data)

# A configure style substitition (the default) replaces @NAME@
data = { 'PACKAGE_NAME' : 'test', 'PACKAGE_VERSION' : '0.0.6' }
input = "Package: @PACKAGE_NAME@\nVersion: @PACKAGE_VERSION@"
print subst_configure(input, data = data)

# A 'config.h' style substitution, demonstrating replacement
data = { 'HAVE_MATH_H' : 1, 'HAVE_STRDUP' : 1, 'TOP_SRC_DIR' : '..\\..\\'}
input = "#undef HAVE_MATH_H\n#undef HAVE_STRDUP\n#ifdef DEBUG\n#undef
TOP_SRC_DIR\n#endif"

print subst_configh(input, data = data, replace = ('\\', '\\\\'))
# notfound may also commonly be '/* #undef $1 */

This has the advantage that it can be used for about any type of substitution.

simpleton said at 2008-06-13 12:08:18

Also the above would work with custom user defined values, such as env['APP_VERSION'] = '0.1' .. etc, as well as any values defined into env from configure-like tests such as checking for headers, libraries, functions

garyo said at 2008-06-13 13:21:15

I bow to the total power & configurability of this.  I'd never expose this very sharp knife directly to users, but as simpleton shows, we can build pretty much whatever type of file-substituter we could want from this.

simpleton said at 2008-09-07 19:11:37

An additional item that would be nice in the above example would be to use an external subst dictionary if desired.  If it is just used as:

env.SubstConfigure('setup.nsi', 'setup.nsi.in')

it would use 'env' as the dictionary, but if used as:

env.SubstConfigure('setup.nsi', 'setup.nsi.in', SUBST_DICT=other)

then it would use 'other' as the dictionary instead.
Additionally, the dictionary only needs to contain the named values without any
decorators as the decorators can be specified in the advanced for of Subst,
using the default match patterns for SubstConfigure and SubstConfigH, etc.
Basically, the dictionary would be:

{ 'PACKAGE_NAME': 'abc', 'PACKAGE_VERSION': '1.2.3' }

and not:

{ '@PACKAGE_NAME@': 'abc', '@PACKAGE_VERSION@': '1.2.3' }

gregnoel said at 2008-12-26 13:29:20

Adjust triage of issues.

simpleton said at 2009-12-12 20:11:53

I've thought of a better way to make a generic substitution mechanism.  I've currently implemented it myself and am working around to make it better (at least for me).
A generic substitution builder exists called SubstGeneric.  It takes the target and source.  The environment is the source of data for replacement.  In addition a SUBST_PATTERN and SUBST_REPLACE are passed to the builder.  SUBST_PATTERN is a regular expression pattern.  It must contain at least a named parameter called "key", for use in building the dependencies.  SUBST_REPLACE is a function that takes the environment object and the match object.
In addition to SubstGeneric, some extra helpers are provided via AddMethod: SubstFile (normal config-like substitution) and SubstHeader (for config.h type substitution, but a little bit different than autotools).  It is up to the replacement function to determine how to behave, if a certain parameter must exist or not.  For SubstFile, it would be an error if the parameter did not exist.  For SubstHeader, it would take correct action.
SubstFile does simple replacement.  "@key@" will be replaced with the value of key, using env.subst to fully expand it.  "@@" will be replaced simply with a single "@".
SubstHeader is a little more difficult.  It supports the following replacements:
#define @key@
#define @key@ default
#undef @key@
For any of them, if the key is found in the environment, it will expand to
"#define key value".  If it is not, the behavior is as follows:
"#define @key@" will be replaced with "/* #define key */"
"#define @key@ default" will be replaced with "#define key default"
"#undef @key@" will be replaced with "#undef key"
The reason for using "@" still is to control what is and is not replaced even in
the header input:

#ifdef SOMETHING
    // No substitution will occur here even if SOMETHING_ELSE
    // exists in the environment object (this is not a default
    // value if it is not found)
    #define SOMETHING_ELSE SOME_VALUE
#endif

// These will be replace if found, or simple use the defaults provided
#define @VERSION@       0.0
#define @HAVE_STRDUP@   0
#define @HAVE_STRCAT@   0
#define @HAVE_BLAH@     0

simpleton said at 2009-12-12 20:15:14

Created an attachment (id=661)
SubstGeneric builder with support for SubstFile and SubstHeader

simpleton said at 2009-12-12 22:59:37

Created an attachment (id=662)
Improvement to generic subst tool

simpleton said at 2009-12-12 23:05:43

The second attachment improves upon the generic subst tool.
It fixes a small bug when scanning the source file for which keys are used for dependency tracking.  If a variant directory is used and duplication is enabled for it, the file will not be copied over by at time the emitter function is called, and also str(s) returns the base name ("config.h.in") instead of the full path/name ("build/config.h.in" for "src/config.h.in"), so it uses the srcnode() path to read the file.
In addition, a missing key during SubstFile will now fail instead of silently substituting with an empty string.  A missing key in SubstHeader will be replaced correctly based on the type of define.

simpleton said at 2010-03-19 11:59:34

I've done a little more work on this tool.  Raw substitution is used when calling env.subst, since otherwise tabs and multiple spaces will be collapsed to a single space and it may be  desired to substitute in the output file the complete form of the value.  Also, for SubstHeader, I've made some filters available: str and chr.  The str filter will escape the value and quote it., the chr does the same but single quotes and only the first character.
For this environment:

    env['WEBSITE'] = r'http://www.project.com'
    env['ROOTPATH'] = r'C:\Program Files\Something Else'

This template:

    #undef @WEBSITE@
    #undef @WEBSITE:str@
    #undef @ROOTPATH@
    #undef @ROOTPATH:str@

Would produce this output:

    #define WEBSITE http://www.project.com
    #define WEBSITE "http://www.project.com"
    #define ROOTPATH C:\Program Files\Something Else
    #define ROOTPATH "C:\\Program Files\\Something Else"

It may also be desired to have something similar for the general file
substitution SubstFile.  Also, for SubstHeader, it may be desired to have a way
for the macro name to be different from the environment variable name, perhaps
something like:

    #undef @WEBSITE>APP_WEBSITE:str@

This would use the environment variable named WEBSITE, but call it APP_WEBSITE
in the header.

    #define APP_WEBSITE "http://www.project.com"

This can be done directly with SubstInFile:

    #define APP_WEBSITE "@WEBSITE@"
    #define APP_DISPLAY_NAME "@PACKAGE@ @VERSION@"

But this does not have the support for str/chr filters to escape some strings,
and as each variable must be defined so there wouldn't be any support for #undef
to be translated to #define KEY VALUE if it exists and remain #undef if it does
not exist, etc.  But I think all of that can be overkill as one can also do this:

    #define @PACKAGE:str@ ""
    #define @VERSION:str@ ""
    #define DISPLAY_NAME PACKAGE VERSION

simpleton said at 2010-03-19 12:01:08

Created an attachment (id=707)
subst builder and simple tests

voiz attached subst.py at 2008-02-23 00:58:59.

Implementation of the Subst builder

voiz attached subst.py at 2008-03-09 04:46:12.

Implementation of the Subst builder with configurable format

simpleton attached subst.py at 2009-12-12 20:15:13.

SubstGeneric builder with support for SubstFile and SubstHeader

simpleton attached subst2.py at 2009-12-12 22:59:37.

Improvement to generic subst tool

simpleton attached subst_and_test.zip at 2010-03-19 12:01:08.

subst builder and simple tests

Don't have any idea what to do with all this work other than say - maybe drop into contrib?


[Relay] Support i16, f16 scalars in Relay text

While testing fp16 models for Collage discovered the Relay text
format did not support f16. While adding that cleaned up scalar handling
in general. However I left two inlined tests for 'is simple const'
in place (fuse_ops.cc and memory_alloc.cc) since it's not clear whether
they should remain specific to just {i,f}{32,64} or whether they can
be replaced with the support::IsSimpleScalar central predicate.
Also include spans in pretty printed form since I've started populating
them when debugging Collage.

Thanks @mbs-octoml 😸  nice clean up!


fix: Prevent Oracle LOB columns from causing exceptions in Column and Row validation

Oracle LOB columns are pretty restrictive to use, for example:
SQL> select count(col_clob) from pso_data_validator.dvt_ora2pg_types;
select count(col_clob) from pso_data_validator.dvt_ora2pg_types
             *
ERROR at line 1:
ORA-00932: inconsistent datatypes: expected - got CLOB

In DVT we lose the true data type and work with Ibis canonical types, for example a CLOB column becomes dt.String, a BLOB column becomes dt.Binary. This PR adds code to fetch the raw data types for Oracle tables/custom queries and excludes BLOB, CLOB and NCLOB from Column and Row (hash/concat) validations.
I only added the raw_metadata() for Oracle because that is the only engines we currently need it for. If we run into similar issues for other engines where we need to differentiate between specific raw data types then we can extend this technique further.
Ideally we would be able to add expressions to truly validate these types. I see that as a feature request rather than an exception avoidance issue which is what this one is.

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

All good from my side and only @sundar-mudupalli-work's comment is left to be resolved.
/gcbrun

/gcbrun

Neil,
This PR is a bit confusing. I thought it was ensuring that exceptions were not thrown when CLOBs and BLOBs are row and column validated. However I find that column validation with clobs and blobs works well. Column validations correctly count the number of non null columns I believe.
This PR removes (count) column validations of LOB and BLOB columns. I believe min, max etc are also supported. These should likely stay as they are today.
The issue is with row validations, which throw an error. It would be nice to fix this and put out an info message. This PR fixes this and only puts out an INFO message if the verbose option is selected. We also have another case where an INFO message is output (when verbose option is selected) when a column is removed. In both cases, I believe an INFO message should be output - not just when verbose option is selected. I also opened another Issue to remove the verbose option entirely.
My general philosophy on validations (please feel free to disagree) is that the customer is trusting DVT to tell them when two tables are different. If we are excluding items from the validation - we should tell the customer explicitly that these are being excluded. We should not quietly exclude things and only disclose information when the verbose option is used.
Thank you for working on this.
Sundar Mudupalli

I find that column validation with clobs and blobs works well. Column validations correctly count the number of non null columns I believe.

I retested the test case in the issue (https://github.com/GoogleCloudPlatform/professional-services-data-validator/issues/1335) and I still get the same exception:
sqlalchemy.exc.DatabaseError: (cx_Oracle.DatabaseError) ORA-00932: inconsistent datatypes: expected - got CLOB

BLOB column swill not have thrown an exception in the past because they are skilled due to this code (which I have replaced in this PR):
                if agg_type == "count":
                    # Oracle BLOB is invalid for use with SQL COUNT function.
                    return bool(
                        self.source_client.name == "oracle"
                        or self.target_client.name == "oracle"
                    )
                else:

/gcbrun

Closing this PR because it is based on a misunderstanding of current behaviour. I'll start over and maybe cherry pick any parts of these changes I need for second attempt.


Slider Mark

Add a SliderMark documentation, like https://github.com/chakra-ui/chakra-ui/pull/4771

Closing this because an issue already exists: #78


Github API returns error when attempting to create release with curl but not with Postman

Summary
Github API returns error "Problem parsing JSON" when using curl but not Postman, even when using example given in Github documentation.
Simplest Example to Reproduce
With Postman:
POST request to https://api.github.com/repos/IvanStoychev/Useful.String.Extensions/releases
with an authorization header of type "Basic", where I input my username and a token I have created for this purpose.
and body of
{
    "tag_name": "4.2.0",
    "target_commitish": "master",
    "name": "4.2.0",
    "body": "test"
}
with curl (directly translated by Postman):
curl --location --request POST 'https://api.github.com/repos/IvanStoychev/Useful.String.Extensions/releases'
--header 'Authorization: Basic '
--header 'Content-Type: application/json'
--data-raw '{
"tag_name": "4.2.0",
"target_commitish": "master",
"name": "4.2.0",
"body": "test"
}'
other failing curl requests:
curl -i -H 'Authorization: token <myToken>' -d '{"tag_name":"4.2.0"}' https://api.github.com/repos/<myUsername>/<myRepo>/releases
curl -i -H 'Authorization: token <myToken>' -d '{"tag_name":"4.2.0"}' https://api.github.com/repos/<myUsername>/<myRepo>/releases --header Content-Type:application/json
curl -d '{"tag_name":"4.2.0"}' -u <myUsername>:<myToken> https://api.github.com/repos/<myUsername>/<myRepo>/releases --header "Content-Type:application/json"
curl -d "tag_name=4.2.0" -u <myUsername>:<myToken> https://api.github.com/repos/<myUsername>/<myRepo>/releases --header "Content-Type:application/json"
Expected Behavior
A release is created from the curl command.
Current Behavior
Postman request passes and a release is created. All curl requests fail with the error "Problems parsing JSON".
Possible Solution
Tell me why it works with Postman but the very same request translated by the very same Postman in curl somehow doesn't.
Context
I am trying to create a release for my repo using the command line.

Nevermind, the problem was from the shell context that was executing the command.


Unfair Brutality can be applied with incorrect values

Describe the bug
UI control for Unfair Brutality level allows user to enter value manually and doesn't properly sanitize it
To Reproduce
Steps to reproduce the behavior:

Open Bag of Tricks screen
Go to and enable Brutal Unfair difficulty
Select with mouse currently displayed value (it should become highlighted)
Try to  manually enter some high value (for example just pressing "9")
IndexOutOfRangeException should appear
Click on Reset button
Click on Save button
Close ToyBox
Initiate a fight with some mobs.
Check the value of difficulty bonus applied to their AC/attack

Observed behavior: the difficulty bonus is equal to something around "221" (in my case)
Expected behavior: difficulty bonus should be applied according to displayed sanitized value
Also, any further changes of  Unfair Brutality level will not have any effect. Only game restart will fix the issue.

This is slightly more generic in that typing in boxes and hitting enter allows you to circumvent maximum/minimum values @cabarius


Add L2C commands to the console runner

These commands were missing and they're quite important...

@lcobucci can we add a test checking the list of registered commands? Or is the console runner untestable?

@Ocramius we can add an assertion like (for each command):
self::assertTrue($app->has('dbal:run-sql'));

or:
self::assertTrue($app->has((new \Doctrine\DBAL\Tools\Console\Command\RunSqlCommand())->getName()));

Maybe we can move the list of classes to a constant and reuse that constant to instantiate them and test things, like:
foreach (ConsoleRunner::COMMAND_LIST as $command) {
    self::assertTrue($app->has((new $command())->getName()));
}

What do you prefer?

The first one: ensures BC and we see the diff immediately if something
changes
On 22 Jul 2017 01:54, "Luís Cobucci"<EMAIL_ADDRESS>wrote:

@Ocramius https://github.com/ocramius we can add an assertion like (for
each command):
self::assertTrue($app->has('dbal:run-sql'));
or:
self::assertTrue($app->has((new \Doctrine\DBAL\Tools\Console\Command\RunSqlCommand())->getName()));
Maybe we can move the list of classes to a constant and reuse that
constant to instantiate them and test things, like:
foreach (ConsoleRunner::COMMAND_LIST as $command) {    self::assertTrue($app->has((new $command())->getName()));}
What do you prefer?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/doctrine/doctrine2/pull/6556#issuecomment-317137191,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJakAPcuBai8PpV5YJeCw5FQ3_CgSd3ks5sQTougaJpZM4OZbPJ
.

LGTM :ship:


Logo iHeartRadio

Please follow the guidelines at a https://github.com/edent/SuperTinyIcons/blob/master/CONTRIBUTING.md
This PR seems to have a lot of NPM things included. They will need to be removed.


Add json_pointer/string_t equality comparison operators

Add operator overloads for equality comparison with strings.

Add C++20-compliant comparisons.

Add unit tests.

Fixes #3654.
To Do:

[ ] Update documentation:

[ ] Add missing operator pages.

Coverage remained the same at 100.0% when pulling 4f6e19fdf47cb785ebad33716a6d35cc85b7e30b on falbrechtskirchinger:json_pointer-operators_issue3654 into 2ac7d023d424fffa31f2150103b7851c998061f4 on nlohmann:develop.

This PR is ready for code review. Documentation is missing two pages: api/json_pointer/operator_eq.md and api/json_pointer/operator_eq.md
The other regression PR has some minor issues I'm still figuring out and may expand in scope.


Teleport cross-server is not working properly

Specs

Java 16
Paper 1.17.1
Latest version of HuskHome

Issue:
Teleport commands as /warp, /spawn, /home, /tpa, /back, etc are not teleporting to the destination but to the previous location. Only when its cross-server teleport. Its a random behaviour, does not happens always.
Expected behaviour
To actually teleport where it suppose to.

I forgot to mention that i am using SQL + Redis.

Duplicate of #143 but thanks for the detailed reporting, updated that issue with the body of this one.


Bootwifi not recognized for the program

Hello, I'm trying using the library bootwifi but i have some problems because the library is not recognized for the program. I already checked the location of the library and I can't find the solution.

Hi, can you provide some more info. Is it Arduino IDE or eclipse? Log message?

hi, could you please how to use bootwifi in esp32, thankyou.

#include "BootWiFi.h"
extern "C"{
void app_main(void);
}
void app_main(void)
{
    BootWiFi *boot = new BootWiFi();
    boot->boot();
    while(1){
         vTaskDelay(10000);
    }
}

When you flash and run esp32 then at first esp32 will start AP. You can find open wifi AP with name esp32. Connect to it with any device, then from browser connect to address <IP_ADDRESS> and fill form with setting from your home router(assuming you will run esp32 at home). SSID and passwrd are mandatory (assuming your home network is not open) and ip, gateway, netmask are optional. When you submit form, esp32 will store values you issued in nvs and will reboot. Then every time when esp32 will restart and find credentials in nvs will try to connect to wifi network with those credentials.

@chegewara Thank's!! Now is working.
But after I connect the adress <IP_ADDRESS> the ESP doesn't enter in the STA mode.

Howdy folks,
When using BootWiFi and the ESP32 doesn't know which Access Point to connect to, it will start itself as an access point.  At this point, you can open your cell phone and connect to the ESP32 through WiFi.  The default is that the ESP32 will show up as SSID: ESP32 and password "password".  If you then open a browser to "http://<IP_ADDRESS>" you will see a web page where you can enter your own access point information.  This is the information that the ESP32 will subsequently use to connect to the supplied access point.  Once you have submit that information, the ESP32 will reboot and attempt to connect to that access point.
If you wish to see additional diagnostics, then switch logging to "Verbose" in "make menuconfig" and the log/traces of the BootWiFi library will log to the console.   We will be delighted to make any changes that you would like to see on BootWiFi so if anything is not as desired, or you find problems, keep coming back and lets us know.

The only i can think of is to ask, did you update esp32-snippets? That second screenshot is good, it should be blank. In this moment esp32 should have to restart and join you local network.
Try to use make erase_flash to get rid of any informations from nvs and try again to flash and input ssid and password

Every time the program starts the variable rc starts with -1 because the version is not incompatible, how can I fix it?

Can you pastebin logs?

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
flash read err, 1000
Falling back to built-in command interpreter.
OK

ets Jun  8 2016 00:22:57

rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0010,len:4
load:0x3fff0014,len:5584
ho 0 tail 12 room 4
load:0x40078000,len:0
load:0x40078000,len:12476
entry 0x40078f74
W (73) rtc_clk: Possibly invalid CONFIG_ESP32_XTAL_FREQ setting (40MHz). Detected 40
MHz.
I (39) boot: ESP-IDF v3.0-dev-806-gde750e99-dirty 2nd stage bootloader
I (39) boot: compile time 13:56:38
I (40) boot: Enabling RNG early entropy source...
I (46) boot: SPI Speed      : 40MHz
I (50) boot: SPI Mode       : DIO
I (54) boot: SPI Flash Size : 4MB
I (58) boot: Partition Table:
I (61) boot: ## Label            Usage          Type ST Offset   Length
I (69) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (76) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (84) boot:  2 factory          factory app      00 00 00010000 00100000
I (91) boot: End of partition table
I (95) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x2a100 (172288)
map
I (164) esp_image: segment 1: paddr=0x0003a128 vaddr=0x3ffb0000 size=0x032ac ( 12972
) load
I (169) esp_image: segment 2: paddr=0x0003d3dc vaddr=0x40080000 size=0x00400 (  1024
) load
0x40080000: _WindowOverflow4 at C:/msys32/home/Katiane/esp/esp-idf/components/freert
os/xtensa_vectors.S:1675
I (171) esp_image: segment 3: paddr=0x0003d7e4 vaddr=0x40080400 size=0x0282c ( 10284
) load
I (184) esp_image: segment 4: paddr=0x00040018 vaddr=0x400d0018 size=0x993f8 (627704
) map
0x400d0018: _flash_cache_start at ??:?
I (406) esp_image: segment 5: paddr=0x000d9418 vaddr=0x40082c2c size=0x0cc7c ( 52348
) load
0x40082c2c: lock_release_generic at C:/msys32/home/Katiane/esp/esp-idf/components/ne
wlib/locks.c:205
I (428) esp_image: segment 6: paddr=0x000e609c vaddr=0x400c0000 size=0x00000 (     0
) load
I (437) boot: Loaded app from partition at offset 0x10000
I (437) boot: Disabling RNG early entropy source...
I (439) cpu_start: Pro cpu up.
I (443) cpu_start: Starting app cpu, entry point is 0x40080e88
0x40080e88: call_start_cpu1 at C:/msys32/home/Katiane/esp/esp-idf/components/esp32/c
pu_start.c:219
I (0) cpu_start: App cpu up.
I (454) heap_init: Initializing. RAM available for dynamic allocation:
I (460) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (466) heap_init: At 3FFBA650 len 000259B0 (150 KiB): DRAM
I (473) heap_init: At 3FFE0440 len 00003BC0 (14 KiB): D/IRAM
I (479) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (485) heap_init: At 4008F8A8 len 00010758 (65 KiB): IRAM
I (492) cpu_start: Pro cpu start user code
I (177) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
1
2
3
I (179) bootwifi: >> boot
I (179) bootwifi:  +----------+
I (179) bootwifi:  | BootWiFi |
I (189) bootwifi:  +----------+
I (189) bootwifi:  Access point credentials: teste_AP/12345678
4
I (199) bootwifi: >> bootWiFi2
5
13
6
I (199) bootwifi: >> getConnectionInfo
I (209) bootwifi: Incompatible versions ... current is 3ffc79c0, found is 100

RC -1

I (299) wifi: wifi firmware version: ee52423
I (299) wifi: config NVS flash: enabled
I (299) wifi: config nano formating: disabled
I (299) system_api: Base MAC address is not set, read default base MAC address from
BLK0 of EFUSE
I (309) system_api: Base MAC address is not set, read default base MAC address from
BLK0 of EFUSE
I (329) wifi: Init dynamic tx buffer num: 32
I (329) wifi: Init data frame dynamic rx buffer num: 32
I (329) wifi: Init management frame dynamic rx buffer num: 32
I (329) wifi: wifi driver task: 3ffc29e4, prio:23, stack:4096
I (339) wifi: Init static rx buffer num: 10
I (339) wifi: Init dynamic rx buffer num: 32
I (339) wifi: Init rx ampdu len mblock:7
I (349) wifi: Init lldesc rx ampdu entry mblock:4
I (349) wifi: wifi power manager task: 0x3ffd09f4 prio: 21 stack: 2560
I (419) phy: phy_version: 359.0, e79c19d, Aug 31 2017, 17:06:07, 0, 0
I (419) wifi: mode : softAP (30:ae:a4:0b:50:4d)
I (429) bootwifi: << bootWiFi2
7
I (429) BootWifiEventHandler: >> apStart
I (429) BootWifiEventHandler: << apStart
I (123869) wifi: n:1 1, o:1 0, ap:1 1, sta:255 255, prof:1
I (123869) wifi: station: 14:ab:c5:a8:5d:bd join, AID=1, n, 40U
8

There is some problem with data in nvs. What you have to do is to make erase_flash first, then make flash app one more time. If the issue wont be fixed then something is been messed in this line https://github.com/nkolban/esp32-snippets/blob/master/networking/bootwifi/BootWiFi.cpp#L106 or this line https://github.com/nkolban/esp32-snippets/blob/master/networking/bootwifi/BootWiFi.cpp#L79 in your code.


no-unused-modules: add flow tests and enhance typescript tests

Try to reproduce https://github.com/benmosher/eslint-plugin-import/issues/1564 :

Add tests for flow type imports
Remove typescript tests using "babel-eslint" (because resulting types seems to be flow types)
Add some missing cases in typescript tests
Add some tests for typescript type imports

Coverage decreased (-2.04%) to 95.864% when pulling 6fba7f0bcc3a3aff1be07168c5d83f2fd469649c on nicolashenry:feature/enhance-tests into fef718cb134016855afe61682e32c63ba3ed9281 on benmosher:master.

For future reference, just for running tests, you can enable CI on your fork and push to that :-)
Let's keep this open so I can sync it up, if needed, with a different fix PR (best, of course, is if this can be the fix PR!)

@nicolashenry it'd be great if you could rebase this on latest master :-)

I think you already included it in https://github.com/benmosher/eslint-plugin-import/commit/5ade15602cc5532d282f3eaead5d21407e455c47 (it seems) so I think I can close it.


Fix ordered_map ctor with initializer_list (fixes #3343)

One of the ordered_map constructors was incorrectly accepting a
std::initializer_list<T> instead of std::initializer_list<value_type>.
Add regression test.
Fixes #3343.

Coverage remained the same at 100.0% when pulling 5d15829e50601452810cee098a19860d22cd95f0 on falbrechtskirchinger:fix-ordered_map-ctor into e4643d1f1b03fc7a1d7b65f17e012ca93680cad8 on nlohmann:develop.

Thanks!


Is it a good idea to enforce max file length?

Expected Rule behavior
Kotlin recommends fewer than a hundred lines of code for files with multiple declarations. However, they are highly ambiguous on the exact number and if it applies to single declaration files.
For example, the code snippets below would be illegal if the entire file length exceeds 1000. 1000 is a safe number if we define "few" as no more than 10.
class Foo {
    // really long implementation
}

fun Foo.bar() {
    // implementation
}

However, it would still be fairly easy for a large project to break this rule. I would love to hear your perspectives.
Additional information
Checkstyle and CodeNarc have similar rules with default values set to 2000 and 1000, respectively.

Current version of ktlint: 1.0.1
Styleguide section: Source file organization

I don't think this should be functionality to be provided by a linter/formatter. It really feels more the domain of static code analyzer which also take cyclomatic complexity into account.
If it would provide a lot of value to your project(s), writing a custom rule would be an option as the rule logic would be very simple.


Fix package.json homepage link

The homepage property in package.json was linked to master branch which does not exists.
This PR fixes this.

Good point. Thanks :)


Center selected menu item

Hey there!
Great class, just what I've been looking for.
Just wondered if there was a way to set the selected menu item to be centred on the screen?
Thanks

Unfortunately, that is not possible at this time.

Will this be added in a future release?

We can fix this issue, by using "CAPSPageMenuOptionMenuMargin"


Support for local hosted GitLab repositories?

How should I add support for a hosted https://gitlab.example.com/ GitLab instance into SourceLink?
Just to give you an idea, the repository addresses are alike https://gitlab.example.com/root/example-dotnet-source-link.git and a file would be at https://gitlab.example.com/root/example-dotnet-source-link/raw/6024960d734cc8154546e19989b5092eb2f1794c/Directory.Build.props
Would it be acceptable to have a SourceLink.Create.GitLab sub-directory/package (like SourceLink.Create.GitHub)? But instead of hardcoding the domain name, it would just accept any domain? What do you think?
I've created the https://github.com/ctaggart/SourceLink/pull/271 PR. Have a look.

I merged in #271.


sensors/vehicle_angular_velocity: don't remove bias twice

It looks like this snuck in a few months ago when the code was refactored to align with VehicleAcceleration, but unnecessary bias removal on the next line was missed.
https://github.com/PX4/Firmware/pull/14036

I think we got away with this because the estimated gyro bias is often quite small (eg < 1 deg/s) on typical current generation sensors.


feature: Add Pattern commands plugin

With this plugin users can create a new command type what triggers if someone says a specific word

Question: What's the motivation to allow only strings for regex? Could this be changed in a future version?
(not that it really matter though)

Question: What's the motivation to allow only strings for regex? Could this be changed in a future version?
(not that it really matter though)

Because as the plugin says, patterns, not plain text messages.

Question: What's the motivation to allow only strings for regex? Could this be changed in a future version?

What else would it be. RegEx are always strings. Don't mistake strings for A-Z exclusively here, you can do anything that is a valid RegEx. What it means that the RegEx has to be a string is that it has to be aliases: ['a{3,}'] and not aliases: [/a{3,}] because aliases has to be a string[] as per the Framework requirements of that option.

Thanks for clearing it up. I had a custom regex plugin to use regexes, didn't really think twice about it.

Blocked by #199 because of how Lerna versions packages I need the repo to be completely cleanly versioned before merging this so I can do a force major to 1.0.0 for this 🙄


[CC] charts: add tolerations, nodeSelector, affinity to agent

CI run for community contribution PR #4880.
I have rebased on Master and also included a change-log entry. See #4880 for details.
Note: I will also port this to the Ambassador Agent repository so that the stand alone chart includes this capability.

@haq204 @tenshinhigashi - once this is green it will be good to review.


Any way to download jar/aar?

My company has a build server without Internet access. Any 3rd-party library needs to be uploaded separately. I've searched Maven but I couldn't find it. Where and how can I download the jar/aar file of your library?

Try here https://dl.bintray.com/miguelcatalan/maven/com/miguelcatalan/materialsearchview/1.3.1/

Cool! For the future version, it's the same link with the version change, right?

Yep! I will add it to the README. :bowtie:


Add job-level parallelisation for CI Tests

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@a6e9e42). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #11   +/-   ##
=========================================
  Coverage          ?   75.27%
=========================================
  Files             ?      452
  Lines             ?    27358
  Branches          ?        0
=========================================
  Hits              ?    20595
  Misses            ?     6763
  Partials          ?        0


ssl-check hitting errors on mac

This repo is currently on low maintenance. See README for details
Problem
Im on a mac and my ssl certificate is either not getting created or it is not being found when the ssl script is trying to move it. I keep getting ' no such file or directory.' I tried using my own ip address in the script also and that didnt fix anything.
Succinct outline of the problem or request.

Ran brew install mkcert in my terminal
Copy and pasted the ssl-check bash function into my terminal
Ran the function
I've attached a screenshot of the error I get after running the function
I also confirmed the '.localhost_ssl' folder was created after executing the function, but it is empty.

Error in console after running script

I'm having the exact same issue.
I understand this was posted a couple of years ago now, but is there any chance you remember what the fix was?

@Nathan-BrokenFaders @armstrongch1994
Here's a snippet from the docs I created for our Groupthought themes internal process which is slate-adjacent.

To create a localhost ssl cert for browsersync use this command
test ! -d ~/.localhost_ssl && mkdir ~/.localhost_ssl
openssl req -x509 -days 1095 -out ~/.localhost_ssl/localhost.crt -keyout ~/.localhost_ssl/localhost.key \
  -newkey rsa:2048 -nodes -sha256 \
  -subj '/CN=localhost' -extensions EXT -config <( \
   printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")

this will create a localhost cert folder at ~/.localhost_ssl/ with a cert and a key.  You may need to manually add that cert to keychain and set trust -> ssl -> always
open ~/.localhost_ssl/localhost.crt

Click on 'Add' to add the cert to keychain
Right click that localhost cert you just created and added to keychain, and use Get info to adjust the preferences.
Expand the trust tab and change the Secure Socets Layer (SSL) dropdown to Always trust

I don't use this version of slate but if you might have better luck with a hardcoded key location. Slate loads the SSL keys into browsersync here:
https://github.com/Shopify/slate/blob/5ecc510efed9a14fa9e3954c1adedeac91650144/packages/slate-tools/tools/dev-server/index.js#L39
I think you'll also have to set an SSL location in the config file:
https://github.com/Shopify/slate/blob/5ecc510efed9a14fa9e3954c1adedeac91650144/packages/slate-tools/slate-tools.schema.js#L58
If you want to use that default config you'll need to call the key and cert server which would look like this:
test ! -d ~/.localhost_ssl && mkdir ~/.localhost_ssl
openssl req -x509 -days 1095 -out ~/.localhost_ssl/server.crt -keyout ~/.localhost_ssl/server.key \
  -newkey rsa:2048 -nodes -sha256 \
  -subj '/CN=localhost' -extensions EXT -config <( \
   printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")

Or you can just change the filename after you generate it.
Not 100% sure any of this will work since I am using a different version of browsersync and a completely different build process but this should set you down the right path.


Updates and bugfixes for ToDSCPCheck.pl

added 2 command line options

-s for specifying server
-d for delivery servers

made the logging level more granular
ignores servers that are OFFLINE or CCR_IGNORE

before it was only doing reported

checks the port on the server before checking the delivery service

assures the server is actually up and reachable. if the server wasn't there the script would hang.

if the curl version is great enough it defaults to checking via HTTPS
added matchList back in
cut down on duplcated code

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-traffic_ops-test-PR/15/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR-trafficops-test/23/

@hbeatty would you still like to see this merged?  If so, can you please fix the merge conflicts and get with me to merge?  If not, can you please close?

@dneuman64 I'll roll these changes in with my new changes.


fix(view): check in get_selected_index

fix error in #1986, maybe
This error does not occur on my end, so I am anticipating and fixing it. I would like to see if this branch will fix it.
@monheimx9, @curiousignite, @0xDmtri, or anyone else.

Works for me

+1
Works for me too.

Works for me as well for #1994 (duplicate of #1988 )

Works for me too!

You guys are awesome!

Seconding this! Thanks heaps for the quick fix!
🙇

Working perfectly ᕕ( ᐛ )ᕗ

thank you!


Unrecognized vendor

$ gcc -dumpmachine
x86_64-linux-gnu

Unrecognized vendor 'gnu'.

Sorry, that was my fail... (The string has got '\n' at the end)


Adjust Docker docs

The current docker-compose.yaml example doesn't seem to map the port
correctly.  Also, remove the manual credentials setup and use
--tls-security=insecure instead.
Fixes: edgedb/edgedb-docker#56

Thanks everyone, great work on this project. Hope to contribute some day.


add text search and replace

Working on a search and replace plugin:

[x] search
[x] clear search
[x] replace (only next found match will be replaced)
[x] replace all

Known Bugs:

[x] ~search hightlight doesn't get updated on text changes~ (fixed in 753fc7632418dd7066062488ef045cf7dc4902c6)
[x] ~search across marks is not possible (@philippkuehn do you know how that can be achived?)~ (fixed in 331ba1c36b738ece3eb3b03e31747afdb3c71a59)
[x] ~currently on pressing spacebar the click handler of search button is triggerd (why? 😅)~ (fixed in 036d853378ba8323532d7ed9df5749301f5b4365)
[x] ~Some searchterms break the editor. (.* crashes, . breaks emojis) (maybe disable regex at all 🤔)~ (fixed by 0476d355995bacd96a1d2c72a39145148feb5b6c)
[x] ~Emojis are still broken with some RegExps ...~ (fixed by  (3246b84229ea8492b8f596f216410543d57dbede))

This will close #224

Have you seen this plugin? https://github.com/mattberkowitz/prosemirror-find-replace
I think it's outdated but maybe it will help you with searching across marks?

Something like this seems to work for me
const results = []
const search = RegExp('search string', 'g')
const mergedTextNodes = []
let index = 0

doc.descendants((node, pos) => {
  if (node.isText) {
    if (mergedTextNodes[index]) {
      mergedTextNodes[index] = {
        text: mergedTextNodes[index].text + node.text,
        pos: mergedTextNodes[index].pos,
      }
    } else {
      mergedTextNodes[index] = {
        text: node.text,
        pos,
      }
    }
  } else {
    index += 1
  }
})

mergedTextNodes.forEach(({ text, pos }) => {
  let m
  while (m = search.exec(text)) {
    results.push({
      from: pos + m.index,
      to: pos + m.index + m[0].length,
    })
  }
})

Have you seen this plugin? https://github.com/mattberkowitz/prosemirror-find-replace
I think it's outdated but maybe it will help you with searching across marks?

Yeah that was my first inspiration for this. But it's for prosemirror 0.11 or something I think (Decorations were later introduced) so I used the highlight-example as the base.

Something like this seems to work for me

Yes that seems to works well for marks.

Emojis now work as of  3246b84229ea8492b8f596f216410543d57dbede 🎉
Before:

After:

nice! 👍

Okay I now try to implement the replace and replaceAll functions.
This is what I've tried, but this only works if the search and replace term have the same length.
  replaceAll(replace) {
    return ({ tr }, dispatch) => {
      this.results.forEach(({ from, to }) => {
        tr.insertText(replace, from, to)
      })

      dispatch(tr)
    }
  }

Calculating the offset manually by subtracting the length diff, seems hacky..
@philippkuehn Can you give me a hint what i can do? (Transforms, Steps, Manually?)

@Chrissi2812 I think you have to map all results to its new position after each insertText. Like mapping the decorations on each change. It's also what the deprecated plugin does.

Tada 🎉

As I didn't know how mappings and steps work, I update the results position with an offset.
If there is a better way please tell me.

ReplaceAll and regexes are not working correctly at the moment if the length of matches is different.

This is huge! Thanks again, Chris! Tell me when you are in Berlin. I should buy you a beer.

BTW: In the release I removed the toggleSearch command because I think this should be solved on the client side.

This is huge! Thanks again, Chris! Tell me when you are in Berlin. I should buy you a beer.

Thanks for your appreciation 😊

BTW: In the release I removed the toggleSearch command because I think this should be solved on the client side.

Already noticed,, wasn't sure either how to sepearte it. Was in my mind something like a toggle so the search is updating results while the search bar is open and the document changes. But the alwaysSearch can be toggled to so it was kind of redundant.


feat: rewrite playground from scratch

now it's possible to create other scenes for debugging!

/deploy

/deploy

/deploy


Support for suspend semantics

What this PR does / why we need it:
I implemented the suspend semantics to Jobs:

[x] PyTorchJob
[x] TFJob
[x] MXJob
[x] PaddleJob
[ ] MPIJob
[x] XBGoostJob
[ ] Reconciler.v1

Which issue(s) this PR fixes (optional, in Fixes #<issue number>, #<issue number>, ... format, will close the issue(s) when PR gets merged):
Fixes #1519
Checklist:

[ ] Docs included if any changes are user facing

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

49 of 136 (36.03%)  changed or added relevant lines in 15 files are covered.
4 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.5%) to 33.502%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/controller.v1/common/pod.go
0
1
0.0%

pkg/controller.v1/mpi/mpijob_controller.go
4
5
80.0%

pkg/controller.v1/pytorch/hpa.go
13
15
86.67%

pkg/controller.v1/pytorch/pytorchjob_controller.go
6
9
66.67%

pkg/controller.v1/xgboost/xgboostjob_controller.go
0
4
0.0%

pkg/apis/kubeflow.org/v1/zz_generated.deepcopy.go
0
5
0.0%

pkg/controller.v1/mxnet/mxjob_controller.go
0
5
0.0%

pkg/controller.v1/paddlepaddle/paddlepaddle_controller.go
2
7
28.57%

pkg/reconciler.v1/common/job.go
0
6
0.0%

pkg/apis/kubeflow.org/v1/openapi_generated.go
0
7
0.0%

Files with Coverage Reduction
New Missed Lines
%

pkg/controller.v1/mpi/mpijob_controller.go
4
79.37%

Totals

Change from base Build<PHONE_NUMBER>:
0.5%

Covered Lines:
3241

Relevant Lines:
9674

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

49 of 136 (36.03%)  changed or added relevant lines in 15 files are covered.
5 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.6%) to 33.585%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/controller.v1/common/pod.go
0
1
0.0%

pkg/controller.v1/mpi/mpijob_controller.go
4
5
80.0%

pkg/controller.v1/pytorch/hpa.go
13
15
86.67%

pkg/controller.v1/pytorch/pytorchjob_controller.go
6
9
66.67%

pkg/controller.v1/xgboost/xgboostjob_controller.go
0
4
0.0%

pkg/apis/kubeflow.org/v1/zz_generated.deepcopy.go
0
5
0.0%

pkg/controller.v1/mxnet/mxjob_controller.go
0
5
0.0%

pkg/controller.v1/paddlepaddle/paddlepaddle_controller.go
2
7
28.57%

pkg/reconciler.v1/common/job.go
0
6
0.0%

pkg/apis/kubeflow.org/v1/openapi_generated.go
0
7
0.0%

Files with Coverage Reduction
New Missed Lines
%

pkg/controller.v1/mpi/mpijob_controller.go
5
79.47%

Totals

Change from base Build<PHONE_NUMBER>:
0.6%

Covered Lines:
3249

Relevant Lines:
9674

💛  - Coveralls

I will create separate PR for each framework since this PR is too big.

/close


Add support for Guzzle version 5

Would you be interested in a PR that adds support for Guzzle v5 as well as v6?
I have just experienced a problem trying to use this package in the same project as the official Facebook PHP SDK  which requires Guzzle v5 explicitly for now.
I think it would be a small addition to support both versions, and means that the library can be used in more projects that need to remain on Guzzle 5.

Hi Sam,
Yes please, that'd be useful.
Pete


ng-controller appears in start.html

IF this is an angular2 app, why does ng-controller appears in start.html?
is the master branch not the completed solution?

That was a typo. It's been removed from the repo.


Add specialized .NET-Bindings to the TensorFlow repo

This is an RFC that will be posted in TensorFlow community as suggested at

Hello TensorFlow Team,
for the development of TensorFlow.NET we need some special wrappers to the C++ core which are of course different from the Python wrappers. We think that our wrappers should be included in the Tensorflow repo in a subfolder called "csharp". To start the conversation, we made a PR which was declined with the suggestion to discuss it here first.
This is what the csharp binding will (or will not) contain:

it will complete most of the key functions and act like the python binding but for c#.
it will add more custimized APIs in the cswrap_tfe.h, making changes in the seperate folder will reduce the main repo's risk.
it will contain only C++ exported functions in tensorflow repo. The C# code will still remain in the tensorflow.net repo.

The reasons for this suggestion

There are already c, cc, java, js, pyton and go bindings included in the tensorflow repo. We'd like for csharp to be included as well.
TensorFlow.NET is a widely popular library with 6 million potential developers in the .NET community. We think that warrants recognition and inclusion of the necessary csharp bindings
We don't ask you to develop the bindings. TF.NET committers will take that responsibility.

As @MarkDaoust mentioned, it might be a better idea to add SIG first. https://github.com/tensorflow/community/tree/master/sigs

Added PR.


Type security is inconsistent passing extra fields to .create or other methods.

Bug description
Depending on how I structure my code (whether I write the { data } object raw or not), I will get different type check results.
How to reproduce
// schema
model TempTest {
  id Int @id @default(autoincrement())
  foo String
}

it("doesn't have type safety", async () => {
  const foo = { foo: "foo" };
  const res1 = await prismaDb.tempTest.create({ data: { ...foo, bar: 42 } }); // type error
  const bar: { foo: string; bar: number } = { foo: "foo", bar: 42 };
  const res2 = await prismaDb.tempTest.create({ data: bar }); // no issues
});

Expected behavior
Both trigger type errors.
Seems related to https://github.com/prisma/prisma/issues/5220, but different. The inconsistency is the concern here.
Prisma information
Prisma v4.1.1
Environment & setup
TS 4.5.4
macOS 12.4
Prisma Version
prisma                  : 4.1.1
@prisma/client          : 4.1.1
Current platform        : darwin
Query Engine (Node-API) : libquery-engine 8d8414deb360336e4698a65aa45a1fbaf1ce13d8 (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli 8d8414deb360336e4698a65aa45a1fbaf1ce13d8 (at node_modules/@prisma/engines/migration-engine-darwin)
Introspection Engine    : introspection-core 8d8414deb360336e4698a65aa45a1fbaf1ce13d8 (at node_modules/@prisma/engines/introspection-engine-darwin)
Format Binary           : prisma-fmt 8d8414deb360336e4698a65aa45a1fbaf1ce13d8 (at node_modules/@prisma/engines/prisma-fmt-darwin)
Default Engines Hash    : 8d8414deb360336e4698a65aa45a1fbaf1ce13d8
Studio                  : 0.469.0

+1


Search Recipes - Loading next page of recipes fails

On Verified Recipes tab
Clicked "Next"
No Recipes found, and the next / prev buttons have disappeared

Note: Have checked and currently have no filters selected

@jody-tait retested this, you must have had a filter selected.
if no filters are applied the endpoint will be search-recipes.
perhaps you were just playing with filters in that session (and they arnt working yet)


Breaks when golang version is set to 'system'

When you set a asdf global golang system the ASDF_INSTALL_PATH will be empty,  resulting in a GOROOT' of /go which fails. Not setting the GOROOT when the version is system avoids this problem.
Simply not setting GOROOT at all in exec-env seems to do the right thing by default. When my go version is set to system it correctly grabs /usr/lib/go but when it's an asdf installed go version go env returns $asdf_install_dir/golang/$version/go, which is exactly what we want.

Ah, it doing the right thing by default happens when Go >= 1.9 as a relocated GOROOT is now detected.

This should be fixed with #10


Issue while Packaging the Custom Map Created Using Digital Twin Tool

CARLA version:0.9.15 (dev branch)
Platform/OS:Ubuntu 20.04
Problem you have experienced:Automation Tool exit while packaging

I have created a CustomMap using Digital Twin Tool feature...I'm facing issue while packaging that Map for Ubutnu.
below is my packaging settings:

Needed a standalone carla server for my custom map

you have to use make package command, with the DefaultGame.ini edited to use your map. Remember including /CustomMaps/YourMap/Opendrive/ folder as it is need to launch the maps.

you have to use make package command, with the DefaultGame.ini edited to use your map. Remember including /CustomMaps/YourMap/Opendrive/ folder as it is need to launch the maps.

Should I add the opendrive path in the Additional non asset directories

Change default map in DefaultGameMode.ini and add your maps to cook, then do a make package

Change default map in DefaultGameMode.ini and add your maps to cook, then do a make package
This is my packaging error looks like:

Packaging and Game Mode settings:

Look how the ini file is set...

Something on your map is broken we need more info about the packaging

Look how the ini file is set...

This is my .ini file
[/Script/EngineSettings.GeneralProjectSettings]
ProjectID=675BF8694238308FA9368292CC440350
ProjectName=CARLA UE4
CompanyName=CVC
CopyrightNotice="Copyright (c) 2017 Computer Vision Center (CVC) at the Universitat Autonoma de Barcelona (UAB). This work is licensed under the terms of the MIT license. For a copy, see https://opensource.org/licenses/MIT."
ProjectVersion=0.9.15
[/Script/Carla.CarlaSettings]
+LowRoadMaterials=(MaterialInterface=MaterialInstanceConstant'"/Game/Carla/Static/GenericMaterials/Ground/SimpleRoad/CheapRoad.CheapRoad"',MaterialSlotName="Tileroad_Road",ImportedMaterialSlotName="",UVChannelData=(bInitialized=False,bOverrideDensities=False,LocalUVDensities[0]=0.000000,LocalUVDensities[1]=0.000000,LocalUVDensities[2]=0.000000,LocalUVDensities[3]=0.000000))
+LowRoadMaterials=(MaterialInterface=MaterialInstanceConstant'"/Game/Carla/Static/GenericMaterials/Ground/SimpleRoad/CheapSideWalkCurb.CheapSideWalkCurb"',MaterialSlotName="TileRoad_Curb",ImportedMaterialSlotName="",UVChannelData=(bInitialized=False,bOverrideDensities=False,LocalUVDensities[0]=0.000000,LocalUVDensities[1]=0.000000,LocalUVDensities[2]=0.000000,LocalUVDensities[3]=0.000000))
+LowRoadMaterials=(MaterialInterface=MaterialInstanceConstant'"/Game/Carla/Static/GenericMaterials/Ground/SimpleRoad/CheapSideWalk_00.CheapSideWalk_00"',MaterialSlotName="Tileroad_Sidewalk",ImportedMaterialSlotName="",UVChannelData=(bInitialized=False,bOverrideDensities=False,LocalUVDensities[0]=0.000000,LocalUVDensities[1]=0.000000,LocalUVDensities[2]=0.000000,LocalUVDensities[3]=0.000000))
+LowRoadMaterials=(MaterialInterface=MaterialInstanceConstant'"/Game/Carla/Static/GenericMaterials/Ground/SimpleRoad/CheapLaneMarking.CheapLaneMarking"',MaterialSlotName="TileRoad_LaneMarkingSolid",ImportedMaterialSlotName="",UVChannelData=(bInitialized=False,bOverrideDensities=False,LocalUVDensities[0]=0.000000,LocalUVDensities[1]=0.000000,LocalUVDensities[2]=0.000000,LocalUVDensities[3]=0.000000))
LowLightFadeDistance=1000.000000
LowStaticMeshMaxDrawDistance=10000.000000
LowRoadPieceMeshMaxDrawDistance=15000.000000
+EpicRoadMaterials=(MaterialInterface=MaterialInstanceConstant'"/Game/Carla/Static/GenericMaterials/WetPavement/WetPavement_Complex_Road_N2.WetPavement_Complex_Road_N2"',MaterialSlotName="Tileroad_Road",ImportedMaterialSlotName="",UVChannelData=(bInitialized=False,bOverrideDensities=False,LocalUVDensities[0]=0.000000,LocalUVDensities[1]=0.000000,LocalUVDensities[2]=0.000000,LocalUVDensities[3]=0.000000))
+EpicRoadMaterials=(MaterialInterface=MaterialInstanceConstant'"/Game/Carla/Static/GenericMaterials/WetPavement/WetPavement_Complex_Concrete.WetPavement_Complex_Concrete"',MaterialSlotName="TileRoad_Curb",ImportedMaterialSlotName="",UVChannelData=(bInitialized=False,bOverrideDensities=False,LocalUVDensities[0]=0.000000,LocalUVDensities[1]=0.000000,LocalUVDensities[2]=0.000000,LocalUVDensities[3]=0.000000))
+EpicRoadMaterials=(MaterialInterface=MaterialInstanceConstant'"/Game/Carla/Static/GenericMaterials/Ground/SideWalks/SidewalkN4/WetPavement_SidewalkN4.WetPavement_SidewalkN4"',MaterialSlotName="Tileroad_Sidewalk",ImportedMaterialSlotName="",UVChannelData=(bInitialized=False,bOverrideDensities=False,LocalUVDensities[0]=0.000000,LocalUVDensities[1]=0.000000,LocalUVDensities[2]=0.000000,LocalUVDensities[3]=0.000000))
+EpicRoadMaterials=(MaterialInterface=MaterialInstanceConstant'"/Game/Carla/Static/GenericMaterials/LaneMarking/Lanemarking.Lanemarking"',MaterialSlotName="TileRoad_LaneMarkingSolid",ImportedMaterialSlotName="",UVChannelData=(bInitialized=False,bOverrideDensities=False,LocalUVDensities[0]=0.000000,LocalUVDensities[1]=0.000000,LocalUVDensities[2]=0.000000,LocalUVDensities[3]=0.000000))
[/Script/UnrealEd.ProjectPackagingSettings]
Build=IfProjectHasCode
BuildConfiguration=PPBC_Development
BuildTarget=
StagingDirectory=(Path="")
FullRebuild=False
ForDistribution=False
IncludeDebugFiles=True
BlueprintNativizationMethod=Disabled
bIncludeNativizedAssetsInProjectGeneration=False
bExcludeMonolithicEngineHeadersInNativizedCode=False
UsePakFile=True
bUseIoStore=False
bGenerateChunks=False
bGenerateNoChunks=False
bChunkHardReferencesOnly=False
bForceOneChunkPerFile=False
MaxChunkSize=0
bBuildHttpChunkInstallData=False
HttpChunkInstallDataDirectory=(Path="")
PakFileCompressionFormats=
PakFileAdditionalCompressionOptions=
HttpChunkInstallDataVersion=
IncludePrerequisites=True
IncludeAppLocalPrerequisites=False
bShareMaterialShaderCode=False
bDeterministicShaderCodeOrder=False
bSharedMaterialNativeLibraries=False
ApplocalPrerequisitesDirectory=(Path="")
IncludeCrashReporter=False
InternationalizationPreset=English
-CulturesToStage=en
+CulturesToStage=en
LocalizationTargetCatchAllChunkId=0
bCookAll=False
bCookMapsOnly=False
bCompressed=False
bSkipEditorContent=False
bSkipMovies=False
-IniKeyBlacklist=KeyStorePassword
-IniKeyBlacklist=KeyPassword
-IniKeyBlacklist=rsa.privateexp
-IniKeyBlacklist=rsa.modulus
-IniKeyBlacklist=rsa.publicexp
-IniKeyBlacklist=aes.key
-IniKeyBlacklist=SigningPublicExponent
-IniKeyBlacklist=SigningModulus
-IniKeyBlacklist=SigningPrivateExponent
-IniKeyBlacklist=EncryptionKey
-IniKeyBlacklist=IniKeyBlacklist
-IniKeyBlacklist=IniSectionBlacklist
+IniKeyBlacklist=KeyStorePassword
+IniKeyBlacklist=KeyPassword
+IniKeyBlacklist=rsa.privateexp
+IniKeyBlacklist=rsa.modulus
+IniKeyBlacklist=rsa.publicexp
+IniKeyBlacklist=aes.key
+IniKeyBlacklist=SigningPublicExponent
+IniKeyBlacklist=SigningModulus
+IniKeyBlacklist=SigningPrivateExponent
+IniKeyBlacklist=EncryptionKey
+IniKeyBlacklist=IniKeyBlacklist
+IniKeyBlacklist=IniSectionBlacklist
+MapsToCook=(FilePath="/Game/CustomMaps/Hoodi2Btp/Hoodi2Btp")
+MapsToCook=(FilePath="/Game/CustomMaps/Hoodi2Btp/Hoodi2Btp/OpenDrive")
+DirectoriesToAlwaysCook=(Path="/Game/Carla/Static/GenericMaterials/Licenseplates/Textures")
+DirectoriesToAlwaysCook=(Path="/Game/Carla/Static/Car/4Wheeled/ParkedVehicles")
+DirectoriesToAlwaysStageAsUFS=(Path="Carla/Maps/OpenDrive")
+DirectoriesToAlwaysStageAsUFS=(Path="Carla/Maps/Nav")
+DirectoriesToAlwaysStageAsUFS=(Path="Carla/Maps/TM")
+DirectoriesToAlwaysStageAsUFS=(Path="Carla/Config")

+MapsToCook=(FilePath="/Game/CustomMaps/Hoodi2Btp/Hoodi2Btp/OpenDrive")
this incorrect, this should be a DirectoriesToAlwaysStageAsUFS
+DirectoriesToAlwaysStageAsUFS=("CustomMaps/Hoodi2Btp/Hoodi2Btp/OpenDrive")

Something on your map is broken we need more info about the packaging
cook file
Cook-2024.06.06-15.33.48.txt
log file
Log.txt

This is an issue related with Unreal itself, i won'tbe able to help you. Is related with the seettings of the generated mesh.
Sorry for this. Look for help in Unreal forum

The issue is the mesh itself, one of the generated meshes seems to have an issue. We are still working on DT tool as it was a very first version. We are not able to help right now. But now we are aware of this issue we will look into that in next revisions of DT Tool.

The issue is the mesh itself, one of the generated meshes seems to have an issue. We are still working on DT tool as it was a very first version. We are not able to help right now. But now we are aware of this issue we will look into that in next revisions of DT Tool.

Is there any alternate solution I can use ,to run this custom map as a standalone server

Not right now. Sorry. The workaround it make it run in editor mode.

Not right now. Sorry. The workaround it make it run in editor mode.

Is there any option like i can run this map server in my pc and the client from other pc can use it..like using IP address or something

Which is your GPU?

Which is your GPU? You cannot connect from another computer.

Nvidia RTX A5000
Is there any way like i can use this custom map in another pc?

Which is your GPU? You cannot connect from another computer.

Nvidia RTX A5000 Is there any way like i can use this custom map in another pc?Also, when can i expect the fix in DT Tool

Which is your GPU? You cannot connect from another computer.

Nvidia RTX A5000 Is there any way like i can use this custom map in another pc?Also, when can i expect the fix in the DT Tool

You can use the map in editor mode. What you cannot do is create a package with it. If you want to, you have to fix the conflict mesh on your own. ( I do not know how to fix it, look at Unreal forum):
When can you expect the fix for DT Tool?
Do not know. Not time determined.


[release-1.4] istioctl describe auto-mtls support

This is an automated cherry-pick of #18166

@istio-testing: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

e2e-simpleTests-distroless_istio_release-1.4
cefa94174407492ff498ee877e2bc20f804ba86c
link
/test e2e-simpleTests-distroless_istio_release-1.4

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

e2e-simpleTests-distroless_istio_release-1.4
cefa94174407492ff498ee877e2bc20f804ba86c
link
/test e2e-simpleTests-distroless_istio_release-1.4

pilot-multicluster-e2e_istio_release-1.4
cefa94174407492ff498ee877e2bc20f804ba86c
link
/test pilot-multicluster-e2e_istio_release-1.4

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

e2e-simpleTests-distroless_istio_release-1.4
cefa94174407492ff498ee877e2bc20f804ba86c
link
/test e2e-simpleTests-distroless_istio_release-1.4

pilot-multicluster-e2e_istio_release-1.4
cefa94174407492ff498ee877e2bc20f804ba86c
link
/test pilot-multicluster-e2e_istio_release-1.4

integ-mixer-k8s-tests_istio_release-1.4
cefa94174407492ff498ee877e2bc20f804ba86c
link
/test integ-mixer-k8s-tests_istio_release-1.4

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

e2e-simpleTests-distroless_istio_release-1.4
cefa94174407492ff498ee877e2bc20f804ba86c
link
/test e2e-simpleTests-distroless_istio_release-1.4

pilot-multicluster-e2e_istio_release-1.4
cefa94174407492ff498ee877e2bc20f804ba86c
link
/test pilot-multicluster-e2e_istio_release-1.4

integ-mixer-k8s-tests_istio_release-1.4
cefa94174407492ff498ee877e2bc20f804ba86c
link
/test integ-mixer-k8s-tests_istio_release-1.4

integ-new-install-k8s-tests_istio_release-1.4
cefa94174407492ff498ee877e2bc20f804ba86c
link
/test integ-new-install-k8s-tests_istio_release-1.4

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@istio-testing: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

e2e-simpleTests_istio_release-1.4
cefa94174407492ff498ee877e2bc20f804ba86c
link
/test e2e-simpleTests_istio_release-1.4

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


update diffprivlib logic to train model only once (and clean unused code)

Coverage report
 Click to see where and how coverage changed
FileStatementsMissingCoverageCoverage(new stmts)Lines missing

  server/lomas_server/dp_queries/dp_libraries
  diffprivlib.py

  server/lomas_server/routes
  utils.py

  server/lomas_server/tests
  test_api_diffprivlib.py
27-30

Project Total

This report was generated by python-coverage-comment-action


fix(keymaps): don't use gj and gk in V-LINE and V-BLOCK modes

Description
In regular visual mode gk and gj make sense as the default, but when doing block or line selects regular j and k are better defaults. When you use gk or gj in visual-line mode, nothing new gets selected if stay in the same wrapped line, so all it accomplishes is requiring more inputs to select the next line. In visual-block mode it's even worse as you generally want to select a block, but by using gk/gj on a wrapped line your selection changes horizontally instead of vertically.
Checklist

[x] I've read the CONTRIBUTING guidelines.

Thank you for this PR, but I'm not interested in adding this.


kendrick mass defect

I wrote just the basics, if anyone would like to add something, please feel free.

That would be Ansgar :) @annexhc


Saving Courses

Changes
Describe the Pull Request here. Add any references and info to help reviewers understand your changes.

Users can now save their course plan and view them in their profiles page

Tests applied
What testing has been applied to validate changes are accurate and correct

visual and console logs

Issue ticket number(s)
Enter the issue numbers resolved by this pull request

Resolves issue #16

Checklist

[ ] Documented
[ ] Linting tests successful
[ ] merge updated prod branch into development branch

Haha, I was just about to comment about the styling.

Related to #13


-TargetWebUrl

Can you use the '-TargetWebUrl' switch with this PS command?

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

ID: a99ae6ea-f1ca-1d6f-bdda-abc8cf4082ae
Version Independent ID: 066c87bc-6767-ae13-7f31-d9591f7e0536
Content: Add-SPOTheme (sharepoint-online)
Content Source: sharepoint/sharepoint-ps/sharepoint-online/Add-SPOTheme.md
Service: sharepoint-powershell
GitHub Login: @techwriter40
Microsoft Alias: kirks

That is not supported. This cmdlet is for adding theme to the tenant level, not for activating theme in the site level.


Make tox config more flexible

We should be able to use tox's {posargs} to pass file/class/method selector to avoid running the whole test suite when trying to iterate (I cannot bear the 100s waiting time for everything + Cassandra tests anymore when I just want Cassandra).

Just run normal unit tests in your venv: python -m unittest discover --failfast --verbose --catch  you'll be able to select which method you want to run, etc.. tox is really only to launch the full test suite.

While this is minor, we can have tox run the whole suit AND be able to run named test at the same time, and I believe we should.


For meteor 1.4, the Node version need to be 4.x

See #102, #112, #125, and #120.  Will be fixed when we merge in #130 real soon now.  In the mean time, you can use https://github.com/AdmitHub/meteor-buildpack-horse.git#beta.

Fixed in #130.  Should work out-of-the-box with 1.4 now.

Cool! Thanks


Fix subsection headers formatting

I think these subsection headers had unintended spacing which causes the markdown parser not to recognize them as bolded text.

Coverage remained the same at 86.944% when pulling ec92782c02d3507d1bb23c5c4d3dbb5d0a3646d5 on yangshun:patch-1 into 1deaa6cf6e5853ad9e7129a62e66dd4eb02d92f3 on airbnb:master.


fix app-sre build script current hash grab

hack/app_sre_create_image_catalog.sh was grabbing the
hive-production v3 shard as the currently deployed hash,
and that's wrong because it's pinned to an old commit.
Use hivep01ue1's hash.
/assign @2uasimojo
/cc @akhil-rane

/test unit
We should really fix that one.

fixed it up, please re-review @2uasimojo


Resolving Missing Variable on Django Form

What I'm trying to achieve is reducing the redundancy in the steps to make a payment on an item. The architecture for checkout/payment for saleor 1.0 requires the customer from the payment page to go to a separate page to select payment a type (e.g. stripe, braintree, razor etc) using a radio button and then submit that selection which then processes the order and goes to the confirmation page.
OBJECTIVE:
What I'm trying to do is remove the step of sending the customer to a page to select their payment type, but rather include that option on the payment page, which i feel makes the experience more seamless.
ISSUE:
When including stripe to the payment page, I am receiving an error message which is displayed on the page:

<< MISSING VARIABLE "form.payment_method_id.as_hidden" >>

Can you advise on steps to solve this issue?

@jerrellbryant Hey! Thanks for reporting. We'll take a look at your issue, but due to the holiday season it can take some time. Thanks for understanding.

This issue applies to the old storefront so I'm moving it to the legacy-views repo.


Net Price Attributes for next day lost

Hello,
i came already often about this issue:
Prices for the next day are usually loaded in the early afternoon, displayed and working as expected. As well my template sensor made a service call for the cheapest hour of the next day and the returned result for the next day fine. Right now, there is not any Net Price Date for tomorrow anymore, it simply ends at midnight. Reloading the integration resolves the issue immediately.
Any idea whats going on here?
Thank you!

For me it happened again yesterday and right now with source EPEX Spot Web Scraper (AT). Unfortunately there are not any hints in the log, even when enabling debug logging.

Any update on this? Do you also see this issue if you use another source, like SMARD or Awattar?

It's still happening to me quite often. I switched now to the smartenergy source and hope this will solve it.
Thank you!


Dci create component

Using dci-create-component
Bump version to 1.0.0
Update Documentation with required changes

Test in: https://github.com/tonyskapunk/test-dci-component/actions/runs/3091606163

What is the use case or when is helpful to use this dci-component action?

This is a way to ease the creation of components when someone using DCI may be using GHA as part of its CI. For example, in this project https://github.com/rh-nfv-int/nfv-example-cnf-index we use GHA to release the catalog of operators, using this dci-component GHA, makes easier to create the component at that time as well.

I was only aware of the cli option[1], but I'm thinking when would be appropriate to use this action? Thanks! [1] https://docs.distributed-ci.io/python-dciclient/#dci-create-component

This GHA was initially under my account, but I've moved to this org few days back. In the past it was using dcictl another tool that's provided with the python-dciclient package. But, since we've created dci-create-component to make easier the creation of components, then in this change I'm making use of that tool instead.
hth

What is the use case or when is helpful to use this dci-component action?

This is a way to ease the creation of components when someone using DCI may be using GHA as part of its CI. For example, in this project rh-nfv-int/nfv-example-cnf-index we use GHA to release the catalog of operators, using this dci-component GHA, makes easier to create the component at that time as well.

Thanks for the clarification, I see when is helpful to use this method.


100% code coverage

The current code coverage is around 84%, it would be nice to have a 100% score and I'd love to have some help in doing so. Please feel free to open any PR.

how is the state of this? do you need some help?

Hi there I don't get it, what you need help with( sry but I am new to this)


Custom File Dialog doesn't handle clicks properly

Testing https://github.com/microsoft/vscode/issues/83296
Windows+FF
Use open file dialog with the mouse to navigate around.
🐛 => it doesn't navigate

Duplicate of https://github.com/microsoft/vscode/issues/83292


Need upgrade text structure with new touphScript (v1.3.0)

in touphScript
http://forums.qhimm.com/index.php?topic=11944.0
-much more files for translating
-was restructured files, it is a little different , but complicates the interpretation. as would distribute files correctly folders

Not sure what this is supposed to mean...


Added prop for choose between weekdaysShort and weekdaysMin

Issue: https://github.com/elreco/vue-tailwind-datepicker/issues/67
Now you can choose between short and min names of the days of the week:

So nice @ilzrv Thank you so much


updated haiku guide with new JAX RNG api

updated haiku guide, after #3337 changed Flax to use the new Jax RNG api

Codecov Report

Merging #3343 (089f237) into main (d9f83bf) will decrease coverage by 0.02%.
Report is 1 commits behind head on main.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main    #3343      +/-   ##
==========================================
- Coverage   82.64%   82.63%   -0.02%
==========================================
  Files          55       55
  Lines        6363     6363
==========================================
- Hits         5259     5258       -1
- Misses       1104     1105       +1

Files Changed
Coverage Δ

flax/core/meta.py
95.40% <ø> (ø)

flax/core/scope.py
88.80% <ø> (ø)

flax/cursor.py
95.83% <ø> (ø)

flax/errors.py
86.48% <ø> (ø)

flax/linen/initializers.py
100.00% <ø> (ø)

flax/linen/module.py
91.89% <ø> (-0.13%)
:arrow_down:

flax/linen/normalization.py
96.89% <ø> (ø)

flax/linen/summary.py
98.28% <ø> (ø)

flax/linen/transforms.py
94.14% <ø> (ø)

flax/linen/recurrent.py
97.30% <100.00%> (ø)


Improve documentation of picks for IC

Following #10934 and #10936
Anand and I got confused with the docstring of picks_ica: an int would pick only one IC and I thought at the beginning it would pick up to this IC.
Does this look better in your opinion?

Thanks @drammock that's so much better!

thanks @mscheltienne!


Document provenance for full-spike-train simulations already run

Just internally, as part of "lab notebook".

This is essentially the same as issue #213, but is information that should be attached to the uploads of data we make to Zenodo, for the Chaos paper.

In particular, we should make sure that each .h5 file is uploaded with its config files.


Release 1.0

If you want to be notified of the 1.0 release, just subscribe to this issue by clicking the subscribe button in the sidebar.
This issue is locked to avoid unnecessary notifications, as it is only here to notify you all of the 1.0 release.

It's out v1.0.0


[ISSUE-647] e2e test artifacts

Purpose
Resolves #647
Make artifacts available in GH workflow
Fix on comment trigger git ref
PR checklist

[x] Add link to the issue
[x] Choose Project
[x] Choose PR label
[ ] New unit tests added
[ ] Modified code has meaningful comments
[ ] All TODOs are linked with the issues
[ ] All comments are resolved

Testing
Provide test details

/ci

/ci

/ci

/ci

/ci


Preview Test

I think there may be some deprecated libraries that need to be replaced in the CI scripts. This is verifying that fact and identifying the solution. Do not approve this PR

This served its purpose but is no longer needed.


add vuln scanner & auto exploit tool - vMass Bot

Content Update : Yes
Related Content : Web Hacking
Name: vMass Bot
Type:Vulnerability Scanner & Auto Exploiter Tool - Web Hacking
Description: vMass Bot automates the exploitation of remote hosts by trying to find environment files (.env) in target hosts and extract tools and info insde, then the bot detects the target host CMS and tries to auto exploit and upload shell payload.
Github: https://github.com/c99tn/vMass
Content Update : Yes|No
Related Content : Guide|Tools
Content Update : Yes|No
Related Content : Guide|Tools
Explain your changes here. Please read CONTRIBUTING.md before creating pull requests.

Sorry we don't accept contributions anymore. Please read the readme.


Cuda out of memory while training correspondence block.

Hi,
I'm trying to run training on my local machine, and I always encounter this issue during the first epoch.
I have a Nvidia RTX 2060 on the machine.

Not enough VRAM. This was trained on a Tesla T4 with 16 GB. Change the batch size


Create piktura

Add PIKTURA school to allow teachers and students to deploy the power of rider for Unity games ! https://www.piktura.fr/

@aurelienesteves lib/domains/fr/piktura: this request has an incorrect file path format, please ensure that you are familiar with     this repository rules located at the bottom of this page and change     your request accordingly. If you don't know how to change request, close it and open a new one.     If you are not able to make the pull request according the instructions, please send us an email to<EMAIL_ADDRESS>Please mention this request URL in the message.

@aurelienesteves Thank you for your patience while waiting for a review and processing your request. i corrected your pull request, there was no .txt extension in the file name. Pull request merged.


Frontend SDK Integration

Constants fully moved to the core and frontend uses the core's constants.
Safety utils are now used from the core
useMemecoin hook now uses the useMemecoin hook from the hooks package
useQuoteToken, useQuoteTokenPrice hooks are imported from the hooks package
Deploy, Launch, Collect Fees, Extend Liquidty Lock actions are now uses the core's Factory methods

closes #227

Hi @0xChqrles I've resolved your comments, Thanks!


Java String Reverse problem solution added

Closing Issue/Referencing Issue
issue reference (#)
Changes Made In Pull Request
added solution of the HackerRank problem.

Ok and Thank you sir.
Have a nice Day.


cv.router get_api/cv

Description
Please provide a short summary explaining what this PR is about.
Fixes # 5
How to test?
Please provide a short summary how your changes can be tested?
final test will be done after merge a cv migration and seed

[x ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[x ] I have made corresponding changes to the documentation
[ ] This PR is ready to be merged and not breaking any other functionality

As you recommended I make a PR for specific issue and I communicate wit kiran about table name.

Cool, remember to link the story in this pr!
The get endpoint should also support different ways of getting cv's: fx

/api/cv?title=web developer
/api/cv?sort=title
/api/cv?limit=7

Cool, remember to link the story in this pr!
The get endpoint should also support different ways of getting cv's: fx

/api/cv?title=web developer
/api/cv?sort=title
/api/cv?limit=7

Hi benjamin Thanks for nice review now I used a like in select so now we can get a title by similar words. if you dont use a query parameter then it gets a all cv

Hi benjamin Thanks for nice review now I used a like in select so now we can get a title by similar words. if you dont use a query parameter then it gets a all cv


GDScript Bug: Compiler doesn't send error, but you can't give values to an array with 'for' in this way

Godot version
4.0.stable
System information
Windows 10, Vulkan, AMD Ryzen 4650G APU
Issue description

In GDScript the compiler doesn't send error, but it's not Work:
When you want to give a value to the array elements with 'for' in this way:

for element in name_of_array:
	element = value

Steps to reproduce

Minimal reproduction project
var asd = [0,0,0]

# Called when the node enters the scene tree for the first time.
func _ready() -> void:
	print(asd)
	for a in asd:
		a = 1
	print(asd)

for element in name_of_array:
    element = value

Here, element is not a reference, it's a local variable and changing it will not change the array, if the value is not passed by reference (object, dictionary, or array). There are no pointers/references at all in GDScript.
Use index if you want to change the array:
for i in name_of_array.size():
    name_of_array[i] = value

Please ask for technical support on the community channels first if you're unsure if a behavior is a bug or not.

I know this solution, and I replaced the other one with this one, but the compiler accepted that solution too, what I tried before this, and that's why I didn't think it was wrong. My logic of code was good, but writing the array didn't work like reading it, and I have not read anywhere that it is not a reference, not even in the godot documentation.

This matches the behavior of other scripting languages (Python, JavaScript, PHP if no &).
There is no compiler error/warning, because it is not an error, the loop variable is essentially the same local variable as all the others (including function parameters), it is not read-only.
You can think of
for x in array:
    # loop body

as equivalent to
var _internal_index = 0
while _internal_index < array.size():
    var x = array[_internal_index]
    # loop body
    _internal_index += 1

Would close this issue as this is not a bug, as (very well) explained by @dalexeev.


install on linux

The installation instructions tell me to use the gnuzip command which is usually not installed already

@dullbananas Do you mean these instructions: https://github.com/elm/compiler/blob/770071accf791e8171440709effe71e78a9ab37c/installers/linux/README.md ?
If so, they say gunzip, not gnu. There’s gzip for zipping and “g-unzip” for unzipping…


Header background visual, animation and static image variant

The specified backgrounds:

... are not currently implemented. The animation was causing performance issues so was initially replaced with a screen shot, but has since been removed in #136 since it was just a placeholder.
The suggestion from @DominikGuzei is to render the animation as a video, and then use a static image in the smaller footprint mode.

@rhyslbw i think for starters a high quality static image would already be good enough.

bgs.zip


Will this work on Manjaro?

I use Guake and konsole.
Thanks.

Not sure, Try please and let us know.
Thank you


⚠ DSO-API has degraded performance

In e815dac, DSO-API ($SITE_URL_DSOAPI) experienced degraded performance:

HTTP code: 200
Response time: 7321 ms

Resolved: DSO-API performance has improved in 0602fa4 after 8 minutes.


Webapp is very slow

@olehkorkh-planeks
If I am a user and if I have many sessions, then it takes forever to load step 5 (see video 1).
If I make the session public and log out, then it takes just 1 sec to load step 5 (see video 1).
If I am a user and if I have very few sessions, then it takes just 1 sec to load step 5 (see video 2).
This makes me think that it is somehow checking/loading/... all the sessions when accessing step 5, whereas it should not be necessary. Could you please check? Thanks.
Video 1
https://drive.google.com/file/d/1eJ-78U88yibOt8_QY5IshmKg5Qg5C_1a/view?usp=sharing
Video 2
https://drive.google.com/file/d/1eOCekUt5lw8s_Vn_2vjjlGUM7wld_X71/view?usp=sharing

@antoinefalisse Try this fix - https://github.com/stanfordnmbl/opencap-viewer/pull/257

Oh wow, thanks @olehkorkh-planeks tested and seems to be working fine.


cost model details: PF data toolbar

Replace existing PatternFly toolbar, on the details pages, with the experimental PatternFly data toolbar. The PF data toolbar follows the latest PatternFly design pattern, which includes new icons, chip layout, etc.

verified


locally defined environments values aren't merged when bases is present

Hi,
I'm not sure if this is a bug or my mis-use.  I have specified some repositories and empty environments in ./base/base.yaml
---
repositories:
- name: stable
  url: https://kubernetes-charts.storage.googleapis.com
- name: incubator
  url: https://kubernetes-charts-incubator.storage.googleapis.com/

helmDefaults:
  wait: true

environments:
  default:
  stage:
  prod:

Then the following helmfile in ./test/helmfile.yaml
---
bases:
  - ../base/base.yaml

environments:
  default:
    values:
      - namespace: mon
      - kubeContext: dev

releases:
  - name: prometheus
    namespace: {{ .Values.namespace }}
    chart: stable/prometheus
    version: 10.6.0
    kubeContext: {{ .Values.kubeContext }}

Specifying environment values here fails to render saying that map has no entry namespace.  Full debug log.  If I remove bases: from helmfile then it works to find .Values.namespace.
processing file "helmfile.yaml" in directory "."
first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode=<nil>
first-pass uses: &{default map[] map[]}
first-pass rendering output of "helmfile.yaml.part.0":
 0: ---
 1: bases:
 2:   - ../base/base.yaml
 3:
 4: environments:
 5:   default:
 6:     values:
 7:       - namespace: mon
 8:       - kubeContext: dev
 9:
10: releases:
11:   - name: prometheus
12:     namespace: <no value>
13:     chart: stable/prometheus
14:     version: 10.6.0
15:     kubeContext: <no value>
16:

replaced <no value>s to workaround https://github.com/golang/go/issues/24963 to address https://github.com/roboll/helmfile/issues/553:
  strings.Join({
  	... // 10 identical lines
  	"releases:",
  	"  - name: prometheus",
- 	"    namespace: <no value>",
+ 	"    namespace: ",
  	"    chart: stable/prometheus",
  	"    version: 10.6.0",
- 	"    kubeContext: <no value>",
+ 	"    kubeContext: ",
  	"",
  }, "\n")

error in first-pass rendering: result of "helmfile.yaml.part.0":
 0: ---
 1: bases:
 2:   - ../base/base.yaml
 3:
 4: environments:
 5:   default:
 6:     values:
 7:       - namespace: mon
 8:       - kubeContext: dev
 9:
10: releases:
11:   - name: prometheus
12:     namespace: <no value>
13:     chart: stable/prometheus
14:     version: 10.6.0
15:     kubeContext: <no value>
16:

first-pass produced: &{default map[] map[]}
first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]}
second-pass rendering failed, input of "helmfile.yaml.part.0":
 0: ---
 1: bases:
 2:   - ../base/base.yaml
 3:
 4: environments:
 5:   default:
 6:     values:
 7:       - namespace: mon
 8:       - kubeContext: dev
 9:
10: releases:
11:   - name: prometheus
12:     namespace: {{ .Values.namespace }}
13:     chart: stable/prometheus
14:     version: 10.6.0
15:     kubeContext: {{ .Values.kubeContext }}
16:

err: error during helmfile.yaml.part.0 parsing: template: stringTemplate:13:25: executing "stringTemplate" at <.Values.namespace>: map has no entry for key "namespace"
in ./helmfile.yaml: error during helmfile.yaml.part.0 parsing: template: stringTemplate:13:25: executing "stringTemplate" at <.Values.namespace>: map has no entry for key "namespace"

My helmfile version is v0.104.0
Thanks.

@svistoi Hey! Would you mind trying this? You seem like encountring the chicken-and-egg problem of helmfile.yaml, that is, to render the helmfile.yaml you need to load bases and environments, but to load bases and environments you need to render the helmfile.yaml.

---
bases:
  - ../base/base.yaml

---

environments:
  default:
    values:
      - namespace: mon
      - kubeContext: dev

---

releases:
  - name: prometheus
    namespace: {{ .Values.namespace }}
    chart: stable/prometheus
    version: 10.6.0
    kubeContext: {{ .Values.kubeContext }}

Thanks, I guess that's not a supported use.  I'll try to think about re-organizing the files.
The reason I had it this way is because I thought I'd define a base set of environments applicable to all helmfiles, along with some common values applicable to all helmfiles.  Say base.yaml:
environments:
  default:
    values:
      - kubeContext: dev
  stage:
    values:
      - kubeContext: stage

And then add additional variables (or not), say test/helmfile.yaml
bases:
  - ../base/base.yaml

environments:
  default:
    values:
      - namespace: mon
      # kubeContext implied from base

Because test/helmfile.yaml includes base, I assumed there wasn't a circular dependency.


⚠ ClamAV has degraded performance

In 6980267, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 444 ms

Resolved: ClamAV performance has improved in 98a5904.


Animated sequence of background photos on landing page

In branch topic/hero-animated-bg I have implemented the CSS to perform an animation of multiple background photos. It takes about 20s to transition to the next photo.
The placeholder photos should be replaced with some showing hardware/apps which actually use Ada.
I'm not 100% sure about this feature though; it looks nice, but it also requires fetching of multiple images. It depends on whether people are excited about it or not :slightly_smiling_face:

This might look nice, but I would find it to be very difficult trying to read something with a changing background.

Implemented in 0669a12 (can be reverted later if needed).