AN is not gettign disabled to the last ports in a loop

Tried the below snippet
import pytest
import snappi
from tests.common.fixtures.conn_graph_facts import conn_graph_facts,fanout_graph_facts
from tests.common.ixia.common_helpers import get_vlan_subnet, get_addrs_in_subnet,get_peer_ixia_chassis
from tests.common.ixia.ixia_helpers import IxiaFanoutManager, get_tgen_location
from tests.common.ixia.ixia_fixtures import tgen_ports,snappi_api
from tests.common.helpers.assertions import pytest_assert
from tests.common.utilities import wait_until
logger = logging.getLogger(name)
PORT_COUNT=6
MPATH=PORT_COUNT-1
#@pytest.fixture(scope='module')
def test_bgp_convergence_config(snappi_api,tgen_ports):
"""
1.Configure IPv4 EBGP sessions between the test ports
2.Advertise IPv4 routes
3.Configure and advertise same IPv4 routes
4.Configure another IPv4 session to send the traffic.
"""
config = snappi_api.config()
for i in range(1,PORT_COUNT+1):
    config.ports.port(name='Test Port %d'%i,location=tgen_ports[i-1]['location'])
    config.devices.device(name='Topology %d'%i,container_name=config.ports[i-1].name,device_count=1)

config.options.port_options.location_preemption = True

def confLayer1():
    for i in range(1,PORT_COUNT+1):
        layer1 = config.layer1.layer1()[-1]
        layer1.name = '%s port settings'%config.ports[i-1].name
        layer1.port_names = [config.ports[i-1].name]
        layer1.ieee_media_defaults = False
        layer1.auto_negotiation.rs_fec = False
        layer1.auto_negotiation.link_training = False
        layer1.speed= "speed_100_gbps"
        layer1.auto_negotiate = False

confLayer1()
snappi_api.set_config(config)
return config

After running this the last ports AN is not still disabled for the rest of the ports AN is off
If I run the script once again then AN is turned off for the last port and link comes up

@selldinesh : Hi Dinesh, not able to reproduce this issue with my Novus 100G setup. Can you replace the tgen_ports with your ports and try to run this script. The validation part is added as well, would be easy to find out where it is failing
def test_issue_229(api):
    PORT_COUNT = 4
    auto_negotiate = False
    ieee_media_defaults = False
    link_training = False
    rs_fec = False
    tgen_ports = [{'location': '<IP_ADDRESS>;1;5'},
                  {'location': '<IP_ADDRESS>;1;6'},
                  {'location': '<IP_ADDRESS>;1;7'},
                  {'location': '<IP_ADDRESS>;1;8'}]

    config = api.config()
    for i in range(1, PORT_COUNT+1):
        config.ports.port(name='Test Port %d' % i,
                          location=tgen_ports[i-1]['location'])
        config.devices.device(name='Topology %d' % i,
                              container_name=config.ports[i-1].name,
                              device_count=1)

    config.options.port_options.location_preemption = True

    def confLayer1():
        for i in range(1, PORT_COUNT+1):
            layer1 = config.layer1.layer1()[-1]
            layer1.name = '%s port settings' % config.ports[i-1].name
            layer1.port_names = [config.ports[i-1].name]
            layer1.ieee_media_defaults = False
            layer1.auto_negotiation.rs_fec = False
            layer1.auto_negotiation.link_training = False
            layer1.speed = "speed_100_gbps"
            layer1.auto_negotiate = False

    confLayer1()
    api.set_config(config)
    validate_layer1_config(api,
                           auto_negotiate,
                           ieee_media_defaults,
                           link_training,
                           rs_fec)

def validate_layer1_config(api,
                           auto_negotiate,
                           ieee_media_defaults,
                           link_training,
                           rs_fec):
    """
    Validate Layer1 Configs using Restpy
    """
    ixnetwork = api._ixnetwork
    for port in ixnetwork.Vport.find():
        print(port.Location)
        type = (port.Type)[0].upper() + (port.Type)[1:]
        assert getattr(port.L1Config, type).EnableAutoNegotiation \
            == auto_negotiate
        assert getattr(port.L1Config, type).IeeeL1Defaults \
            == ieee_media_defaults
        assert getattr(port.L1Config, type).EnableRsFec \
            == rs_fec
        assert getattr(port.L1Config, type).LinkTraining \
            == link_training```

Hi Anish,
Sure, Will run it by tmrw and let you know the status.
Thanks,
Dinesh
From: ANISH-GOTTAPU<EMAIL_ADDRESS>Sent: Sunday, February 28, 2021 11:21 PM
To: open-traffic-generator/ixnetwork<EMAIL_ADDRESS>Cc: Dinesh Sellappan<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [open-traffic-generator/ixnetwork] AN is not gettign disabled to the last ports in a loop (#299)
CAUTION: This message originates from an external sender.
@selldineshhttps://urldefense.com/v3/__https:/github.com/selldinesh__;!!I5pVk4LIGAfnvw!2yNQouFZYMkqf0CfZo8GBxje1SN8GKYxswY-hB-H2saxPawTlXahf41qoFA61OU141Etz_E$ : Hi Dinesh, not able to reproduce this issue with my Novus 100G setup. Can you replace the tgen_ports with your ports and try to run this script. The validation part is added as well, would be easy to find out where it is failing
def test_issue_229(api):
PORT_COUNT = 4

auto_negotiate = False

ieee_media_defaults = False

link_training = False

rs_fec = False

tgen_ports = [{'location': '<IP_ADDRESS>;1;5'},

              {'location': '<IP_ADDRESS>;1;6'},

              {'location': '<IP_ADDRESS>;1;7'},

              {'location': '<IP_ADDRESS>;1;8'}]

config = api.config()

for i in range(1, PORT_COUNT+1):

    config.ports.port(name='Test Port %d' % i,

                      location=tgen_ports[i-1]['location'])

    config.devices.device(name='Topology %d' % i,

                          container_name=config.ports[i-1].name,

                          device_count=1)

config.options.port_options.location_preemption = True

def confLayer1():

    for i in range(1, PORT_COUNT+1):

        layer1 = config.layer1.layer1()[-1]

        layer1.name = '%s port settings' % config.ports[i-1].name

        layer1.port_names = [config.ports[i-1].name]

        layer1.ieee_media_defaults = False

        layer1.auto_negotiation.rs_fec = False

        layer1.auto_negotiation.link_training = False

        layer1.speed = "speed_100_gbps"

        layer1.auto_negotiate = False

confLayer1()

api.set_config(config)

validate_layer1_config(api,

                       auto_negotiate,

                       ieee_media_defaults,

                       link_training,

                       rs_fec)

def validate_layer1_config(api,
                       auto_negotiate,

                       ieee_media_defaults,

                       link_training,

                       rs_fec):

"""

Validate Layer1 Configs using Restpy

"""

ixnetwork = api._ixnetwork

for port in ixnetwork.Vport.find():

    print(port.Location)

    type = (port.Type)[0].upper() + (port.Type)[1:]

    assert getattr(port.L1Config, type).EnableAutoNegotiation \

        == auto_negotiate

    assert getattr(port.L1Config, type).IeeeL1Defaults \

        == ieee_media_defaults

    assert getattr(port.L1Config, type).EnableRsFec \

        == rs_fec

    assert getattr(port.L1Config, type).LinkTraining \

        == link_training```

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https:/github.com/open-traffic-generator/ixnetwork/issues/299*issuecomment-787716079__;Iw!!I5pVk4LIGAfnvw!2yNQouFZYMkqf0CfZo8GBxje1SN8GKYxswY-hB-H2saxPawTlXahf41qoFA61OU1OUCBBIs$, or unsubscribehttps://urldefense.com/v3/__https:/github.com/notifications/unsubscribe-auth/AJYBFH2I6UQK4S3V2WDERILTBM56DANCNFSM4YFSFROA__;!!I5pVk4LIGAfnvw!2yNQouFZYMkqf0CfZo8GBxje1SN8GKYxswY-hB-H2saxPawTlXahf41qoFA61OU1yM6Bbgg$.

@selldinesh any update on this ?

closing the issue, please re-open if issue is seen again


Fix #698 Added Unit test for Elastic Search.py file.

Added unit test functions for eslasticSearch
Description
Added Test_elasticsearch.py file which has unit test cases

test_add_and_get: This test method adds documents to the database using the add method of the ElasticsearchDB instance and then retrieves them using the get method. It checks if the retrieved documents match the expected values both by IDs and metadata using the assertEqual assertion.

test_query: This test method adds documents to the database and then performs a query using the query method. It checks if the results are a list of strings and if all the results are of string type.

test_count: This test method adds documents to the database and then checks the count of documents using the count method. It asserts that the count matches the expected value using the assertEqual assertion.

test_reset: This test method adds documents to the database, resets the database using the reset method, and then checks if the Elasticsearch index no longer exists. It uses the assertFalse assertion.

Fixes #698
Type of change
Please delete options that are not relevant.

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

Please delete options that are not relevant.

[ ] Unit Test

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[ ] I have checked my code and corrected any misspellings

Maintainer Checklist

[ ] closes #698  (Replace xxxx with the GitHub issue number)
[ ] Made sure Checks passed

Hey @Tushar-kalsi, thanks for the PR. Seems like the tests are failing. Can you please resolve the issue?

Closing this PR due to inactivity.


Creating a .bat File For Recording

Hello. I am interested in creating a Batch File to make scrcpy record a Video. What can I do?

In the scrcpy folder, just create a file named something.bat containing:
scrcpy --record file.mkv

Ahh. thank you. this will make my life a bit easier.

Hey @rom1v How would I combine another command with this one?

scrcpy --record file.mkv --fullscreen


Split out sysx package

