FIX #6342 - Liquibase Output changeset executes twice

Impact

[x] Bug fix (non-breaking change which fixes expected existing functionality)
[ ] Enhancement/New feature (adds functionality without impacting existing logic)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description

Fixes and leverages the existing SHOULD_EXECUTE logic to determine if the output change should actually be output to the buffer.
Thanks to @wwillard7800 for identifying the SHOULD_EXECUTE flag scope was not correctly set.
Once correctly set, the output change just checks if it should execute or not before actually executing.
Things to be aware of
Fixes #6342

Things to worry about

Additional Context

@filipelautert @MalloD12
Hey y'all! Would appreciate some help here on what I thought would be an easy fix. I noticed that the output change type is executing when the MDC logging is occurring and also when the change is actually executed (so the output is duplicated). Then I noticed that there is already code that sets a SHOULD_EXECUTE value to false when adding the change to the MDC log (liquibase.changelog.ChangeSet class's addSqlMdc method has a scopeValues.put(Change.SHOULD_EXECUTE, Boolean.FALSE); line).
However... I can't seem to figure out how to leverage this. In the liquibase.change.core.OutputChange class, I am modifying the generateStatemetnts method in order to look at the above scope value. I have tried the two following two ways:
Boolean shouldExecute1 = Scope.getCurrentScope().get(Change.SHOULD_EXECUTE, Boolean.class);
Boolean shouldExecute2 = shouldExecuteChange(database);

but both are always null whether this is in the scope of the MDC logging stage or the execution phase.
What am I missing here? How can I appropriately access that value to avoid the output during the MDC logging stage?
Thank in advance for any help you can provide!

I believe I see the problem.  The addSqlToMdc method in ChangeSet does not properly set the SHOULD_EXECUTE flag.  It only sets it for the generateStatements call, and it needs to set it for the getSqlString call.
Like this:
    /**
     *
     * Adds changeset sql to mdc if the change is supported by the database
     * @param change the change to read sql from
     * @param database the database to generate change sql against
     * @param generateRollbackStatements controls generation of rollback sql statements or standard statements sql
     * @throws RollbackImpossibleException if you cannot generate rollback statements
     *
     */
    private String addSqlMdc(Change change, Database database, boolean generateRollbackStatements) throws Exception {
        //
        // If the change is for this Database
        // add a Boolean flag to Scope to indicate that the Change should not be executed when adding MDC context
        //
        if (! change.supports(database)) {
            return null;
        }
        AtomicReference<SqlStatement[]> statementsReference = new AtomicReference<>();
        Map<String, Object> scopeValues = new HashMap<>();
        scopeValues.put(Change.SHOULD_EXECUTE, Boolean.FALSE);
        StringBuilder sqlStatementsMdc = new StringBuilder();
        Scope.child(scopeValues, () -> {
            statementsReference.set(generateRollbackStatements ?
                    change.generateRollbackStatements(database) : change.generateStatements(database));
            sqlStatementsMdc.append(Arrays.stream(statementsReference.get())
                    .map(statement -> SqlUtil.getSqlString(statement, SqlGeneratorFactory.getInstance(), database))
                    .collect(Collectors.joining("\n")));
            Scope.getCurrentScope().addMdcValue(MdcKey.CHANGESET_SQL, sqlStatementsMdc.toString());
        });

        return sqlStatementsMdc.toString();
    }

@wwillard7800 That did it, thank you very much!
I'm not sure I fully understand the change here... but I'm also not super familiar with this side of things, so not terribly surprised 😬
Thanks for the assist, I think you actually did more work for this PR than I did!
With that, I believe this PR is ready to be reviewed!

@wwillard7800 That did it, thank you very much!
I'm not sure I fully understand the change here... but I'm also not super familiar with this side of things, so not terribly surprised 😬
Thanks for the assist, I think you actually did more work for this PR than I did!
With that, I believe this PR is ready to be reviewed!

No problem, glad to help.
Basically, for the other change types, having the SHOULD_EXECUTE flag be available during change.generateStatements  call was sufficient, but for the Output change, the call to getSqlString needed the same flag, so I just made it available for both.

Code changes look good to me. I'm only wondering if we can add a test where we deploy a changelog containing for example:
<changeSet  author="mallod"  id="outputChangeTest">
        <output  target="STDERR">Make sure you feed the cat</output>
</changeSet>

and we make sure there is nothing logged. Otherwise, I think this is something we can manually test as well. @rberezen @tati-qalified, what do you guys think?
Thanks,
Daniel.

@MalloD12
Testing is one thing I was unsure about. I wasn't aware of any way to check what is sent to stderr/stdout/whatever buffer and so wasn't sure if there was a good way to test this other than manual tests.

@jasonlyle88 I was thinking of doing something like this:
 BufferedLogService bufferLog = new BufferedLogService()

        Scope.child([
                (Scope.Attr.logService.name()) : bufferLog,
        ], {
            CommandScope commandScope = new CommandScope(UpdateCommandStep.COMMAND_NAME)
            commandScope.addArgumentValue(UpdateCommandStep.CONTEXTS_ARG, "test2")
            commandScope.addArgumentValue(DbUrlConnectionArgumentsCommandStep.URL_ARG, h2.getConnectionUrl())
            commandScope.addArgumentValue(DbUrlConnectionArgumentsCommandStep.USERNAME_ARG, h2.getUsername())
            commandScope.addArgumentValue(DbUrlConnectionArgumentsCommandStep.PASSWORD_ARG, h2.getPassword())
            commandScope.addArgumentValue(UpdateCommandStep.CHANGELOG_FILE_ARG, <YOUR_CHANGELOG_FILE>)
            commandScope.setOutput(outputStream)
            commandResults = commandScope.execute()
        } as Scope.ScopedRunner)
        then:
        bufferLog.getLogAsString(Level.SEVERE).contains(<LOG_MESSAGE_TO_CHECK>);

@MalloD12 I attempted your test as can be seen in the liquibase-integration-tests/src/test/groovy/liquibase/command/update/UpdateIntegrationTest.groovy test file. I am getting the following error:
The file src/test/resources/changelogs/h2/update/output.xml was not found in the configured search path:
More locations can be added with the 'searchPath' parameter.

However, I'm unsure how I can set the serachPath parameter given how this is being executed. Any help would be greatly appreciated!

@MalloD12 I attempted your test as can be seen in the liquibase-integration-tests/src/test/groovy/liquibase/command/update/UpdateIntegrationTest.groovy test file. I am getting the following error:
The file src/test/resources/changelogs/h2/update/output.xml was not found in the configured search path:
More locations can be added with the 'searchPath' parameter.

However, I'm unsure how I can set the serachPath parameter given how this is being executed. Any help would be greatly appreciated!
Also, I think I'm on the right path going on what you said, but I'm not positive. If im not, please let me know!

Hey @jasonlyle88,
See the below example of what I do in some tests when I want to use a real changelog file to run an update command:
 given:
        def changelogFileName = "target/test-classes/changelogs/update.changelog.sql"
        def resourceAccessor = new SearchPathResourceAccessor(".,target/test-classes")
        def scopeSettings = [
                (Scope.Attr.resourceAccessor.name()) : resourceAccessor
        ]
        Scope.child(scopeSettings, {
            CommandUtil.runUpdate(db, changelogFileName, "generateChangelogWithEmptyTable", null, null)
        } as Scope.ScopedRunner)

As you can see, it needs to define the location where your files will be searched and then use the initialized resource accessor in the same scope that the update command will run.
Can you try that and let me know if that works for you? If you have any other questions, please let me know.
Thanks,
Daniel.

Hey @MalloD12,
Thank you for the help there! I was able to put that together with other information I've found in previous attempts to capture the changelog execution to get SO close. But I can't quite seem to get the last part.
If you take a look at the integration test, I've got a single changelog with a single changeset that has a single change of an output. I've gotten the integration test to the point where it captures the following in a string:
Running Changeset: src/test/resources/changelogs/h2/update/output.xml::test_output_changeset::jlyle
Liquibase: Update has been successful. Rows affected: 1

However, this does not include the output from the output change. I've confirmed the output from the output change is showing up in the console itself. I've also tried all of the different targets for the output change type. Yet I still can't seem to figure out a way to capture this output so I can check it.
I also tired using the outputFile parameter of the CommandUtil.runUpdate method, but that only has the update summary at the end of the run.
I apologize, but I need some more help in trying to figure out how to capture the output here so I can do this test properly.
Thanks in advance!

I updated the integration test to ensure the output only occurs one and only one time (as before it would pass if it output twice)!

@jasonlyle88 cool, that makes sense to me.
Thanks,
Daniel.

@jasonlyle88 Could I kindly ask you to resolve the merge conflict?
cc @filipelautert @MalloD12

@rberezen merge conflict resolved.

Just getting a chance to take a look at this, thanks for resolving that @MalloD12!

Seems that this PR broke some tests in liquibase-pro. Reverting the changes to Changeset class as in https://github.com/liquibase/liquibase/pull/6528 fixes it, but then the new tests added for this fix start to fail...

Ok, let's revert these changes, and I can work with Jason later on making it work.


Warning for Sass 2.0.0

I am getting the following warning for some of the elements in the framework:
DEPRECATION WARNING: Using / for division is deprecated and will be removed in Dart Sass 2.0.0.

node_modules\codyhouse-framework\main\assets\css\base\_mixins.scss 139:18       round-width()
node_modules\codyhouse-framework\main\assets\css\base\_grid-layout.scss 130:27  @import
node_modules\codyhouse-framework\main\assets\css\_base.scss 13:9                @import

Are you aware of this warning and will this be fixed in upcoming release?
Thanks!

Hi! We will update soon to the new SASS modules system 👍 We're figuring out how to do so without creating issues for users who are not using SASS 2.0

A lot of packages are installing dart-sass per default and it's quite easy to get the information that node-sass is deprecated. Maybe create a new major version with breaking changes and keep the current version with some short-term support?
I would love to see the new dart sass version implemented 🤗

We're running the first tests using dart SASS in CodyFrame. The main issue we've run into: the dart-sass compiler is 2-3x slower compared to the node-sass compiler. It appears the SASS team is working on a potential solution, even though it's not clear when it will be available and what impact it will have on the performance.
More info here: https://github.com/sass/dart-sass/issues/113
Have you experienced the same issue?

@sebastiano-guerriero I have only read about it when different frameworks have mentioned that you can use either node-sass and dart-sass with dart-sass being slower. That said, the longer compile time hasn't been causing any frustration in any of our projects which range from small to medium-sized projects.

