onevm: disk-snapshot-create does not handle error if live snapshot feature is disabled

Description
If the live snapshot feature is disabled, onevm disk-snapshot-create still exits with zero exit code and reports that an
snapshot was successfully created.
To Reproduce

in /etc/one/vmm_exec/vmm_execrc set LIVE_DISK_SNAPSHOTS=""
Restart services (not sure if required)
Attempt to create an snapshot:

root@debian11-one:/home/vagrant# onevm disk-snapshot-create 1 0 TESTSNAPSHOT2 -v
VM 1: disk snapshot created
root@debian11-one:/home/vagrant# echo $?
0

in the VM logfile it is to be seen, that snapshot creation failed:

Wed Aug 10 10:13:07 2022 [Z0][VM][I]: New state is ACTIVE
Wed Aug 10 10:13:07 2022 [Z0][VM][I]: New LCM state is DISK_SNAPSHOT
Wed Aug 10 10:13:07 2022 [Z0][VMM][E]: DISKSNAPSHOTCREATE: Cannot perform a live DISKSNAPSHOTCREATE operation

Expected behavior
onevm disk-snapshot-create should exit with error code != 0 and report cause for failure.
Details
Version used: opennebula 6.2 on Debian Bullseye.
Progress Status

[ ] Code committed
[ ] Testing - QA
[ ] Documentation (Release notes - resolved issues, compatibility, known issues)

The CLI command onevm disk-snapshot-create sends a xml-rpc request to oned. The oned checks if the action can be executed (VM in correct state, disk exists, ...). If all conditions pass, it calls asynchronous driver action and the CLI reports success.
If there is an error in the asynchronous action it is loged in the VM->USER_TEMPLATE->ERROR, in the  /var/log/one/xx.log and in the /var/log/one/oned.log. The settings in vmm_execrc is one of these errors.
It's not possible to report this error as return code of the CLI action.

In the case of asynchronous calls, what do you think about the driver/cli to return

disk snapshot request accepted (or pending?)

and clarify in the documentation that this is an asynchronous call and it is important to monitor the VM status for further information?

@atodorov-storpool Agree, CLI output is misleading VM 1: disk snapshot created should be replaced by "being created" or similar. Also I think it is a good idea to flag API calls that are "instant", as opposed to those that require a driver action and progress needs to be checked through state changes, or VM information....


Fix project to work with Web Api in .Net Framework.

Issue was Gremlin.Net package in version 3.3.1 not having a valid strong name:
https://issues.apache.org/jira/browse/TINKERPOP-1880?attachmentOrder=desc
https://github.com/FlorianHockmann/Gremlin.Net/issues/12
https://github.com/apache/tinkerpop/pull/816
What I have done is:

I updated Gremlin.Net to version 3.3.2, which they say is correct.
Changed classes missing or with errors. They say TraversalPredicate now is a class named P, and replaced type object for the respective class or interface.
I signed all the assemblies because I needed it, but I am not 100% sure if this is completely necessary.
I also added a .Net Framework 4.6.2 console project, to test it all, and to take de compiled DLLs from here.

If you have any doubt or concern, please tell me.
Thanks in advance.

The nuget package should be updated with your changes. Thanks for your contribution!


Files from PyPi are different from the main and dev branches

for example, the expval_joint_sampling and expval_joint_sampling_grouping form measurment.py are missing when you install torchqunautm via pip install torchquantum

Hi! Thanks for opening the issue!
To get the most up-to-date version of TorchQuantum, you have to install it from source, as described in the README Installation:
git clone https://github.com/mit-han-lab/torchquantum.git
cd torchquantum
pip install --editable .

We will also be sure to update the pip version soon!

We just updated the PyPi for the most recent release!


Bracketed paste sometimes fails

I'm having an issue pasting in a password for the openconnect client. The command constantly failed in Terminus, but worked in other terminals.

E.g., I see this:
$ openconnect  -u myuser --passwd-on-stdin https://vpn.example.com
mypassword

Nor is it a shell problem, because it happens in bash, zsh, and fish.
What's really interesting is, it's context-dependent. If I'm just at the shell prompt, I can paste the same password, or anything else, and the bracket codes don't appear as text.
Issue #3334 may be related.
OS: macOS 11.4
Shell: fish 3.3.2, bash 5.1.4, and zsh 5.8
Terminus: 141 and 139

@Eugeny Thanks, that was fast!


Update version

What? and Why?

What does this pull request change/fix? Why was it necessary? Update version

Checklist

[ ] CHANGELOG.md updated? (if required) Y

Codecov Report

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

@@           Coverage Diff           @@
##           master      #42   +/-   ##
=======================================
  Coverage   27.73%   27.73%
=======================================
  Files           4        4
  Lines         530      530
=======================================
  Hits          147      147
  Misses        383      383

Impacted Files
Coverage Δ

rabbit_monitor.py
35.17% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


xfpga: fix VF enumeration bug

Description of Bug
The current enumeration flow assumes that both fme and port nodes in
sysfs have the same parent (device) node. With this assumption, some
code related to either finding an fme node from a port node, or vice
versa, looks for the target node by looking in the current node's parent
directory.
For example, say you have a device with the following fme and port
nodes (using conceptual names instead of names specific to a specific
version of the OPAE kernel driver):
/sys/class/fpga/dev.0/fme.0
/sys/class/fpga/dev.0/port.0

Given a path to an fme node, the port node can be found by the following
glob pattern:
/sys/class/fpga/dev.0/fme.0/../*port.*
or looking for an fme node using the path to the port node:
/sys/class/fpga/dev.0/port.0/../*fme.*
OPAE and SR-IOV
The paths change, however, when SR-IOV is enabled (a port device is
released) and a VF is created. The steps to do this would look something
like (again omitting driver specific node names like intel-fpga):
fpgaport release /dev/fme.0 0
echo 1 > /sys/class/fpga/dev.0/device/sriov_numvfs

The first command tells the fme to enable SR-IOV and release the port device.
When this is done, the sysfs nodes related to port.0 are removed.
The second command tells the device so create a VF (now that SR-IOV has been enabled).
The result sysfs paths for the fme and port nodes would now look
something like:
/sys/class/fpga/dev.0/fme.0
/sys/class/fpga/dev.1/port.1

The char device nodes now look like:
/dev/fme.0
/dev/port.1

Description of Fix
This change fixes the assumption mentioned above and uses symlinks
(physfn or virtfn?) present when a port has been migrated to a VF.
Now, when looking for a port node given a path to an fme node, the code
looks at the following glob patterns:
/sys/class/fpga/dev.0/fme.0/../device/virtfn*/fpga*/dev.*/*port.*
/sys/class/fpga/dev.0/fme.0/../device/fpga*/dev.*/*port.*

Note: Only one of the preceding glob patterns will exist at a time
depending on whether or not a port is on a VF (the first pattern) or on
a PF (the second pattern).
Similarly, when looking for an fme node given a path to a port node, the
following patterns will be tried:
/sys/class/fpga/dev.0/port.0/../device/physfn/fpga*/dev.*/*fme.*
/sys/class/fpga/dev.0/port.0/../device/fpga*/dev.*/*fme.*

These changes were implemented in

sysfs_get_fme_path
This function was changed to take in a path to a port device
(instead of the device number and the port number) and use the algorithm described
above to find an fme node from a port node.

get_port_sysfs
This function was also changed to use the algorithm described above to find
an port node from an fme node.

_Note: The functions, sysfs_get_fme_path and get_port_sysfs now return
a realpath (a path to /sys/devices/pci*/...) with no symlinks._Any paths compared
to the return values of these functions must apply realpath to the path before
doing the comparison.
Testing
Finally, for testing, a mock sysfs file structure was added to to
represent a scenario when a port is on a VF. The test_device class and
the mock platform table had to be modified to include the number of VFs in
a given device. Several tests had to be modified to use this information
in some of their assertions.

Coverage decreased (-0.02%) to 78.565% when pulling 6586b03329c85fd172171551accdeef5bc7106ce on rrojo/enum-vf into 6880e9f9401c78ed3d5cfb7c80fc9a2a7c488f37 on master.

test_xfpga_token_list_c and test_xfpga_sysfs_c are failing on HW ncf37 and bmp12.


Update contributing docs

Is your feature request related to a problem? Please describe.
The current contributing page on the pufferpanel site is outdated, specifying build options for v2, not for v3
Describe the solution you'd like
Could you maybe add a v2/v3 toggle for updated documentation
Describe alternatives you've considered
An alternative would be to add a quick setup section to the README on github
Additional context
.

The v3 documentation isn't linked in the RTD version switcher because v3 is currently still in alpha, as such at least in my opinion it's also not wrong for the docs to still be providing the building instructions for v2, the docs repo has a branch for v3 where that should be updated eventually, though the changes between v2 and v3 regarding building aren't all that much if I remember correctly, but feel free to point out anything you notice being out of date, as developing on a project for a long time can certainly cause you to grow blind to such changes

Got it, thanks!


Emoticons are too eager compared to AzureDevOps

When having the following md code:
> **NOTE :** Testing
This is how it renders on Azure DevOps:

This is how it renders in the exported PDF:

I would expect the output to be similar with Azure DevOps

Might be a pipeline issue - happy to merge a PR 👍


Really want to be able to specify the fim and chat templates.

Today I am stuck with using only CodeLlama even though I find DeepSeek Coder to be much better. And Infilling with the 1.6b parameter model is amazing. Could you add the ability to add custom templates, or do like Llama Coder extension which defines templates for codellama, deepseek coder, and one other.
Other than that one issue, Twinny is my favorite for vscode AI Assistants. I posted this yesterday about Llama Coder and plan to do an update for Twinny. https://www.youtube.com/watch?v=fT-sUUq48Xk

Hey, thanks for the suggestion.
I just released version 3.2.0 which includes the ability to edit the prompt templates, there is a setting at the top of the sidebar which will open up an editor with the default prompt templates inside.
I am working towards being able to specify your own templates in future releases.
In terms of supporting different fim templates, I will add different built in fim templates for deepseek and stable code too along with the existing llama template.
Any questions please reach out,
Many thanks,

Hey, support for FIM stablecode and deepseek has now been added. Please let me know how you get on with it.
Many thanks,

Please check 3.4.0 fully customisable templates added.

Its generating garbage on
{

  "twinny.chatModelName": "deepseek-coder:1.3b-base-q4_1",
  "twinny.fimModelName": "deepseek-coder:1.3b-base-q4_1",
  "twinny.useFileContext": true,
  "twinny.temperature": 0.8,
  "twinny.fimTemplateFormat": "deepseek"
  "twinny.enableLogging": true
}