The sysx package is generally useful and provides the generators and framework needed for generating syscalls not yet in Go.
This package could be used to simply packages such as https://github.com/docker/docker/tree/master/pkg/system and in many times negate the need to use such packages.
Additionally we can add functionality for copy_file_range() (https://lwn.net/Articles/659523/) which could be useful for continuity but even more useful for other projects.

Superseded by #63


Add Create Update Method to Contact API

I have added two new methods to the project.

CreateOrUpdate Contact based on email. This allows you to send one request for both updates and creates of new contacts with the email as the identifier.

AssociatedLists Deals. This allows you to query all deal associated to a particular Account or Contact.

@clarkd Let me know when you are able to pull this in. I would like to convert to using the nuget package instead of my fork.

CreateOrUpdate should also be added to Core.Interfaces.IHubSpotContactApi

Updated both Interfaces with the new methods.

Looks great - a minor comment on some naming consistency. Will get this merged & released as soon as possible!

Just updated the name.

Just released in v0.6.16!


setup/teardown for every test run in a templated test

Something that I've missd many times now for using robot test in a templated and more of a TDD manner is a teardown keyword that allows me to define which keyword to run whenever one "iteration" of a templated test is run, setup respectively.
I'm dealing with services and networking mocks that need a clear state whenever a test starts. If one test iteration fails, the state will not be "fresh" without a teardown followed by a setup.

Did you try using the Test Setup and Test Teardown in conjunction with the Test Template in the *** Settings *** section of a robot test suite?
http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#test-setup-and-teardown

Hi @bkhouri, thanks for this very interesting reply.
This indeed works and does what I want, so it helps :)
However, what I was trying, and where the Test Teardown lacked, was
`*** Settings ***
Test Setup      Test Setup KW
Test Teardown   Test Teardown KW
*** Test Cases ***
Run templated Keyword
[Template]    Test KW
1
2
3
<keyword section identical`
In this case, the templated test cases run, but there's only one setup/teardown:
`un templated Keyword                                                                                In Test Setup
.In Test case: 1
.In Test case: 2
.In Test case: 3
.In Test Teardown
Run templated Keyword                                                                                | PASS |
Satellite Log                                                                                | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed`
I wasn't clear to me from the docs that this would make a difference. The reason for why I chose a non-global template definition was for flexibility: For templating diffierent test cases I won't need a file for each.

When you use templates and want run multiple iterations per test, then the keyword used as a template needs to take care of possible iteration specific setup/teardown activities. With keywords implemented in Python you'd use something like try/finally or a with statement to ensure clean-up activities are always executed at the end. With higher level keywords defined in RF data you can use [Teardown]. In your case it could look like this:
Test Iteration KW
    [Arguments]   ${var}
    Iteration Setup KW
    Log To Console      In Test case: ${var}
    [Teardown]    Iteration Teardown KW

I would also be interested to have the global setup and teardown routines, defined in the *** Settings *** section, run after each iteration of the template. Is this place the good place to ask for an update or request a feature? 🤔

Could you clarify why that would be beneficial compared to what's already possible by using keyword teardown?

Hello
Thank you for getting back.
Current status
I have very standard setup and teardown routines.
The setup routine 1) starts the application under test, 2) creates a temp working directory.
The teardown routine does the opposite i.e. 1) shuts down the application, 2) delete the tmp folder.
I usually have a mix of individual tests with templated tests in the same Robot file. The setup and teardown routines are defined globally for the individual tests. They should also be called for each sub-test of the templated tests. In order to achieve this, I do the following:
The extra work consists of:

undefining the global setup and teardown routines at the beginning and end of the templated test
redefine the setup routine at the beginning of the templated test
redefine the teardown routine at the end of the templated test
Cf picture.

Potential benefit
I wish I could save this extra work and these routines would be called before and after each sub-test of templated tests. In the picture, you can see the desired syntax.

I prefer test setup/teardown being executed once per test. Even if you were able to convince me that they should be run for each templated interation, Changing how current setup/teardown works isn't possible for backwards compatibility reasons.


Adding to the connector pane breaks compatibility within VeriStand

This update means there is a compatibility breakage between any custom devices built prior to december 2019 and any custom devices built after, as well as any custom devices built using the prior version of the inline async api. Since this is not on the NI tools network, the following scenario is exceedingly likely:

Customer downloads the latest releases from github for NI-built CDs
Customer receives custom devices from third parties that develop their own CDs for hardware
System does not deploy due to incompatibility between custom devices (and we all know the error is useless and just says "the vi is broken")

An equivalent scenario is that a customer has had a system deployed since before december 2019, tries to update their custom device for a bug fix or other reason, and then the system fails to deploy.
Since this inline async api has been a recommended development template for many years and underpins a huge number of already developed custom devices, this issue is to request that you consider reverting this change and implementing it in a way that doesn't break existing code, by creating a replacement init function (leaving the old one the same) or some other mechanism.

I can give a try to changing the load order later this week, but to your point in section 2, I doubt that will work. You're right about the bug fixes, its an unfortunate side effect of how dependencies have always been managed in VeriStand builds, and especially with the inline async custom device since it underpins so many CDs.
I agree with the two paths you described. I know DSF uses the global variable/ppl approach, but that would scare me for my own purposes, since it seems like there are CARs in the comments near the use of that global, which tells me "R&D may change this without telling anyone at some point". The PPL approach also makes building these CDs (and dsf plugins) a horrible experience -- so it seems to be a tradeoff between making it so anyone can download a custom device and click build, but it might unexpectedly break, or most CDs play nice together but it makes building them off limits to the average user (or at least at the top of a steep learning curve).
The build renaming is also not great for a few reasons (although I still prefer it):

It can bloat the build size significantly depending on how many dependencies you rename
LabVIEW doesn't properly rename files in the build unless you rename each lvlib manually. You can't put all of your dependencies in a folder and say "rename everything in this folder" because that feature does not appear to work with some combination of veristand/lvlibs/classes. Not sure which one, I never investigated past figuring out that if I just put all of my dependencies in one big lvlib and rename that, it works....

Except for VI.lib dependencies, which you obviously can't do that to

The classes-in-source-distribution problem still remains in this case, while the ppl version eliminates it. For my CDs I made a compile step which 'auto-includes' all of the stray dynamic dispatch methods it finds in the same folder at the main llb, but this is again something that most users arent going to know to do, and it also makes any CD update with my code a cluster of "delete every cache on the target and the host, reboot, restart veristand, and hopefully that works'.

As for the repo moving, I'd suggest adding notes indicating where its moved to and archiving the old repo. With all of the movement between NIVeristandadd-ons and /ni, there isn't always consistency. For example, which of these is the right one?
https://github.com/NIVeriStandAdd-Ons/FPGA-Custom-Device
https://github.com/ni/niveristand-fpga-addon-custom-device
Theres no comments I can see in either place indicating which is which, both versions are semi-active (Dan just updated what I assumed was the "old" one only 2 months ago)
In contrast this custom device is obviously archived with a comment indicating where to go:
https://github.com/NIVeriStandAdd-Ons/niveristand-scan-engine-ethercat-custom-device
So I'm wondering is there a reason for the inconsistency? Is it intended that the NIVeriStandadd-ons section is still for aes/se work and the ni one is only for R&D work? What about situations where both are active, as with the FPGA CD (or the inline async)

So I'm wondering is there a reason for the inconsistency? Is it intended that the NIVeriStandadd-ons section is still for aes/se work and the ni one is only for R&D work? What about situations where both are active, as with the FPGA CD (or the inline async)

R&D has been migrating repos over to https://github.com/ni as they have taken ownership of them, but inclusion on https://github.com/ni doesn't necessarily imply R&D support. We are trying to consolidate the number of GitHub organizations in general.
The inline-async repository should have been archived when we migrated it to this repository. That was a missed item on a checklist. This repository is the source of truth for it moving forward.
@bogdanp-ni can you confirm that the NIVeriStandAdd-Ons version of the FPGA custom device should be archived?

@nidaring there is good insight into problems with the current custom device workflow above.

@rtzoeller  we have seen having this mix of custom devices with different versions of inline async even completely crashing PharLap target....

@smithed180 @rtzoeller The FPGA Addon has moved to being officially supported by R&D and the repo is https://github.com/ni/niveristand-fpga-addon-custom-device. I will make sure the old one (https://github.com/NIVeriStandAdd-Ons/FPGA-Custom-Device) gets archived, thank you for bringing this up!


Added Ayah app

Hey,
I want to make total apps number a nice number 165. KPT has a URL Scheme ? I want to add it.
Thanks.

Thanks. KPT doesn't have a URL scheme, Dama King has if you're interested:
damaking://


Fix for the fix to 1180.

MPJ needed to patch shmish111/servant-purescript, but the patch was
applied to the wrong branch. It was applied to master, should have
been against purs012.
Fixed and fixed.

:man_facepalming:

Easily missed. :-)
For the record, pkgs/default.nix needed updating too. That's why it didn't show up on Hydra.


awsome project

          awsome project

Originally posted by @kiloncard94 in https://github.com/NuGetPackageExplorer/NuGetPackageExplorer/issues/1677#issuecomment-2394787984

ty!


Verify correctness of the hash proposal prior to governance vote

As per the spec, all frontend allowing governance vote should now verify the correctness of the linked proposal.
Related issues:

https://github.com/vegaprotocol/protos/issues/401
https://github.com/vegaprotocol/vega/issues/5192

Related spec:

https://github.com/vegaprotocol/specs/pull/1006

Currently only freeform governance proposals require hash and url. In that case or if one is present the FE should verify that is an IPFS link and not something (IPNS?) that could be changed.
Where this is referenced in the spec:
https://github.com/vegaprotocol/specs/blob/master/protocol/0028-GOVE-governance.md#types-of-proposals
Test:
Whatever is at the URL will be loaded by the FE and treated as markdown. Verify against the hash that the content / hash is OK. Warn users that its not verified so the users can take action on forums etc...

@edd - please can you have a review / investigation into this issue and help refine it ahead of next sprint.

Questions - Which API endpoint / gateway do we use to trust that something is on IPFS and is valid?

How do we display what we fetch from IPFS, assuming is is markdown
How do we verify that it is markdown
What do we display assuming it is or is not valid?

See https://github.com/vegaprotocol/specs/issues/1184 and https://github.com/vegaprotocol/vega/issues/5752#issuecomment-1202558675
Suggest we close this issue as a won't-fix

I think we should keep it. If it's IPFS, and we can fetch it via a gateway, we try and render it as markdown. Any other situation: just show the link.


Packages don't seem to update in console

** Please describe which feature you have a question about? **
Hi,
I have a build issue that I'm struggling to solve. I've found that one of the recent package updates is causing it. So I've rolled back the package update and all the packages it might have been related to, but the issue is still there.
Wondering if rollback has not happened in my console for some reason, for example, due to caching.
** Provide additional details**

Forced the update through amplify.yml in build settings, and that solved the issue.