@patrickedqvist good to know! 👍
Btw, the SASS team is working on a new package where the compiler is faster: https://www.npmjs.com/package/sass-embedded

I am receiving lots of warnings, while I am supposed to be using node-sass instead of dart-sass. May be sass-loader who is triggering those messages?

We just release CodyFrame 3.0 that supports Sass Modules:
https://codyhouse.co/blog/post/codyframe-3-0
We are still supporting CodyFrame v2 for node-sass users:
https://github.com/CodyHouse/codyhouse-framework/tree/v2
Cheers!


Having drip interval relative to session ?

Hi,
Not an issue but a suggestion : what about setting by default the drip interval in relation of the session time configured ?
Maybe config("session.lifetime")601000/2 on line 27 in the MiddleWare ?

Thanks :) Will think on this.

Why would you use a drip interval in relation to the session time? I don't see any kind of advantage doing this.

Checking for when to reload the page is always dependent on session timeout. We should not be reloading the page arbitrarily if the session is not about to expire. The drip interval itself is not dependent on the session.

@ItaloBC Sorry, mixed up the threads we are on. (As per the PR the threshold is relative to the session.)
At this point I do not think that it is necessary to make the drip relative to the session. The developer should be able to adjust this to their needs. Closing this for now. Thanks @thesupad for the suggestion, though!

lol I was ready to rant. jk,


ARM support

Hey there!
"Support for various ARM Cortex-A/M processors and a growing number of DSPs is available."
I was wondering if can I get support for ARM, because I am developing a prototype as part of my PhD study, and I need trigger to work using a cheap microcontroller?
thanks in advance!

You may use the RPi binaries or the one for ARM Cortex-A9. Have a look here: https://github.com/Picovoice/Porcupine/tree/master/lib

Now, this is supported. Check out the readme for more info!


Fix graalvm/README.md jar filename

Hi!
I was playing a bit with the graalvm example, but found that one of the commands in the README uses the wrong file name for the jar that is built.
Might be useful to someone else to get started.

Thanks!


Finalize the EguiTheme API

So that I don't keep breaking things all the time, I need to take a close look at exactly how the API should work.

This should be done. The EguiTheme API is finished being a wrapper and now that is has been separated, it should no longer need additional changes fingers crossed.


feat: switched to user mode DB ops when applicable

Switched recipes to DB user mode when applicable.

PR blocked by https://github.com/dangmai/prettier-plugin-apex/issues/738


demanded bits value should be set for instruction that matches the characteristics of an existing instruction

let me know when this is ready for more review


✨ (feat) Add createPolymorphicComponent

resolves #2443

Withdrawing this as using styled-components and extending styles causes problems for this approach. Changing our components to adapt is to big of a re-write at this moment


⚠ Adacta-fintech.com has degraded performance