If there is something wrong in my config feel free to correct me.

Maybe a different model or prompt template would help?


Type reference annotations not working for some types

Description:
$subject
Steps to reproduce:
import ballerina/test;

public annotation X on type;

type Person record {
    int age;
};

@X
type Record Person;

@X
type Singleton 2;

@X
type Union int|string;

public function main() {
    typedesc<any> anyTd = Record;
    test:assertTrue(anyTd.@X is true);
    test:assertTrue(Record.@X is true);

    anyTd = Singleton;
    test:assertTrue(anyTd.@X is true);
    test:assertTrue(Singleton.@X is true);

    anyTd = Union;
    test:assertTrue(anyTd.@X is true);
    test:assertTrue(Union.@X is true);
}

Affected Versions:
master
OS, DB, other environment details and versions:
Related Issues (optional):
#36409

Closing since the fix is merged for update 2.


cmd: reduce backoff max when worker is waiting for connectors

Reduces the max amount of time between retries when waiting for the database to populate connectors from 1 minute to 8 seconds.
fixes #177

LGTM


Make creating a service principal and granting contributor rights a better experience

Is this a request for help?:
No
Is this an ISSUE or FEATURE REQUEST? (choose one):
ISSUE
What version of acs-engine?:
Version: v0.22.1
GitCommit: 0908e5151
GitTreeState: clean

Orchestrator and version (e.g. Kubernetes, DC/OS, Swarm)
Kubernetes 1.11.2
What happened:
kubectl create secret failed
What you expected to happen:
kubectl create secret should succeed
How to reproduce it (as minimally and precisely as possible):
tl;dr
The service principal needs to be provisioned with Owner permissions via IAM on both the key vault and storage account resources.
Details:

In apimodel.json, set "enableEncryptionWithExternalKms": true on a new resource group.
Run kubectl create secret generic secret1 -n default --from-literal=mykey=mydata.

Error message:
Error from server (InternalError): Internal error occurred: rpc error: code = Unknown desc = failed to get vault, error: failed to get vault, error: keyvault.VaultsClient#Get: Failure responding to request: StatusCode=403 -- Original Error: autorest/azure: Service returned an error. Status=403 Code="AuthorizationFailed" Message="The client '<clientId>' with object id '<objectId>' does not have authorization to perform action 'Microsoft.KeyVault/vaults/read' over scope '/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.KeyVault/vaults/<keyVaultName>'."

Work around that error by running az role assignment create --subscription $SubscriptionId --role Owner --assignee-object-id $servicePrincipalObjectId --scope keyVaultResourceId.
Again run kubectl create secret generic secret1 -n default --from-literal=mykey=mydata.

Second error message:
Error from server (InternalError): Internal error occurred: rpc error: code = Unknown desc = failed to create key, error: storage.AccountsClient#ListKeys: Failure responding to request: StatusCode=403 -- Original Error: autorest/azure: Service returned an error. Status=403 Code="AuthorizationFailed" Message="The client '<clientId>' with object id <objectId>' does not have authorization to perform action 'Microsoft.Storage/storageAccounts/listKeys/action' over scope '/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Storage/storageAccounts/<keyVaultName>'."

Work around the second error by running az role assignment create --subscription $SubscriptionId --role Owner --assignee-object-id $servicePrincipalObjectId --scope $storageAccountResourceId.

The kubectl create secret command will now work.

@davidmatson The service principal here is used by the Kubernetes Azure cloud provider to create Azure resources required by the cluster, for example, disks for volumes, loadbalancers for services, access keys from key vault, etc.
When using acs-engine to create a new cluster on Azure, we expect the user to create a service principal with Contributor role to the subscription or Contributor role to the resource group if the resource group is already created then update the cluster apimodel with the client id and client secret to be used for this purpose before using acs-engine deploy.
In the case of using theenableEncryptionWithExternalKms feature, acs-engine will create the key vault and storage account needed for this feature and assign permissions for the service principal to the key vault and keys all via ARM.
Hope this helps, please let us know if you have additional questions.

Sounds great. Thanks, @ritazh.

Ping to remove stale label.

I believe the new https://github.com/Azure/aks-engine/blob/master/docs/tutorials/quickstart.md and https://github.com/Azure/aks-engine/blob/master/docs/topics/service-principals.md provide enough clarity to close this issue. Let me know if you don't agree and we can transfer it to aks-engine.

If we could move to aks-engine, that would be great. I think the parts remaining are:

Specifying explicitly in the text that it's not just a matter of creating a service principal, but granting it Contributor rights on the entire resource group (I think this is implicit in the text today and only appears in the commands, but maybe I missed something).
Consider having aks-engine deploy automatically assign rights as needed (I think it already auto-creates the resource group if needed).

Thanks!


Inconsistent casing in namespaces

The namespace Kapersoft\Sharefile is used in a handful of places, but this should be Kapersoft\ShareFile (capitalized File).
The type in the namespace breaks autoloading on case-sensitive filesystems.