Hi @antonborysov I wasn't able to repro this, lemme know if this isn't what you did

setup live package updates for some dependency like amplify cli and set it to something like 'latest'
build, see the latest version
remove live package update for that dep
rebuild (for me, I see the older default version, in my case amplify cli 4.46 versus 4.29)

So it seems you should be able to do this without manipulating your buildspec. If you can provide a repro with details feel free to re-open and we can take a closer look.


No way to unmark task as done

Small note from when I tried using this: There doesn't seem to be a way to unmark a task as done.
I did a typo and marked the wrong task as done. Would be nice if todo done toggled the status of the task, or if there was a command such as todo undone

Perhaps it would be best to have a todo undo? That way, you store a minimum amount of things?

Hello!
I just release version 4.0.0 with the undone command :)

@foobuzz oh hey that's awesome!


Several modules / one extension

What is the best practice - to make one custom module per extension or one extension can contain several custom modules?

QA Checklist
Reporter

[ ] Helpful title used

Helpful title format: Scope(s) :: One Sentence To Describe The Issue
Example: VB :: Floating Toolbar :: Jumps To Top Of Page

[ ] Detailed description

Description should usually be 150+ characters.

[ ] Steps to reproduce included
[ ] Support Ticket URL included
[ ] Image and/or gif

Developer

[ ] Steps to reproduce proven solved
[ ] Test included and coverage acceptable and all Tests passing?
[ ] PR description has layman's description of problem and solution and "Areas Affected" listed/explained?
[ ] PR branch includes latest commits from master branch (at the time of checking)?
[ ] Estimated points on issue
[ ] Proper code documentation and conventions?
[ ] Proper RTL appearance
[ ] i18n used if applicable
[ ] Ajax/Form used? Nonce used? Perms checked? All user input sanitized and validated? Intentional unsanitized/unescaped functions used?
[ ] Database saved/updated? Data sanitized and validated?
[ ] Variable output properly escaped and validated?

Peer Review

[ ] PR branch includes latest commits from master branch (at the time of checking)?
[ ] Steps to reproduce proven solved
[ ] Affected areas are tested and ok
[ ] Proper code documentation and conventions
[ ] Proper RTL appearance
[ ] i18n used if applicable
[ ] Test(s) included and coverage acceptable
[ ] Ajax/Form used? Nonce used? Perms checked? All user input sanitized and validated? Intentional unsanitized/unescaped functions used?
[ ] Database saved/updated? Data sanitized and validated?
[ ] Variable output properly escaped and validated?

Quality Assurance

[ ] All tests passed on CircleCI.
[ ] Steps to reproduce passed, the fix works.
[ ] No errors in console or output
[ ] Affected areas are tested and ok
[ ] The fix does not change a customer's website in any surprising or unintended way

[ ] If Divi's design is adjusted, settings are migrated gracefully and invisibly

Design Review

[ ] UI is to spec
[ ] UX is to spec
[ ] Design is to spec
[ ] No surprising visual changes to a customer's website will be experienced after updating

[ ] Any/all visual changes are migrated gracefully

Dev Review

[ ] Test(s) included and coverage acceptable
[ ] Ajax/Form used? Nonce used? Perms checked? All user input sanitized and validated? Intentional unsanitized/unescaped functions used?
[ ] Database saved/updated? Data sanitized and validated?
[ ] Variable output properly escaped and validated?
[ ] i18n used if applicable
[ ] Implementation acceptable, DRY, Scaleable, future safe
[ ] Best practices used, cleverness and grokage, ES6 use, etc.

Since extensions are plugins, I think the best practice would be to put as many modules as you like into one extension. Simply copy the module folder (e. g. HelloWorld) and change the name of the folder, the php and jsx file. Also add the new module to the index.js file in the modules folder. Make sure that the module folder name and file names match because that caused me some trouble yesterday :P
Personally I will have some plugins with extensions containing only one module and others containing multiple modules. For example it would not make sense to install one plugin for each of my Toolset modules so I bundle them together in one extension.

@xxtesaxx summed it up nicely. Always group multiple modules into one extension when it makes sense to do so :smiley:


Error on Irregular require statements