In ec09154, Adacta-fintech.com (https://www.adacta-fintech.com) experienced degraded performance:

HTTP code: 200
Response time: 2617 ms

Resolved: Adacta-fintech.com performance has improved in bbcd708.


[Helm Chart's Error]: Unable to deploy Harbor on K8s using Helm chart

After execute this command:
helm install . --debug --name harbor --set externalDomain=my.domain.local,insecureRegistry=true
I got this error message:
Error: error validating "": error validating data: found invalid field component for v1.PodTemplateSpec
Is our helm chart working fine ? In the mean time, is there any other ways that I can use to deploy harbor on K8s ?

What's the version of your kubectl, helm, and k8s cluster ?
There is a k8s guide https://github.com/vmware/harbor/blob/master/docs/kubernetes_deployment.md working with Harbor 1.2.0. But we recommend using the harbor  chart now.

Does the secure mode command (without insecureRegistry=true) work for you ? "helm install . --debug --name harbor --set externalDomain=my.domain.local"

I figured out. I'm not using the canary image in helm init command. After using this, I can install it without any problems. Btw, do I MUST use canary-image ?

Thanks @vielktus. I will check your issue of using 'helm init'.

I don't have issue using 'helm init'.
$ helm init
$HELM_HOME has been configured at /Users/huh/.helm.
Tiller (the Helm server-side component) has been installed into your Kubernetes Cluster.
Happy Helming!
huh-m01:vmware-harbor huh$ helm version
Client: &version.Version{SemVer:"v2.8.0", GitCommit:"14af25f1de6832228539259b821949d20069a222", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.8.0", GitCommit:"14af25f1de6832228539259b821949d20069a222", GitTreeState:"clean"}


Can not modify array with 3 or more dimensions?

this.set yields error: Uncaught TypeError: Invalid value used as weak map key from   polymer.html line# 3282.
index.html:
<!DOCTYPE html>
<html>
  <head>
    <script src="bower_components/webcomponentsjs/webcomponents-lite.min.js"></script>
    <link rel="import" href="my-element.html">
  </head>
  <body>
    <my-element></my-element>
  </body>
</html>

my-element.html:
<link rel="import" href="bower_components/polymer/polymer.html">
<link rel="import" href="bower_components/iron-input/iron-input.html">
<dom-module id="my-element">
    <template>
    </template>
</dom-module>
<script>
    Polymer({
        is: "my-element",
        properties:{
            arr:{
                type:Array,
                value:[[1,[2,null],3],[11,[22,null],33]]
            }
        },
		ready:function(){
			for(var i=0;i < this.arr.length;++i){
				console.log(this.arr[i][1][0]+1);
				this.set("arr."+i+".1.1",this.arr[i][1][0]+1);
			}
		}
    });
</script>

I can reproduce the bug on Safari, but not Chrome here:
http://jsbin.com/kuhava/edit?html,console,output
The bug seems to be on this line, which is doing a WeakMap get on null, and WeakMap keys must be objects.  That operation throws on Safari, but not on Firefox or Chrome stable/canary for some reason (and the error message you included doesn't match Safari's warning of TypeError: A WeakMap cannot have a non-object key).
@masaoliou I can fix that issue, but can you clarify what browser/OS you encountered the error so I can test the fix?  Thanks.

A fix was made on master (should be released shortly) that should address the error you saw; can you test and close the issue if it resolved it?  Thanks.

I have been using Chomium Version 40.0.2214.91 Built on 8.0, running on Debian. The browser does not complain about your code. So I guess the code in master fix this issue.
Thank you very much!


Fix "/usr/lib/python2.7/distutils/dist.py:267 UserWarning: Unknown distribution option: 'install_requires'"

As mentioned on http://pythonhosted.org/distribute/, distribute is deprecated:

Distribute is a deprecated fork of the Setuptools project.
Since the Setuptools 0.7 release, Setuptools and Distribute have merged and
Distribute is no longer being maintained. All ongoing effort should reference the
Setuptools project and the Setuptools documentation.

By using setuptools instead of distutils, the "/usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires'" warning disappears:
$ python setup.py build
/usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
  warnings.warn(msg)
running build
running build_py
running build_ext
building 'MACS2.cProb' extension
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/MACS2
...

$ git diff setup.py
diff --git a/setup.py b/setup.py
index 3044be4..714d3ac 100644
--- a/setup.py
+++ b/setup.py
@@ -19,7 +19,7 @@ the distribution).

 import os
 import sys
-from distutils.core import setup, Extension
+from setuptools import setup, Extension

 # Use build_ext from Cython if found
 command_classes = {}

try to install the python-tools
sudo apt-get install python-setuptools

I did the following command: apt-get -yqqf install python-setuptools && easy_install pip &&     pip install --upgrade pip setuptools
And I got this output:
Running pip-9.0.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-dzZuxn/pip-9.0.1/egg-dist-tmp-H5oyYo
/usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'python_requires'
  warnings.warn(msg)
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching '.mailmap'
warning: no previously-included files found matching '.travis.yml'
warning: no previously-included files found matching '.landscape.yml'
warning: no previously-included files found matching 'pip/_vendor/Makefile'
warning: no previously-included files found matching 'tox.ini'
warning: no previously-included files found matching 'dev-requirements.txt'
warning: no previously-included files found matching 'appveyor.yml'
no previously-included directories found matching '.github'
no previously-included directories found matching '.travis'
no previously-included directories found matching 'docs/_build'
no previously-included directories found matching 'contrib'
no previously-included directories found matching 'tasks'
no previously-included directories found matching 'tests'

Same problem using: setuptools==41.0.1, distutils==2.7.12.
it says this for both install_requires and long_description_content_type

hi
im facing th same error im trying to installe the setup.py :
/content/gdrive/My Drive/project_folder2/deepgaze
/usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'include_package_data'
warnings.warn(msg)
running install
running build
running build_py
running install_lib
creating /usr/local/lib/python2.7/dist-packages/deepgaze
copying build/lib.linux-x86_64-2.7/deepgaze/motion_tracking.py -> /usr/local/lib/python2.7/dist-packages/deepgaze
copying build/lib.linux-x86_64-2.7/deepgaze/saliency_map.py -> /usr/local/lib/python2.7/dist-packages/deepgaze
copying build/lib.linux-x86_64-2.7/deepgaze/face_landmark_detection.py -> /usr/local/lib/python2.7/dist-packages/deepgaze
copying build/lib.linux-x86_64-2.7/deepgaze/face_detection.py -> /usr/local/lib/python2.7/dist-packages/deepgaze
copying build/lib.linux-x86_64-2.7/deepgaze/color_classification.py -> /usr/local/lib/python2.7/dist-packages/deepgaze
copying build/lib.linux-x86_64-2.7/deepgaze/bayes_filter.py -> /usr/local/lib/python2.7/dist-packages/deepgaze
copying build/lib.linux-x86_64-2.7/deepgaze/cnn_head_pose_estimator.py -> /usr/local/lib/python2.7/dist-packages/deepgaze
copying build/lib.linux-x86_64-2.7/deepgaze/init.py -> /usr/local/lib/python2.7/dist-packages/deepgaze
copying build/lib.linux-x86_64-2.7/deepgaze/mask_analysis.py -> /usr/local/lib/python2.7/dist-packages/deepgaze
copying build/lib.linux-x86_64-2.7/deepgaze/haar_cascade.py -> /usr/local/lib/python2.7/dist-packages/deepgaze
copying build/lib.linux-x86_64-2.7/deepgaze/head_pose_estimation.py -> /usr/local/lib/python2.7/dist-packages/deepgaze
copying build/lib.linux-x86_64-2.7/deepgaze/motion_detection.py -> /usr/local/lib/python2.7/dist-packages/deepgaze
copying build/lib.linux-x86_64-2.7/deepgaze/color_detection.py -> /usr/local/lib/python2.7/dist-packages/deepgaze
byte-compiling /usr/local/lib/python2.7/dist-packages/deepgaze/motion_tracking.py to motion_tracking.pyc
byte-compiling /usr/local/lib/python2.7/dist-packages/deepgaze/saliency_map.py to saliency_map.pyc
byte-compiling /usr/local/lib/python2.7/dist-packages/deepgaze/face_landmark_detection.py to face_landmark_detection.pyc
byte-compiling /usr/local/lib/python2.7/dist-packages/deepgaze/face_detection.py to face_detection.pyc
byte-compiling /usr/local/lib/python2.7/dist-packages/deepgaze/color_classification.py to color_classification.pyc
byte-compiling /usr/local/lib/python2.7/dist-packages/deepgaze/bayes_filter.py to bayes_filter.pyc
byte-compiling /usr/local/lib/python2.7/dist-packages/deepgaze/cnn_head_pose_estimator.py to cnn_head_pose_estimator.pyc
byte-compiling /usr/local/lib/python2.7/dist-packages/deepgaze/init.py to init.pyc
byte-compiling /usr/local/lib/python2.7/dist-packages/deepgaze/mask_analysis.py to mask_analysis.pyc
byte-compiling /usr/local/lib/python2.7/dist-packages/deepgaze/haar_cascade.py to haar_cascade.pyc
byte-compiling /usr/local/lib/python2.7/dist-packages/deepgaze/head_pose_estimation.py to head_pose_estimation.pyc
byte-compiling /usr/local/lib/python2.7/dist-packages/deepgaze/motion_detection.py to motion_detection.pyc
byte-compiling /usr/local/lib/python2.7/dist-packages/deepgaze/color_detection.py to color_detection.pyc
running install_egg_info
Writing /usr/local/lib/python2.7/dist-packages/deepgaze-0.1.egg-info
can any one help me to sole this problem
thanks


Sweep: No placeholder inserted for binary method

No placeholders are inserted for binary operators like Integer.+, Integer.<, etc.
Screencast from 2023-06-22 12-44-03.webm
Tried on enso-linux-2023.2.1-nightly.2023.6.21.AppImage.

sweep: retry

sweep: retry


Update SiteHelper.py

adding platfrom windows on supported jailbreak

Would you also please explain how these jailbreaks support windows?

Yes. It can be sideloaded. Use altstore or sideloadly or something else.
Sent from my iPhone
On 5 Feb 2021, at 1.44 AM, Saadat<EMAIL_ADDRESS>wrote:

Would you also please explain how these jailbreaks support windows?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/mass1ve-err0r/CanIJailbreak2-Website/pull/2#issuecomment-773524450, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADVBANOA2A6G3UJJROGY5ZLS5LTI3ANCNFSM4XCTT5ZQ.

Ah you marked them because of sideloading.
The tags do not reflect that method since it's not native to the jailbreak utility, I should have clarified that more explicitly.
Thanks for your PR nevertheless, I'll make a general information about Sideloading!

So why those already marked on canijailbreak website? Is there native? So no
Sent from my iPhone
On 5 Feb 2021, at 8.21 AM, Saadat<EMAIL_ADDRESS>wrote:

Ah you marked them because of sideloading.
The tags do not reflect that method since it's not native to the jailbreak utility, I should have clarified that more explicitly.
Thanks for your PR nevertheless, I'll make a general information about Sideloading!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/mass1ve-err0r/CanIJailbreak2-Website/pull/2#issuecomment-773714836, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADVBANPMDRGFJWBXWMBS4FDS5NBZLANCNFSM4XCTT5ZQ.

(for example) Pangu have a windows + osx badge since they have clients for these platfoms, newer jailbreaks such as Odyssey are device-only, the installation method is not relevant here

Alright. Got it
Sent from my iPhone
On 5 Feb 2021, at 8.27 AM, Saadat<EMAIL_ADDRESS>wrote:

(for example) Pangu have a windows + osx badge since they have clients for these platfoms, newer jailbreaks such as Odyssey are device-only, the installation method is not relevant here
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/mass1ve-err0r/CanIJailbreak2-Website/pull/2#issuecomment-773717156, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADVBANOX5GOM4YUKUF3O6UDS5NCQRANCNFSM4XCTT5ZQ.


Compress photos after they are taken on the app

Photos should be compressed based on the study's photo compression parameter. Uncompressed photos should be stored in a folder on the device.

Add a step to do this in the proxy.


Serif / Sans-Serif text preferences not working

Browsers:

Safari 9.0, OS X 10.11 (beta 7)
Chrome (latest, 44.0.2403.157), OS X 10.11 (beta 7)

Ah, I see what the problem is. I'll send a PR soon.


Dark theme

It would be useful to also have some theming options, maily for a dark theme.

The default output viewed in chromium/chrome with the Deluminate extension works very well for me.

I don't use Chrome, I use uzbl.

This one works perfectly for me https://userstyles.org/styles/37035/github-dark

@Atcold How did you manage to apply that theme to generated html? Did you modify the template?

Add - URLs matching the regexp - http://localhost:5000/.*

That only affects the appearance in the browser, not the contents of the generated html file itself.

@kikijiki, yes, of course. The visualisation engine is going to be GitHub, after all, no?
Right now I have Grip previewing the documentation as it will appear in the repo, when I push it.
Both of them have a dark theme applied in the browser.
What is that you're trying to achieve instead?

I'm using grip to export the file as html to distribute it, it would be cool if the file itself contained the dark style modifications.

Copy and paste the content of the CSS theme file?

GitHub now has an official dark mode: https://github.com/settings/appearance

GitHub now has an official dark mode: https://github.com/settings/appearance

Just posted a PR that implements full GitHub theme support.  #335
If you can't wait for it to merge, uninstall your current grip, then:
git clone https://github.com/aparajita/grip.git
cd grip
git checkout theming
pip3 install -r requirements.txt

# to run
python3 /path/to/grip/grip/__main__.py

You'll probably want to make that last line into an alias to grip.


[WIP] Completely rework the build process

This is a rework of the build process to be more efficient and work properly.
Highlights:

Only use docker for environment, don't build inside the image.
Move to Python3 only (Python 2 is being dropped by Airflow very soon)
Fix issues with metadata not being correct. (E.g. airflow_env.sh never being used)
Work out of a tmp folder, rather than polluting git root.
Allow user to specify the distro they want with --dist.
Fix licence headers
Remove Debian 7 (EOL)

To consider

We should probably enable --enable-optimisations when building python, but this does massively increase build times.

@razorsedge I see you are also working on changes, perhaps we could discuss this more. (I have added you on LinkedIn)

I have finally managed to give this PR a try.  Interesting.
I think the main thing that I am confused about is the change to not build inside the image.  My limited knowledge of using Docker to build software tells me that using the caching layers in a Dockerfile can speed up the repeated build process by not re-running things that have not changed.  ie If I am only changing the alternatives.json then why would I need to recompile Python?  Every time this PR re-runs the build, it runs through all of the steps.

@razorsedge You are correct that with this PR python would need to be recompiled for any change. However, this is easily fixed by caching the compiled python binaries on the docker host file-system.
This PR also lets you build for only a specific distro: see here
Also note that the existing approach is likely to have similar issues, due to things like PARCEL_VERSION and AIRFLOW_VERSION changing between runs.
Also note: I am still testing this all out in a lab environment, and am about to propose a large change to the CSD as well.

The existing approach will re-use cached layers that have not changed.  Changing the *_VERSION variables will of course trigger a rebuild of those layers that are affected.  Which is what I would expect it to do.  What I am not wanting is to re-run everything just because I am iterating on fixing a problem further down in the Dockerfile (ie recompile Python every time I make changes to install_airflow.sh.
I can see a use for building only a specific distro.  And I am all for compilation optimizations that don't cause support headaches.

@razorsedge The main issue with the existing approach is that it has extreme duplication of commands within the docker files, almost all of the build commands are the same across all versions of linux.
I can make this process cache the python build locally, as it is the longest part of the process, if that is a concern to you.
In my testing the parcels created by this PR work well (with my yet to be finalised changes of the CSD), there is only one change I need to make, as in the current state, the spark-submit commands from airflow workers will be corrupted by the PYTHONPATH/PTHONHOME variables in airflow-env.sh. (I will simply remove these)
PS: also note, I have removed much of the complexity with this PR, e.g. install_python.sh no longer exists.

@razorsedge to be honest, we should move to Anaconda/Miniconda as this will remove the need for us to compile python, and those binaries are already compiled with optimisations, (which takes much more time).


Removing a layer within the proper layer is throwing a JS error

STR

Create a map of points.
Once created, go into the layer.
Try to remove the layer from the layer options.
💥 .

Smoke tests: #SMOKE_MG04

Deployed, thanks @matallo 💋


Adding dark mode switch button at Navbar to toggle dark mode

hi, i would like to work on this. can this be assigned to me?

@mayo7e yep sure go ahead

@Aadarsh805  thanks

@mayo7e just wanted to know if you are still working on this?

been a bit distracted, but yhh  am..


fix(extension): cosign staking transaction

Checklist

[x] JIRA - LW-10528
[ ] Proper tests implemented
[ ] Screenshots added.

Proposed solution
Explain how does this PR solves the problem stated in JIRA ticket.
You can also enumerate different alternatives considered while approaching this task.
Testing
Describe here, how the new implementation can be tested.
Provide link or briefly describe User Acceptance Criteria/Tests that need to be met
Screenshots
Attach screenshots here if implementation involves some UI changes

Allure Report
allure-report-publisher generated test report!

smokeTests: ✅ test report for b2afa721

passed
failed
skipped
flaky
total
result

Total
33
0
0
0
33
✅


No bean found of type Targeter after upgrade to Hoxton SR10

After upgrading from Hoxton SR9 to Hoxton SR10 we suddenly get the following error during startup:
No bean found of type interface org.springframework.cloud.openfeign.Targeter
I must add that we have always excluded feign-hystrix in the past because we did not use it and the dependency is rather "heavy".
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
    <exclusions>
        <exclusion>
            <groupId>io.github.openfeign</groupId>
            <artifactId>feign-hystrix</artifactId>
        </exclusion>
    </exclusions>
</dependency>

FeignAutoConfiguration supported this before Hoxton SR10 by conditionally loading the DefaultTargeter instead of the HystrixTargeter:
@Configuration(proxyBeanMethods = false)
@ConditionalOnMissingClass("feign.hystrix.HystrixFeign")
protected static class DefaultFeignTargeterConfiguration {
    @Bean
    @ConditionalOnMissingBean
    public Targeter feignTargeter() {
        return new DefaultTargeter();
    }
}

But as of Hoxton SR10, Spring Cloud Circuit Breaker support was added to FeignAutoConfiguration and the conditionals have changed.
@Configuration(proxyBeanMethods = false)
@ConditionalOnMissingClass({ "feign.hystrix.HystrixFeign",
		"org.springframework.cloud.client.circuitbreaker.CircuitBreaker" })
protected static class DefaultFeignTargeterConfiguration {
    @Bean
    @ConditionalOnMissingBean
    public Targeter feignTargeter() {
        return new DefaultTargeter();
    }
}

Now the DefaultFeignTargeterConfiguration is only loaded if both HystrixFeign and CircuitBreaker interface are not on the classpath. The CircuitBreaker interface however is always included through spring-cloud-commons and thus the DefaultFeignTargeterConfiguration condition will never load.
Plus, the newly added CircuitBreakerPresentFeignTargeterConfiguration also tries to register a DefaultTargeter in case:

CircuitBreaker is on the classpath (always true)
feign.circuitbreaker.enabled is set to true (which defaults to false).
There is no CircuitBreakerFactory bean defined

This however feels strange as one would have to set feign.circuitbreaker.enabled to true without actually using circuit breaking just to get the DefaultTargeter to load.
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(CircuitBreaker.class)
@ConditionalOnProperty("feign.circuitbreaker.enabled")
protected static class CircuitBreakerPresentFeignTargeterConfiguration {
    @Bean
    @ConditionalOnMissingBean(CircuitBreakerFactory.class)
    public Targeter defaultFeignTargeter() {
        return new DefaultTargeter();
    }

    @Bean
    @ConditionalOnMissingBean
    @ConditionalOnBean(CircuitBreakerFactory.class)
    public Targeter circuitBreakerFeignTargeter(CircuitBreakerFactory circuitBreakerFactory) {
        return new FeignCircuitBreakerTargeter(circuitBreakerFactory);
    }
}

In its current state, I have the feeling that the DefaultFeignTargeterConfiguration is unreachable code and that it would be better to merge the 2 DefaultTargeter definitions into one Configuration that is conditionally loaded when both Hystrix or Spring Cloud Circuit Breaker are not explicitly enabled.
I'll be happy to submit a pull request if you can provide some feedback/guidance on this.

@timpeeters Thanks for reporting this. It's, in fact, a bug. We will welcome a pull request.
I agree that we should instantiate the DefaultTargeter if either the FeignCircuitBreakerTargeter or the HystrixTargeter is not being instantiated, however, we should verify for both the property and the class (the property is from Spring Cloud OpenFeign, so it's possible that the user sets the property to true, but there's no class present) in both cases.


chore(deps): upgrade configuration

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-configuration-k8s-27-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 3938

Questions ?
Please refer to the Backport tool documentation


SBT requires json4s version 3.2.10

Downgrade json4s to 3.2.10 to fix a error in the SBT plugin.
error: (*:verifyPacts) java.lang.NoClassDefFoundError: scala/tools/scalap/scalax/rules/scalasig/ScalaSigSymbol

I have recently stumbled upon this error message. Is there a currently published version of pact-jvm that fixes it?

I'm not sure when the issue was introduced, or if it was an issue with the SBT all along. The SBT plugin has not been maintained for a while.

I'm also encountering this issue.  Version 2.2.12, sbt 0.13.9

Any progress? Running into the same issue.
Plugin: 2.3.2
sbt 0.13.9

I have removed the use of json4s library from pact-jvm. Version 2.4.0 should now work when run from SBT.


Widen Scope refactoring

Do you know if it is possible to implement Widen Scope refactoring using Visual Studio 2015 Light Bulb feature?

What it should do?

Move a nested function 1 level up
If at the higher level is module then into that module else to the higher level function

We are managing feature requests on User Voice.


How to roll back to last updates

I am just wondering that is there a quick way to roll back to the last updates? Since after the updates of a plugin, I find it is not work for some reason.

https://github.com/junegunn/vim-plug/wiki/tutorial#reviewing-the-changes

@junegunn Although :PlugDiff is a very nice feature, I don't believe it adequately satisfies this question / feature request.

If you don't notice an issue until the next day after you've restart vim, PlugDiff won't give you any output.
You get a diff, but no easy to way to do a rollback.  PlugRollback 'yyyy-mm-dd hh:mm' would be nice.  (Which would pass the date+time to git for parsing).

I've written my own script for doing rollbacks.
#!/bin/bash
set -eu
datetime="$1"

find ~/.local/share/nvim/plugged -mindepth 1 -maxdepth 1 -type d -print0| \
  xargs -r0 -I{} -t git -C {} --no-pager checkout "@\{${datetime}\}"

As always, I love your plugins and utilities, esp fzf.  Thanks for making my work that much easier.


changing to use scalar ref instead of hash ref

This will break tests but want to verify that in travis first

Now ready for review and merge

Coverage decreased (-3.7%) to 96.296% when pulling a0995f1f495b6add3164cf2df4f3a877385ba38b on einhverfr:master into bc264ddebdf3a2f1eb7d35e4c437fd87412cf92c on ledgersmb:master.

Thanks!


Add a Rust example

Any interest in an example of using the API from Rust? I put one together and figured I'd open a PR for it, feel free to close if it's not useful :)
When you cargo run it, it'll pretty-print the first 3 results for "dinner" in San Francisco.

Sure, why not!  :shipit: .
Sorry for the slow response, my Github notifications got swamped by another poject.


feat: overwrite services per call

BREAKING CHANGE
This PR introduces the following:

ensures that all the API call take named parameters instead of positional parameters
ensures that every call accepts options objects which can be used to:

set the headers per call
overwrite the service URL for the specific call
as a consequence of this configuration is simplified and only API gateway URL and refresh token URL are necessary

renames a couple of API calls that had typos in names

While this is still a draft and some work is required early feedback would be very welcome
TODO:

[ ] unify/align named parameters across API calls
[ ] add tests for previously untested calls
[ ] align this with refresh token handling changes
[ ] group the API calls by resource/resource type rather than by obsolete service => to be handled in a staked PR

@masone ready for round 2


Fixed possible NullPointerException in OpenApiGeneratorStreamCodeGen.java

This PR fixes https://github.com/quarkiverse/quarkus-openapi-generator/issues/104.

I'm getting this same error. Is there a work around until this gets merged and released?

@andybarilla, I'm curious about your use case to use this method of code generation. Do yo mind sharing?


Test bookmarks dropdown

Add bootstrap accessibility for dropdown menus

Bookmarks are not a drop down, but a text in the header.  For example:  9497dbc933bc46efacc5236722cebde6.
They should get some special handling like the Map Journal
This is not a bug, since you can navigate with the arrow up/down, page up/down keys


fix: add two type definitions to SCM and fix their parameters

It seems that tsc doesn't recognize when a class or function has a single
options parameter that is required but properties within it are not.
This corrects the output from tsc type definition generation and adds
the two files affected by this to repo.
This might not be the best way to go, but it is a quick fix that we should at least discuss.
Fixes: https://github.com/cloudevents/sdk-javascript/issues/188

This is certainly one solution. Thanks for trying to get the types in here!
However I think a more elegant solution would just be to not create new files (.d.ts) that are hand-modified, and to just change the files to normal files (.ts without the (.d). By excluding certain .js files, it looks like we are manually creating these type definitions, which is not sustainable or conventional.
I think we can all agree that we shouldn't include generated files in source control.
Happy to hear thoughts around this.

Thanks for the feedback. Can you put together a PR that illustrates what you are talking about and perhaps uses an interface to address it?

I'd imagine something like this:
constructor(cloudEvent: CloudEventV1 = SPEC_V1) {
 ...
}

In a cloudevent.ts file:
https://github.com/cloudevents/sdk-javascript/blob/master/lib/cloudevent.js#L29

The source for CloudEventV1 would be something like this:
https://github.com/cloudevents/sdk-javascript/issues/184#issuecomment-632408537
Unfortunately I don't think we can add optional types without changing the extension or manually creating types as suggested in this PR.
I'd rather rename the file extension as generated-then-hand-modified files are hard to keep up-to-date.

@grant if you can put together a PR for that I would appreciate it. I think that will be easiest for me to understand how it all fits together, and to experiment with it from both a pure JS project and a pure TS project.

@grant if you can put together a PR for that I would appreciate it. I think that will be easiest for me to understand how it all fits together, and to experiment with it from both a pure JS project and a pure TS project.

I'm happy to put a PR together if it will be accepted. However, I don't know if you understand what I'm suggesting. This would be my 3rd attempt at introducing .ts to CloudEvents, and I have moved on to other languages until we can solve this.
From a technical standpoint, I would like to ensure we understand:

We're OK with these filename change:

lib/cloudevent.js -> `"lib/cloudevent.ts"
lib/bindings/http/http_emitter.js -> lib/bindings/http/http_emitter.ts

We're OK with using a uniquely TypeScript feature, interface to support optional types in objects. Example: https://github.com/cloudevents/sdk-javascript/issues/184#issuecomment-632408537
We're willing to use continually use tsc --watch to continuously build .ts files into a .js files.

If we are not happy with those understandings, I can't see a technical way to solve this problem and can't contribute. if we're OK with that, I am free Friday to collaborate and put a PR together.

Yes I think this could be ok. I am not too concerned about the filename changes. I don’t love the continuous tsc but I can live with it. What I want to better understand is how an interface fits in. What is the filename? How does it affect (if at all) the way a pure JS developer interacts with the SDK? Do any of the other type definitions need to know about it? Etc.

Hey Lance, I'll try to answer some of the questions.
TL;DR; Javascript users will get the same experience. TS developers and SDK developers will get better autocompletion and less code duplication.

Yes I think this could be ok. I am not too concerned about the filename changes. I don’t love the continuous tsc but I can live with it.

OK. Yeah it's sorta bothersome in the beginning, but it's really lightweight and provides a pretty good devX imo.

What I want to better understand is how an interface fits in. What is the filename?

So, right now we are generating .ts files with tsc on js files. The generated files are named *.d.ts, still .ts files. Tsc infers the types and generates declarations. Ctrl+click to see the definition of the types. OK autocompletion but not great. I know it's painful the first time you look at a .ts file with interfaces, but it's worth understanding interfaces.
A TypeScript interface provides structure to a plain old JavaScript object. It's used by editors like VS Code and others, even if you're using plain JavaScript. Some npm modules.
It affects the SDK code writing { id, source, type, dataContentType, time, subject, dataSchema, schemaURL, dataContentEncoding, data, specversion } multiple times (no wrapper class).
When we publish the npm module, we publish our code which has a package.json file. This file can have a types property. This types property is used by editors to view the types.

How does it affect (if at all) the way a pure JS developer interacts with the SDK? Do any of the other type definitions need to know about it? Etc.

It doesn't affect the pure JS end developer. Pure JS developers do however often use editors like VS Code that provides inference via TS. TypeScript does not attempt to force the JS world to type TypeScript, it's strictly optional because it is a strict language superset.

I meant what I said when I said #155 could be the start of a gradual movement towards TS. And I admit that this comes from ignorance on my part. But I don’t think that I would have been able to get a 2.0 release out as quickly as I did if I had to also be learning the machinations of typescript in the meantime.

Great. It's fine to have everyone learn and contribute to the project with their own perspectives and requirements.

I’m happy to start making that journey right now.

Great to hear.

Closing in favor of #194


AzContext change for resource/resourceGroup discovery

Overview/Summary
Updated AzContext object creation to overcome Get-AzContext -ListAvailable 25 context limit causing random resource group discovery failures in larger environments.
Closing #555
Testing Evidence

Validated resourceGroup and resource discovery in test environment
Validated fix in environment that was previously failing with help from @egullbrandsson

As part of this Pull Request I have

[x] Checked for duplicate Pull Requests
[x] Associated it with relevant issues, for tracking and closure.
[x] Ensured my code/branch is up-to-date with the latest changes in the main branch
[x] Performed testing and provided evidence.
[x] Updated relevant and associated documentation.


Algolia search: How to display the Algolia logo?

Finally Algolia came back to me and allowed me to use their open source plan (See my comment) . But for this I would need to display their logo. I have already downloaded their logo and stored under static/img. I also set under [params.search.algolia] the parameter show_logo = true. But I do not know how to provide the path for the logo.
Another question: In your GitHub advice how to install the search engine you refer to the file public/search.json but in your advice in the update page you refer to public/index.json. I assume the first reference (public/search.json) is the correct one as I cannot find an index.json file.

show_logo = true tells Algolia to show their logo next to the Algolia search box, as per the requirements of their free plan. If you don't see it, it might be worth updating Academic as you may be using an unreleased version (i.e. some point on the master branch).
The search index in the latest master version is named index.json. In the version you have, it appears to be named search.json.

The mapping of objectID to page is in the search index, so if you open the search.json and find be970e34d2195a0158f2da512b6f9f0c it should show which page is exceeding Algolia's free size limit. The JSON can be manually edited if you wish, for example to set the content parameter for that long page to an empty string (but obviously this wouldn't be very sustainable).
If you continue to experience issues with Algolia, you may wish to consider using the built-in search or setting up something like Google's custom search and pasting the code they provide into the body of the custom widget to form your own tailored advanced search widget.

Your answer was very helpful. I understand now the problem: The text parts of my articles are too long, they exceed the free quota of Algolia. To shorten the text in the JSON index file would have been a possibility, but a very cumbersome one. I would have it to do with all long articles and every time when I prepare a new index. So I have finally changed to indexing only the summary. I know that this is not an good solution but it works at least.
You mentioned the built-in search engine with setting up Google's custom search. I tried it and received a code snippet. But I do not know where to insert this snippet. Could you please advice me how to do?


[B2C] authority type "p=policy" is not supported

Link: B2C auth flow wiki
There are two types of B2C authority

https://`[authority]/tfp/[tenantName/tenantID]/[policy]`/oauth2/v2.0/token
https://`[authority]/[tenantName/tenantID]/oauth2/v2.0/token?p=[policy]`

MSAL 0.1 and current 0.2 only support the first type. And there is also an on-going discussion on the usage of  second type.

We are not going to support “p=“.


html-formatter: Cannot generate HTML report from NDJSON file

Summary
I'm using @cucumber/cucumber version 7.0.0-rc.0 with Node.js 14.15.0. I installed cucumber-html-formatter globally (as instructed in the README), and after running the tests that generates the NDJSON file, the report fails.
Expected Behavior
The report should be generated.
Current Behavior
The report fails with:
[x80486@uplink:~/ccbr]$ cat reports/cucumber-messages.ndjson | cucumber-html-formatter --format ndjson > reports/index.html

/home/x80486/.asdf/installs/nodejs/14.15.0/.npm/lib/node_modules/cucumber-html-formatter/node_modules/cucumber-query/src/CucumberQuery.ts:200
      if (message.testCaseFinished.testResult.status === undefined) {
                                              ^
TypeError: Cannot read property 'status' of null
    at CucumberQuery.update (/home/x80486/.asdf/installs/nodejs/14.15.0/.npm/lib/node_modules/cucumber-html-formatter/node_modules/cucumber-query/src/CucumberQuery.ts:200:47)
    at /home/x80486/.asdf/installs/nodejs/14.15.0/.npm/lib/node_modules/cucumber-html-formatter/src/cli-main.tsx:41:21
    at Array.reduce (<anonymous>)
    at /home/x80486/.asdf/installs/nodejs/14.15.0/.npm/lib/node_modules/cucumber-html-formatter/src/cli-main.tsx:40:44
    at FSReqCallback.readFileAfterClose [as oncomplete] (internal/fs/read_file_context.js:63:3)

Possible Solution
No idea :sweat_smile:
Steps to Reproduce (for bugs)

Set up a Cucumber.js (TypeScript 4.0.5) project
Install cucumber-html-formatter globally via NPM
Add @cucumber/cucumber version 7.0.0-rc.0
Put some dummy test(s) in order to generate a cucumber-messages.ndjson file
Execute cat /path/to/cucumber-messages.ndjson | cucumber-html-formatter --format ndjson > index.html

Context & Motivation
Trying to see if the generated report is good enough to replace cucumber-html-reporter.
Your Environment

Version used: @cucumber/cucumber version 7.0.0-rc.0
Operating System and version: Linux uplink 5.4.74-1-lts #1 SMP Sun, 01 Nov 2020 12:58:27 +0000 x86_64 GNU/Linux
Link to your project: N/A

I installed cucumber-html-formatter globally (as instructed in the README)

What README is instructing you to do that?
The correct way to generate a HTML report with cucumber-js is to use --format html.

I was referring to the README at this location: https://github.com/cucumber/cucumber/tree/master/html-formatter/
Moreover, --format html doesn't do anything for me, and --format html:reports/cucumber-report.html
[x80486@uplink:~/ccbr]$ npm run test

><EMAIL_ADDRESS>pretest /home/x80486/ccbr
> mkdirp reports/

><EMAIL_ADDRESS>test /home/x80486/ccbr
> cucumber-js --profile default

Error: Cannot find module '/home/x80486/ccbr/html'
Require stack:
-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>- /home/x80486/ccbr/node_modules/@cucumber/cucumber/bin/cucumber-js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at Function.Module._resolveFilename (/home/x80486/ccbr/node_modules/tsconfig-paths/lib/register.js:75:40)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.loadCustomFormatter (/home/x80486/ccbr/node_modules/@cucumber/cucumber/src/formatter/builder.ts:107:29)
    at Object.getConstructorByType (/home/x80486/ccbr/node_modules/@cucumber/cucumber/src/formatter/builder.ts:81:33)
    at Object.build (/home/x80486/ccbr/node_modules/@cucumber/cucumber/src/formatter/builder.ts:42:51)
    at /home/x80486/ccbr/node_modules/@cucumber/cucumber/src/cli/index.ts:129:31
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>test: `cucumber-js --profile default`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/x80486/.npm/_logs/2020-11-09T11_45_25_442Z-debug.log

I have the same problem as above. I am running a typescript project, the cucumber command-line has : --format html:reports/report.html, but the html file is empty and I have the same type of error:
><EMAIL_ADDRESS>cucumber /Users/HDO/VSCodeProjects/cucumber-ts-starter
> node ./node_modules/@cucumber/cucumber/bin/cucumber-js features/**/*.feature --require env/set-environment-variables.ts --require world/custom-world.ts --require step-definitions/**/*.ts --require hooks/**/*.ts  --require-module ts-node/register --format-options "{\"snippetInterface\": \"async-await\"}" --format json:reports/cucumber-report.json --format html:reports/report.html --format summary --format progress-bar --publish-quiet

The built-in JSON formatter is deprecated and will be removed in the next major release. Where you need a structured data representation of your test run, it's best to use the `message` formatter. For legacy tools that depend on the deprecated JSON format, a standalone formatter is available (see https://github.com/cucumber/cucumber/tree/master/json-formatter).
Error: Cannot find module '/Users/HDO/VSCodeProjects/cucumber-ts-starter/html'
Require stack:
-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>- /Users/HDO/VSCodeProjects/cucumber-ts-starter/node_modules/@cucumber/cucumber/bin/cucumber-js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.loadCustomFormatter (/Users/HDO/VSCodeProjects/cucumber-ts-starter/node_modules/@cucumber/cucumber/src/formatter/builder.ts:107:29)
    at Object.getConstructorByType (/Users/HDO/VSCodeProjects/cucumber-ts-starter/node_modules/@cucumber/cucumber/src/formatter/builder.ts:81:33)
    at Object.build (/Users/HDO/VSCodeProjects/cucumber-ts-starter/node_modules/@cucumber/cucumber/src/formatter/builder.ts:42:51)
    at /Users/HDO/VSCodeProjects/cucumber-ts-starter/node_modules/@cucumber/cucumber/src/cli/index.ts:129:31

I believe this should be fixed in 7.0.0 - reopening this so we can confirm when it’s released.

7.0.0 is released and --format html now works - closing but please feed back if any specific issues with the formatter.

7.0.0 is released and --format html now works - closing but please feed back if any specific issues with the formatter.


V6 Seems some css issue with v6 site.

It seems there is something missing in bundling site. there is no CSS as of now  for examples.
http://redux-form.com/6.0.0-alpha.4/examples/syncValidation/

Well of course it doesn't work if you don't have my /etc/hosts setting and my nginx running locally to serve them! :facepalm:
Thanks. 😄

@erikras  Thanks :) trying to add some more examples :)


split yasm and vsyasm on Windows

Before adding new features and new modules, please go to issues to submit the relevant feature description first.
Write good commit messages and use the same coding conventions as the rest of the project.
Please commit code to dev branch and we will merge into master branch in feature
Ensure your edited codes with four spaces instead of TAB.

增加新特性和新模块之前，请先到issues提交相关特性说明，经过讨论评估确认后，再进行相应的代码提交，避免做无用工作。
编写友好可读的提交信息，并使用与工程代码相同的代码规范，代码请用4个空格字符代替tab缩进。
请提交代码到dev分支，如果通过，我们会在特定时间合并到master分支上。
为了规范化提交日志的格式，commit消息，不要用中文，请用英文描述。

I have no idea why this fails on windows-2022 runners, it works on my machine. maybe it runs the wrong yasm?

I have no idea why this fails on windows-2022 runners, it works on my machine. maybe it runs the wrong yasm?

maybe there is also anther yasm in msys2 path.

shouldn't we replace this with yasm.exe for Windows?
[Win32 .exe](http://www.tortall.net/projects/yasm/releases/yasm-1.3.0-win32.exe) (for general use on 32-bit Windows)
[Win64 .exe](http://www.tortall.net/projects/yasm/releases/yasm-1.3.0-win64.exe) (for general use on 64-bit Windows)

What's the difference between them?

It looks like vsyasm is just a frontend to yasm taking VS files.
However, ffmpeg guide for compilation on Windows says to download yasm.
Maybe we could use yasm here and make a separate package for vsyasm?

@waruqi I had to rename the file and move it in two os.mv so xmake doesn't think "yasm.exe" is a folder name, is there a better way around this?
        os.vmv(package:originfile(), "yasm.exe")
        os.vmv("yasm.exe", package:installdir("bin"))

Also it fails on VS2022 because it lacks the VS2010 redistributable (msvcr100.dll)
https://answers.microsoft.com/en-us/windows/forum/all/msvcr100-dll/826a842c-7a2f-4ebc-bb21-4cee86b234b0
How should this be handled within xmake?

@waruqi I had to rename the file and move it in two os.mv so xmake doesn't think "yasm.exe" is a folder name, is there a better way around this?
        os.vmv(package:originfile(), "yasm.exe")
        os.vmv("yasm.exe", package:installdir("bin"))

no, the originfile name is yasm-1.3.0-win64.exe, so the dest file path will be bin/yasm-1.3.0-win64.exe instead of yasm.exe. we should set the dest file name.
    on_install("@windows", "@mingw", "@msys", function (package)
        os.vmv(package:originfile(), path.join(package:installdir("bin"), "yasm.exe"))
    end)

Also it fails on VS2022 because it lacks the VS2010 redistributable (msvcr100.dll) https://answers.microsoft.com/en-us/windows/forum/all/msvcr100-dll/826a842c-7a2f-4ebc-bb21-4cee86b234b0
How should this be handled within xmake?

build and install it from source code?

Also it fails on VS2022 because it lacks the VS2010 redistributable (msvcr100.dll) https://answers.microsoft.com/en-us/windows/forum/all/msvcr100-dll/826a842c-7a2f-4ebc-bb21-4cee86b234b0
How should this be handled within xmake?

build and install it from source code?

vcredist is not opensource unfortunately

Also it fails on VS2022 because it lacks the VS2010 redistributable (msvcr100.dll) https://answers.microsoft.com/en-us/windows/forum/all/msvcr100-dll/826a842c-7a2f-4ebc-bb21-4cee86b234b0
How should this be handled within xmake?

build and install it from source code?

vcredist is not opensource unfortunately
Edit : oh you mean vsyam

right, build vsyasm

how to make cmake compile as host? like @windows,@linux,etc.?


⚠ Bofrost.nl has degraded performance

In 5a3ef51, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 1337 ms

Resolved: Bofrost.nl performance has improved in e890eca.


Add more info in the user profile info

Is your feature request related to a problem? Please describe.
The user profile does not contain all the information about the user.
Describe the solution you'd like
In addition to the name, username and default language, the email address and the user role should be displayed as well. The user role would be only a chip tag indicating if you are System Admin.
Describe alternatives you've considered
N.A.
Additional context
N.A.

this issue has been moved to YouTrack: DSP-280


pandas: Argument missing for parameter "by"

Environment data

Language Server version: Pylance language server 2020.9.0 (pyright 60eb2cca)
OS and version: macOS
Python version (& distribution if applicable, e.g. Anaconda): pandas==1.1.1

Expected behaviour
No type error, as this is correct behaviour according to the pandas docs
Actual behaviour
Argument missing for parameter "by" [10,1]
Code Snippet / Additional information

import pandas as pd

arrays = [['Falcon', 'Falcon', 'Parrot', 'Parrot'],
          ['Captive', 'Wild', 'Captive', 'Wild']]
index = pd.MultiIndex.from_arrays(arrays, names=('Animal', 'Type'))
df = pd.DataFrame({'Max Speed': [390., 350., 30., 20.]},
                  index=index)
df

df.groupby(level=0).mean()

This issue has been fixed in version 2020.9.5, which we've just released. You can find the changelog here: https://github.com/microsoft/pylance-release/blob/master/CHANGELOG.md#202095-16-september-2020


object too small to show, how to make default size for all object, not depends on object distance

Hi,
I set default beyondAR location using my coordinate and create my object about 500 meters from my location, but the object shows too small
How to set default object size in beyondAR, not depends on object distance ?
Thanks

At your camera view, get the distance of the user position and the object. Let's say it's 500 meters.
Use mBeyondarFragment.setPullCloserDistance(480); and the object will be rendered as it will at 20 meters. You can play with the values and get the right size...


Query_tracker_alerts odin check should indicate about dead queryTrackers

Right now, old and dead queryTrackers (cypress nodes in //sys/query_tracker/instances) do not ignite query_tracker_alerts odin check.
Only this error is written in check log, while check itself is green
Failed to check qt qt-address.net:9028 connectivity in orchid` error is written in log
...
yt.wrapper.errors.YtRpcUnavailable: Error executing Orchid request
    Request retries failed
        Channel terminated
            Error connecting to qt-address.net:9028
                Connect error
                    Connection timed out

https://github.com/ytsaurus/ytsaurus/blob/main/yt/odin/checks/bin/query_tracker_alerts/__main__.py#L28-L30
I suggest making the check yellow if it sees queryTrackers that it can't connect to (and that are not banned)

cc @achulkov2


Add PostgreSQL 17 support

Got compile error when building against PostgreSQL 17
Makefile:65: /contrib/contrib-global.mk: No such file or directory
make: *** No rule to make target '/contrib/contrib-global.mk'.  Stop.
[vagrant@el8 duckdb_fdw-1.0.0]$ make USE_PGRX=1
Makefile:65: /contrib/contrib-global.mk: No such file or directory
make: *** No rule to make target '/contrib/contrib-global.mk'.  Stop.
[vagrant@el8 duckdb_fdw-1.0.0]$ USE_PGXS=1 make
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type -Wshadow=compatible-local -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC -fvisibility=hidden -I. -I./ -I/usr/pgsql-17/include/server -I/usr/pgsql-17/include/internal  -D_GNU_SOURCE -I/usr/include/libxml2  -I/usr/include  -c -o connection.o connection.c
connection.c: In function ‘duckdb_fdw_get_connections’:
connection.c:682:3: warning: implicit declaration of function ‘tuplestore_donestoring’; did you mean ‘tuplestore_rescan’? [-Wimplicit-function-declaration]
   tuplestore_donestoring(tupstore);
   ^~~~~~~~~~~~~~~~~~~~~~
   tuplestore_rescan
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type -Wshadow=compatible-local -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC -fvisibility=hidden -I. -I./ -I/usr/pgsql-17/include/server -I/usr/pgsql-17/include/internal  -D_GNU_SOURCE -I/usr/include/libxml2  -I/usr/include  -c -o option.o option.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type -Wshadow=compatible-local -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC -fvisibility=hidden -I. -I./ -I/usr/pgsql-17/include/server -I/usr/pgsql-17/include/internal  -D_GNU_SOURCE -I/usr/include/libxml2  -I/usr/include  -c -o deparse.o deparse.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type -Wshadow=compatible-local -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC -fvisibility=hidden -I. -I./ -I/usr/pgsql-17/include/server -I/usr/pgsql-17/include/internal  -D_GNU_SOURCE -I/usr/include/libxml2  -I/usr/include  -c -o sqlite_query.o sqlite_query.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type -Wshadow=compatible-local -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC -fvisibility=hidden -I. -I./ -I/usr/pgsql-17/include/server -I/usr/pgsql-17/include/internal  -D_GNU_SOURCE -I/usr/include/libxml2  -I/usr/include  -c -o duckdb_fdw.o duckdb_fdw.c
duckdb_fdw.c: In function ‘sqlite_add_paths_with_pathkeys_for_rel’:
duckdb_fdw.c:781:10: error: too few arguments to function ‘create_foreignscan_path’
          create_foreignscan_path(root, rel,
          ^~~~~~~~~~~~~~~~~~~~~~~
In file included from duckdb_fdw.c:24:
/usr/pgsql-17/include/server/optimizer/pathnode.h:125:21: note: declared here
 extern ForeignPath *create_foreignscan_path(PlannerInfo *root, RelOptInfo *rel,
                     ^~~~~~~~~~~~~~~~~~~~~~~
duckdb_fdw.c:797:10: error: too few arguments to function ‘create_foreign_join_path’
          create_foreign_join_path(root, rel,
          ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from duckdb_fdw.c:24:
/usr/pgsql-17/include/server/optimizer/pathnode.h:133:21: note: declared here
 extern ForeignPath *create_foreign_join_path(PlannerInfo *root, RelOptInfo *rel,
                     ^~~~~~~~~~~~~~~~~~~~~~~~
duckdb_fdw.c: In function ‘sqliteGetForeignPaths’:
duckdb_fdw.c:889:9: error: too few arguments to function ‘create_foreignscan_path’
         create_foreignscan_path(root, baserel,
         ^~~~~~~~~~~~~~~~~~~~~~~
In file included from duckdb_fdw.c:24:
/usr/pgsql-17/include/server/optimizer/pathnode.h:125:21: note: declared here
 extern ForeignPath *create_foreignscan_path(PlannerInfo *root, RelOptInfo *rel,
                     ^~~~~~~~~~~~~~~~~~~~~~~
duckdb_fdw.c:1075:10: error: too few arguments to function ‘create_foreignscan_path’
   path = create_foreignscan_path(root, baserel,
          ^~~~~~~~~~~~~~~~~~~~~~~
In file included from duckdb_fdw.c:24:
/usr/pgsql-17/include/server/optimizer/pathnode.h:125:21: note: declared here
 extern ForeignPath *create_foreignscan_path(PlannerInfo *root, RelOptInfo *rel,
                     ^~~~~~~~~~~~~~~~~~~~~~~
duckdb_fdw.c: In function ‘sqliteGetForeignJoinPaths’:
duckdb_fdw.c:3600:13: error: too few arguments to function ‘create_foreign_join_path’
  joinpath = create_foreign_join_path(root,
             ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from duckdb_fdw.c:24:
/usr/pgsql-17/include/server/optimizer/pathnode.h:133:21: note: declared here
 extern ForeignPath *create_foreign_join_path(PlannerInfo *root, RelOptInfo *rel,
                     ^~~~~~~~~~~~~~~~~~~~~~~~
duckdb_fdw.c: In function ‘sqlite_add_foreign_grouping_paths’:
duckdb_fdw.c:4041:14: error: too few arguments to function ‘create_foreign_upper_path’
  grouppath = create_foreign_upper_path(root,
              ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from duckdb_fdw.c:24:
/usr/pgsql-17/include/server/optimizer/pathnode.h:141:21: note: declared here
 extern ForeignPath *create_foreign_upper_path(PlannerInfo *root, RelOptInfo *rel,
                     ^~~~~~~~~~~~~~~~~~~~~~~~~
duckdb_fdw.c: In function ‘sqlite_add_foreign_ordered_paths’:
duckdb_fdw.c:4191:17: error: too few arguments to function ‘create_foreign_upper_path’
  ordered_path = create_foreign_upper_path(root,
                 ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from duckdb_fdw.c:24:
/usr/pgsql-17/include/server/optimizer/pathnode.h:141:21: note: declared here
 extern ForeignPath *create_foreign_upper_path(PlannerInfo *root, RelOptInfo *rel,
                     ^~~~~~~~~~~~~~~~~~~~~~~~~
duckdb_fdw.c: In function ‘sqlite_add_foreign_final_paths’:
duckdb_fdw.c:4392:15: error: too few arguments to function ‘create_foreign_upper_path’
  final_path = create_foreign_upper_path(root,
               ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from duckdb_fdw.c:24:
/usr/pgsql-17/include/server/optimizer/pathnode.h:141:21: note: declared here
 extern ForeignPath *create_foreign_upper_path(PlannerInfo *root, RelOptInfo *rel,
                     ^~~~~~~~~~~~~~~~~~~~~~~~~
make: *** [<builtin>: duckdb_fdw.o] Error 1

fixed


inconsistent behaviour of delete command in debug console under nodejs

VSCode Version: 1.8.1

OS Version: 1607 build 14393.693

Node Version: 6.5.0

Steps to Reproduce:

Create a new project with a simple app.js file.
Copy snippet below to app.js

'use strict';
var x = {first: "j", last: "s", age: 35};
console.assert(x.age == 35);
delete x.first;
console.assert(x.age == 35);
delete x['last'];
console.assert(x.age == 35);
delete x['notexist'];
console.assert(x.age == 35);
delete x.notexist;
console.assert(x.age == 35);

Make a launch.json configuration with type: node or node2
The file will run and complete without errors.
Place a breakpoint in the code on line 8: delete x['notexist'];
Manually type the following code line by line into the Debug Console

delete x['notexist'];
x;
delete x.notexist;
x;

Match to the output I am recieving:

delete x['notexist'];
"true"
x;
Object {age: 35}
delete x.notexist;
TypeError: Cannot convert undefined or null to object
x;
undefined

The behaviour shown is well outside what I would expect. I would expect that under strict mode delete x['notexist']; would return a TypeError and leave object x unchanged. The second operation delete x.notexist; does return the error, but it also sets object x to undefined.
N.B. This only occurs under strict mode.
I have searched for an explanation for this behaviour and can't find one. If it is intentional I would appreciate understanding why.

路过

I see this with 'node' but not 'node2'. Can you confirm that you still see this when you use node2? I don't see it with Chrome devtools either, and node2 should work the same as that.

I wasn't careful when I was diagnosing this issue and inadvertently ran this configuration,
{
  // Use IntelliSense to learn about possible Node.js debug attributes.
  // Hover to view descriptions of existing attributes.
  // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Launch Program",
      "program": "${workspaceRoot}/app.js",
      "cwd": "${workspaceRoot}"
    },
    {
      "type": "node",
      "request": "attach",
      "name": "Attach to Process",
      "port": 9229 // node2 port
    }
  ]
}

Essentially I ran the 'node' type with the 'node2' port, however this also causes the issue. Also, you're correct that I can't replicate this in Chrome Dev Tools either. I assume the port number directly controls which version of node runs the code, and that the debugger connects to?

No, the only thing that determines which debug adapter runs is the 'type'

I see. This is getting into territory of VS Code and node that I am unfamiliar with. I have tested several conditions and here is what I have found. I have intermittently or consistently generated this error under each of these configurations (abbreviated):
{  // node with default port
      "type": "node", ...
},
{
      "type": "node",
      ...
      "port": 5858
}

{  // node with node2's default port
      "type": "node", ...
},
{
      "type": "node",
      ...
      "port": 9229
}

{  // node2 with default port
      "type": "node2", ...
},
{
      "type": "node2",
      ...
      "port": 9229
}

{  // node2 with node's default port
      "type": "node2", ...
},
{
      "type": "node2",
      ...
      "port": 5858
}

Also, heads up that you need to vary the input to see the result. If you follow the above instructions, pause at the breakpoint, MANUALLY enter the delete command and get the error, and then do the following:

Restart the session (Ctrl-Shift-F5)
Press up arrow, until the the delete command is available
Enter
You should notice a different behaviour from the first run (i.e. responds with true, and object is unmodified).
Press up arrow again, until the delete command is available
Modify the property name being deleted
Enter
The aberrant behaviour is back.

I've attached a clip.
app.js.webm.zip

Ok, but your video only shows running with 'node', and I agree that it reproes there. I just don't see it with node2. The port number won't make any difference.

Yes. Here's a video of the same behaviour under node2. it shows identical results including the difference between typing the delete command from the debug panel, and using up arrow to retrieve the previously used delete command.
I'm also receiving the same behaviour running outside of strict mode.
launch.json - classes - Copy - Visual Studio Code 2017-01-23 5_49_05 PM.zip

Oh, weird. And very weird that you see it with vscode but not Chrome devtools. I'll try again. Can you tell me which Node version you're using?
Also your change to the port won't have any effect - that was in the attach config, but you were running the launch config.

Node --version: 6.9.1
V8 --version: 5.1.281.84
The first video also contains an expanded watch of global process versions if you need any other process variables. I will try updating node and see if that helps.

This fell by the wayside. @jangajack is it still a problem in node8?


Protractor still does not work with manually bootstrapped Angular app

Only opening this because #66 is closed, due to this comment stating that manual bootstrapping is now supported, however, it is not actually true (yet), though I see a LOT of PRs and other issues related to this (a separate comment references #3857, which has many of the references I speak of).  The problem is, as a user of Protractor, its very hard to track what is going on around this problem, which has existed for a few years & across multiple versions.
Definitely don't want to be a nuisance, but from an outside/community member perspective, it appears that this issue continues to exist and #66 should not be closed.  There are a plethora of suggested workarounds, but I don't believe we have a definitive solution.
In my own experience, running Protractor against a good sized (but manually bootstrapped) Angular app, the tests flake out more than 50% of the time.
Definitely appreciate the work done here, thanks for any replies!

Btw, I think it would also be helpful to clarify:

Is this intended to work for AngularJS?  (1.x.x)
Is this intended to work for Angular?  (2+)

I am still working in an AngularJS app primarily.  Perhaps the intend was to fix it for Angular & ignore/wontfix the bootstrapping problem for AngularJS.  If so, it would be great to clearly document this.
Thanks again.


apply target condition to an edge device

after deploying sample-deployment.yaml,
kubectl get pods returns
NAME                                       READY   STATUS    RESTARTS   AGE
tempsensor-5bc6db6876-bw7sg                0/1     Running   0          15m

i wonder why the READY is 0/1?
here is the outcome of kubectl describe pod tempsensor
Name:               tempsensor-5bc6db6876-bw7sg
Namespace:          default
Priority:           0
PriorityClassName:  <none>
Node:               iot-edge-connector-hub0/
Labels:             app=tempSensor
                    pod-template-hash=5bc6db6876
Annotations:        isEdgeDeployment: true
                    loggingOptions:
                    priority: 15
                    targetCondition: tags.building='b43'
Status:             Running
IP:
Controlled By:      ReplicaSet/tempsensor-5bc6db6876
Containers:
  tempsensor:
    Image:        mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0
    Port:         <none>
    Host Port:    <none>
    Environment:  <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-7ptcd (ro)
Conditions:
  Type           Status
  Initialized    True
  Ready          True
  PodScheduled   True
Volumes:
  default-token-7ptcd:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-7ptcd
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  type=virtual-kubelet
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
                 virtual-kubelet.io/provider=iotedge:NoSchedule
Events:
  Type    Reason     Age   From               Message
  ----    ------     ----  ----               -------
  Normal  Scheduled  17m   default-scheduler  Successfully assigned default/tempsensor-5bc6db6876-bw7sg to iot-edge-connector-hub0`

Also my IOTedge deployments are not applied to any of my IoTedge devices.

is my IoTEdgedevice missing the target condition? how to set this target condition on the device?

@soheilade That is correct. See step 2 in this lab for an example on how to set this from the az CLI: https://github.com/veyalla/el1#add-an-iot-edge-device-in-iot-hub
 az iot hub device-twin update --device-id replace-with-deviceid --hub-name replace-with-hubname --set tags='{"building":"b43"}'

It can be done from the IoT Hub portal as well:

This lab has a more detailed walkthru, but I've not updated it for a while:
https://github.com/veyalla/iot-edge-custom-vision-kubernetes-lab

@veyalla , thanks, indeed useful. Is there a way to see messages produced by the temprature sensor? where does this sensor sends the data to?


[Bug] The drawn figure looks up

骨骼图画出来头总是向上仰

Can you attach pictures？

In the default figures, the head is indeed slightly tilted upward. Here are a couple of renders with default 3D Openpose figures and with different checkpoints. You can see that the characters have their chins up.
*) Don't mind the extra limbs - I was testing the possibility of adding that.


Adds documentation to README.md

Creates docker arg PHP_VERSION
Removes docker env VERSION

Hi @ezra-obiwale , thank you for your contribution!
I had a quick look and one thing that I'm not sure about is extracting the PHP version part of the tag to a build argument, I'd like to have dependabot keep the version up to date and having it as an argument won't work.


When a migration fails, error is not correctly printed out. Displaying "no such file or directory" instead

Expected Behavior
If there's a validation issue on a migration that is scheduled to run. The according validation errors should be shown, example:

Actual Behavior
Instead, a misleading, incorrect error is showing up instead:

Error: ENOENT: no such file or directory, open 'file:///Users/assisrmatheus/dev/perimetre/optrust-app/contentful/migrations/2024-07-11-09-24_blockCarouselItemLabel.js'
    at Object.readFileSync (node:fs:453:20)
    at renderStepsErrors (/Users/assisrmatheus/dev/perimetre/optrust-app/node_modules/contentful-migration/src/bin/lib/steps-errors.ts:37:29)
    at run (/Users/assisrmatheus/dev/perimetre/optrust-app/node_modules/contentful-migration/src/bin/cli.ts:153:24)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at migrate (/Users/assisrmatheus/dev/perimetre/optrust-app/contentful/migrate.ts:97:7) {
  errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: 'file:///Users/assisrmatheus/dev/perimetre/optrust-app/contentful/migrations/2024-07-11-09-24_blockCarouselItemLabel.js'
}

I am not sure that this is mac only, but since it's the current OS I'm using. Might as well be the case. But can't discard it's also not happening on other OSs as well
This is how migrations are being ran:
const { runMigration } = await import('contentful-migration');
for (const migration of migrationsToRun) {
  const migrationModule = await import(migration.path);
  const migrationFunction = migrationModule.default;

  console.log(`Migration: ${migration.name}`);
  await runMigration({
    spaceId: process.env.CONTENTFUL_SPACE_ID,
    environmentId: process.env.CONTENTFUL_ENVIRONMENT,
    accessToken: process.env.CONTENTFUL_MANAGEMENT_API_ACCESS_TOKEN,
    yes: true,
    migrationFunction
  });
  console.log(`Migration ${migration.name} completed`);
}

Possible Solution
The fix for the CLI is on pr #1333.
As a user, you can edit the file at /node_modules/contentful-migration/built/bin/lib/steps-errors.js and add the following code:
// {...}
Object.defineProperty(exports, "__esModule", { value: true });
const fs = __importStar(require("fs"));
+ const url = __importStar(require("url"));
const cardinal = __importStar(require("cardinal"));
// {...}
const errorsByFile = _.groupBy(errors, (error) => {
        const intent = error.details.intent;
        return intent.toRaw().meta.callsite.file;
    });
    const messages = [];
    for (const file of Object.keys(errorsByFile)) {
+        const filepath = file.startsWith(`file://`) ? url.fileURLToPath(file) : file;
+        const fileContents = fs.readFileSync(filepath, 'utf-8');
        const highlightedCode = cardinal.highlight(fileContents, { linenos: true });
        const lines = highlightedCode.split('\n');
+        const fileErrorsMessage = (0, chalk_1.default) `{red Errors in ${filepath}}\n\n`;
        const errorMessages = errorsByFile[file]
            .map((error) => {
            const intent = error.details.intent;
            const callsite = intent.toRaw().meta.callsite;
// {...}

Steps to Reproduce

Create a migration that has validation errors, with invalid actions
Execute the migration by providing it as a migration function

Environment

Node Version: v20.11.1 - Using ES Modules
Package Manager Version: 10.2.4
Operating System:  macOS Sonoma 14.5 - Darwin Matheuss-MBP 23.5.0 Darwin Kernel Version 23.5.0: Wed May  1 20:12:58 PDT 2024; root:xnu-10063.121.3~5/RELEASE_ARM64_T6000 arm64
Package Version: 4.20.2

Fixed with merge of #1333


Triggering Dialog raise error when using nested component from React.Children

Bug report
Current Behavior
I'm building Modal component, using Dialog primitive from radix-ui. Everything worked amazing until i decided that our Modal component will use React.Children to map nested component to proper places inside Dialog.Root wrapper.
The problem is, that there is an error showing app in console when triggering modal/dialog (everything on frontend seems to work as expected but.. well error is happening :)

Here is the repository where there is example of what i'm talking about:

https://github.com/marckraw/slot-issue-radix

Here is deployed version of it to see the issue instantly:
- https://slot-issue-radix.vercel.app/

(While writing this issue, found out that it doesnt happen after deployed to production version of Next.js, but is happening locally)
Here is the main part of component
const Modal: FC<ModalProps> = ({ children }) => {
  const childrenArray = React.Children.toArray(children);
  console.log(childrenArray);
  const toSlots = childrenArray.reduce((prev: any, next: any) => {
    return {
      ...prev,
      [next.type.displayName]: next,
    };
  }, {});

  console.log(toSlots);
  return (
    <Dialog.Root>
      {toSlots.ModalTrigger}
      <Dialog.Portal>
        <Dialog.Overlay className={styles.modalOverlay} />
        {toSlots.ModalContent}
      </Dialog.Portal>
    </Dialog.Root>
  );
};

And part where we use this component:
<Modal>
  <ModalTrigger>Trigger my modal</ModalTrigger>
  <ModalContent>

Demo

      Pellentesque habitant morbi tristique senectus et netus et malesuada
      fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae,
      ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam
      egestas semper. Aenean ultricies mi vitae est. Mauris placerat
      eleifend leo.

      Pellentesque habitant morbi tristique senectus et netus et malesuada
      fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae,
      ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam
      egestas semper. Aenean ultricies mi vitae est. Mauris placerat
      eleifend leo.

  </ModalContent>
</Modal>

Expected behavior
Should not raise an error.
Reproducible example
https://github.com/marckraw/slot-issue-radix
Your environment
React, Next.js, newest Radix Dialog component

@marckraw Seems this approach is attempting to pass refs to your standard function comps, the error wouldn't appear in prod as it's a dev only warning afaik.
One solution would be to simply ensure all of you recomposition's forward a ref correctly, eg:
const ModalContent = React.forwardRef(({ children, ...rest }, forwardedRef) => {
  return (
    <Dialog.Content {...rest} className={styles.modalContent} ref={forwardedRef}>
      {children}
      <Dialog.Close>Exit</Dialog.Close>
    </Dialog.Content>
  );
});

Though I'm curious on this approach, why not simply close over the Portal and Overlay inside ModalContent?

@andy-hook ah yeah, now it works perfectly fine in dev and prod, when passing refs :)
Thx!


get participant share list in JS sdk

Is there a way to programmatically see if a user is allowed to share their screen in a meeting? I know there are ways to restrict who can share when creating the meeting, I just cant find that info in the JS sdk. The closest thing I've found is the UserMeetingRole enum linked below, but that is in the live-share sdk.
https://learn.microsoft.com/en-us/javascript/api/@microsoft/live-share/usermeetingrole?view=msteams-client-js-latest#@microsoft-live-share-usermeetingrole-presenter

@kmulvey-frameable - Using JS SDK, there is no way to check if a user is allowed to share their screen in a meeting or not.
To achieve your requirements, we recommend you give your feedback in Teams Feedback Portal.

@Prasad-MSFT thanks


Bugfix/ohos 700 portability issues migrating local builds

Do not merge without discussion. This branch is  116 behind/ 43 in front, there is a guarantee of something odd happening.
Things to check, and make sure you're happy with:
1 - That this covers everything you're expecting.
2 - There are certainly things that are going to need updating the first time this PR is looked at. Please do let me know what they are.

Doing docker compose, I get
ohos_observatory_kong | nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /usr/local/kong/nginx.conf:6
ohos_observatory_kong | 2022/10/25 09:48:27 [error] 1108#0: init_by_lua error: /usr/local/share/lua/5.1/kong/init.lua:553: error parsing declarative config file kong_config.yml:
ohos_observatory_kong | kong_config.yml: No such file or directory
ohos_observatory_kong | stack traceback:
ohos_observatory_kong |         [C]: in function 'error'
ohos_observatory_kong |         /usr/local/share/lua/5.1/kong/init.lua:553: in function 'init'
ohos_observatory_kong |         init_by_lua:3: in main chunk
ohos_observatory_kong | nginx: [error] init_by_lua error: /usr/local/share/lua/5.1/kong/init.lua:553: error parsing declarative config file kong_config.yml:
ohos_observatory_kong | kong_config.yml: No such file or directory
ohos_observatory_kong | stack traceback:
ohos_observatory_kong |         [C]: in function 'error'
ohos_observatory_kong |         /usr/local/share/lua/5.1/kong/init.lua:553: in function 'init'
ohos_observatory_kong |         init_by_lua:3: in main chunk
ohos_observatory_kong | Error: /usr/local/share/lua/5.1/kong/cmd/start.lua:64: failed to start nginx (exit code: 1)

Adjusted. My bad - that was a from a line leftover when testing various options.


Update tags to add error tag only if an error occurred

Purpose

Update tags to add error tag only if an error occurred

Codecov Report

Merging #22046 into observability-improvements will not change coverage by %.
The diff coverage is n/a.

@@                     Coverage Diff                     @@
##           observability-improvements   #22046   +/-   ##
===========================================================
  Coverage                       14.67%   14.67%
===========================================================
  Files                              51       51
  Lines                            1404     1404
  Branches                          216      216
===========================================================
  Hits                              206      206
  Misses                           1182     1182
  Partials                           16       16

Continue to review full report at Codecov.

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


another time out issue on failed to purge

2015-02-13 21:04:17,609  ERROR [node.db.DeletedNodeCleanupWorker] [DefaultScheduler_Worker-5] Failed to purge nodes.  If the purgable set is too large for the available DB resources
then the nodes can be purged manually as well.
Set log level to WARN for this class to get exception log:
Max commit time:<PHONE_NUMBER>148
Error:
Error updating database.  Cause: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction
The error may involve alfresco.node.delete_NodePropsByTxnCommitTime-Inline
The error occurred while setting parameters
SQL: delete from alf_node_properties         where exists         (             select 1             from                 alf_node node                 join alf_transaction txn on (txn.id = node.transaction_id)             where                 node.type_qname_id = ? and                 alf_node_properties.node_id = node.id and                 txn.commit_time_ms < ?         )
Cause: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction
; SQL []; Lock wait timeout exceeded; try restarting transaction; nested exception is java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction
Feb 13, 2015 9:19:23 PM org.apache.coyote.http11.AbstractHttp11Processor process
INFO: Error parsing HTTP request header

not seen this since last updates, and memory increased to 2.5m, closing.