This still seems to be an issue. Until it can be resolved, you can add the following line to the autoload > psr-4 stanza of your composer json:
“autoload”: {         “psr-4": {             ... other autoload definitions             “Kapersoft\\ShareFile\\“: “vendor/kapersoft/sharefile-api/src/”         }     },
This should configure you autoloader to look for both Kapersoft\Sharefile (from the package composer.json) and Kapersoft\ShareFile (from your composer.json) in the installed package code.


Use official httpbin image (kennethreitz/httpbin)

As a complement of https://github.com/istio/istio.io/pull/2461

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: rshriram
If they are not already assigned, you can assign the PR to them by writing /assign @rshriram in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

samples/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jwendell: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-local-tests.sh
08be4abf9f1f7d5b5b30ac36fc57a7afb2c86ebb
link
/test istio-integ-local-tests

prow/istio-integ-k8s-tests.sh
08be4abf9f1f7d5b5b30ac36fc57a7afb2c86ebb
link
/test istio-integ-k8s-tests

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

@jwendell: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-local-tests.sh
08be4abf9f1f7d5b5b30ac36fc57a7afb2c86ebb
link
/test istio-integ-local-tests

prow/istio-integ-k8s-tests.sh
08be4abf9f1f7d5b5b30ac36fc57a7afb2c86ebb
link
/test istio-integ-k8s-tests

prow/e2e-mixer-no_auth-mcp.sh
08be4abf9f1f7d5b5b30ac36fc57a7afb2c86ebb
link
/test e2e-mixer-no_auth-mcp

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

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: frankbu
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

samples/OWNERS [frankbu]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Dataset release

Hi, thank you for all the great work with the MPT models and with LLM-foundry! We are interested in doing research on the MPT model family that would require training on the same dataset as MPT. Are there any plans to release a script or data dump of the MPT-7B dataset (i.e., the dataset described in the blog post https://www.mosaicml.com/blog/mpt-7b)?

Hi! I am on the mosaic data team, and while I understand the importance off getting the precise indices of the training dataset, as well as the difficulty of downloading 10 huggingface datasets, the best you can do right now is to obtain the sources we used and combine them in the proportions listed in the blog post. A good place to start would be english language mc4. I know this is not an exact solution, but please stay tuned as we release more products and code in the future.

Thanks for the quick response! Precise indices could be going above and beyond - it possible that Mosaic could release a script making the proper mixture (distributionally)? I just would like to make sure that the dataset composition is the same.
I would be happy to try to replicate the dataset composition myself, but I'm worried about replicating it precisely given all the possible details around combining/resampling a diverse set of datasets. Most importantly I don't have the resources to "sanity check" any dataset composition I could come up with by training a new 7B model myself.

I definitely see it would be useful to release a scripts that replicates the MPT mixture exactly. I just don't know what the timing will be on getting them developed + out the door. Also if your concern is disk space, even if we release a scripts you will still need to download these datasets in their entirety.

Hi, thanks for the response! My concern isn't disk space, I am worried about being able to replicate the dataset precisely. Please let me know if I'm misunderstanding the data creation process - I would love to just combine huggingface datasets if it is is really all you need to replicate the MPT dataset 😅
The reason why I worry is that the Appendix of the blog post contains a number of steps that are difficult to replicate without either access to the code or much more detailed descriptions. As a few examples (off the top of my head):

For the mC4 filtering, how is a "word" defined? (i.e., is there a particular library used to parse documents into words? is it just text.split(' ') in python?
SemDeDup has many hyperparameters parameters, how exactly was it applied to "remove the 20% most similar documents within C4"?
Semantic Scholar ORC: how is a "paragraph" defined? (is it just a newline?)
and I'm sure more will come up when actually replicating the dataset in code..

Oftentimes seemingly unimportant steps in data curation can impact downstream model performance, so I'm concerned that without code here it would be impossible to meaningfully replicate the dataset. (And furthermore since I can't actually train another 7B model I can't even verify that the dataset was properly replicated)
Thanks so much for engaging and I definitely understand how much work it is to release these kinds of scripts! Broadly Mosaic is amazing at making their code/training procedures in a reproducible/research-usable state and it would be so helpful for research if the data was released as well 😄

Hi, sorry I closed this, you bring up some really good points. I didn't realize semdedup was used in filtering c4.
The good news is that I recently ran an a/b test on using semdedup and it actually doesn't make a difference whether you do it or not for the language data I was using.
I think it makes sense to keep it closed since we will eventually release the data but its not happening immediately, so those in a hurry should download from huggingface and filter themselves. Here are the filters we used:
`# Copyright 2022 MosaicML LLM Foundry authors
SPDX-License-Identifier: Apache-2.0
from typing import Any, Dict
from blingfire import text_to_words
from filter.shared import most_frequent, most_frequent_english_words
class FilterAttempt1:
def keep(self, sample: Dict[str, Any]) -> bool:
    s = sample['text'].lower()

    # Check whether the most frequent character is alphabetic.
    no_whitespace = ''.join(s.split())
    if not most_frequent(no_whitespace)[0].isalpha():
        return False

    # Check that most characters are alphanumeric.
    num_alphas = len([a for a in no_whitespace if a.isalnum()])
    if float(num_alphas) / len(no_whitespace) < 0.90:
        return False

    # Split into words.
    ws = [x for x in text_to_words(s).split() if x.isalnum()]

    # Ensure there are enough words.
    if len(ws) < 100:
        return False
    if len(ws) > 50000:
        return False

    # Verify that the most frequent word isn't too frequent.
    w, freq = most_frequent(ws, most_frequent_english_words)
    frac = float(freq) / len(ws)
    if w is not None and (len(ws) > 500 and frac > 0.1) or (len(ws) <= 500
                                                            and frac > 0.3):
        return False

    # Return the sequence length.
    return True

class FilterAttempt2:
def keep(self, sample: Dict[str, Any]) -> bool:
    s = sample['text'].lower()

    # Check whether the most frequent character is alphabetic.
    no_whitespace = ''.join(s.split())
    if not most_frequent(no_whitespace)[0].isalpha():
        return False

    # Check that most characters are alphanumeric.
    num_alphas = len([a for a in no_whitespace if a.isalnum()])
    if float(num_alphas) / len(no_whitespace) < 0.92:
        return False

    # Split into words.
    ws = [x for x in text_to_words(s).split() if x.isalnum()]

    # Ensure there are enough words.
    if len(ws) < 200:
        return False
    if len(ws) > 50000:
        return False

    # Verify that the most frequent word isn't too frequent.
    w, freq = most_frequent(ws, most_frequent_english_words)
    frac = float(freq) / len(ws)
    if w is not None and (len(ws) > 500 and
                          frac > 0.075) or (len(ws) <= 500 and frac > 0.3):
        return False

    # Return the sequence length.
    return True`

Thanks for the help, this is really useful!

Hi @tbarton16, thank you so much for your help so far.. is it possible you could release the code used to filter for Semantic Scholar ORC? (i.e., paragraphs/words in this context are hard to define) Thanks!

Also, can you please define the function most_frequent?


feat(gpu): Simple graphics settings

Apps now try to find and load settings.toml from a specific directory. Currently the only two supported settings are the window size at boot time and VSync.
Present mode now prefers to VSync to avoid running apps at excessive frame rates.

Looks good to me. Do the examples that use the app crate also read the settings? It looks like it (and that's fine), just confirming.

Yes they do.


Nopatch CVE-2018-16395

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[x] The toolchain has been rebuilt successfully (or no changes were made to it)
[x] The toolchain/worker package manifests are up-to-date
[x] Any updated packages successfully build (or no packages were changed)
[x] All package sources are available
[x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/tools/cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json)
[x] All source files have up-to-date hashes in the *.signatures.json files
[x] sudo make go-tidy-all and sudo make go-test-coverage pass
[x] Documentation has been updated to match any changes to the build system
[x] Ready to merge

Summary

CVE-2018-16395 affects Ruby 2.6.0-preview3 and older. Our Ruby version is 2.6.3, hence we are not affected.
The bug shows up as openssl bug because it's caused by Ruby's openssl bindings.
Change Log

Fixed CVE-2018-16395

Does this affect the toolchain?

YES
Associated issues

Links to CVEs

https://nvd.nist.gov/vuln/detail/CVE-2018-16395

Test Methodology

Local make input-sprms validation of SPEC format.

Abandoning the PR - we will fix the CVE parser instead.


Fix calls to doc-deploy-dev/stable pyansys actions

Use the new input arguments of pyansys/actions/doc-deploy-dev|stable@v4 to skip the renaming and unzipping step
The previous implementation relied on a unzip step with renaming, unsing montudor/zip GitHub action.
However there is a known issue with the rights of the files once unzipped.
Furthermore, thanks to the v4 pyansys actions, this step is not even required.

Superseeded by #885


no need to set host password  when exec sealer run on master0

Issue Description
Type: feature request
Describe what feature you want
For example, I have logged in to a machine which as my master0 node, and my cluster only have this one node.
and then I just want to initialize the machine. At this time, I don’t need to enter the password and ip addresses . cmd "sealer run " will success .
Example : "sealer run  kubernetes:v1.19.8"
Additional context
Add any other context or screenshots about the feature request here.

how choose the master ip if the master0 node have multiple IP?

@neo502721 , i think we dont care about ip addr, just copy rootfs file and run init, will start the cluster.

This is a convenience feature for single node test


make mirage-unix an optional dependency

all src/ needs is Lwt (due to its usage of Lwt.t)

/cc @mato who complained recently about the hard dep on mirage-unix

Yes please, currently mirage-os-shim pulls in mirage-unix whenever it's installed on Solo5, which pulls in a bunch of other unneeded stuff.

Ah, well spotted. Thanks!

also synced this opam back to mirage-dev repository


Add SQLite and console as INSERT output targets

Extended CLI Questions
:white_check_mark: Juice Shop URL to retrieve challenges?
:white_check_mark: Secret key <or> URL to ctf.key file?

[ ] SQL statements output target? (select from: File, Console, SQLite)
[ ] (only if SQLite was selected) Location of CTFd SQLite database? ({workdir}/CTFd/ctfd.db)

:white_check_mark: DELETE all CTFd Challenges before INSERT statements?
:white_check_mark: SELECT all CTFd Challenges after INSERT statements?
Process extensions

[ ] Test connection to SQLite database (fail CLI if file not found, locked or otherwise corrupt)
[ ] Programmatically connect to SQLite db and execute & commit generated statements (fail CLI on any error)
[ ] Implement output to console as alternative to file

Redundant with switch to file-import feature of CTFd, see #12


Upgrade javadoc-plugin to 3.2.0 when available

Environment Details

Helidon Version: 2.0.0-SNAPSHOT

Problem Description
We need maven-javadoc-plugin 3.2.0 to build the aggregated javadocs (it has features that let's us navigate Java modules). It has not yet been released (although the source tag exists). So in build.sh we pull the 3.2.0 tag and build it before building the aggregated javadocs.
Once 3.2.0 is released we need to remove the work-around in build.sh

Fixed by #1531


a small bug while executing cell in jupyter notebook

when executing a cell in a jupyter notebook, if one undo (Ctrl + Z) after the execution, the cell would keep running forever and can not stop. One can not execute the cell unless the jupyter notebook is shut down and reopened, but other cells can run well.
BTW, it runs on vs-code-insider.

Hi @zy452608532, I am able to reproduce at this time. Will discuss corrected behavior during our triage.
What would your expected behavior be in this scenario? What were you trying to achieve when you pressed undo after executing a cell?

Hello, I’m having the same issue, after executing the cell, sometimes as it runs I’m trying to edit or undo an edit that I have done, if the code stops on an error and I press CTRL+z, the same issue happens and I have to restart vscode.

The fix for this bug is being tracked here: https://github.com/microsoft/vscode/issues/106362. Closing in this repo.


Crash receiving a phone call while using AKMicrophone

I currently use AudioKit for listening to the microphone and applying FFT analysis. I've discovered that the AVAudioEngine causes a crash if it is started while a phone call is active. If you receive a phone call and then go to an app that is using AudioKit/microphone then the app will crash in the AudioKit.restartEngineAfterRouteChange(_) method when it tries to call self.engine.start().
The only solution I'm aware of for this problem is to check whether a phone call is active before attempting to prepare or start the engine.
I've submitted a radar for this, but I think AudioKit should check if the microphone is in use, and if so, check for active phone calls.

There have been updates that @warpling implemented for Blackbox, but perhaps those are still in the develop branch.

I'm pretty sure this had to do with the phone call triggering the app resigning and an engine interruption which AK hears and then attempts to start the AVAudioSession again; it fails when the microphone is active because it's trying to start AVAudioSession in a category that it's not allowed to be in (PlayAndRecord or Record) since the app is not in the foreground and likely doesn't have background audio entitlements.
This PR stops AK from attempting to restart if it doesn't have the correct entitlement to restart in the category it wants: https://github.com/AudioKit/AudioKit/pull/956
Still in develop branch.

I was able to reproduce the crash with AVFoundation in a separate sample app (which I submitted to Apple in the radar).
let engine = AVAudioEngine()
guard let inputNode = engine.inputNode else {
    return
}

let bus = 0
inputNode.installTap(onBus: bus, bufferSize: 2048, format: inputNode.inputFormat(forBus: bus), block: { (_,_) in
})
engine.prepare()

If you start a phone call, and run an app with this code, the app will crash immediately.

Thank you, personally, for filling that!
Let me know if you get a chance to test the develop branch to see if it fixes the issue too.

I don't see any actions I can really take on this issue, so I will close it, but it would be great if you still posted updates here about your feedback from Apple on the radar you filed.

So, I've tried out the develop branch and I saw the same crash again. I've made a PR #1005 demonstrating a fix. I've done something similar in my app to check before we start the AudioKit engine, but something like what I've done in the PR is necessary (IMHO) to prevent a crash on resuming the audio session if a route change notification is received.
I understand if you consider this a low priority problem, but it is currently a major cause of crashes for my app.

I was talking with @dave234 and thought this may occur because the Phone has it's own AudioEngine that is holding resources AK's AudioEngine wants when it starts up? This may inform how to check for this before start-up more agnostically and could be tested by creating an AudioEngine that holds audio resources AudioKit needs before attempting to start AudioKit?

So I'm seeing this crash a lot in my current app. I think people are trying to Transcribe Phone calls.
I've found using the following code:
 private func setupMicrophone() {
        let inputFormat = AudioKit.engine.inputNode.inputFormat(forBus: 0)
        AKLog("\nWRONG RATE\nsession rate: \(AVAudioSession.sharedInstance().sampleRate)\ninput rate: \(inputFormat.sampleRate)")
        AKSettings.sampleRate = inputFormat.sampleRate
        AKSettings.channelCount = inputFormat.channelCount
        AKSettings.audioInputEnabled = true
        AKSettings.useBluetooth = true
        AKLog("\nCORRECT RATE\nsession rate: \(AVAudioSession.sharedInstance().sampleRate)\ninput rate: \(inputFormat.sampleRate)\naksettings rate:\(AKSettings.sampleRate)")
        mic = AKMicrophone()
    }

Shows the following output during a phone call:
WRONG RATE
session rate: 16000.0
input rate: 0.0 (TranscriptionService.swift:setupMicrophone():71)
CORRECT RATE
session rate: 16000.0
input rate: 0.0
aksettings rate:0.0 (TranscriptionService.swift:setupMicrophone():76)

So essentially I think what @warpling is saying is correct. I can't seem to manipulate the sample rate of the audio engine during a phone call. I'm worried that this is happening in other ways in my app so I'm going to put a more generalized check for sampleRates than actually looking for a phone call.


__unset_gj_flag_sub_field has sometimes raises error.

Describe the bug
A clear and concise description of what the bug is.
The document.py file has a function named "__unset_gj_flag_sub_field"
it sometimes ( not all times ) raises error even the same query usually works but very sometimes.
the exception log is as below.
File "/home/yongwoo/.conda/envs/pingme/lib/python3.6/site-packages/mongoengine_goodjson/document.py", line 155, in unset_flag
   cur_depth_attr = getattr(fld, "$$cur_depth$$")
AttributeError: 'StringField' object has no attribute '$$cur_depth$$'

So here is my fixed code and it works fine again but I never understand how come it happens.
def __unset_gj_flag_sub_field(self, name, fld, cur_depth):
    """Remove current depth to subfield."""
    # def unset_flag(fld, depth_lv):
    #     setattr(fld, "$$cur_depth$$", depth_lv - 1)
    #     cur_depth_attr = getattr(fld, "$$cur_depth$$")
    #     if (not isinstance(cur_depth_attr, int)) or cur_depth_attr < 0:
    #         delattr(fld, "$$cur_depth$$")

    def unset_flag(fld, depth_lv):
        __cur_depth = depth_lv - 1
        if isinstance(__cur_depth, int) and __cur_depth >= 0:
            setattr(fld, "$$cur_depth$$", __cur_depth)

    self.__apply_element(
        name, fld, cur_depth, unset_flag, "end_goodjson"
    )

because you declared setattr(fld, "$$cur_depth$$", depth_lv - 1) so that getattr(fld, "$$cur_depth$$") must always have $$cur_depth$$ property but as you see the error log above it raises..
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

if you find out why it happens, please let me know


[FEATURE REQUEST] Support Class providers useClass in LoggerModule.forRootAsync

Is your feature request related to a problem? Please describe.
I would like to abstract LoggerConfigService class, but nestjs-pino only support useFactory.
Describe the solution you'd like
A clear and concise description of what you want to happen.
// current usage
LoggerModule.forRootAsync({
      useFactory: (config: ConfigService) => config.get('pino', {}),
      inject: [ConfigService],
      imports:[ConfigModule],
});

// wish i can use useClass syntax to keep consistency
LoggerModule.forRootAsync({
      useClass: LoggerConfigService,
      inject: [ConfigService],
      imports:[ConfigModule],
});

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
public static createAsyncProviders(
    options: ModuleAsyncOptions
  ): Provider[] {
    if (!(options.useExisting || options.useFactory || options.useClass)) {
      throw new Error('Invalid configuration. Must provide useFactory, useClass or useExisting');
    }

    if (options.useExisting || options.useFactory) {
      return [this.createAsyncOptionsProvider(options)];
    }

    if (options.useClass) {
      return [
        this.createAsyncOptionsProvider(options),
        { provide: options.useClass, useClass: options.useClass },
      ];
    }
    return [];
  }

Config object for this lib is POJO, not class instance. In case you need to use class to build config, just inject your class instance and pass it in useFactory function:
inject: [PinoConfigClass],
useFactory: pinoConfigInstance => pinoConfigInstance,

Sorry, but I don't want to add unnecessary features, that can be done with the current API by adding one simple extra line in your code.
In case you really need this feature, you can always fork this repo. Closing


Fetch on route

**Part of ** https://github.com/reactGo/reactGo/issues/487
*High Level Changes

Add fetching data logic to <Route> components
Remove dispatch logic from preRenderMiddleware
Remove usage of promise in action dispatched for asynchronous API call in redux action calls

⚠ Tests aren't passing yet - still needs to be fixed before merging.
⚠ This refactor is pretty big.

Please review
@caranicas @jrodl3r @psimyn @ZeroCho + anyone who is interested!
It's a good first step I reckon. It will enable us to start refactoring in smaller chunks hopefully.

Countdown to self 👊 and merging - 4.5 hours.

@choonkending Can we still call store.dispatch(...) inside <Route onEnter={...}> handlers?

We should still be able to, given that routes.js is still passed a store instance.

@jrodl3r Sure! let me know if you find any side effects. I think we will be able to come up with a better solution moving forward now that we made prerendermiddleware slightly simpler.
Will merge in 1 hour :P

@StefanWerW good catch! Nope it's not being used anywhere!

Expect a fixing PR in a bit hehe

@choonkending can you explain why we want to fire "CREATE_REQUEST" + "REQUEST_SUCCESS" on every location change?
noticed that is happening on every URL (even w/ { data: undefined }) and just not sure what to make of this... Please explain this a for me? Thx!


:truck: update: Add 143rd CatchUp summary

Sorry for the delay in writing the summary. Please review and merge. Thank you!

Reason for merging without review: Team is very busy and the summary is straightforward.


ViewAsPdf Spacing issue

Hi there,
I didn't find any issue regarding this problem. I have a table which is rendered to a PDF. The table looks normal if I render it as HTML. But when I use ViewAsPdf the Text gets squished together and I can't figure out why ... Maybe someone had this issue before?
HTML Table

Table in PDF

Thanks in advance,
Andi

I get the same thing, but found that body { margin: 0 } does help sort it somewhat (but not for larger tables...
But it's mostly likely a wkhtmltopdf rendering issue, as the HTML looks fine. https://github.com/wkhtmltopdf/wkhtmltopdf/issues/3243

Using wkhtmltopdf for another project, changing the dpi affected some of my letter spacing. Might be similar to this https://stackoverflow.com/questions/10829209/letter-spacing-issue-when-converting-html-to-pdf-using-wkhtmltopdf-through-pdfki


Mpes metadata

This PR implements metadata collection and conversion to NeXus for mpes.

This should be ready for review. It's again a rather large PR, because I restructured a few things for collecting the required metadata for Nexus conversion in a consistent way.

How whould we move forward with this? I currently build everything I do based on this, which makes the backlog even larger. Thus, i would like to merge this soon. Howe we progress with the other PRs, like the complete restructuring, should also take these developments into account, this I suggest to merge first (also the developments on the flash reader should take the changes to the reader interface implemted here into account, if you agree to the structure).

I believe since we started this project with poetry, it'd be great if we keep all our development with that. That should be the first place where dependencies should change and requirements.txt should be secondary.
A lot of users found the poetry experience very pleasant in comparison to using conda so I would really urge that we all try to also use it.
Regarding the PR, I think the example notebook should only include a basic overview that highlights how the metadata is handled. The processing parts are already covered in 3 so they could be removed.
I've taken a look at this PR before and now and checking the new functionality, everything seems to work. Though Steinn's comment is valid, a lot of files need to change to make the metadata handling with sed work.

I believe since we started this project with poetry, it'd be great if we keep all our development with that. That should be the first place where dependencies should change and requirements.txt should be secondary.
A lot of users found the poetry experience very pleasant in comparison to using conda so I would really urge that we all try to also use it.

Do you mean that there are some inconsistencies between requirements.txt and poetry.toml here? That might be true, I will fix this.

Regarding the PR, I think the example notebook should only include a basic overview that highlights how the metadata is handled. The processing parts are already covered in 3 so they could be removed.

Also a valid comment. I will reduce the metadata notebook to the bare conversion with parameters from the config.

I updated pyproject.toml, and removed requirements.txt, because this is redundant, I was not aware of this. I also stripped down the example notebook.
However, I could not get the project to install with poetry, it just runs forever in loops (I stopped after ~20 minutes). Maybe there is some inconsistency between requirements of packages? Put then poetry should be able to tell, no? I don't understand this.

@daviddoji @zainsohail04 I am not getting poetry to install and generate a new poetry.lock file. Even if I do it on the master branch, it does not work if I remove the poetry.lock file, it just takes forever to resolve dependencies. Shall I just merge and remove the poetry.lock file, or do you have any advice, or could generate and push the file for me?

@daviddoji @zainsohail04 I am not getting poetry to install and generate a new poetry.lock file. Even if I do it on the master branch, it does not work if I remove the poetry.lock file, it just takes forever to resolve dependencies. Shall I just merge and remove the poetry.lock file, or do you have any advice, or could generate and push the file for me?

Found it, the version of sphinx was apparently kept back at a too old version... (?). At least lifting this restriction helped.

@daviddoji @zainsohail04 I am not getting poetry to install and generate a new poetry.lock file. Even if I do it on the master branch, it does not work if I remove the poetry.lock file, it just takes forever to resolve dependencies. Shall I just merge and remove the poetry.lock file, or do you have any advice, or could generate and push the file for me?

poetry.lock file is just a reference that contains hashes of the libraries that were installed using the dependencies of the pyproject.toml, which is the reference for correct build instructions.
If dependencies are pinned in pyproject.toml, one can forget about the poetry.lock file.
Given the amount of dependencies of sed, maybe is not a bad idea to freeze them all and commit the lock file to VC. Doing it so, one will avoid this slowness in resolving dependencies (only the first time has to be done) and the same version of libraries will be installed for everybody.

As such, we should keep the version restictions as small as possible, to allow it to be compatible with as many other packages as possible.

I fully agree

It's clear that the poetry.lock just describes the current state, but it should be consistent with the pyproject.toml, and more importantly poetry should be able to find a solution. Before lifting the fix on sphinx, it did not so for me for over two hours...
We discussed this before: We want to build a package here that people can use as part of their data analysis environment, not a stand-alone project. As such, we should keep the version restictions as small as possible, to allow it to be compatible with as many other packages as possible.

I won't discuss again the benefits of using a tool like poetry here. Lock files are written after the pyproject.toml has been resolved, dependency-wise. If this takes too long, it means that there is an intricated set of dependencies that it is difficult for poetry to solve. If it does, a lock file is written, otherwise the lock file is not generated.
As it was generated in the past (it was even commited to the repo), I don't get why it should not be generated once again using the same version especified in the lock file.
On the other hand, I agree with you that pinned dependencies should be kept to the minimum. What I don't understand is why sphinx is a mandatory dependency for sed, and not an extra one.


Captcha answer – the unknow answer

I have a new wiki account with none changes. If I edit a page, so I have the error answer:
Error: Array
(
    [page] => Unexpected edit response: Failure
)
If i enable the debug, so I see the answer:
edit POST response:
Array
(
    [edit] => Array
        (
            [captcha] => Array
                (
                    [type] => image
                    [mime] => image/png
                    [id] => ID_ANONYMIZED
                    [url] => /w/index.php?title=Posebno:Captcha/image&wpCaptchaId=ID_ANONYMIZED
                )

            [result] => Failure
        )

)
The version: Wikimate-1.0.0.

A captcha on an API naturally defeats the purpose of automatic, script-wise edits. I can't say more at this point, as the report lacks info about which wiki site and what captcha plugin is involved.

Wiki: hrwiki. (Un)more: https://hr.wikipedia.org/w/index.php?title=Posebno:Captcha/
Maybe, the human doesn't need a details. The user need maybe only the error "The captcha is in the way", none "Unknown error". The program only detect the key "captcha" in the API answer.

I'm afraid I don't quite follow what you're writing, nor what you now expect from Wikimate.

If I'm reading @Dusan-Krehel's last comment correctly, one thing Wikimate could do is recognize a captcha-related error in an error response (by means of the presence of the captcha key) and provide a more informative error than "Unexpected edit response: Failure".
I don't know if that error response format is common to all captcha extensions, but the wording used in the MediaWiki docs ("The ConfirmEdit extension for MediaWiki provides an extensible captcha framework") appears to suggest that other CAPTCHA extensions are expected to work with it. And indeed in the Croatian Wikipedia's Special:Version page, it can be seen that both the ConfirmEdit and the FancyCaptcha extensions are installed — the latter being one of those listed as one of the captcha modules provided by ConfirmEdit.

@waldyrious waldyrious Yes.
No only hrwiki, but plwiki and srwiki.
Maybe, If the program is not sure, it can print at least a warning.

Well, I finally had some time/inspiration to look into this, read up on the documentation, set up a captcha on my local wiki for testing, and implement a proper error message. See #145.
I tested a file upload too, but the captcha extension doesn't deny that.
Note that the default configuration doesn't deny API requests from actual bot accounts, so @Dusan-Krehel this may be a route to pursue for making bot scripted updates on your local Wikipedia.


Working with other catalogs

As documentation suggests that this library will work with all the Iceberg catalogs,
I wanted to try it out with Nessie catalog.
Since, I am a newbie to Kafka and streaming side of things,
I figured out that setting up each of them will take some time for me.
So, I decided to try out a quick POC by extending the integration-tests to use Nessie catalog.
But the TestContext is singleton and can have only one catalog at a time as of now.
So, Making it adoptable to multiple catalog will be my next task. But I didn't want to spend time on that now.
Hence, I updated the test cases to use Nessie catalog instead of REST catalog to see whether it can work.
code changes:
https://github.com/tabular-io/iceberg-kafka-connect/compare/main...ajantha-bhat:iceberg-kafka-connect:nessie
But the integration tests are failing with that change.
Assertion condition defined as a lambda expression in io.tabular.iceberg.connect.IntegrationTest
Expected size: 1 but was: 0 in:
[] within 30 seconds.
org.awaitility.core.ConditionTimeoutException: Assertion condition defined as a lambda expression in io.tabular.iceberg.connect.IntegrationTest
Expected size: 1 but was: 0 in:
[] within 30 seconds.

IntegrationCdcTest > testIcebergSink() FAILED
    org.awaitility.core.ConditionTimeoutException at IntegrationCdcTest.java:181
        Caused by: java.util.concurrent.TimeoutException at IntegrationCdcTest.java:181

I put break point and checked that table is created in nessie catalog. But there is no data from streaming ingest.
Table is empty. Hence the testcase failed.
There is no error log or exception related to functionality. I thought code will invoke IcebergSinkTask.open(). But it didn't.
So, please let me know how can I debug further. @bryanck
P.s: I also saw some time out issue fix, https://github.com/tabular-io/iceberg-kafka-connect/pull/84
I have rebased my changes. Still my issue exists.

so try checking the Kafka Connect container logs for any exceptions being logged.

Thanks. I found below callstack from kafka-container logs.
2023-09-25 15:51:52 org.projectnessie.client.http.HttpClientException: Failed to execute GET request against 'http://localhost:19121/api/v1/config'.
2023-09-25 15:51:52     at org.projectnessie.client.http.impl.jdk11.JavaRequest.executeRequest(JavaRequest.java:128)
2023-09-25 15:51:52     at org.projectnessie.client.http.HttpRequest.get(HttpRequest.java:80)
2023-09-25 15:51:52     at org.projectnessie.client.http.NessieApiCompatibility.check(NessieApiCompatibility.java:35)
2023-09-25 15:51:52     at org.projectnessie.client.http.HttpClientBuilder.build(HttpClientBuilder.java:341)
2023-09-25 15:51:52     at org.apache.iceberg.nessie.NessieCatalog.initialize(NessieCatalog.java:95)
2023-09-25 15:51:52     at org.apache.iceberg.CatalogUtil.loadCatalog(CatalogUtil.java:239)
2023-09-25 15:51:52     at org.apache.iceberg.CatalogUtil.buildIcebergCatalog(CatalogUtil.java:284)
2023-09-25 15:51:52     at io.tabular.iceberg.connect.data.Utilities.loadCatalog(Utilities.java:67)
2023-09-25 15:51:52     at io.tabular.iceberg.connect.IcebergSinkTask.open(IcebergSinkTask.java:61)
2023-09-25 15:51:52     at org.apache.kafka.connect.runtime.WorkerSinkTask.openPartitions(WorkerSinkTask.java:644)
2023-09-25 15:51:52     at org.apache.kafka.connect.runtime.WorkerSinkTask.access$1200(WorkerSinkTask.java:73)
2023-09-25 15:51:52     at org.apache.kafka.connect.runtime.WorkerSinkTask$HandleRebalance.onPartitionsAssigned(WorkerSinkTask.java:741)
2023-09-25 15:51:52     at org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.invokePartitionsAssigned(ConsumerCoordinator.java:322)
2023-09-25 15:51:52     at org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.onJoinComplete(ConsumerCoordinator.java:471)
2023-09-25 15:51:52     at org.apache.kafka.clients.consumer.internals.AbstractCoordinator.joinGroupIfNeeded(AbstractCoordinator.java:474)
2023-09-25 15:51:52     at org.apache.kafka.clients.consumer.internals.AbstractCoordinator.ensureActiveGroup(AbstractCoordinator.java:385)
2023-09-25 15:51:52     at org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.poll(ConsumerCoordinator.java:557)
2023-09-25 15:51:52     at org.apache.kafka.clients.consumer.KafkaConsumer.updateAssignmentMetadataIfNeeded(KafkaConsumer.java:1272)
2023-09-25 15:51:52     at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1236)
2023-09-25 15:51:52     at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1216)
2023-09-25 15:51:52     at org.apache.kafka.connect.runtime.WorkerSinkTask.pollConsumer(WorkerSinkTask.java:479)
2023-09-25 15:51:52     at org.apache.kafka.connect.runtime.WorkerSinkTask.poll(WorkerSinkTask.java:331)
2023-09-25 15:51:52     at org.apache.kafka.connect.runtime.WorkerSinkTask.iteration(WorkerSinkTask.java:237)
2023-09-25 15:51:52     at org.apache.kafka.connect.runtime.WorkerSinkTask.execute(WorkerSinkTask.java:206)
2023-09-25 15:51:52     at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:202)
2023-09-25 15:51:52     at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:257)
2023-09-25 15:51:52     at org.apache.kafka.connect.runtime.isolation.Plugins.lambda$withClassLoader$1(Plugins.java:181)
2023-09-25 15:51:52     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
2023-09-25 15:51:52     at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
2023-09-25 15:51:52     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
2023-09-25 15:51:52     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
2023-09-25 15:51:52     at java.base/java.lang.Thread.run(Thread.java:829)
2023-09-25 15:51:52 Caused by: java.net.ConnectException: Connection refused
2023-09-25 15:51:52     at java.net.http/jdk.internal.net.http.HttpClientImpl.

Let me dig further.

In case this is relevant, Docker on Mac doesn't support host networking, so Kafka Connect won't be able to connect to a catalog running on your host system when running the integration tests.

BTW the integration tests should be more stable now, I made a few updates.

In case this is relevant, Docker on Mac doesn't support host networking, so Kafka Connect won't be able to connect to a catalog running on your host system when running the integration tests.

Can you please elaborate this? This integration test is running Nessie docker just like how the test was previously running REST catalog docker.
I will figure out the problem about why it is connection refused. Initially I thought I need to use mapped-port for kafaka-connect. But REST catalog was not using it. But I tried using mapped-port, still same error. I will manually curl and see it.

BTW the integration tests should be more stable now, I made a few updates.

Thanks, I will rebase after fixing my error.

If you're running Nessie in Docker then you can ignore that reply, I wasn't clear on your setup.

I don't think localhost as the catalog host will work though. That should be the network alias.

I don't think localhost as the catalog host will work though. That should be the network alias.

You are right. changing from http://localhost:19121/api/v1 to http://iceberg:19121/api/v1 has fixed my connection issue.
I didn't observe hostname clearly how the REST uri was configured before.

That error is resolved.
Since, I have configured the warehouse for Nessie, I have a new error.
I will try to figure out.
Caused by: org.apache.iceberg.exceptions.RuntimeIOException: Failed to get file system for path: s3://bucket/warehouse/test/foobar_4d4430dd-da8f-4ae5-b4f1-ff9d1fa8f5f7/metadata/00000-17199790-1334-49f0-bfc3-0b4ac0a9b544.metadata.json
2023-09-25 20:50:29     at org.apache.iceberg.hadoop.Util.getFs(Util.java:58)
2023-09-25 20:50:29     at org.apache.iceberg.hadoop.HadoopInputFile.fromLocation(HadoopInputFile.java:56)
2023-09-25 20:50:29     at org.apache.iceberg.hadoop.HadoopFileIO.newInputFile(HadoopFileIO.java:90)
2023-09-25 20:50:29     at org.apache.iceberg.TableMetadataParser.read(TableMetadataParser.java:266)
2023-09-25 20:50:29     at org.apache.iceberg.nessie.NessieTableOperations.loadTableMetadata(NessieTableOperations.java:86)

FileIO was not configured for REST catalog (it might be using ResolvingFileIO in the tabular Iceberg fork which this project uses). But for Nessie, I need to manually configure the FileIO as S3FileIO.

Yes, I believe the Nessie catalog uses HadoopFileIO by default, there is a PR open to change that: https://github.com/apache/iceberg/pull/8272

Everything works now. But I can't raise PR for the testcase yet since TestContext is a singleton class.
I will comeback with a refactoring and contribute the testcases.
Thanks. closing this ticket.


flutter web can not work in iphone QQ app / iphone QQ程序内打开flutter web页面白屏、无法运行

Steps to reproduce
1, AppStore download and install "QQ"
2, Send a flutter web link to your friend
3, Click the link and open it by QQ`s internal browser
4, Flutter web only display blank
Tried in 3.16.x and lastest version 3.22.0
Expected results
can display flutter web content
Actual results
Just blank, and redirect to local debug, can get the log of error in dart_sdk.js
Code sample
Code sample
[Paste your code here]

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
Uncaught (in promise)  {"name": "Error", "message": "TypeError: null: type 'Null' is not a subtype of type 'JavaScriptObject'", "stack":
"DartError                       @dart_sdk.js:13159:12
throw_                           @dart_sdk.js:11994:29
_failedAsCheck                   @dart_sdk.js:22922:15
_generalAsCheckImplementation    @dart_sdk.js:22908:28
read                             @dart_sdk.js:157565:41
runBody                          @dart_sdk.js:47100:38
_async                           @dart_sdk.js:47136:14
fetchFontManifest                @dart_sdk.js:204357:55
                                 @dart_sdk.js:47081:37
handleValueCallback              @dart_sdk.js:42938:60
_propagateToListeners            @dart_sdk.js:42976:36
                                 @dart_sdk.js:42817:44
                                 @dart_sdk.js:42851:35
_startMicrotaskLoop              @dart_sdk.js:47394:21
_startMicrotaskLoop              @dart_sdk.js:47400:27
                                 @dart_sdk.js:43200:17
"}

Flutter Doctor output
Doctor output
[Paste your output here]

QQ app and QQ浏览器/QQ browser can not display.

@starqiqi77
This document shows supported web browsers by Flutter https://docs.flutter.dev/platform-integration/web/faq#which-web-browsers-are-supported-by-flutter
Since you mentioned, we need to install a third party browser, which may not have proper support by Flutter and hence you could be seeing the reported behavior.
Have you checked if it works properly with native Android or iOS ?
I don't think this will be actionable from Flutter as the browser you mentioned isn't in the supported list.
Closing from here. If you disagree, write in comments and I'll reopen it.


Add 'application/' to content-type

Default content type was just x-www-form-urlencoded, now application/x-www-form-urlencoded, which is required to work with Pushover.net.

https://github.com/tuanpmt/esp_bridge/issues/8


Update parsing to handle amount out of range

Previously, amount out of range would cause issues with json file loading.
Fixes #295

Amounts out of range result in error message.

@beginner-web-developer which issue is about the json file being unable to load because of amount too large

Issue #246

Issue #246

Can I clarify how does #195 cause the app to crash?


Environment variables for Alibaba Cloud DNS provider

The newly-merged alidns provider (c22f8d841fc2d1dd95b3a83cdab06b01ca5a0f2a) reads credentials from environment variable ALIDNS_API_KEY and ALIDNS_SECRET_KEY. However, ALICLOUD_ACCESS_KEY and ALICLOUD_SECRET_KEY are more idiomatic and are already used in the official Ansible provider, Packer and Terraform.
I would suggest that we switch to the more idiomatic environment variable pair, as many users may already have those defined. I can send a pull request if you agree to make this change.

@ericyan I'm ok with that change, let's go :smiley:


Handle windows log file rotation using DidRotate

What does this PR do?
Handle logfile rotation on Windows using the same DidRotate functionality as on UNIX.
Motivation
Currently, logfile rotation on Windows is handled by noticing that the file has shrunk, and resetting back to the beginning of the file.  This is problematic:

It differs notably from how this is handled on *nix, where the launcher detects rotation and creates a new tailer.
It uses unsafe access to the decoded offset, in a way that could lead to corruption, lost logs, or incorrect registry entries.
It may lose log entries written moments before a rotation.

This PR addresses the first two points by using the same technique as used on *nix.  It adds an additional short-circuit (second commit) to skip some useless work and avoid possibly duplicated messages.
The last point is difficult or impossible to fix, without knowing where the process creating the logfile has stuck the previous data.  This PR won't try to address that.
Describe how to test/QA your changes
Run an agent on a Windows system that is generating logs to a file (such as SQL server), and configure the agent to gather logs from it.  Cause a log rotation, and verify that the agent correctly logs messages from the new file.
Note that SQL server doesn't log to its errorlog much, but will helpfully rotate its logs on restart.
Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] The appropriate team/.. label has been applied, if known.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the config template has been updated.

(not WIP anymore)


LICENSE files issue

The project should be licensed under Apache 2 only. The pom.xml lists only Apache 2, but there are two LICENSE files in the root directory of the project, one for Apache2 and one for GPL. There should be just one file named LICENSE containing the Apache 2 license.

Thanks!


Populate $many_many_extraFields

Hey,
Just wondering if this is possible...
class MyPage extends Page
{
    private static $many_many = [
        'MyDataObjects' => 'MyDataObject',
    ];

    private static $many_many_extraFields = [
        'MyDataObjects' => [
            'MyField' => 'Int',
        ],
    ];
}

Given the above, is there a way to populate MyField using a fixture?

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Pupulate uses the same fixture factory as unit tests, so that docs are also valid: https://docs.silverstripe.org/en/4/developer_guides/testing/fixtures/#defining-many-many-extrafields
Player:
  john:
    Name: John
  joe:
    Name: Joe
  jack:
    Name: Jack
Team:
  hurricanes:
    Name: The Hurricanes
    Players:
      - =>Player.john:
         Role: Captain

  crusaders:
    Name: The Crusaders
    Players:
      - =>Player.joe:
        Role: Captain
      - =>Player.jack:
        Role: Winger


Huge event problem with chrome on V1.0.0beta7 and 0.19

Problem description
Can't get event.target.id on chrome when clicking on the text part of a button, but works when clicking  on the edge, it doesn't work at all in earlier releases,
could you fix this (in both versions )? I'm sure it's not something that huge, it works perfectly on firefox, but we need all recent browsers working

Duplicate of #7974


[FEATURE] Enable Last Will and Testament

Enabling the LWT (Last Will and Testament) feature requires adding three lines of code and add the very cool functionality of giving HA the ability to detect if the device looses power.
    device.enableSharedAvailability(); // [OPTIONAL] Enables the ability to set the on/off line status of the device
    device.setAvailability(true); // Set the device to on-line
    device.enableLastWill(); // [OPTIONAL] Allows HA to detect when the device losses power (and thus disable the controls in the HA UI)

No shit? Great find. Probably makes any IoT device better behaved and match people's expectations. If you wanted to add this to a potential PR I'd be into it.


Update styles.css responsivness

hi venu 👋! i like your enthusiam to contribute towards this project .
i have reviewed your changes to the css files inorder to improve the responsiveness of the page.  i have local hosted the project with your change on different screen ratios, i dont mean to say that your changes are not effective, but i suggest to make sure your meida quries are functioning correctly as they have to! and make sure to maintain the ui design of the web page.

Yea sure,I had been thinking the same,sorry for rushing things

hi venu 👋! i like your enthusiam to contribute towards this project .
i have reviewed your changes to the css files inorder to improve the responsiveness of the page.  i have local hosted the project with your change on different screen ratios, i dont mean to say that your changes are not effective, but i suggest to make sure your meida quries are functioning correctly as they have to! and make sure to maintain the ui design of the web page.

I will work on this again, sorry for rushing things...You can close this pull request


Update how-to-connection.md

Updated the yaml file for the SQL Connection. The type and credential type information seemed incorrect.

Due to the upcoming conference, all merging and publishing are on hold until the morning of 5/23.
This PR is ready for merge on 5/23.
#label: "event-triaged-to-10AM"
#label: "missed-content-complete"


I got error    Jorenvh\Share\ShareServiceProvider' not found

i got error Class 'Jorenvh\Share\ShareServiceProvider' not found
install fresh  new version laravel  5.1  and follow all instruction  properly

I have the same problem.
Laravel 5.5.

Sorry for the delay, it was a very busy month at the office. This is fixed in version 1.0.4. Thank you for your patience!


List.range conversion for [Namespace.exp1..Namespace.exp2]

Not sure, if this should be on elm-format after the last one I posted.
Here is the piece of code that didn't convert correctly:
 let
        all =
            List.map (String.fromChar << Char.fromCode)
                [Ascii.fromCode..Ascii.toCode]

where
fromCode : Int
fromCode =
    32

toCode : Int
toCode =
    126

Thanks again for a great tool!

This should be on elm format :+1:


fix probes (in progress)

The part that's not working yet is that these probes should be forwarded until they have all looped around once, and then CONDs should be sent.


Should NBitcoin rather use BouncyCastle's SecureRandom by default?

I see that the random number generator used depends on the platform...
Nethereum however, uses (BouncyCastle's)SecureRandom in every platform.
Shouldn't NBitcoin also depend on BouncyCastle for this by default?

I see that the random number generator used depends on the platform...

When upgrading from 3.x to <IP_ADDRESS> I've noticed that this is not true anymore, I got an exception saying that I didn't set RandomUtils.Random property. Was this intended? (It was even when compiling and running in Windows.)
(FYI I solved it on my end with https://github.com/knocte/gwallet/commit/0dd3dbe1307f14e39953738277024ceea304d38b .)

I prefer using the RNG of the platform.

Thing is, I think BouncyCastle's is kinda doing the same thing: using the best approach depending on the platform. So I don't think NBitcoin should be trying to fix this problem, but delegate into BouncyCastle for solving it.

@knocte please do not use BC one and, or if you do, do not use the only this one. This is calling for a disaster.
NBitcoin does not set default Random if you are using netstandard1.1. Which plateform do you target?

Ah target 4.5.2 at least (instead of 4.5.1), you will not have any issue.

This is calling for a disaster.

Why a disaster? If BouncyCastle's random class wasn't secure, they wouldn't call it SecureRandom. (FYI it only uses DateTime.Now.Ticks as entropy addition, see https://crypto.stackexchange.com/a/18208 )

Ah target 4.5.2 at least (instead of 4.5.1), you will not have any issue.

Can you elaborate what do you mean by this? My wallet actually targets .NET Standard when running with the Xamarin.Forms frontends.

Calling it Secure does not make it secure. OS randomness has better chance of being really secure than SecureRandom, as it has been more attacked and everything depends on it being secure... BouncyCastle, not so much. Please do not use SecureRandom, or if you do, mix it with other source of entropy before people loose money.
I saw your project is targetting .NET 4.5.1.
I think you are using old version of xamarin forms, it supports netstandard2.0 as per https://developer.xamarin.com/guides/xamarin-forms/under-the-hood/net-standard/ so if your project is well configured, you should use NBItcoin netstandard1.6, which support OS level randomness.
To know if you are targetting .netstandard1.6, hit F12 on a class of NBitcoin and look at the top in what folder is the referenced library.

Calling it Secure does not make it secure

Really?? :)
I know, but I'm giving some weight to the BouncyCastle guys. Do you think you know more cryptography than them? Just curious, because in my case of course I don't. Looking at their commits, they seem to be very knowledgeable, and as I already said in my 2nd comment on this issue, they seem to be already using the specific RNGs of the platform underneath.

OS randomness has better chance of being really secure than SecureRandom

If SecureRandom uses OS randomness, plus more added entropy, I guess this is not true.

I saw your project is targetting .NET 4.5.1.

My master branch does. Why is .NET 4.5.2 better in this regard?

I think you are using old version of xamarin forms, it should support netstandard2.0

My 'frontend' (not master) branch is the one that is using Xamarin.Forms+.netStandard, and as it's F#, my only option has actually been to use 2.0, as F# is not compatible with .netStandard 1.x.
Why is .netStandard 2.0 better than .netStandard 1.x in this regard?

OS randomness has better chance of being really secure than SecureRandom

If SecureRandom uses OS randomness, plus more added entropy, I guess this is not true.

And to back this with info, look at how the last version of BouncyCastle's SecureRandom uses "CryptoApiRandomGenerator" class (in all cases except CompactFramework):
https://github.com/bcgit/bc-csharp/commit/b494cecf549016c5db4493d50f3a738963a2eeb6?w=1#diff-1ff2251cd1dbcfafe59db10af1c49672
And this class uses System.Security.Cryptography.RandomNumberGenerator underneath:
https://github.com/bcgit/bc-csharp/blob/master/crypto/src/crypto/prng/CryptoApiRandomGenerator.cs

Do you think you know more cryptography than them?

I don't but I believe that OS developers knows better cryptography than them, and there is just zero reason to not use the randomness of the OS.

If SecureRandom uses OS randomness, plus more added entropy, I guess this is not true.

Add your own randomness just to be sure by using the OS one directly in addition.

My master branch does. Why is .NET 4.5.2 better in this regard?

4.5.1 resolve NBitcoin netstandard 1.1 which does not have OS level API.
4.5.2 resolves NBitcoin 4.5.2 which has OS level API.
netcoreapp2.0 resolves to NBitcoin netstandard 1.3 which has OS level API.


[Docs]: typing clarification

Description
can someone add some insight into how to deal with typing...
Cannot find name 'GoogleProvider'.ts(2304)

i followed the docs and loaded import { google } from "@lucia-auth/oauth/providers";
i'm hoping i can import this in some way, instead of going down the rabbithole:

which never ends...

like do i have to create a bunch of types or is there a way to import them

realized something might be off so tried this:

i just commented out accessType and it worked


Welcome message on_chat_start not appearing in UI

Describe the bug
When using Safari (even on private window), when sending a message in the on_chat_start callback the message frequently does not appear (over 90% of the time). Works fine in Chrome. Messages sent in the on_message work fine too.
Issue started occurring when we updated from Chainlit 1.0.301 to Chainlit 1.0.502, downgrading fixed the issue.
This issue does not happen when running locally, but does happen when deployed on Kubernetes.
Desktop:

Apple M2 Pro
Version 13.5, Ventura
Safari Version 16.6

Hi @JamesLloydPartingtonSerendipityai can you share a screenshot of the error message?

Hi @constantinidan no errors appear on the UI, console or backend. Also noticed the settings do not appear when this happens. We configure the settings in on_chat_start.

Hi, it might be linked to an Azure issue: https://github.com/microsoft/azure-container-apps/issues/812.

Hi @tpatel , If that was the issue, then downgrading to a different version of Chainlit would not have fixed the issue, also why would this only occur in Safari? (Using AWS btw)
Looking more at the sockets though I do notice one thing. When running successfully, the Switching Protocols occurs only once. However, it always happens twice when the message and settings do not appear.

Hi guys, just to report that @JamesLloydPartingtonSerendipityai and I tracked this down and managed to workaround it, so I thought you would like to hear the details @tpatel @willydouhard @constantinidan.
First, the facts:

We found we had this issue in Safari on Mac or iPhone but not on Chrome. Safari on Mac we updated to the latest version with no improvement.
This issue did not occur locally, only when we are deployed on our two pod AWS setup
We went through version by version and found that the issue was introduced in chainlit 1.0.500 and was not present in prior versions. The issue persists to the latest version of chainlit.
The behaviour you see is that sometimes your initial opening message in Chainlit is not displayed as James describes above.
We also occasionally saw a console message that looks like this:

WebSocket connection to 'wss://<our url>/ws/socket.io/?EIO=4&transport=websocket&sid=-P8qtONaTloNTEknAABY' failed: WebSocket is closed before the connection is established.
Next, we went through all the commits in that chainlit release and unfortunately it was quite a big one. We identified a few candidates and then tried a few hypothesis.
We noticed you did something with gzipmiddleware in that release and so we tried disabling it, just after importing chainlit in the startup sequence, like this:
for i, middleare in enumerate(app.user_middleware):
    if isinstance(middleare, GZipMiddleware):
        app.user_middleware.pop(i)

This immediately made it work, on both Mac Safari and iPhone Safari. We don't really understand the details here, but maybe this gives you some clues as to what is going on here - or may help others in the same situation!
Wondering if this could be added as an optional configuration to allow us to take this hack out! Does the above help shed any light on why this might be happening?

Thanks a lot @jimmarshall87 @JamesLloydPartingtonSerendipityai
We'll take a look today or tomorrow!


BUG: Missing data for repository

Describe the bug
I noticed some projects have data like this
https://securityscorecards.dev/viewer/?uri=github.com/runatlantis/atlantis
https://securityscorecards.dev/viewer/?uri=github.com/renovatebot/renovate
And some do not like this
https://securityscorecards.dev/viewer/?uri=github.com%2Fcloudposse%2Fterraform-aws-ecr
https://securityscorecards.dev/viewer/?uri=github.com%2Fcloudposse%2Fatmos

The Scorecard report requested was not found

How come? How can I add the missing data? I ran the scorecard app locally and it didn't make a difference in the UI.
Reproduction steps
Steps to reproduce the behavior:

See the above broken links

Expected behavior
Expected to see scorecard results of repo
Additional context
N/A

Hi @nitrocode, at a glance it looks like these two cloudposse projects may not be publishing Scorecard results. Are you a maintainer for these projects? If so, the Scorecard Action is your best bet for getting started. Of course, you are welcome to run the Scorecard CLI locally, but this isn't as scalable a solution, and you'll need to make sure the publish_results flag is set to true in either case, otherwise the results will not appear on https://securityscorecards.dev
While I was unable to find a Scorecard workflow file for runatlantis/atlantis (renovatebot/renovate hosts theirs here), it looks like both atlantis and renovate have their Scorecard results automatically published via weekly cron (see full list of entries in ./cron/internal/data/projects.csv). Since these two projects (plus several other cloudposse projects, interestingly) are part of the weekly cron, their results will always be published, even if nobody is running Scorecard for these projects locally or using the Scorecard Action.

Thank you. I was searching for the above error on projects without data and should have just read the readme 😅


clearAll() method

It looks like we can already read() all available cookies and clear() a single cookie. For testing purposes it might make sense to have a clearAll() method as well, to be able to start an acceptance test without any cookies.

Should that be a test helper maybe? Also we could think about not actually writing any cookies in the test environment at all but only store everything in memory so that tests would leave no traces. That would break cases where external JS libraries would actually require a cookie that'd be written through ember-cookies.

I think a clearAll() might also be useful outside the context of testing, and making it something different than a simple method on the existing service will increase the complexity of the API quite a bit.
I guess having pluggable adapters as the base for this addon might be an interesting thing to explore given that we already have browser and fastboot adapters.

I think a clearAll() might also be useful outside the context of testing

I think this might lead to all kinds of problems potentially as you'd delete all cookies, not just the ones written via ember-cookies (but also ones written by other libraries, set by the server etc.).

and making it something different than a simple method on the existing service will increase the complexity of the API quite a bit.

Hm, wouldn't that just be
import clearAllCookies from 'ember-cookies';
…
clearAllCookies();

I guess having pluggable adapters as the base for this addon might be an interesting thing to explore given that we already have browser and fastboot adapters.

This would make ember-cookies seriously more complex though so let's see whether we see an actual use case for this.

+1 on this. I came to the issues here looking for this exact thing because I'm trying to figure out how to reset cookies in start-app. Even if there wasn't a clearAll, it'd be nice to be able to import read, write, and clear as separate functions independent of the service for use in tests.

I've done some investigation. When reading a cookie, we only get the key value pair, and not the path, which means I don't think a clearAll() method would be able to pass a cookies path.
So if we had a cookie which was test=val and it was on path /testing, a read would give us {test: val} and then if we called clear(test) it might not be cleared, because we didn't pass the path. If no path is passed the current path is used. e.g. if we were on /testing/some/other/path then the /testing cookie wouldn't be deleted, if we were on /testing it would be.
Is this an acceptable limitation?

I think we should still allow passing options to clearAll. The purpose of ember-cookies is really just to provide an API for cookie that works in the browser as well as in FastBoot without doing anything else really or adding anything in addition to that abstraction layer. That said, I think if anyone knows all the options for all the cookies they want to clear we shouldn't stand in the way and let them pass them to clearAll.

I've also faced issues with cookies in acceptance tests. Would be great to have that clearAll option :)

@geekygrappler: I think you were working on a PR?


Pass Engine.IO tests

👍

The long term goal is to either replace or expose an alternative to ws in all the major "real-time frameworks" <- this name is ridiculous. Socket.IO, SocketCluster, Primus, etc. This is up to the developers of each of these projects though, I cannot force myself on anyone.

I did a port of engine.io to las a while back. I just pushed it here https://github.com/LordMajestros/engine.io.lws maybe I could try this.

@alexhultman You're still planning to support SSL right?

I'm currently playing around with SSL transfer.

There is already an issue in Engine.IO's tracker, I'm closing this one.

Port of engine.io to uWebsockets https://github.com/LordMajestros/engine.io.uws

@LordMajestros How do you run the Engine.IO tests? Which ones are failing, and how did you replace ws?

You use
npm test
it currently throws the Error: registering more than one listener to websocket
it seems engine.io adds more than one listener to a socket.

Currently failing on server messages should arrive from server to client (multiple, ws): because the socket class in uws does not take a callback as the last argument.

Did you change the Socket to a real EventEmitter?

No, I did not.
It currently passes that test with the changes in this PR https://github.com/alexhultman/uWebSockets/pull/70.

It's passing all tests except the ssl tests I haven't tried those yet.

@LordMajestros With v0.3.1 you should be able to pass every test, right?

The changes in @LordMajestros engine.io fork are encouraging but difficult to follow.
I tried with only completely trivial changes, on a clean fork, all tests pass except 8 failures (over 107) in mocha test/server.js:

3 failed graceful closes, i think you're already addressing this in master
5 IntXXArray, Buffer, ArrayBuffer binary data tests

@kapouer We should implement the removeListener function in uws.js if engine.io uses it.

@alexhultman could Socket extends EventEmitter as well - event if it has to override some methods, it'd be a little prettier. Do throw new Error("EE_ERROR") lines should better be emitting error events on the Socket instance (as an event emitter) ?

Socket was initially an EventEmitter but this phony EventEmitter performs a lot better in memory usage and performance.

ok, i won't question that affirmation ;) The question now is if engine.io actually depend on that error event listener to be truely emitting errors or not, then ?

Ah, the EE_ERROR is not meant to be part of the interface. It should never throw, but if it does (you register more than one listener to a socket) it fails.

@kapouer You should now be able to use removeListener as of v0.3.2

The fails regarding binary data sending is because ws automatically sets opcode to binary when passing anything not string to send. Fixing this leaves 3 fails from graceful server closing.

With your fixes and this trivial engine.io PR you can simply run the engine.io tests using eio_ws_module=uws mocha test/server.js.

@kapouer How are you running the tests? I'm using nom tests and only 4 tests pass

I'm using https://github.com/alexhultman/uWebSockets/pull/88 and in "uwebsocket/nodejs/" dir i do
make dist
cd dist
npm link

Then in my engine.io repository i do
npm install
npm link uws
eio_ws_module=uws mocha test/server.js

The last 3 issues are because engine.close() does not actually call wss.close(), yet they expect the process to exit.

Hey, try to do:
node test/fixtures/server-close.js
it exits cleanly.
Something is happening with "exec".

Yeah exactly, it doesn't exit and that is the cause of failure. This should be easy to fix I just need to investigate the exact behavior of ws because this behavior seems quite undocumented. I need to clean up things from the event-loop to allow Node.js to quit but they never call my close() function.

If i do
EIO_SERVER_WS_MODULE=uws node test/fixtures/server-close.js
with
var eioc = require('engine.io-client');
var listen = require('../common').listen;
var engine = listen(function (port) {
  var socket = new eioc.Socket('ws://localhost:' + port);
  socket.on('open', function() {
    engine.httpServer.close();
    engine.close();
    engine.ws.nativeServer.close();
  });
});

it exits, other it hangs.

If you comment out lines 209 to 249 in uWS.cpp all tests pass. I need to remove these when running as a Node.js addon.

Makes sense... you have to garbage-collect your uv loop somehow.
Otherwise https://github.com/kapouer/engine.io/commit/3acbdc0f89249a0d28bd56450da388e1ecd9e6c0 explicitely has to do it.

No the loop is owned by Node.js, I just need to not add anything extra to it because as long as you have anything registered in it it will not return and exit.

Depends how you see it, but yes you don't need two loops - figure i already know things like that but it's in a simpler case.

Sure there are two solutions to this: either fix engine.io (they should really not depend on this very particular and undocumented behavior of ws) or "fix" µWS by not registering anything other than the sockets to the loop. I find it very bad coding to rely on onducumented behavior like this and not simply call close() on the ws server. But I'm sure they will say that this is a flaw in µWS and nothing to do with engine.io.

It's worth a shot, let me PR that just in case

I have this solved here now. Just doing some testing.


Nothing happens on starting graph migration assistant unless I have a workspace open.

          Nothing happens on starting graph migration assistant unless I have a file open.

From Dynamo home start Graph Migration Assistant
nothing happens
Start a new file
Migration assistant shows up

If we require starting a workspace, we should tell people this.

Originally posted by @lillismith in https://github.com/DynamoDS/DynamoGraphMigrationAssistant/issues/2#issuecomment-1555167939

FWIW, this happens on Dynamo Team created extensions as well:

Graph node manager is clickable, but does nothing when clicking on it from the starting view.
Would be keen to know how to fix this @QilongTang


Buttons for bank navigation

Similar to how navigating a leaderboard works with the front and back buttons it would be a nice qol if we could do the same with bank images, buttons to go between pages of a bank.

This is something I want to do, will take a bit of refactoring to do: allow dynamically generating paginated msg pages (bank images).

Done in next update.


Stop-HetznerCloudServer - what ID?

Hello.
I want to stop a vserver in my hetzner project.
Stop-HetznerCloudServer asks for an ID?
What ID is that? In Hetzner Cloud Console I only see the name of the server, but no ID.
Thanks.

Hi, every server has a unique ID. By default, Get-HetznerCloudServer hides the ID but you can display all properties as described in the cmdlet help. There is an online copy here: https://github.com/nicholasdille/PowerShell-HetznerCloud/blob/master/Docs/en-US/Get-HetznerCloudServer.md#example-3

Hi. Thank you very much. That helped.


Name property for list item of Combo-box in 'Create a new Workbook' window is not defined properly

Steps to Reproduce

Launch Xamarin Workbook application.
Navigate to 'Console' list item and select it
Navigate to Combo box and Expand it
Navigate through the list items and observe name property for list item

Expected Behavior
Name property for list item of combo box should be properly defined (For e.g. .NET Core)
Actual Behavior
Name property for list item is defined as 'Xamarin.Interactive.Client.ViewControllers.WorkbookAppviewController'
Narrator behavior: Narrator is announcing list item as 'Xamarin.Interactive.Client.ViewControllers.WorkbookAppviewController, 2 of 2,not selected'
NVDA behavior: NVDA is announcing list item as 'Xamarin.Interactive.Client.ViewControllers.WorkbookAppviewController, 2 of 2,non selected'
User Impact
Users who rely on screen reader will not be able to know the Name of list items and thus will not be able to select list item
Screenshots

Environment
Windows :Windows 10 Pro Version 1803 (OS Build : 17672.1000)
Xamarin Version : 1.4 (master/b3f92f9)
NVDA Version: 2018.1
Log File

Exemption Approved - 1813


Updated Storage swagger to point at swagger files in main

API change check for Azure.Storage.Blobs
API changes have been detected in Azure.Storage.Blobs. You can review API changes here
API changes
+         public static AccessTier Premium { get; }

API change check for Azure.Storage.Files.Shares
API changes are not detected in this pull request for Azure.Storage.Files.Shares

API change check for Azure.Storage.Files.DataLake
API changes are not detected in this pull request for Azure.Storage.Files.DataLake


[SPARK-49891][SQL] Assign proper error condition for _LEGACY_ERROR_TEMP_2271

What changes were proposed in this pull request?

This PR proposes to assign proper error condition for _LEGACY_ERROR_TEMP_2271
Why are the changes needed?

UpdateColumnNullability is not supported for MySQL DB, but the error message has no proper error conditions
Does this PR introduce any user-facing change?

No, only user-facing error message improved
How was this patch tested?

Updated the existing tests
Was this patch authored or co-authored using generative AI tooling?

No

+1, LGTM. Merging to master.
Thank you, @itholic.


cmake: Enable C++11 standards support

This patch checks for, and enables C++11 support for building UPM.
This should work for all cmake versions currently supported by UPM
(2.8.11+), and any compiler (clang/gcc) that was released in this
decade.
Support can be specifically disabled by passing '-DENABLECXX11=OFF' to
cmake, though modules requiring this support will not build.
C++11 support is enabled by default.
Signed-off-by: Jon Trulson<EMAIL_ADDRESS>

Ok, so on my system, these narrowing conversions just generate warnings, but on CI they appear to be errors.  I will close this PR and submit a new one that also addresses these issues.  Thanks.


Orchestrator Change Paper Preview links going to the Orchestrator

When checking the Change Request in Changes, I tried to click on the link to go to the item to see the changes.
Everyone links to https://mauro.dev.dataproducts.nhs.uk/orchestration/
Can this please be updated so we can go direct to the item?

Hopefully this is self-explanatory, I have implemented the request you asked for. Clicking on the links jumps to the section in the preview now.

@KatePalmerLilley - does this work OK on your CR? It does in CR8000 but there is still extra content. I'm trying it again on my new CR.


Use VS2022 development project in windows, release project times error

The test code in windows is as follows:
`#include "rclcpp/rclcpp.hpp"
#include "std_msgs/msg/string.hpp"
class NodeA : public rclcpp::Node
{
public:
NodeA() : Node("node_a")
{
publisher_ = this->create_publisher<std_msgs::msg::String>("topic_b", 10);
timer_ = this->create_wall_timer(
std::chrono::milliseconds(500),
std::bind(&NodeA::publish_message, this));
}
private:
void publish_message()
{
auto message = std_msgs::msg::String();
message.data = "Hello from Node A";
RCLCPP_INFO(this->get_logger(), "Publishing: '%s'", message.data.c_str());
publisher_->publish(message);
}
rclcpp::Publisher<std_msgs::msg::String>::SharedPtr publisher_;
rclcpp::TimerBase::SharedPtr timer_;

};
class NodeB : public rclcpp::Node
{
public:
NodeB() : Node("node_b")
{
subscription_ = this->create_subscription<std_msgs::msg::String>(
"topic_b", 10, std::bind(&NodeB::callback, this, std::placeholders::_1));
}
private:
void callback(const std_msgs::msg::String::SharedPtr msg)
{
RCLCPP_INFO(this->get_logger(), "Received: '%s'", msg->data.c_str());
}
rclcpp::Subscription<std_msgs::msg::String>::SharedPtr subscription_;

};
int main(int argc, char* argv[])
{
rclcpp::init(argc, argv);
rclcpp::executors::MultiThreadedExecutor executor;
auto node_a = std::make_shared();
auto node_b = std::make_shared();
executor.add_node(node_a);
executor.add_node(node_b);
executor.spin();
rclcpp::shutdown();
return 0;
} There is no error in Debug, and the following error in Release: Error content _Unhandled exception at 0x00007FF95C0CFABC (located in ros2Demo.exe) : Microsoft C++ exception: RCLCPP: : exceptions: : RCLInvalidArgument, located in the memory location 0 x00000014a45ee250.`_
Please help me. What's wrong with me? How should the code be modified? Thank you for your help

Please open questions like this on https://robotics.stackexchange.com/questions/tagged/ros, which is our central Question and Answer site.  You'll get a better answer there, and it will be searchable for the future.
Make sure to include a lot of information on what platform you are using, which ROS distribution you are using, and the exact steps you took.


HOTT-3834: Support ancestor measures in declarable headings

Jira link
https://transformuk.atlassian.net/browse/HOTT-3834
What?
I have added/removed/altered:

[x] Added support for declarable heading ancestor measures

Why?
I am doing this because:

These were missing previously and were noticed by one of our stakeholders

Merging to get the staging regression pack ran against this


Added button group to toggle price used for calcs

Resolves #149

Looks good, just a few minor comments.

oops, forgot to rename the html


DateTime Formatting + New Source vs Compiled templates support

Coverage decreased (-3.6%) to 91.688% when pulling 9f4c9518a882a0dd8b9b884a1785cb7f892b1de5 on js-datetime-formatting into 09c5021b1673e4b8912e179af532dbae5777e39b on master.