Hi again! 👋
As I mentioned before, thanks for your work on this project! 🙂
Today I used patch-package to patch<EMAIL_ADDRESS>for the project I'm working on (source code for the plugin configuration here).
It seems require statements that don't match the expected pattern of declaration and instantiation in one expression (e.g. typeof window<"u"&&typeof require<"u"&&(window.Buffer=require("buffer/").Buffer);) cause an error that closes the program and fails to build:
error during build:
TypeError: Cannot read properties of undefined (reading 'at')
    at #cjsNodeToUnit (file:///C:/Users/tj_co/source/repos/crowd.bible-extension-paranext/node_modules/import-manager/src/core.js:403:46)
    at file:///C:/Users/tj_co/source/repos/crowd.bible-extension-paranext/node_modules/import-manager/src/core.js:147:57
    at c (file:///C:/Users/tj_co/source/repos/crowd.bible-extension-paranext/node_modules/acorn-walk/dist/walk.mjs:75:7)
    at Object.skipThrough (file:///C:/Users/tj_co/source/repos/crowd.bible-extension-paranext/node_modules/acorn-walk/dist/walk.mjs:180:37)
    at c (file:///C:/Users/tj_co/source/repos/crowd.bible-extension-paranext/node_modules/acorn-walk/dist/walk.mjs:73:22)
    at base.UnaryExpression.base.UpdateExpression (file:///C:/Users/tj_co/source/repos/crowd.bible-extension-paranext/node_modules/acorn-walk/dist/walk.mjs:367:3)
    at c (file:///C:/Users/tj_co/source/repos/crowd.bible-extension-paranext/node_modules/acorn-walk/dist/walk.mjs:73:22)
    at Object.skipThrough (file:///C:/Users/tj_co/source/repos/crowd.bible-extension-paranext/node_modules/acorn-walk/dist/walk.mjs:180:37)
    at c (file:///C:/Users/tj_co/source/repos/crowd.bible-extension-paranext/node_modules/acorn-walk/dist/walk.mjs:73:22)
    at base.BinaryExpression.base.LogicalExpression (file:///C:/Users/tj_co/source/repos/crowd.bible-extension-paranext/node_modules/acorn-walk/dist/walk.mjs:370:3)
dep-79892de8.js:12548
Process exited with code 1

Essentially, it seems that core.js's #cjsNodeToUnit assumes the acorn node will be a straight-forward expression with declaration and instantiation without any complexity (e.g. var name = require('mod');). However, I just received the error when #cjsNodeToUnit was trying to parse the node when the code variable was set to typeof window<"u"&&typeof require<"u"&&(window.Buffer=require("buffer/").Buffer); (I think some dependency of mine was trying to polyfill Buffer). I stringified the node, whose contents follow in the dropdown:
JSON.stringify(node, null, 2)
{
  "type": "ExpressionStatement",
  "start": 21948,
  "end": 22029,
  "expression": {
    "type": "LogicalExpression",
    "start": 21948,
    "end": 22028,
    "left": {
      "type": "LogicalExpression",
      "start": 21948,
      "end": 21985,
      "left": {
        "type": "BinaryExpression",
        "start": 21948,
        "end": 21965,
        "left": {
          "type": "UnaryExpression",
          "start": 21948,
          "end": 21961,
          "operator": "typeof",
          "prefix": true,
          "argument": {
            "type": "Identifier",
            "start": 21955,
            "end": 21961,
            "name": "window"
          }
        },
        "operator": "<",
        "right": {
          "type": "Literal",
          "start": 21962,
          "end": 21965,
          "value": "u",
          "raw": "\"u\""
        }
      },
      "operator": "&&",
      "right": {
        "type": "BinaryExpression",
        "start": 21967,
        "end": 21985,
        "left": {
          "type": "UnaryExpression",
          "start": 21967,
          "end": 21981,
          "operator": "typeof",
          "prefix": true,
          "argument": {
            "type": "Identifier",
            "start": 21974,
            "end": 21981,
            "name": "require"
          }
        },
        "operator": "<",
        "right": {
          "type": "Literal",
          "start": 21982,
          "end": 21985,
          "value": "u",
          "raw": "\"u\""
        }
      }
    },
    "operator": "&&",
    "right": {
      "type": "AssignmentExpression",
      "start": 21988,
      "end": 22027,
      "operator": "=",
      "left": {
        "type": "MemberExpression",
        "start": 21988,
        "end": 22001,
        "object": {
          "type": "Identifier",
          "start": 21988,
          "end": 21994,
          "name": "window"
        },
        "property": {
          "type": "Identifier",
          "start": 21995,
          "end": 22001,
          "name": "Buffer"
        },
        "computed": false,
        "optional": false
      },
      "right": {
        "type": "MemberExpression",
        "start": 22002,
        "end": 22027,
        "object": {
          "type": "CallExpression",
          "start": 22002,
          "end": 22020,
          "callee": {
            "type": "Identifier",
            "start": 22002,
            "end": 22009,
            "name": "require"
          },
          "arguments": [
            {
              "type": "Literal",
              "start": 22010,
              "end": 22019,
              "value": "buffer/",
              "raw": "\"buffer/\""
            }
          ],
          "optional": false
        },
        "property": {
          "type": "Identifier",
          "start": 22021,
          "end": 22027,
          "name": "Buffer"
        },
        "computed": false,
        "optional": false
      }
    }
  }
}

It appears that there are no declarations in the statement, so node.declarations is undefined. When #cjsNodeToUnit accesses that property, it throws the error. acorn parses the expression with operator: '&&' and the actual assignment of the import (where it should have operator: '=') is nested in lefts and rights.
Fortunately for my current use case, I don't need to do any modification of this particular import statement, so I made a quick patch that essentially ignores the problematic line. However, I suggest a better long-term solution would be to traverse the node to find the operator: '=' and operate on that (accounting in any case for node.declarations being undefined).
Some other examples of different kinds of requires that likely don't match the expected pattern follow:
// Not tested, but I imagine declaring and assigning in two separate expressions would not work
var name; name = require('mod');
// Tested. If you run a require without any assignment or anything, it fails with the same error. These kinds of requires are useful for running modules' side effects
require('mod-with-side-effects');

Here is the diff that solved my problem:
diff --git a/node_modules/import-manager/cjs/import-manager.cjs b/node_modules/import-manager/cjs/import-manager.cjs
index 92314ec..56c5d3f 100644
--- a/node_modules/import-manager/cjs/import-manager.cjs
+++ b/node_modules/import-manager/cjs/import-manager.cjs
@@ -395,7 +395,6 @@ class ImportManagerUnitMethods {
  */

-
 class ImportManager {

     /**
@@ -520,6 +519,7 @@ class ImportManager {

                     else if (part.type === "Identifier" && part.name === "require") {
                         const unit = this.#cjsNodeToUnit(node);
+                        if (!unit) return;
                         unit.id = cjsId ++;
                         unit.index = cjsIndex ++;
                         unit.hash = this.#makeHash(unit);
@@ -772,6 +772,7 @@ class ImportManager {
      * @returns {object} - Import Manager Unit Object.
      */
     #cjsNodeToUnit(node) {
+        if (!node || !node.declarations || node.declarations.length >= 0) return;

         const code = this.code.slice(node.start, node.end);

diff --git a/node_modules/import-manager/cjs/import-manager.cjs.map b/node_modules/import-manager/cjs/import-manager.cjs.map
index a701837..f890886 100644
--- a/node_modules/import-manager/cjs/import-manager.cjs.map
+++ b/node_modules/import-manager/cjs/import-manager.cjs.map
 SOURCEMAP OMITTED
diff --git a/node_modules/import-manager/src/core.js b/node_modules/import-manager/src/core.js
index 717400c..f3cf31f 100644
--- a/node_modules/import-manager/src/core.js
+++ b/node_modules/import-manager/src/core.js
@@ -145,6 +145,7 @@ class ImportManager {

                     else if (part.type === "Identifier" && part.name === "require") {
                         const unit = this.#cjsNodeToUnit(node);
+                        if (!unit) return;
                         unit.id = cjsId ++;
                         unit.index = cjsIndex ++;
                         unit.hash = this.#makeHash(unit);
@@ -397,6 +398,7 @@ class ImportManager {
      * @returns {object} - Import Manager Unit Object.
      */
     #cjsNodeToUnit(node) {
+        if (!node || !node.declarations || node.declarations.length >= 0) return;

         const code = this.code.slice(node.start, node.end);

Thank you again for all your hard work on this awesome library!
This issue body was partially generated by patch-package.

Hi. I will take a look into this later. The cjs version is automatically generated via rollup.

Hi. I will take a look into this later.

No rush!! :) I'm not blocked because of the patch I made. Please take your time. Life is busy. Thanks for letting me know.

So first, thanks for reporting this issue. As always your issue is very informative and shows a deep understanding of the plugin. I think the patch you made is great for a quick fix. If you don't mind you can make a pull request with your changes. I think it is a good idea to add this return conditions to dynamic and es6 as well.
If you don't have the time, I will add those changes my myself.

I suggest a better long-term solution would be to traverse the node to find the operator: '=' and operate on that (accounting in any case for node.declarations being undefined).

I agree. I will work on a real solution. As I barely use common js myself but I really need some research on the possible cases to cover.

So first, thanks for reporting this issue. As always your issue is very informative and shows a deep understanding of the plugin. I think the patch you made is great for a quick fix. If you don't mind you can make a pull request with your changes. I think it is a good idea to add this return conditions to dynamic and es6 as well. If you don't have the time, I will add those changes my myself.

I suggest a better long-term solution would be to traverse the node to find the operator: '=' and operate on that (accounting in any case for node.declarations being undefined).

I agree. I will work on a real solution. As I barely use common js myself but I really need some research on the possible cases to cover.

Made PR #51 :) I didn't do any work on the others beside cjs, though, as I didn't see an obvious equivalent after a quick glance and don't have any test cases for it. Thanks again!

Great. Thanks. No, I neither see an equivalent case for the others, although dynamic important allow more creative constructions. I will just add it for the sake of completeness . If there is a situation, which wasn't anticipated this will prevent crashes.

Hmm I wonder if it would be wise to log the code when this happens so people at least know what's going on and can figure things out from there in the future.

Yes, it should say something like 'this is a bug' 😉

Resolved in #52
Left open for a real solution to come


Check image of person in pose against desire posed

Given an image like this:

How can we check if an image like this matches the pose?

The solution needs to:

Be fast
Slightly lenient (allow 90% match and better for example)
Able to move and resize images to fit better

This is now being replaced client side with MediaPipe!


Add ffpn collection

Please use the link of an image as your icon. @OrdiFact

This file is a gif. Github does not support gifs in profile pictures. D:
Thanks a lot for merge!


Update broadcasting and batching semantics for Pyro Distributions

We have made some major changes to the torch.distributions API, and would like to make this available in Pyro in its full generality. However, the current Pyro shape semantics are incompatible with this new API.
Some of these incompatibilities are as follows:

The batch and sample dimensions in Pyro are conflated, which makes it confusing for the user to determine the shape of the distribution parameters to be supplied, i.e. it is common to provide identical distribution parameters only to impose a shape on the sample.
Any batching (i.e. sample dimensions) is restricted to a single dimension, and does not support arbitrary shaped sample sizes.
In the absence of scalar support, batch_log_pdf upcasts the resulting score by appending an additional (1,) rightmost dimension. In the case of PyTorch, we have tried to localize this behavior to only upcast when any dimension reduction results in a 0 sized tensor. This makes the migration to torch.Scalar simpler.

By the next PyTorch release, we would like to have this rich and updated API available to Pyro. @fritzo and I decided that it will simplify the transition if Pyro's dev branch only tries to maintain compatibility with PyTorch's master instead of the release version which it does now (refer to Phase 1.5).
The transition plan is as follows:
Phase 1 - Changes in PyTorch:

[ ] Create implementations for all the Pyro distributions in PyTorch.
[ ] Build light wrappers around pyro.distributions in Pyro which preserve our current shape semantics.
[ ] Delete Pyro distributions and distribution tests. Migrate all major testing to PyTorch.

Phase 1.5 - Infra / internal changes to help with migration:
Can be done simultaneously with Phase 1.

[ ] Create a lightweight torch wheel that can be periodically updated to reflect the latest master. This will be useful for CI testing of Pyro dev against PyTorch master.
[ ] Make tutorials testable - tutorials need to be written using a format that allows for easy and fast testing of API related changes.
[ ] Add versioning to tutorials - Given that some of our changes will not be backwards compatible, we should version our tutorials to make it easy for our users to refer to the current version depending on their version of Pyro install.

Phase 2 - Internal change to Distributions API:

[ ] Update the wrappers to expose the full generality of the torch.distributions API. Resolve incompatibilities in inference algorithms like Trace_ELBO and TraceGraph_ELBO.
[ ] Update all examples and tutorials to use the new API.

@fritzo - Let me know if this looks okay, and feel free to make changes. We can add specific tasks too to track each of these sub-tasks.

Closing this.
@jpchen - Regarding tutorial versioning, I suppose that we ended up deciding to just support the release branch for the tutorials, right?

support the release branch for the tutorials, right?

unless theres a compelling reason to support old versions in tutorials, i think thats a safe bet


Dataset for Long Story Visualization

Hi,
Thank you for your excellent work. May I kindly ask if you could provide the long story visualization dataset used in the paper?
Thank you.

Thank you for your question. Since Story-Adapter is training-free, we do not have a corresponding long story visualization dataset; instead, we have designed long story cases for evaluation. Some examples are provided in run.py (https://github.com/jwmao1/story-adapter/blob/3c66de4d2bcb30d7480faf6180d9bcac31642b78/run.py#L12C1-L485C2).
If our paper can be accepted, we will consider publishing additional cases. Thank you again for your attention to our work.

Hi, I still have one question—sorry to bother you. As mentioned in the paper, you used aFID and aCCS for evaluation.
Do these metrics compute comparisons between the reference images and the generated images? If so, may I ask which reference images were used, considering there are multiple iterations?
Thank you for your time!

Thank you for your question. Regarding the aFID and aCCS evaluations, we first cropped out the regions of the same character in the story sequence using Grounding DINO, and used the first cropped image as a reference to compute the metrics between the rest of the cropped images and that reference image.


Dashboards: Create Charts with Multiple Datasets (1. Iteration)

User Story
As a user, I can create a dashboard consisting of multiple charts based on 2 different data sets and connect them with a global filter.
Demarcation
In this step we will work with the existing dashboard layouts (vertical and vertical) that are already available in visualize.
DoD
In Visualize, a dashboard consisting of multiple charts based on 2 different data sets can be created and linked to a global filter.

@ptbrowne I tested adding a chart based on a different dataset:

Add chart
Select different dataset
Preview table
I closed the search overlay with the close-icon to cancel that process
I go again to add a chart based on a different dataset
The overlay shows the data preview table to the chart that I selected in the process before

---> Could we achieve that the process of selecting a dataset is canceled by closing the overlay, meaning when I selected the next time a dataset that I don't end up directly at the preview?
Video of the problem

Yes sure, I fix this in https://github.com/visualize-admin/visualization-tool/pull/1541, it should be there soon.

Ill move my feedback to that PR

Thanks for the fix @ptbrowne and for suggesting the improvement @KerstinFaye
Tested  the improved behaviour on TEST and it LGTM!


How to disable opening of any other link in the player

When we click on related videos or YouTube icon in desktop mode; new links are opened in the player. Also we don't want copying of the url link by long press.
Is there a way to disable this?
I was thinking of using invokeJavascript() method, but what's the method inside this javascript that can be called to achieve above?
Thanks.

@prashantspandey
Have you got any solutions?

@prashantspandey
Have you got any solutions?

@97loser No solution yet?
@sarbagyastha  Please solve this one.

I have the same issue. I'd like to disable video interaction when users touch the player. I'm using youtube_player_iframe.


Make diagnostic code link to linter rule doc in IDE

Saw that eslint extension was doing this. Part solution to https://github.com/microsoft/typespec/issues/3043 which could also provide an explicit Open documentation Url command

For now all the API that gives that is limited to linter as other diagnostic cannot define a url. Due to this limited usage I left the API internal. The goal would be that any diagnostic can define a documentation url and connect to this.

You can try these changes here

🛝 Playground
🌐 Website
📚 Next docs


404 on static files

The template is working fine on development, but when I publish and deploy it on IIS, i am getting 404 error on the static files.

Hello @patricklouipedro ... This is the documentation repo. There are just a handful of doc authors here. You'll get a faster answer on a support forum, such as Stack Overflow, or a support chat, such as Gitter or Slack.


alias filter fields compounds

Summary of problem or feature request
How can I filter a column that is a composite from multiple fields for example the name of person
firstname concat lastname as person
Code snippet of problem
->addSelect(DB::raw("coalesce(assign_users.firstname || ' ' || assign_users.lastname, 'Pending') as assign_user"))
ERROR:  column "assign_user" does not exist
LINE 14: LOWER(CAST("assign_user" as TEXT)) LIKE '%something%'
System details

Operating System windows 10
PHP Version 5.6.18
Laravel Version 5.2
Laravel-Datatables Version:  "yajra/laravel-datatables-oracle": "^6.6" from my composer.json

You can use filterColumn for this case. See this demo for reference.

Using filter should work for this issue. Thanks!

thanks man Ill try this solution


React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.

Hello,
I get this error on use like your doc :
React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.
And HeaderImageScrollView component is not define as component : JSX element type 'HeaderImageScrollView' does not have any construct or call signatures.ts(2604)

Thanks in advance

Getting same issue!!

@Afondevi The demo code on package does not have updated import statements. Use this,
import { TriggeringView, ImageHeaderScrollView } from 'react-native-image-header-scroll-view';

@Afondevi The demo code on package does not have updated import statements. Use this,
import { TriggeringView, ImageHeaderScrollView } from 'react-native-image-header-scroll-view';

Thank you so much for this


Issue using union type with generic

Trying to convert function overloads to union type, I'm getting errors.
Here is a very simple code that shows the error:
class Animal { run() {} }
class Cat extends Animal {}
class Dog extends Animal {}

function run(a: Animal) {
	a.run();
}

function f<T extends Cat | Dog>(a: T) {
	a.run(); // OK.
	run(a); // Argument of type 'T' is not assignable to parameter of type 'Animal'.
}

I don't understand the difference TS makes between a.run() and run(a).

I believe this should work as you expect.

It's true that the spec predicts that T is assignable to Animal in section 3.10.4. Namely the final bullet,

T is an object type, a type parameter, or the Number, Boolean, or String primitive type, Animal is an object type, and for each member M ("run") in Animal,

M ("run") is a property and T has an apparent property N "run"

and so forth.
It is possible to fix the compiler to match this behavior. However, it does not scale to union types. For example, even if the compiler matches the spec, it would not work if the run function took a Cat | Dog instead of an Animal.
I believe the fix we need here (and it needs to be fixed in the spec as well) is that if the source type is a type parameter whose base constraint is a union type, then we need to check if that union type is assignable to the target. I will try to make this change, and see what the outcome is. Then we can change it in the spec if everybody is happy.
@ahejlsberg what do you think of this suggestion, barring any unexpected outcome?


Instance of 'Resource' has no 'spreadsheets' member

I'm running Quickstart for Google Sheets APIv4 in VSCode and got the following error:
Instance of 'Resource' has no 'spreadsheets' member
and the following output:
[Running] python -u "./GSpread.py"
Traceback (most recent call last):
File "./GSpread.py", line 4, in
from googleapiclient.discovery import build
ImportError: No module named googleapiclient.discovery
[Done] exited with code=1 in 0.092 seconds
Code (Quickstart for Google Sheets APIv4):
Copyright 2018 Google LLC

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
[START sheets_quickstart]
from future import print_function
import pickle
import os.path
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request
If modifying these scopes, delete the file token.pickle.
SCOPES = ['https://www.googleapis.com/auth/spreadsheets.readonly']
The ID and range of a sample spreadsheet.
SAMPLE_SPREADSHEET_ID = '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms'
SAMPLE_RANGE_NAME = 'Class Data!A2:E'
def main():
"""Shows basic usage of the Sheets API.
Prints values from a sample spreadsheet.
"""
creds = None
# The file token.pickle stores the user's access and refresh tokens, and is
# created automatically when the authorization flow completes for the first
# time.
if os.path.exists('token.pickle'):
with open('token.pickle', 'rb') as token:
creds = pickle.load(token)
# If there are no (valid) credentials available, let the user log in.
if not creds or not creds.valid:
if creds and creds.expired and creds.refresh_token:
creds.refresh(Request())
else:
flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES)
creds = flow.run_local_server(port=0)
# Save the credentials for the next run
with open('token.pickle', 'wb') as token:
pickle.dump(creds, token)
service = build('sheets', 'v4', credentials=creds)

# Call the Sheets API
sheet = service.spreadsheets()
result = sheet.values().get(spreadsheetId=SAMPLE_SPREADSHEET_ID,
                            range=SAMPLE_RANGE_NAME).execute()
values = result.get('values', [])

if not values:
    print('No data found.')
else:
    print('Name, Major:')
    for row in values:
        # Print columns A and E, which correspond to indices 0 and 4.
        print('%s, %s' % (row[0], row[4]))

if name == 'main':
main()
[END sheets_quickstart]
=========================================
Tried uninstalling/reinstalling/updating with:
pip3 install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib

VSCode version (1.42.1)
Python version (3.81)
OS (Mac)
=========================================

Duplicate of #147


Feedback 'From: Rachel Goss On: Production Signal: 0 Auct...'

Message from 5509b09d7261692ae7c40700 sent on 2017-07-16 16:24:33 UTC###

From: Rachel Goss
On: Production
Signal: 0
Auction works price info is listed as "contact for price" not current bid amounts

Link to HockeyApp

https://rink.hockeyapp.net/manage/apps/37029/feedback/1051797

Fixed in #2391 – will be included in an upcoming beta.


Create a method to generate OAuth tokens

Changes
Add method to get OAuth tokens
Tests

[X] make test run locally
[X] make fmt applied
[ ] relevant integration tests applied
[X] Manual test (cannot be run as integration tests due to limitations in the current infrastructure setup)

def test():
    w = WorkspaceClient(profile='DEFAULT')
    auth_details = f'"type":"workspace_permission","object_type":"serving-endpoints","object_path":"/serving-endpoints/REDACTED","actions":["query_inference_endpoint"]'
    auth_details = "[{" + auth_details + "}]"
    t = w.api_client.get_oauth_token(auth_details)
    print(t)

Result:
Token(access_token='REDACTED', token_type='Bearer', refresh_token=None, expiry=datetime.datetime(2024, 5, 16, 11, 9, 8, 221008))

Codecov Report
Attention: Patch coverage is 75.83333% with 29 lines in your changes are missing coverage. Please review.

Project coverage is 57.64%. Comparing base (e10bd59) to head (b982266).

Files
Patch %
Lines

databricks/sdk/credentials_provider.py
78.82%
18 Missing :warning:

databricks/sdk/core.py
50.00%
6 Missing :warning:

databricks/sdk/config.py
81.81%
2 Missing :warning:

databricks/sdk/runtime/__init__.py
0.00%
2 Missing :warning:

databricks/sdk/_widgets/ipywidgets_utils.py
0.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #644      +/-   ##
==========================================
+ Coverage   57.61%   57.64%   +0.02%
==========================================
  Files          47       47
  Lines       32648    32711      +63
==========================================
+ Hits        18810    18855      +45
- Misses      13838    13856      +18

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

@hectorcast-db : Something looks off with the type hints: this does not match type returned.
Had to ignore the types in https://github.com/databrickslabs/ucx/pull/1943
How should this be handled?


Make (Book Now) Button More Interactive #1150

Status : Resolved
Related Issue
Fixes:  #1150
Description
This pull request addresses the need to enhance the "Book Now" button by making it more interactive and visually appealing. The changes include:
Added hover effects for a more engaging user experience.
Implemented click feedback (e.g., button ripple effect) to improve interactivity.
Added a loading spinner to indicate that the booking process is underway after clicking the button.
Ensured that the button is responsive across various devices, including mobile, tablet, and desktop.
Incorporated accessibility improvements to make the button keyboard navigable and screen reader-friendly.
These enhancements will improve user engagement and create a smoother experience for visitors interacting with the "Book Now" button.
Type of PR

[ ] Feature enhancement

Screenshots / videos (if applicable)
Before :

After :
https://github.com/user-attachments/assets/e80a4f52-d448-4ca7-ab98-693da8d1b9bf
Checklist :
I have made this change from my own.
My code follows the style guidelines of this project.
I have performed a self-review of my own code.
I have commented my code, particularly in hard-to-understand areas.
I have made corresponding changes to the documentation.
My changes generate no new warnings.
I have tested the changes thoroughly before submitting this pull request.
I have provided relevant issue numbers and screenshots after making the changes.

@thedarkking01 Your pull request has been successfully merged! Don't stop here—continue contributing by addressing more issues and aiming to become a top contributor. Exclusive swag awaits for those who go the extra mile!
Great contribution ! 🎉


Restrict access to PaaS resources - tutorial

Hi Team!,
I have attempted to follow the tutorial and noticed two things that could be changed:

When creating the second VM the tutorial advises to mirror the settings in a screenshot which restrict access to the VM:
"The NIC network security group and Public inbound ports settings should mirror the image shown below, including the blue confirmation window stating: "all public internet traffic will be blocked by default".
Following this would prevent the connection to the VM
When creating the security inbound rules we leave port 8080 open, so later on the storage account can be accessed from the private VM - after testing I discovered that it is port 445 that is being used, so modifying the rule to either "*" or 445 would make it work.

Thanks,
Jo
[Enter feedback here]

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

ID: cfd9533e-c174-cd48-0f72-a58457efa958
Version Independent ID: b7a77b77-61c2-5e89-cb4b-0b9a502fce71
Content: Restrict access to PaaS resources - tutorial - Azure portal
Content Source: articles/virtual-network/tutorial-restrict-network-access-to-resources.md
Service: virtual-network
GitHub Login: @KumudD
Microsoft Alias: kumud

@fesoua -  Thanks for brining this to our attention. We will investigate it further and update you shortly.

Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

#reassign: @mbender-ms

Article was previously updated and these issues are resolved.
#please-close


Incomming Files

There is now way to select the files in the incoming files folder to import them into the fie manager

Normally I just move the ones to the incoming files folder that I want to import at any given time, then move the next batch there. Having a selector could become quite cumbersome when you start to get in to the hundreds or thousands of files in the incoming files folder. Could you elaborate more on why you think this would be a worthwhile functionality to implement, I personally don't see this as a value added item.

When I click the Add Files button I get an error box that says "You must select at least one file."

Oh that makes more sense. Ya when I go the file manager and click on "More Options" I actually get redirected to a tools page instead of it being rendered on the page and then I'm getting javscript errors for pretty much any action on the tools page.


ModuleNotFoundError: No module named 'utils.compute_overlap'

请问python3.7版本下如何编译生成compute_overlap.cpython-36m-x86_64-linux-gnu.so ??

How to get the file 'compute_overlap.cpython-36m-x86_64-linux-gnu.so' in python3.7 ?

I have committed a compute_overlap.py, which was rewriten through compute_overlap.pyx. This document is work.

Hi @wxyhv, check this. #89


Custom parameters passing

PHPRouter version: 1.2alpha
PHP version 8.1

Hi again, guys :)
I started a topic in stackoverflow for my previous problem and there is some replies: https://stackoverflow.com/questions/71241075/php-8-unknown-named-parameter-dannyvankooten-router/71241345?noredirect=1#comment125927353_71241345
They told me to remove this line from code:
'parameters'=> ['template_file'=>'ajax'],
to my script start working, but this is so important ...
I started this one to give a suggestion to making edit in router code to start working like this :)
This is important, because i use template engine mustache and i pass the variables like this:
$tpl = $mustache->loadTemplate(get_object_vars($route)['_config']['parameters']['template_file']);
and this:
$tpl = $mustache->loadTemplate($route->getParameters()['template_file']);
both working in php 5.4> and <php7.4
Without this ones i'm lost and my CMS can't working... This is very important...
Its so easy to set a template file in routes and to catch this one from my template system... It's very clear and pleasant way..
If you help me to start this working i will be very happy :)
Thanks in advance.

Ok, i make a research how to fix this and i will give a example if i find a proper way :) I'm not gonna close this for now...

Guys, i found a way (workaround, but it works)
open Route.php and find:
call_user_func_array(array($instance, $this->action), $this->parameters);
change it to:
call_user_func_array(array($instance, $this->action), array_values($this->parameters));
and the custom parameters still works.
I will be very happy if you make it the changes to 1.2alpha.

Just like I said, look at the contributing guide, and make a Pull Request, and it will be visible to maintainers. But I think you have to make your own fork of this library and modify it like you want.

i make a request https://github.com/dannyvankooten/PHP-Router/pull/135
This is my first pull request, sorry if i make a mistake...
I'm so glad to use 1.2.0alpha, everything is working fine, but this 2 things about regex (https://github.com/dannyvankooten/PHP-Router/issues/124) and this one here need to be done...
Can you give me the example how to use my fork on composer.json ? I see a examples on stackoverflow, but i can't make things work...
I want to make changes on 1.2.0 and i want to use it like: composer require pok4/php-router:1.2.0alpha
But when i'm on 1.2.0alpha on my own fork - i cant make the changes to the file, it sais: you must be on a branch...
Maybe 1.2.0 is hotfix-101 ? I think thats is because i see the name @antoine-pous

Again, if you're having trouble with Github, Composer, your code or anything non related to this library, please go to to official documentations of these tools or to stackoverflow, they're dedicated to support and learning.


Fix Readme instructions

Replace
git submodule update
with
git submodule update --init --recursive

Hi @GregorySchwing, Thanks for reporting this. I have just followed the readme steps and compiled the code without problems. Which dependency required the recursive  option for you?
Here are the steps I took:
$ git clone https://github.com/owensgroup/SlabHash.git
$ cd SlabHash/
$ git submodule init
$ git submodule update
$ mkdir build && cd build
$ cmake -DSLABHASH_GENCODE_SM75=ON -DSLABHASH_GENCODE_SM35=OFF ..
$ make -j

$ ./bin/cmap_test
[==========] Running 6 tests from 3 test suites.
[----------] Global test environment set-up.
[----------] 1 test from ConcurrentMap
[ RUN      ] ConcurrentMap.Construction
[       OK ] ConcurrentMap.Construction (903 ms)
[----------] 1 test from ConcurrentMap (903 ms total)

[----------] 4 tests from BulkBuild
[ RUN      ] BulkBuild.IndividualSearch
[       OK ] BulkBuild.IndividualSearch (2 ms)
[ RUN      ] BulkBuild.BulkSearch
[       OK ] BulkBuild.BulkSearch (2 ms)
[ RUN      ] BulkBuild.IndividualCount
[       OK ] BulkBuild.IndividualCount (10 ms)
[ RUN      ] BulkBuild.IndividualDelete
[       OK ] BulkBuild.IndividualDelete (3 ms)
[----------] 4 tests from BulkBuild (18 ms total)

[----------] 1 test from UniqueBulkBuild
[ RUN      ] UniqueBulkBuild.IndividualCount
[       OK ] UniqueBulkBuild.IndividualCount (5 ms)
[----------] 1 test from UniqueBulkBuild (5 ms total)

[----------] Global test environment tear-down
[==========] 6 tests from 3 test suites ran. (926 ms total)
[  PASSED  ] 6 tests.

slaballoc and gtest

Actually, I didnt follow the instructions.  I did a
git add submodule
instead of
git submodule init
These work.
On a separate issue, do you support a device side Multimap?
For example, the cuco library requires the user pass key-value pairs from the host side if more than one key exists with different values.
Does SlabHash allow a user to add multiple conflicting keys from the device and then retrieve a linked list/vector of all the elements with that key?

Great! Glad the instructions work.
Yes, SlabHash supports multimaps. The default insert behavior maintains a multimap (it does not check for duplicate keys).  But the current implementation of searchKey will only return the first value it finds. Implementing something like find_all is not that hard if you pass a buffer to where to store the values.
Do you mean a device-side API that you can use in your custom GPU kernel? Technically, these APIs exist but you will need to do a bit for work to call them directly. We have done something similar for a dynamic graph data structure built on top of SlabHash.

Thank you for your message.  It's interesting to know this is what powers gunrock's dynamic graphs.  I am interested in graph algorithms, and I'll be referencing it in the future.  Thanks again,
Greg


Make an implementation of IHtmlCollection public

Is there any reason why all implementations of IHtmlCollection are private?
I'm trying to write unit tests using IHtmlDocument and several of the properties return IHtmlCollection.  Since all of implementations of IHtmlCollection are private, I'll end up needing to implement or mock the IHtmlCollection interface as well.
I'd be happy to submit a PR to make those public, but I wanted to see if this was done intentionally before I do.

Yes, it is intentional. There have been two important reasons:

Do not confuse users that there are multiple implementations (why are there multiple? what's there purpose? do I need to cast to a specific one?).
Make it impossible to depend on these implementations, which may or even will change.

I understand your need, but coming up with a basic IHtmlCollection that is suitable for tests is certainly not much work.
Maybe its possible to meet in the middle, e.g., open the most standard / default implementation (which is just a plain wrapper around an IEnumerable<T>, where T implements IElement).

Would it be possible to provide a factory to return instances of IHtmlCollection? I'm thinking along the lines of something in the manner that an XmlReader is composed using the Create method and a specification of the features needed so the factory method can choose the appropriate implementation for the caller's needs without ever exposing the types publicly.

Added the ToCollection extension method. There are actually just three collections namely

HtmlAllCollection, which is just a wrapper around the ordinary HtmlCollection to fulfill the DOM specification -- it is only used by the IDocument and implicitly includes all children (recursively). no need to make this available
HtmlFormControlsCollection, which is a specialized wrapper around the HtmlCollection - specialized for form controls and with additional (form control specific) properties. only useful with forms, where it can already be found
HtmlCollection<T>* - basically just wrapping an IEnumerable<T>, where T : IElement. this is now available via an extension method

So no explicit factory was required. Instead, a LINQ-style extension method ToCollection was introduced.

Implemented, see PR #373.


Exception calling Get-PartnerInvoice

Steps to reproduce
Function Get-PartnerInvoice return an exception (it works until February 2020)
$datestart = get-date
Import-Module -Name 'C:\Program Files\WindowsPowerShell\Modules\PartnerCenter\1.5.1902.4\PartnerCenter'
$AppCred = New-Object System.Management.Automation.PSCredential $AppID, (ConvertTo-SecureString -String "$AppSecret" -AsPlainText -Force)
$pcToken = New-PartnerAccessToken -RefreshToken $refreshToken -Resource https://api.partnercenter.microsoft.com -Credential $AppCred -TenantId $TenantId
Try {
$connection = Connect-PartnerCenter -AccessToken $pcToken.AccessToken -ApplicationId $AppID -TenantId $TenantId
} Catch {
throw " rn $($datestart) - Unable to connect to the Microsoft Partner Center: rn $_.Exception.Message"
Break
}
$pcPSInvoices = Get-PartnerInvoice
Expected behavior
Collection of invoices
Actual behavior
At C:\scripts\getCspMicrosoftPartnerCenterInvoices.ps1:50 char:21

$pcPSInvoices = Get-PartnerInvoice

                ~~~~~~~~~~~~~~~~~~

CategoryInfo          : NotSpecified: (:) [Get-PartnerInvoice], PartnerPSException
FullyQualifiedErrorId : Microsoft.Store.PartnerCenter.PowerShell.Exceptions.PartnerPSException,Microsoft.Store.P
artnerCenter.PowerShell.Commands.GetPartnerInvoice

Diagnostic logs
write-output $connection
returns (after Connect-PartnerCenter)
Account            : Microsoft.Store.PartnerCenter.PowerShell.Authentication.AzureAccount
ApplicationId      : 1af7e388-75ff-4565-a64c-152da49fd6c3
AuthenticationType : AppPlusUser
CountryCode        : CH
Environment        : GlobalCloud
Locale             : de-CH
Environment
Windows Server 2012 R2
PowerShell 5.1.14409.1005
.NET 4.7.03062

@alainfrickerisource thank you for opening this issue. Can you run this again and after the error happens can you run Resolve-PartnerError then provide the output from that?

@isaiahwilliams thank you for your input. Interesting ServerResponse: Forbidden
Here the response of Resolve-PartnerError:
Get-PartnerInvoice : Exception of type 'Microsoft.Store.PartnerCenter.Exceptions.PartnerException' was thrown.
At C:\scripts\getCspMicrosoftPartnerCenterInvoices.ps1:53 char:21

$pcPSInvoices = Get-PartnerInvoice

                ~~~~~~~~~~~~~~~~~~

CategoryInfo          : CloseError: (:) [Get-PartnerInvoice], PartnerException
FullyQualifiedErrorId : Microsoft.Store.PartnerCenter.PowerShell.Commands.GetPartnerInvoice

CorrelationId    : dc5a600f-1b22-4d5c-8722-7293b1b13de5
Locale           : en-US
RequestId        : 64278b22-e94a-4bb3-869f-02b84451ee3d
RequestMessage   : {GET https://api.partnercenter.microsoft.com/v1/invoices}
ServerMessage    :
ServerResponse   : {Forbidden}
Exception        : Microsoft.Store.PartnerCenter.Exceptions.PartnerException: Exception of type
'Microsoft.Store.PartnerCenter.Exceptions.PartnerException' was thrown.
at
Microsoft.Store.PartnerCenter.Network.PartnerServiceClient.d__381.MoveNext()                    --- End of stack trace from previous location where exception was thrown ---                       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()                       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)                       at Microsoft.Store.PartnerCenter.Network.PartnerServiceClient.<GetAsync>d__241.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Store.PartnerCenter.Network.PartnerServiceClient.d__211.MoveNext()                    --- End of stack trace from previous location where exception was thrown ---                       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()                       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)                       at Microsoft.Store.PartnerCenter.Invoices.InvoiceCollectionOperations.<GetAsync>d__10.MoveNext()                    --- End of stack trace from previous location where exception was thrown ---                       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()                       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)                       at Microsoft.Store.PartnerCenter.PowerShell.Commands.GetPartnerInvoice.<<ExecuteCmdlet>b__4_0>d.M                    oveNext()                    --- End of stack trace from previous location where exception was thrown ---                       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()                       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)                       at Microsoft.Store.PartnerCenter.PowerShell.Utilities.ConcurrencyTaskScheduler.<RunConcurrentTask                    Async>d__21.MoveNext() HelpLink         : Message          : Exception of type 'Microsoft.Store.PartnerCenter.Exceptions.PartnerException' was thrown. StackTrace       :    at                    Microsoft.Store.PartnerCenter.Network.PartnerServiceClient.<HandleResponseAsync>d__381.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Store.PartnerCenter.Network.PartnerServiceClient.d__241.MoveNext()                    --- End of stack trace from previous location where exception was thrown ---                       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()                       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)                       at Microsoft.Store.PartnerCenter.Network.PartnerServiceClient.<GetAsync>d__211.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Store.PartnerCenter.Invoices.InvoiceCollectionOperations.d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Store.PartnerCenter.PowerShell.Commands.GetPartnerInvoice.<b__4_0>d.M
oveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Store.PartnerCenter.PowerShell.Utilities.ConcurrencyTaskScheduler.d__21.MoveNext()
ErrorCategory    : CloseError: (:) [Get-PartnerInvoice], PartnerException
ErrorDetails     :
InvocationInfo   : System.Management.Automation.InvocationInfo
ScriptStackTrace : at , C:\scripts\getCspMicrosoftPartnerCenterInvoices.ps1: line 53

@alainfrickerisource based on the information you have shared the credentials you are using do not have access to that feature. Can you confirm that you have a direct bill enrollment or that you are indirect provider? The reason I am asking is that indirect resellers will not have access to the Partner Center API, so that could be the other cause for this issue.
I would recommend trying this operation using credentials that have admin agent privileges to rule out any permissions issue, if you have an enrollment into the Cloud Solution Provider program that has access to the Partner Center API.

@alainfrickerisource reading back through this thread, I believe that you might be an encountering this issue due to your refresh token expiring. If you connect using
Connect-PartnerCenter

Does the get command work as you expect?

Refresh token and Connect-Partner-Center works. Looks like credentials don't have access anymore. Strange this solution with same accounts worked already for years. Now the exception is 2700 lines.

Based on your latest update it appears that your credentials no longer have access to Partner Center. Once those privileges are established, again, you should be able to use that account with this module to perform Partner Center operations.


STS check latest transfer operation sample

Adds a new sample for checking the latest transfer operation in Storage Transfer Service


Add: LeetCode Problems 500 - 599

For Example:

Resources and Guidance

Source code for demo:- 0000-0099.md
Preview on Browser:- .../dsa-problems/leetcode-problems/0000-0099

@Ajay-Dhangar Can you please assign this issue to me

Hello @Ajay-Dhangar can you assign me this i can complete this task !


Feature request: EDSK

Would love to see EDSK support to be able to read/write +3 / CPC disks. Would simplify life alot.

I wrote a shell script to easily convert disks to different formats, visit this link:
https://www.microbee-mspp.org.au/public_repository/
Then navigate to "home/public/Projects/fio1_fio2_gw_scripts/fiox.sh" after completing the Google challenge.
It may also be run under Windows if "Gow" is installed.  Details are in the script.  Note "fio2" is my variation of Greaseweasel and "fio1" is an earlier Floppy design reader.  It needs some dependencies installed.

@staticmem could you you put your software/scripts (not large downloads) somewhere where it's not behind a CAPTCHA?

@staticmem could you you put your software/scripts (not large downloads) somewhere where it's not behind a CAPTCHA?

What's the problem with the CAPTCHA anyway?  Would you prefer it to go up on Facebook where you have to log in and have a Facebook account.

External script is a nogo. The support must be in firmware.

External script is a nogo. The support must be in firmware.

It has nothing to do with Firmware, the firmware knows nothing about image formats except maybe SCP.  Once you have the SCP image it can be converted to whatever format you want using the appropriate software. SCP to EDSK conversion works and if you look at the script you can see how it works.
The link that was included before was broken but now working again.

The initial write support can be tested using this automated build:
https://nightly.link/keirf/Greaseweazle/actions/artifacts/43511871.zip

Can I assume that the FW has not changed to make this happen and this EDSK support is handled in the Python scripts?

Yep

Nice addition. :-)


Storyboard

Is anyone else getting issue where if LGButton is added to their storyboard, Xcode will show internal error has occurred and will not load the storyboard at all?

Yes me too, it wont load any components in the storyboard.. just quit and relaunch

IBDesignables couldn't updating..


Custom HRTF data on Binaural renderer

I'm interested to use a custom HRTF for the binaural renderer. I see there is a parameter to set to do this task: IPLbyte* hrtfData, a pointer to a byte array containing HRTF data in the function IPLAPI IPLerror iplCreateBinauralRenderer(IPLContext context, IPLRenderingSettings renderingSettings,         IPLbyte* hrtfData, IPLhandle* renderer);
There is no documentation about the format of this byte array. Anyone can help me?

I would like to use this, too. If it's possible to use custom HRTF data, I could use this for our virtual reality project @university we have to do this semester...
Is this option theoretically available in the unity integration, too?

@Furtivo89, @Luux - We have added support for custom HRTFs in Steam Audio C API in the latest release. For more details see release notes and download the latest version.


update README with usage and FAQ

Reference Issue #10: Task 3 involves updating the docs with usage and frequently-asked questions. I created a preliminary version of the same. Please review and add suggestions/feedback/queries that I can incorporate into the documentation! Thanks a ton!

Thanks for the quick review and suggestions! Made the necessary changes :) Think this is ready for merging :)


Don't downgrade on prerelease VersionReq when update with --breaking.

What does this PR try to resolve?
Do nothing with prerelease when update with --breaking.
Fixes https://github.com/rust-lang/cargo/issues/14178
How should we test and review this PR?
Previous commit add a test, next commit to fix and update.
Additional information

wait a second, I squashed the two commit into one accidentally, let me split them.

---- expected: tests/testsuite/https.rs:159:27
++++ actual:   stderr
   1    1 | [UPDATING] git repository `[https://github.com/rust-lang/bitflags.git`](https://github.com/rust-lang/bitflags.git%60)
        2 + [WARNING] spurious network error (3 tries remaining): failed to connect to github.com: Connection timed out; class=Os (2)
   2    3 | [LOCKING] 2 packages to latest compatible versions

May be supcious network connection error?

CC @torhovland
I feel like one of your PRs had touched on this already but we wanted to split it out for focusing the reviews,  or am I thinking of something else?

CC @torhovland
I feel like one of your PRs had touched on this already but we wanted to split it out for focusing the reviews, or am I thinking of something else?

I think these are separate issues. This one here is about update --breaking not respecting that the user already has a higher pre-release installed, thus trying to "upgrade" to a lower version.
The one I have encountered is about a precise version req not matching its exact version if it is a pre-release. See https://github.com/rust-lang/cargo/pull/14140/commits/de1a4a2512cac7d6e8e698fc0f3637893543d708

I copied the  matches_greater from semver to make sure prerelease VersionReq won't downgrade.

While there are still some edge cases having to be supported, we shouldn't block this from fixing wrong downgrades. Thank you for the contribution!
@bors r+

:hourglass: Testing commit 9e2701aedb683ee2a53f65528ac4982205bef5b9 with merge a7917fdc3ae499b2324e45b94ed7fd08cc242b1c...

:sunny: Test successful - checks-actions
Approved by: weihanglo
Pushing a7917fdc3ae499b2324e45b94ed7fd08cc242b1c to master...


Feature-request: auto position of nodes

Hey,
I have a use case wherein the position of where the nodes end up showing is not that important.
Is there any option that I can use wherein I don't need to pass the position prop and get the code to auto-position the nodes?
Any help would be appreciated.
Thanks

Hey,
please check out #5


Transmutation Supremacy Enhancements not Implemented for Powerful Change/Share Transmutation

Describe the bug
Transmutation Supremacy is the Level 20 capstone ability for Brown-Fur Transmuter.  It states:

At 20th level, the brown-fur transmuter learns to fully master the power of transmutation. Whenever she casts a transmutation spell, it is treated as it were affected by the Extend Spell feat without altering the casting time or slot used. (She cannot then alter its duration again with the Extend Spell feat). Whenever she uses her powerful change ability, the bonus increases by 4 instead of 2. Her share transmutation ability can now target a willing creature within 30 feet.

Here are the bugs:

For Powerful Change, the mod does not correctly apply the enhanced bonus.
For Share Transmutation, the mod does not treat Share Mutation as ranged when using the animation casting (meaning the character will still run to target for touch casting).

Expected behavior

For Powerful Change, the correct enhanced bonus should be applied.
For Share Transmutation, the caster should treat the ability as ranged when using animation casting.

Additional context
I realized this was missing in the mod as I was working on #18.  As I have a brown-fur in my party, this is an ability I want to have available.

I've added a commit in the pull request that implements checks for Transmutation Supremacy and applies enhanced versions of Powerful Change / Share Transmutation as appropriate.  This does not require any changes on behalf of the user - the mod will autodetect if the enhancements are available and apply as appropriate when using the existing Powerful Change / Share Transmutation settings.
In the process of implementing, I unified and simplified the engine casting routines.  This should make it easier to apply other modifications to spells if needed in the future.


Allow template variables to use ${datasource} instead of $datasource

Also fixes a bug where the instance template was never checked.
Part (1) of https://github.com/monitoring-mixins/mixtool/issues/57
Signed-off-by: Tom Wilkie<EMAIL_ADDRESS>

Fixes #26


How to supply a live JSON datafeed

My data is immediately usable for any live charting application (news tickers, real-time charts, pandemic leaderboards, etc)
Do a "view source" to see how to load my JSON file.
https://cryptinc.com/covid19/covid19_predictor.html
Unlike other feeds, I also include the outbreak paramaters and the functions for producing real-time (up to the second) forecasts (upto a week ahead, and back to any day in the past)
e.g. see this clock demo: https://cryptinc.com/covid19/clock.htm

https://github.com/gitcnd/coronavirus-data-sources/tree/master/curated

I'm not sure what I'm looking at here, does this use our data?

Hello @gitcnd, I'm not sure what this issue is about.  As lazd asked above, does this use our data?  Thanks and regards.

Closing this issue, the team isn't clear what the issue is.  Regards and best of luck! jz


Prepare for production

Smalls things, getting ready for production. Each file changed is basically its own self-contained logical commit thankfully.

One thing inline, otherwise LGTM :+1:


Quick followup to #79

Fix frontend layout

Codecov Report

Merging #85 (7022e19) into dev (93f1c48) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev      #85   +/-   ##
=======================================
  Coverage   99.43%   99.43%
=======================================
  Files           9        9
  Lines         178      178
=======================================
  Hits          177      177
  Misses          1        1

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 93f1c48...7022e19. Read the comment docs.


Add Binder for swiftui

Related Issues 💭
I want to make sugar for just setter value  on State for ViewStore when i use SwiftUI. Thus I suggest binder using keypath to setter for oneway
Description 📝
Lets suppose i use simple textfield app
import Foundation
import SwiftUI
import OneWay

struct OneWayView1: View {
    @StateObject var store: ViewStore<OneWayReducer1> = .init(reducer: .init(), state: .init())
    var body: some View {
        VStack {

            TextField("TextField", text: $store.state.searchText)
                .task {

                    for await searchText in store.states.searchText {
                        // Problem line1
                        print("🥶\(#file) \(#line) \(searchText)")
                    }
                }

            Button("buttonbutton") {
                store.send(.tapButtonForDebug)
            }
        }
    }
}

class OneWayReducer1: Reducer {
    enum Action {
        case setSearchText(String)
        case tapButtonForDebug

    }

    struct State: Equatable {
        var searchText: String = ""
    }

    func reduce(state: inout State, action: Action) -> AnyEffect<Action> {
        switch action {
        case let .setSearchText(value):
            state.searchText = value
            return .none

        case .tapButtonForDebug:
            // Problem line2
            print("🥶\(#file) \(#line) \(state.searchText)")
            return .none
        }
    }
}

I marked two line which both prints out. And when i types like "Hello OneWay", Problem Line1 would be print
" H", "He".... "Hello OneWay". However when i clicked, button which leads to Action.tapButtonForDebug prints out nothing but "" <- which is state.searchText.
So on this problem, i mostly used to handle this problem like adding Binder like

extension OneWayView1 {
    var searchTextBinder: Binding<String> {
        .init {
            store.state.searchText
        } set: { newText in
            store.send(.setSearchText(newText))
        }
    }
}

You know whenever it is getting more and more properties on State, this binder makes code much larger, thats why i open this PR.
Expected result would be better than above code.
TextField("TextField", text: store.binder(\.searchText))

Additional Notes 📚

Checklist ✅

[x] If the changes affect existing functionality, please verify whether the above information has been appropriately described.

I wrote none of annotation for documentation of usage, unless this function would be suitable. if it is ok, i will do with your opnion

@sobabear
Thanks!
When passing a binding, it is correct to directly call the store's send() as you suggested.
TextField(
    "TextField",
    text: Binding(
        get: { store.state.searchText },
        set: { store.send(.setSearchText($0)) }
    )
)

The syntax sugar you suggested looks very nice. However, OneWay avoids having UI-related dependencies to maintain a lightweight library. It seems better to create a separate module for UI Extension or to include it in your own project.
// In your own UI extension module or wrapping module
@_exported import OneWay


Automatically build images?

Right now it looks like this repo requires someone to manually define a new image every time pangeo-forge-recipes and prefect are released. That could become a lot of work.
Elsewhere in Pangeo, we use automation to handle this. For example pangeo-docker-images automatically detects changes in relevant package versions and issues a PR to update the images. Pangeo-bot helps with many of these. I strongly recommend we replicate that approach here.
Tests are good to have too.

@sharkinsspatial - any thoughts on this? The bakery images no longer have the latest version of pangeo-forge-recipes (0.6.0).
It's going to be a lot of work manually updating this repo any time any of the 3 dependencies makes a release.


Install manifest LoadBalancer question

Hi!
Due to a user report at https://github.com/glasskube/glasskube/issues/518, we noticed that the services included in the cyclops install manifest are created with type LoadBalancer by default.
While load balancers can be useful for a lot of circumstances, I'm not sure if it's the right solution here. Wouldn't most users rather expose the service via an Ingress (or similar), if they want to do that at all?
Or is there another reason why the service has to be of type LoadBalancer (rather than the default, ClusterIP)?

Hey @kosmoz! Yeah, you are right. I even put ClusterIP in the Cyclops Helm chart but forgot to update the install manifest.
If you want, you can update it yourself, but I can do it by the end of the day

@petar-cvit if you want I can help with this issue

Thanks @Sheikh-Abubaker. I already pushed the fix and will build the new version which you can use

@kosmoz can you check now? Release v0.3.3 should have ClusterIP service type for both services

Thanks a lot, using services with type ClusterIP should fix this issue.


Simplify linking

No longer rely on --link environment variables; default configuration assumes elasticsearch as a linked container (or same-network service), and ELASTICSEARCH_URL is still available for overriding that easily.

LGTM


Helm charts are out of date (missing ip-reconciler-job, overlappingrangeipreservations)

It seems like the chart at git@github.com:k8snetworkplumbingwg/helm-charts.git is out of date.
Perhaps it's worth fixing the chart or updating the documents to remove the helm3 sections.

I created a pull/merge request for changes that worked for me to bring the helm chart up to date with the current master branch.
https://github.com/k8snetworkplumbingwg/helm-charts/pull/13

I created a pull/merge request for changes that worked for me to bring the helm chart up to date with the current master branch.
k8snetworkplumbingwg/helm-charts#13

Closing since it appears your proposal got merged in the helm charts repo.


Fixing tests leaking host

Fixing some tests that were failing to dispose of the ScriptHost. This was causing multiple instances of the host to run over each other and stick around longer than needed.

One minor comment :ship:

Was this causing failing tests? I'm seeing failures in my latest PR (it passed last night and now failed twice after rebasing). If so, I'll wait until this is in and then rebase my change to make sure it's stable.

No it wasn't. Tests are all passing for me.

merged

How was this merged? Somehow it shows is closed (and different commit hash)

I pulled your code locally, then fixed the double assignment comment I had above. Unfortunately that attributed the commit to me, and I didn't feel like monkeying around with fixing that, sorry.

FYI you can set the user with git commit --author="Name <email>" -m "hello"

Not worried about it. Just confused me at first :)


feat: move to tap15

Pull Request Test Coverage Report for Build 722353357

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 98.592%

Totals

Change from base Build 660889048:
0.0%

Covered Lines:
40

Relevant Lines:
40

💛  - Coveralls

Pull Request Test Coverage Report for Build 722353357

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 98.592%

Totals

Change from base Build 660889048:
0.0%

Covered Lines:
40

Relevant Lines:
40

💛  - Coveralls


Make timeout configurable

Would be great if the timeout was configurable. 500ms is a bit too long for me.

So, Chrome has been busy matching what other browsers do which is not trigger mouse events while the user is scrolling effectively deperacting the need for this little lib (yay!) it's already in canary and will make it's way to stable soon. https://www.chromestatus.com/feature/5697181675683840
I'll be updating this to let people know not to use this anymore once it reaches stable.


Test hangs in Firefox and js error appears on the page

Are you requesting a feature or reporting a bug?
bug
What is the current behavior?
If I try to run the example in firefox (testcafe firefox tests). Firefox nightly is started and then the cli-tool just "hangs" (nothing is happening) and if I open the dev tools in firefox I see the following error:
TypeError: Not allowed to define a non-configurable property on the WindowProxy object testcafe-core.js:1:7989
TypeError: C.default is undefined[Learn More] testcafe-ui.js:1:16328
TypeError: s.default is undefined[Learn More] testcafe-automation.js:1:1668
TypeError: u.default is undefined[Learn More] testcafe-driver.js:1:25145
TypeError: ClientDriver is not a constructor[Learn More]

What is the expected behavior?
Test should be passed
Specify your

operating system: Mac OS X
testcafe version: 0.9.0

(Created from the comment by @tjoskar)

Hi @tjoskar,
Could you please specify your Firefox version? It works well on my side.

Calling defineProperety and defineProperties for window raise error if configurable property is true  TypeError: Not allowed to define a non-configurable property on the WindowProxy object
Now it seems like feature https://www.fxsitecompat.com/en-CA/docs/2016/defining-non-configurable-property-on-window-will-throw-currently-only-on-nightly-and-developer-edition/
but it may change https://bugzilla.mozilla.org/show_bug.cgi?id=1178638
We will check it later

Now out basic example tests passe on all latest versions of Firefox:

Last oficial version
Beta
Developer Edition
Nightly