Compiler generates "(result i32)" for host functions returning "-> Unit"

I'll add more details here in a few hours.

In this repo: https://github.com/gmlewis/moonbit-pdk/tree/master
when I type:
$ moon update && moon install
$ moon build --target wasm --output-wat

The resulting WAT file as the following definitions for host functions:
(func $extism:host/env.alloc.3 (import "extism:host/env" "alloc") (param i64)
 (result i64))
(func $extism:host/env.store_u8.2 (import "extism:host/env" "store_u8")
 (param i64) (param i32) (result i32))
(func $extism:host/env.input_load_u8.5
 (import "extism:host/env" "input_load_u8") (param i64) (result i32))
(func $extism:host/env.config_get.9 (import "extism:host/env" "config_get")
 (param i64) (result i64))
(func $extism:host/env.var_get.10 (import "extism:host/env" "var_get")
 (param i64) (result i64))
(func $extism:host/env.output_set.7 (import "extism:host/env" "output_set")
 (param i64) (param i64) (result i32))
(func $extism:host/env.length.8 (import "extism:host/env" "length")
 (param i64) (result i64))
(func $extism:host/env.free.0 (import "extism:host/env" "free") (param i64)
 (result i32))
(func $extism:host/env.var_set.11 (import "extism:host/env" "var_set")
 (param i64) (param i64) (result i32))
(func $extism:host/env.log_debug.1 (import "extism:host/env" "log_debug")
 (param i64) (result i32))
(func $extism:host/env.load_u8.4 (import "extism:host/env" "load_u8")
 (param i64) (result i32))
(func $extism:host/env.input_length.6
 (import "extism:host/env" "input_length") (result i64))

However, their definitions are found here: https://github.com/gmlewis/moonbit-pdk/blob/39754f0e61c0d717bbc5d18291cf229f439b5d30/pdk/env.mbt#L33-L39
and many of these functions have a void (-> Unit) return type and the (result i32) should be completely removed.
Currently, I've written a workaround Go script that fixes the WAT file then converts the WAT to WASM by calling wat2wasm. The script is located here:
https://github.com/gmlewis/moonbit-pdk/blob/master/cmd/install-spectest-shim/main.go
Please let me know if you need more detail.

This is the expected behavior because in the functional programming language, all expressions has a value. And here the value has type of Unit here and it is represented by i32.
We have special treatment for the imported functions, i.e. the return type can be ignored (remove the -> Unit, it's only allowed for FFIs) and then the (result i32) will be removed. With that said, we have no special treatment for the exported functions yet...

Thank you, @peter-jerry-ye !
I'm working around a different problem now, but will close this one since you gave me the answer.


fix file permissions

causes compinit errors

Thanks for the patch.  I guess you've figured it by now: tests/ shouldn't be in $fpath.


add tools and 1 client

Add some tools static gemini site generators/frameworks for managing capsules or gemlogs
Add 1 tool, a sed script, to convert gemtext to html
Add 1 funcionnal client script in awk (yes it is awk and not gnu awk/gawk)

@gawa971 Thank you 🌱


commit status is not updated when requesting a copr-build and PR is not from an admin/writer

In
https://github.com/nmstate/nmstate/pull/576
packit as a service did not build the copr package because the PR submitter is not an admin/writer to the repo. I requested a build in https://github.com/nmstate/nmstate/pull/576#issuecomment-593306511 and it seems that packit actually built it. But the status in the checks section still says Only collaborators can trigger Packit-as-a-Service
IMHO it should change to "in progress" after a permitted person requested a build and change back to this message when a new commit was pushed (if it wont't build it).

@tyll thanks for letting us know.
It "should" do it as you described. The PR status is actually the status of the last commit, but it looks good:

Maybe some GitHub caching?

Interesting, I see the different status in the commit list but at the bottom of the conversation tab it only shows the failed status for each packit job:

Usually this is updated right away. Not sure if this is now a GitHub problem or a packit problem.

Yes, I can see this as well.
Github does not have anything like PR status, they have only commit status and it's set correctly. Looks like a GitHub problem but I'll leave this open for a while for a case it will repeat.

@lachmanfrantisek There actually is PR status as well. Look at a pull request and there is a tab - checks.

@lachmanfrantisek There actually is PR status as well. Look at a pull request and there is a tab - checks.

It's only a dedicated view. Those checks are the checks of the HEAD commit of the PR.

@lachmanfrantisek There actually is PR status as well. Look at a pull request and there is a tab - checks.

It's only a dedicated view. Those checks are the checks of the HEAD commit of the PR.

The "checks tabs" is used by a different/newer API AFAIU. Not all checks that are visible for a commit appear in the "Checks" tab.

The "checks tabs" is used by a different/newer API AFAIU. Not all checks that are visible for a commit appear in the "Checks" tab.

Thanks, good to know. (We are still using the "old" API.)

what's the status here? should we revisit this once we redeploy prod? or is there something on p-s' side which we should fix?

what's the status here?

see my comment:
> Looks like a GitHub problem but I'll leave this open for a while for a case it will repeat.

should we revisit this once we redeploy prod? or is there something on p-s' side which we should fix?

I can check it after redeploy but, I still believe that the problem is not on our side.

I am going to close this one since I presume this is already fixed - we didn't have related issues for this recently and also the code for this changed significantly for the past 9 months. Thank you for taking time opening the issue and trying packit!


Typos and Grammatical Errors

I found a couple of typos and grammatical errors which I've fixed. Kindly review

Description
I found a couple of typos and grammatical errors which I've fixed. Kindly review.
Tests
I have added the changes in my fork and you can compare it to the original repo.
Additional context
Nothing for now
Metadata

https://github.com/ethereum-optimism/ecosystem-contributions#funding-and-rewards:~:text=Refer to the sections below to understand what each of these categories mean and what type of tasks or ideas you can expect to find within a category.

https://github.com/ethereum-optimism/ecosystem-contributions#funding-and-rewards:~:text=The Optimism Collective ecosystem various different pathways for you to be potentially funded or rewarded for the work that you do.

https://github.com/ethereum-optimism/ecosystem-contributions#funding-and-rewards:~:text=Rounds include a voting process in which a dynamic set of real people (called "badgeholders") vote on a distribution of OP tokens to nominated projects.

https://github.com/ethereum-optimism/ecosystem-contributions#funding-and-rewards:~:text=Existence of a project within this repository does NOT as a guarantee that the project will be rewarded via RetroPGF.

https://github.com/ethereum-optimism/ecosystem-contributions#funding-and-rewards:~:text=A limited number of teams are selected for these types of Foundation Missions%2C each of which receive the attached grant on completion of the Mission.

https://github.com/ethereum-optimism/ecosystem-contributions#funding-and-rewards:~:text=Governance Grants may include restrictions on scope and usage of the grant.

https://github.com/ethereum-optimism/ecosystem-contributions#funding-and-rewards:~:text=We want to do everything can to help you be successful while working on your contribution.

Hi @Billy19191 @smartcontracts ! I've made this PR since June and it hasn't been attended to. Is it wrong it you guys haven't noticed it?


Generator functions bail on retry-able exceptions

For tracking purposes.
The original v1 version of Requester included an additive backoff/retry loop for execute_request(). This logic does not appear to have been ported to the v2 Requester class. Unfortunately, HTTPError(429) and URLError(Timeout) both can raise exceptions that will interrupt an iteration in progress. Because we want to allow uninterrupted iteration over things like Incident.list(), any applicable retries should occur before raising these exceptions.
This retry logic is especially pertinent for multi-threading, as (for example) a parent thread may iterate over incidents, while child threads iterate over log_entries. There should be an expectation that rapid requests from the child, causing HTTP 429, should not raise an exception in the parent thread iterator as it does today.

Fixed in PR #79 (fyi)

PR #83 (fyi)


Augment maybeDiagnoseCallToKeyValueObserveMethod() and add support for a @_semantics attribute to trigger it rather than just hard-coding the name of the Foundation method.

This PR augments maybeDiagnoseCallToKeyValueObserveMethod() and adds support for a @_semantics attribute that will trigger it rather than just hard-coding the name of the Foundation method.
The existing hard-coded method name check should remain in place until such time as Foundation adopts the attribute.

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test


Genny CUDA memory exception

Describe the bug
Genny using onnxruntimegenai.cuda package fails to load https://huggingface.co/microsoft/Phi-3-mini-128k-instruct-onnx
To Reproduce
Steps to reproduce the behavior:

Run genny with Debug_Cuda configuration selected.
Open C:\Downloads\models\Phi-3-mini-128k-instruct-onnx\cuda\cuda-int4-rtn-block-32  or C:\Downloads\models\Phi-3-mini-128k-instruct-onnx\cuda\cuda-fp16
Type a message, hit enter
See error

Expected behavior
Is this model supported?
Screenshots

Desktop (please complete the following information):

OS: Windows 11

I had the same issue, I think it's an issue with the fp16. I can run it on Phi-3.5-mini-instruct-cuda-fp32-onnx.

Hi @lilhoser, thank you for reporting this issue. We are looking into it

I noticed that Microsoft has released: microsoft/Phi-3.5-mini-instruct-onnx. I just tested the cuda-fp16 and has the same issue as noted above.


Read from tab separated files

Hi Team -
I started using the library and began with loading my datasets which are in tab-separated format. I observed columns are not as expected. Could you please advise if it is supported as I could not find TSV in the list of supported formats(CSV, JSON ... ) on GitHub page.
Thanks in advance.
Best -
Ishan

Hi @ishandindorkar, with the load.csv or read.csv function you can set the separator to “ “, that should do the trick :)

Hey @FavioVazquez -
Thanks for your response. I figured that out by looking at the params of load.csv() in source code. I am passing delimiter as "\t" and it is working as expected :)
Best -
Ishan

Done in development https://github.com/ironmussa/Optimus/blob/develop/optimus/io/load.py#L63


feat(watch): deep watch allow setting condition for skipping object

If you want to skip the dependency collection of an object when deeply watch to an object, you cannot do so currently. Add the skip attribute to watchOptions to do this. Examples are as follows:
let dummy = 0
const source = reactive({
    num1: 1,
    nested: { _skip: true, num2: 0 },
})
watch(source, () => dummy++, {
    deep: true,
    skip(val) {
      return val._skip // return true to skip val
    }
})
source.nested.num2++ // do not run callback
expect(dummy).toBe(0)
source.num1++ // run callback
expect(dummy).toBe(1)
source.nested.num2++  // do not run callback
expect(dummy).toBe(1)

Adding new features needs to be discussed through an RFC, similar to PR #9572.


Resize window between vscode and taskbar should not be possible

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

VS Code Version: 1.58.2
OS Version: Windows 10

Steps to Reproduce:

maximize vscode window
move mouse to bottom of vscode window (between vscode and windows 10 taskbar)
resize vscode window

Expected result:
Resize icon should not appear and resizing in this manner should not be possible.

Also a problem at the top of the screen.

What is the OS build number of your windows ? Also can you check if the issue happens with our insiders version https://code.visualstudio.com/insiders/

Unable to repro on Windows 10 Enterprise 19043.1110 and Windows 11 Enterprise 22000.71. Can you provide a screen recording to better understand the issue.
/gifPlease

I installed the insiders edition and was unable to reproduce the issue there. After that I also retested the regular version (and again after uninstalling insiders) and was unable to reproduce the issue there as well. Now I really wish I had made a gif or something because it was happening and I have no idea what changed.

Thanks for checking, I will close this issue for now. Can reopen if it happens again.


Adding different types of currency in Book Exchange Hub price

Is your feature request related to a problem? Please describe.
It is not clear what type of currency one is using while mentioning amount about particular book in book exchange hub.
Describe the solution you'd like
I would like to add new feature where one can chose which currency they can use.
Describe alternatives you've considered
Additional context
Please assign me this issue under GSSoC'24

Assigned!

Assigned!

Okay thankyou!!


Share target error. Again!

Investigating a little more, I found out where is the error.
        public object Deserialize(string value)
        {
            DebugWrite($"Value {value}");

            if (value == null)
                return null;

            if (value == string.Empty)
                return string.Empty;

            // Deserialize from json
            var container = JsonConvert.DeserializeObject<Container>(value);
            var type = Type.GetType(container.Type);
            return JsonConvert.DeserializeObject(container.Data, type, settings); // --> here the error
        }

This class "Windows.ApplicationModel.DataTransfer.ShareTarget.ShareOperation" do not contains default contructor, so the deserializer don't works.
I tried to add "ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor" to the deserializer settings, no success.
Any help?

First of all, i'm brazillian too, little weird talk english when you speak portuguese.
Can you show me from where you get that string "value"? This is the Json string generated when you uses the Share function? Other thing, i think that this is not a error caused via Template 10. I'm making a app that uses this function and i don't have any problem.

Have you looked at the ShareTarget sample in GitHub?

@JerryNixon yes, now i seen, thanks


feat: improve generated comments

This feature improves the comments generated for entities by improving the impact of the .Comment("") method on fields and edges. The details and justification are described in #2580.
The following changes are implemented:

If a comment is specified on a field schema with the .Comment("") method, that comment now replaces the default comment instead of being appended to it.
If a comment is specified on an edge schema with the .Comment("") method, that comment replaces the default comment instead of being ignored.
Documentation of the .Comment("") method is added to the getting started guide, and the field and edge schema docs.

Closes #2580

@a8m just wanted to flag this for your review in case you hadn't seen it, would love to know if you have any input!

Thanks for the contribution @willbicks 🙏
I'll review this later today. The CI is red - you need to run go generate ./... from the root of the project.

@a8m Thanks for the tip, I updated the relevant integration schemas to reflect this change and regenerated all the generated files.

@a8m, I was able to push a new version that addressed your suggestions.
I have a few more places where I think the comment generation functionality could be improved, so I'll be looking into those and submit some requests when I have something.
Thanks for all your work in maintaining this project!


Fix typo

There were the following issues with your Pull Request

Commit: 8d4435b0e0dbed35b7bd9c5e29e69e92f2640c93
Commits must be in the following format: %{type}(%{scope}): %{description}

Guidelines are available at https://github.com/fabric8io/fabric8-ui

This message was auto-generated by https://gitcop.com


OAuth Feature

Does this boilerplate provide means of authenticating via OAuth (e.g. Google / Github)?

Unfortunately not, but it's definitely something I want to work on :)

@AnandChowdhary awesome! I plan using this repo but removing basic and totp auth and replacing it with OAuth2 / OpenID with passport.js. I am don't plan on managing passwords. I will leave that to the identity providers. Happy to share code back for you to figure out how you would like to integrate it into the existing repo.
I can also share back some unit tests where the original code hasn't substantial deviated.

Sounds amazing, thanks a ton!

⚠ This issue has not seen any activity in the past 2 months so I'm marking it as stale. I'll close it if it doesn't see any activity in the coming week.

⚠ This issue has not seen any activity in the past 2 months so I'm marking it as stale. I'll close it if it doesn't see any activity in the coming week.


Publish assertlog into maven central

Can you publish assertlog into maven central?

Sure. I can do it asap. I just thought it is not mature enough, but who cares..

@nick318 Done. Currently only JUnit4 and Log4j are supported.
You need to add this dependency to your project:
testImplementation('com.codeborne.assertlog:assertlog-log4j-junit4:0.1')


Add support for Swift 5.3 builds

Fixed as part of https://gitlab.com/finestructure/swiftpackageindex-builder/-/merge_requests/10

https://staging.swiftpackageindex.com/airbnb/lottie-ios


Grid setting not saved in json files

Hi.
Is there any specific reason why the Grid, Snap To Grid, and Lock Objects setting shouldn't be saved in the json files?
I have this working on my local copy (backwards compatible), so am happy to submit the changes if this is a desirable feature.
Any thoughts?
Cheers,
Adrian.

I just checked the history and found that this behavior was already there when I first added the "export to JSON" feature in 2011, a long time before I made this project available on GitHub. I forgot what I was thinking about at that time, and I didn't think of it since that.
As for the current version, yes, saving those in the JSON file is a desirable feature. Please submit that.


Impossible to operate in a multicloud environment

I wasn't super sure on how to name the issue, I can rename it if you find a better name :)
Terraform Version
Terraform v1.3.4
on linux_amd64

Affected Resource(s)
The error appears even before creating the resources.
Terraform Configuration Files
https://github.com/canonical/charmed-magma/blob/44895823ad20bd58be05a13aeb0811e33966b2d6/deployments/charmed-magma-srsRAN/main.tf
Debug Output
https://gist.github.com/sanchezfdezjavier/c5bed73309a2140250d55dead486d993
Expected Behavior
It should not complain about connecting to the clients. However, I don't expect to apply all the resources successfully at first.
Steps to Reproduce

Bootstrap an LXD controller

juju bootstrap localhost lxd-controller

Create the local k8s cluster by installing microk8s

sudo snap install microk8s --classic

Copy the kubeconfig

cd ~/.kube && microk8s config > config

export KUBERNETES_MASTER=~/.kube/config

Add the k8s cloud to the LXD controller

juju add-k8s k8s-cloud --controller lxd-controller

Init Terraform

terraform init

Terraform apply

terraform apply --var="domain=magma.javisf.com" --var="orchestrator_cloud_name=k8s-cloud" --var="agw-srsran_cloud_name=localhost"

It should show the plan to apply, and after hitting yes it stops at
Plan: 74 to add, 1 to change, 0 to destroy.

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

juju_model.orchestrator: Creating...
juju_model.agw-srsran: Modifying... [id=829670a4-1af8-4359-80cb-6bd75f049613]
juju_model.agw-srsran: Modifications complete after 0s [id=829670a4-1af8-4359-80cb-6bd75f049613]

And throws the error linked in the Debug Output.
Important Factoids
About my setup:

Host EC2 instance.
Juju LXD controller.
Added one microk8s cloud.
Two models, one for machine charms, and another one for k8s.

Let me know If I can provide any additional info.

After some research, I can confirm that more than a bug, this is an implementation missing issue. All the logic behind the authorization process in the terraform provider (here) has been drastically reduced. You can compare it with the current list of steps in juju (here). This requires additional development and a new release.
Thanks for reporting.

@sanchezfdezjavier is this still valid? just making sure, thanks!

Kubernetes cloud resource is a part of TF provider:
https://registry.terraform.io/providers/juju/juju/latest/docs/resources/kubernetes_cloud


[WFLY-14967] Move WildFly Preview to a native Jakarta namespace varia…

…nt of the jpa/eclipselink module
Fixes https://issues.redhat.com/browse/WFLY-14967

@scottmarlow Could you review and approve this PR, please? It's the successor of #14855 implementing step 3 and 4 of https://github.com/wildfly/wildfly/pull/14855#issuecomment-962580936 It was not optional to use eclipselink 3.0.2 due to compile errors (javax.* vs. jakarta.*).
@bstansberry Due to splitting up the previous PR into several steps all your requirements https://github.com/wildfly/wildfly/pull/14855#discussion_r743993385 should be fulfilled now. Please have a look.
@yersan Thanks for your hint https://github.com/wildfly/wildfly/pull/14855#discussion_r772289876 regarding the correct place for the module/license. I have implemented it in this way, please have a look.
Thank you all for your support.

Looks good to me, I couldn't hide my second comment above that is still visible but since the date was changed to 2022, I have no concerns now.  Thanks for the change @boris-unckel !

/retest

Thanks, @boris-unckel


Fix not deleted when hasMany relations saving

When hasMany relations saving, the primary key name of the table to be deleted is incorrect.

Could you please provide some test for this bug?


Letting JupyterHub groups be used to provide access to shared NFS folders

A user in this support ticket is looking to have a shared folder available only to a certain group of users. The use case is to have teaching assistants be able to share files that students can't see.

From the documentation it is unclear to me on how a non-admin user can share folders with a selected group of users.

I've considered this problem in the past in a JupyterHub that was deployed side by side with a GitLab instance. I decided to access the GItLab API to read what groups the user was part of, and based on that I configured additional volumeMounts for KubeSpawner.
I think if JupyterHub provides a UI for admin users to configure groups and what users belong to what groups, we could let the hub admin define what users belong in what group etc. Then, based on their self-managed group configuration, we allocate shared folders by default to users in the same group.

Tracked in productboard: https://2i2c.productboard.com/feature-board/7803674-product-ideas/features/26045016/detail


atom-shell how to do support PDF Viewer?

in atom-shell ,chrome PDF Viewer disabled. how to do can support PDF Viewer? thanks

since the latest build includes a pdf.dll shoulnd't it be possible to open a pdf viewer in an iframe? It says couldn't load plugin when I try it. Do I have to add anything special? I have a html5 app running in a browser windows (pages, mp4 videos, etc. is running fine). Just want to add a pdf viewer (iframe with pdf file as src)

@m1ga
The code of PDF Viewer plugin is very complicated and integrated with Chromium's browser and extension code, so we won't support it in Electron.


Make sure files can be found in datasets with and without a session level folder

Mostly as a sanity check as I have seen a lot of bids apps struggling to handle both of those cases.
Should be possible to use nilearn internals to mock fmriprep datasets as the test dataset only cover one of those.

Right now the test dataset has session but internally we have run several datasets without the session level at this point and the problem is solved. We can add an explicit test for this later.

okidoki!!


Switch CI from Travis to GitHub Actions

GitHub Actions runs the steps from the .travis.yml with a stable, beta and nightly toolchain. Aims to fix issue #14.

Thanks @okrplay. 😄


SWC Prototype, but defaulting to esbuild

This PR adds the option to run esbuild-dev with the swc compiler backend. We'll default to the esbuild compiler backend for now, but this will allow us to start integrating swc into the main repo to try things out.
It is built upon #26 in which we stop writing files to disk and start streaming them to the node child process.
swc does not write files to disk by itself; instead, it returns the file contents.
We could also opt to write files to disk and revert #26, and continue in the same paradigm as is currently implemented (stream only file names to the child process).
I don't think performance should be a major deciding factor here, as I expect the OS cache and NVMe speeds will make these factors completely negligible. Instead, we should optimize for what will benefit the end user. IMO, it would be very reasonable to have the file-content-streaming approach, but allow the user to write files somewhere, to allow for debugging if the compiler does something shady.

@airhorns thoughts?


[stable-4.6] CI: run collectstatic manually, fix 404

Test failure: https://github.com/ansible/ansible-hub-ui/actions/runs/4293339560/jobs/7480897727
/var/lib/operator/static/ ends up empty in the container, we need to run pulpcore-manager collectstatic (but it asks and fails when it's non-empty, hence --clear --no-input)

Merging as is, this fixes all tests except for container signing.

container-sign.sh: line 12: /tmp/key-password.txt: Permission denied

Adressing that one in a separate PR


DO NOT MERGE: try out failures

Found the culprit commit. https://github.com/angular/protractor/commit/1c6a1a82f03f2bd5911dfc37f365329d6f5acb60#diff-af48aa8b9bf25ca7f5a3dae23f617a8bL18
It should wait at minimum 5 seconds. Shortening it to 4 would cause a failure every time.

Hmmmm... weird looking into this error more we originally set it to 1 second. I think that 1 second was probably right and that was the intent. It also looks like some client-side scripts were changed. I am not sure what the impact was or if the error message we are expecting is masked.
https://github.com/angular/protractor/pull/4512
Trying to rebuild it but no luck. https://circleci.com/gh/angular/protractor/1590
Do we need to get this to work? I am not sure. I was able to get this to work in the selenium4/ after removing the control flow. I have commented it out completely to get a passing test suite. That isn't really a fix but I really want to get a suite passing to get some PRs merged into master.

I think the error here is from gulp and node 10 not loving each other. I have made significant changes in the selenium4 branch to resolve some of these.

Might want to merge this. We can revert some of the commented out tests that are failing.


Cant Able to Add Annotations

I have created a template and saved. and added a then i try to click and annotate the above  error is coming.
`

<View style="display: grid; "  >
    <Header value="Date"/>
    <DateTime name="date" only="date"  min="2020" max="2030"/>
  </View>

`
i have got to setup and saved everything again same message
I have latest version 13.1

Hi @reveur-code, is the above paste your entire label configuration? I believe you need at least one control tag (see: https://labelstud.io/tags/) in your config in order to be able to submit.

Yes, that was the issue. Didnt understand  due to improper  message.  I was trying something  else.
Thank you


Updated requirements.txt

Updated requirements.txt file

@Aadya1603 wdyt about merging all the different requirements.txt files here? We have server/requirements.txt and agenthub/langchains_agent/requirements.txt too

sorry about that @rbren  . It was for  main/requirements.txt [A starting point for SWE-Bench Evaluation with docker]

Right--I was just suggesting we put them all in one place, for simplicity. But we can do that in another PR too (or not at all)

Sounds good! Let's do them in another PR


CASMINST-5905

Summary and Scope
Require one of can-gateway OR chn-gateway but do not allow both.

Fixes: https://jira-pro.it.hpe.com:8443/browse/CASMINST-5905

Issue Type

Bugfix Pull Request

Prerequisites

[x] I have included documentation in my PR (or it is not required)
[x] I tested this on internal system (if yes, please include results or a description of the test)

Also, does this result in the CAN.conf or CHN.conf generation being omitted when the other is set? (e.g., when --chn-gateway is set, no CAN.conf is created)

It looks like when the CAN network is used, we create CAN.conf, but when the CHN network is used we do not create CHN.conf

Also, does this result in the CAN.conf or CHN.conf generation being omitted when the other is set? (e.g., when --chn-gateway is set, no CAN.conf is created)

It looks like when the CAN network is used, we create CAN.conf, but when the CHN network is used we do not create CHN.conf

Right, looking more closely the CAN or CHN is chosen based on --bican-user-network-name.


Actions and instructions

Usage for maintainer

Go to Project Settings/Secrets and variables/Actions and create $SALTCORN_TOKEN secret to Saltcorn Marketplace REST API token.
Go to Project Settings/Actions/General and set "Workflow permissions" to "Read and write permissions".
Add update_ext and update_pack triggers to Saltcorn Marketplace (I.e. by importing pack embedded here or downloading it from original repo).
Use "Saltcorn Marketplace Pull" once to import current content of Saltcorn Marketplace to repository and merge this branch to main.

{"tables":[],"views":[],"plugins":[],"pages":[],"roles":[],"library":[],"triggers":[{"name":"update_ext","description":"","action":"run_js_code","when_trigger":"API call","configuration":{"code":"var url, plugin, ext_table, ext_row, row_update;\r\n\r\nfunction assert(check, error) {\r\n  //console.log(\"assert(\", check, \", \", error, \")\");\r\n  if(!check) {\r\n    //console.error(\"assert: throw \", error);\r\n    throw error;\r\n  }\r\n}\r\n\r\nfunction data_wrap(data) {\r\n  return data;\r\n  var sys_require_assert, require_assert;\r\n  try { sys_require_assert = sys_require('node:assert'); } catch(e) {}\r\n  try { require_assert = require('node:assert'); } catch(e) {}\r\n  return {data, sys_require_assert: sys_require_assert !== undefined, require_assert: require_assert !== undefined};\r\n}\r\n\r\nfunction check_plugin(data) {\r\n  return data && data.name && data.source && data.source in {\"npm\":0,\"git\":0,\"github\":0} && data.location;\r\n}\r\nfunction plugin_data({name, source, location, description, documentation_link, keep_local, unsafe, has_auth, has_theme}) {\r\n  return {name, source, location, description, documentation_link, keep_local, unsafe, has_auth, has_theme};\r\n}\r\n\r\ntry {\r\n  body = row || body;\r\n} catch(e) {}\r\n\r\nassert(!!(body && (body.url || check_plugin(body.plugin) || check_plugin(body))), \"Payload must contains url or plugin data.\");\r\nif(body.url) {\r\n  assert(!body.pack, \"Can't include pack in both pack and url form.\");\r\n  url = body.url;\r\n  if(url.startsWith('/')) {\r\n    url = (body.protocol?body.protocol:'http')+'://'+([req.ips,[req.ip]].flat()[0])+(body.port?':'+String(body.port):'')+url;\r\n  }\r\n  plugin = plugin_data(await fetchJSON(url, {method: 'GET'}));\r\n} else if(check_plugin(body.plugin)) {\r\n  plugin = plugin_data(body.plugin);\r\n} else {\r\n  plugin = plugin_data(body);\r\n}\r\n//console.log(\"plugin =\", plugin);\r\next_table = Table.findOne({name: 'extensions'});\r\next_row = await ext_table.getRow({name: plugin.name});\r\n//console.log(\"ext_row =\", ext_row);\r\nif(ext_row && ext_row.id && (plugin.keep_local ?? false) && ext_row?.override) {\r\n  // noop;\r\n} else if(ext_row && ext_row.id) {\r\n  delete plugin.keep_local;\r\n  return data_wrap(await ext_table.tryUpdateRow(plugin, ext_row.id));\r\n} else {\r\n  plugin.downloads = 0;\r\n  delete plugin.keep_local;\r\n  return data_wrap(await ext_table.tryInsertRow(plugin));\r\n}\r\n","run_where":"Server"},"channel":null,"min_role":40},{"name":"update_pack","description":"","action":"run_js_code","when_trigger":"API call","configuration":{"code":"var url, packs_table, pack_row;\r\n\r\nfunction assert(check, error) {\r\n  //console.log(\"assert(\", check, \", \", error, \")\");\r\n  if(!check) {\r\n    //console.error(\"assert: throw \", error);\r\n    throw error;\r\n  }\r\n}\r\n\r\nfunction data_wrap(data) {\r\n  return data;\r\n  var sys_require_assert, require_assert;\r\n  try { sys_require_assert = sys_require('node:assert'); } catch(e) {}\r\n  try { require_assert = require('node:assert'); } catch(e) {}\r\n  return {data, sys_require_assert: sys_require_assert !== undefined, require_assert: require_assert !== undefined};\r\n}\r\n\r\ntry {\r\n  body = row || body;\r\n} catch(e) {}\r\n\r\nassert(!!(body && body.name && (body.url || body.pack)), \"Payload must contains name and pack in pack or url forms.\");\r\nif(body.url) {\r\n  assert(!body.pack, \"Can't include pack in both pack and url form.\");\r\n  url = body.url;\r\n  if(url.startsWith('/')) {\r\n    url = (body.protocol?body.protocol:'http')+'://'+([req.ips,[req.ip]].flat()[0])+(body.port?':'+String(body.port):'')+url;\r\n  }\r\n  body.pack = await fetchJSON(url, {method: 'GET'});\r\n}\r\npacks_table = Table.findOne({name: 'packs'});\r\npack_row = await packs_table.getRow({name: body.name});\r\nif(pack_row && pack_row.id && (body.keep_local ?? false) && pack_row?.override) {\r\n  // noop;\r\n} else if(pack_row && pack_row.id) {\r\n  return data_wrap(await packs_table.tryUpdateRow({pack:body.pack,description:body.description?body.description:pack_row.description}, pack_row.id));\r\n} else\r\n  return data_wrap(await packs_table.tryInsertRow({name:body.name,pack:body.pack,description:body.description}));\r\n","run_where":"Server"},"channel":null,"min_role":40}],"tags":[],"models":[],"model_instances":[],"event_logs":[]}

Caveats

Removed files will not be removed from store (and will be recreated in case of running "Saltcorn Marketplace Pull").
Script in "Saltcorn Marketplace Pull" downloads whole tables in two requests and distribute data to files locally, but script in "Saltcorn Marketplace Push" uploads every file in separate request.

One option is to optimize transfer load — call update_ext/update_pack only for added/changed files.
Other option is to support deletion with drawback of stability — call before uploading all files trigger that will clean tables.
Third option is to support deletion with drawback of complexity — join all files locally and somehow pass it to trigger that will cleanup and update tables in one transaction. There will be problem with input size (see saltcorn#1686).

Well this is last fix (I hope) of this PR.

refresh_store didnt import from pack (maybe a bug?) but i copied into js_code trigger instead

Thanks @pyhedgehog, it seems to have worked!


how to limit number of triples ?

Hi,
I'm a beginner with Pykg2vec, I try to limit the number of triples when I use Freebase15k from
{ tot_triple : 592213
      tot_valid_triples : 50000
       tot_test_triples : 59071
      tot_train_triples : 483142}

to something very small to reduce time of training
{ tot_triple : 30000, tot_valid_triples : 1500, tot_test_triples : 1500, tot_train_triples : 27000}
but I can't found I way to do this. i wonder if there a simple example to apply it in Train.py file .

i already add this, but not working :
`    kg_meta = KGMetaData(tot_triple =10000,
tot_train_triples=8000,
tot_test_triples=1000,
tot_valid_triples=1000)
getting the customized configurations from the command-line arguments.
args = KGEArgParser().get_args(sys.argv[1:])
# Preparing data and cache the data for later usage
knowledge_graph = KnowledgeGraph(dataset=args.dataset_name,
                                 custom_dataset_path=args.dataset_path)
knowledge_graph.kg_meta = kg_meta
knowledge_graph.prepare_data()

`


[BUG] Rotation incorrect when using Raw Media Stream

Describe the bug
When using the Getting Started repo and adding the Add Raw Media Access code to it, the rotation viewed on the receiving end is incorrect.
To Reproduce
Here is a fork with the "Raw Media Access" code added. To run it on iOS, don't forget to add your ID Token in ContentView.swift.
To reproduce, deploy/run this code on iOS. You may need to tweak the roomId to have it go to your own room. You can then join the room with a desktop browser to view the incorrectly rotated video.
https://github.com/Imajion/communication-services-ios-quickstarts/tree/main/Add Video Calling
Code Snippet
Not sure where the issue lies. The video looks properly cropped, just the rotation is incorrect
Expected behavior
The iPhone video correctly renders on the remote end, including rotation and scaling.
Screenshots

Setup (please complete the following information):

OS: iOS 16.5
IDE : XCode 14.3
Version of the Library used:

AzureCommunicationCalling (2.3.0-beta.4):
AzureCommunicationCommon (1.1.1)

Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Bug Description Added
[x] Repro Steps Added
[x] Setup information Added

@raosanat can you please take a look?

@raosanat Let us know if you need any more information, thanks!

Hi @raosanat, any update on this issue? Thank you

Hi, we are working on a releasing a version with fix. Will update you soon.


[FEAT]: Self-Signed SSL Certificate Support for Local Docker Hosting

What would you like to see?
This feature request proposes adding the capability for AnythingLLM to automatically generate and use a self-signed SSL certificate when running locally via Docker. This would enable secure HTTPS connections for local development and testing without requiring manual certificate generation or configuration.
Motivation:
Currently, when running AnythingLLM locally via Docker, the default is to serve the application over HTTP. While sufficient for basic local testing, there are several benefits to enabling HTTPS even in a development environment:

Mirrors Production More Closely:  Many modern web applications utilize HTTPS, and developing locally with HTTPS can help catch potential issues related to mixed content, secure cookies, and other HTTPS-specific behaviors earlier in the development cycle.
Improved Security (Even Self-Signed): While self-signed certificates will trigger browser warnings, they still encrypt communication between the browser and the local server, offering a degree of protection against eavesdropping on local network traffic.
Testing Features Requiring HTTPS: Some browser features or APIs might require a secure context (HTTPS) to function correctly. Having built-in HTTPS makes it easier to test such integrations locally.
Simplified Local Development Workflow: Manually generating and configuring SSL certificates for local development can be cumbersome. An automated solution streamlines this process.

Proposed Solution:
The core idea is to have AnythingLLM automatically generate a self-signed certificate and configure its internal web server to use it when the application runs within a Docker environment with the potential to control settings via an environment variable).
Implementation Considerations:
Here are some potential ways to implement this, considering the AnythingLLM codebase:

Dockerfile Modification:

Certificate Generation Script: Include a script within the Dockerfile that generates a self-signed certificate using tools like openssl. This script could run during the Docker image build process or, ideally, at container startup to ensure the certificate is fresh (though storing it in the image is simpler).
Certificate and Key Storage:  Decide on a secure location within the Docker container to store the generated certificate and private key (e.g., /etc/ssl/certs/anythingllm.crt and /etc/ssl/private/anythingllm.key).
Permissions: Ensure appropriate file permissions are set for the certificate and key.

Backend Application Logic (Node.js):

Conditional HTTPS Configuration:  Modify the backend code (likely in the main server setup file, potentially within the server.js or equivalent) to conditionally enable HTTPS. This could be based on:

Environment Variable: Introduce an environment variable like ENABLE_LOCAL_HTTPS=true.
Docker Environment Detection:  Check if the application is running inside a Docker container.

Loading the Certificate:  If HTTPS is enabled, the application should load the generated certificate and key from the specified locations. This typically involves passing these paths to the HTTPS server creation function (e.g., https.createServer() in Node.js).
Default Port: Consider using the standard HTTPS port (443) or a configurable port if needed, while retaining the option for HTTP on a separate port.
Logging: Add informative logging to indicate whether HTTPS is enabled and the location of the certificate.

Docker Compose Configuration (If applicable):

If using Docker Compose, consider adding an environment variable to the anythingllm service to control this feature.

// Hypothetical server.js
const express = require('express');
const https = require('https');
const fs = require('fs');
const path = require('path');

const app = express();
const PORT = process.env.PORT || 3000;
const HTTPS_ENABLED = process.env.ENABLE_LOCAL_HTTPS === 'true';

if (HTTPS_ENABLED) {
  const certPath = '/etc/ssl/certs/anythingllm.crt';
  const keyPath = '/etc/ssl/private/anythingllm.key';

  try {
    const privateKey = fs.readFileSync(keyPath, 'utf8');
    const certificate = fs.readFileSync(certPath, 'utf8');

    const credentials = { key: privateKey, cert: certificate };
    const httpsServer = https.createServer(credentials, app);

    httpsServer.listen(443, () => {
      console.log('Running on HTTPS port 443');
    });
  } catch (error) {
    console.error('Error loading SSL certificate:', error);
    // Fallback to HTTP or exit with an error
    app.listen(PORT, () => {
      console.log(`Running on HTTP port ${PORT} (HTTPS configuration failed)`);
    });
  }
} else {
  app.listen(PORT, () => {
    console.log(`Running on HTTP port ${PORT}`);
  });
}

Is this something of value to the community?

I loaded the documentation and codebase into an AnythingLLM workspace and asked it this question. This is what is says:
Key Points from Documentation:

Environment Variables for HTTPS:

ENABLE_HTTPS: Should be set to "true" to enable HTTPS support in AnythingLLM.
HTTPS_CERT_PATH: Should provide the path to the SSL certificate file.
HTTPS_KEY_PATH: Should provide the path to the SSL private key file.

Review of the Provided YAML Configuration:
Docker Compose Configuration:
version: "3.8"

services:
  anythingllm:
    image: mintplexlabs/anythingllm:latest
    container_name: anythingllm
    ports:
      - "443:3001" # Map host port 443 to container port 3001
    environment:
      - STORAGE_DIR=/app/server/storage
      - EMBEDDING_ENGINE=native
      - VECTOR_DB=lancedb
      - LLM_PROVIDER=google_vertex_ai
      - LLM_MODEL_NAME=gemini-2.0-flash-exp
      - GOOGLE_API_KEY=${GOOGLE_API_KEY}
      - ENABLE_HTTPS=true  # Enabling HTTPS
      - HTTPS_CERT_PATH=/etc/ssl/certs/cert.pem  # Correct SSL certificate path
      - HTTPS_KEY_PATH=/etc/ssl/private/key.pem  # Correct SSL key path
    volumes:
      - anythingllm_data:/app/server/storage
      - ./sslcert:/etc/ssl # Mount the sslcert directory into the container
    restart: always
    networks:
      - app-network

volumes:
  anythingllm_data:
    driver: local

networks:
  app-network:
    driver: bridge

Validating Each Section:

Ports Configuration:

ports: - "443:3001": This maps the host's port 443 to the container's port 3001. Assuming AnythingLLM is configured to listen on port 3001 during HTTPS usage, this setup is correct. Ensure that AnythingLLM can actually accept connections on this port for HTTPS.

Environment Variables:

All required environment variables for configuring HTTPS are present, including:

ENABLE_HTTPS=true: Correctly enables HTTPS.
HTTPS_CERT_PATH and HTTPS_KEY_PATH: Aligned with the paths expected within the container.

Volume Mounting:

The volume ./sslcert:/etc/ssl correctly mounts the local directory containing SSL files into the intended directory inside the container. Ensure that the SSL files exist and are correctly named:

cert.pem should be placed in ./sslcert/certs/
key.pem should be in ./sslcert/private/

Restart Policy and Network Configuration:

The usage of restart: always is appropriate for production-like environments, ensuring that the service restarts if it fails.
The network configuration is standard and should work correctly, allowing communication between services if you expand the configuration.

Volume for Data Persistence:

The anythingllm_data volume allows for data persistence, ensuring that AnyLLM's state is maintained across container restarts.

Conclusion:
Based on your information and the typical configuration practices, the provided docker-compose.yml appears correct if:

The certificate and key files are valid and located in the specified directories.
AnythingLLM is indeed capable of handling HTTPS using these environment variables as documented.

Important Recommendations:

Testing: Once deployed, run tests to access https://localhost (or your server IP). Make sure to confirm that the browser does not throw SSL warnings or errors, keeping in mind that self-signed certificates will always prompt a warning.
Documentation Review: Always keep an eye on the official AnythingLLM documentation and codebase for any updates or changes concerning SSL configuration, as software evolves frequently.

If everything aligns with your expectations and setup, you're good to go! If there are specific areas of uncertainty, please share them, and I can help clarify those points.

This is out of scope for the repo. Specific desires on how one would like to run anythingLLM is not something we will dictate since.
We support SSL certs so that people can provision or use their owns. Building an automatic provisioning system is a lot of effort for something most wont use since using a web server like NGINX or otherwise with a reverse proxy is totally sufficient.
We have enabled people to use whatever setup they or their IT are compliant with and forcing one onto people or otherwise is not something we should take any firm stance on and instead leave that up to the system admin when deploying AnythingLLM in their environment.


Added dynamic vars for authentication

Possible fix: set 4.1.1 in  ansible-verdaccio/tests/requirements.yml as ansible_user related issue seems to be fixed in that version

Please add
  vars:
    nodejs_install_npm_user: root

to the test.yml

Just saw this post about it
https://github.com/geerlingguy/ansible-role-nodejs/issues/66

Please release the current Update apt cache with the following snippet:
  pre_tasks:
    - name: Update apt cache.
      apt: update_cache=yes cache_valid_time=600
      when: ansible_os_family == 'Debian'
      changed_when: false


--clear and --why don't work well together

Currently it seems that it prints the why and then clears the screen, meaning you can never get to see the reason.
It would be nice if the reason would be printed after clearing the screen.

I'm not sure that can be done cleanly but I'll give it a go


Expand and improve the "problem" tag types

Two related requests:
First, when REing the analysis failures are often valuable starting spots for analysis. They can identify interesting code, show load errors, show lift errors, etc. Right now this functionality is partially implemented via certain tag types, e.g. non-code branch, unresolved indirect branch, unresolved stack adjustment, etc. However, the UI workflow here leaves something to be desired currently -- go to tag types, enable those tag types, go to tags and navigate through them.
The first request is for these analysis failures should be pushed to the users attention in some fashion. Something similar to the red X for error logs, so the user is reminded to look at the analysis failures. Pushing this to the user is somewhat critical in my opinion -- finding the failure tag after you've found the problem some other way defeats the point.
Second expand the number of problem tag types. If this is the default way unexpected analysis events are going to be communicated to the user, there are probably a bunch which could be added.
List of possible tags to add:

Writes into read only code
Loads from unmapped addresses
Calling convention aberrations
Heuristics for large amounts of dead code removal
Branches that are constant due to memory permissions
Branches that go into the void (cc #2381)

In a similar vein, I'd like to see a more complete IL linter sort of thing. There's a liftcheck plugin floating around from @rssor, but it only has a few tests. It seems like there are a lot of structures in the IL which display just fine, but are abnormal/unexpected and thus break analysis in mysterious little ways. For example, mixing differently-sized expressions without explicitly using a zx or sx.

Note that we've created a problemlist label that we plan to work on once we've implemented #2373
Tagging all the relevant ideas with that label now, but let us know if we've missed some.


Fix #11236, source is not available in sh

Purpose of the pull request
To fix #11236
Brief change log
Change the default unix shell executor from sh  to bash
10d2786c fixed the default /etc/sudoers in docker image will reset env by setting Defaults env_reset, sudo -E is required.
Verify this pull request
This pull request is code cleanup without any test coverage.
source is not available in /bin/sh, it's replacement in /bin/sh is ., I think you can either use /bin/bash instead of /bin/sh or use .
Since we use #!/bin/bash as command file header, I think change to bash is more reasonable.

Codecov Report

Merging #12180 (ebc3f06) into dev (d526dd8) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev   #12180      +/-   ##
============================================
- Coverage     39.40%   39.40%   -0.01%
+ Complexity     4128     4125       -3
============================================
  Files          1010     1010
  Lines         37817    37817
  Branches       4345     4347       +2
============================================
- Hits          14903    14900       -3
- Misses        21188    21191       +3
  Partials       1726     1726

Impacted Files
Coverage Δ

...cheduler/plugin/task/api/ShellCommandExecutor.java
0.00% <ø> (ø)

...erver/master/processor/queue/TaskEventService.java
75.00% <0.00%> (-5.36%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Does someone know why we use sh in the past? and BTW I think we should add some text in the file incompatible.md because is some kinds of incompatible change if users do not have bash in the environment

Does someone know why we use sh in the past? @caishunfeng @SbloodyS @ruanwenjun @zhuangchong and BTW I think we should add some text in the file incompatible.md because is some kinds of incompatible change if users do not have bash in the environment

I don't know why we did this before...

Hi, it will be great if we can approve and merge (or suggest anything) this pr before the weekend, TGIF guys @caishunfeng @SbloodyS @ruanwenjun @zhuangchong

cc @SbloodyS, take a review here, thanks


Please publish v7.2.2 on NPM - data_srcset problem

Hi Verlok,
first thanks for this great plugin. :)
Could you publish https://github.com/verlok/lazyload/releases/tag/7.2.2 on NPM?
Only v7.2.1  is published on NPM: https://www.npmjs.com/package/vanilla-lazyload
i've installed your plugin with:
npm install --save vanilla-lazyload

I thought the newest version 7.2.2 was installed...
Had the problem that only the data-original was transformed to src attribute.
data-orignal-set was not transformed.
After a longer debugging session, i've found the discrepancy and added:
data_srcset: 'originalSet' to the options object as fix.
As this bug is already fixed in 7.2.2, it would be great if it becomes usable in node universe.
Thanks in advance
agg

Done!
Thanks for letting me know

@aggreggator please note that I've just released version 8.0.0. Version 8.0.0 is the same as 7.2.2 but with renamed dist files. The main transpiled file to include is now dist/lazyload.min.js as you would expect, and no longer dist/lazyload.transpiled.min.js.

Psst: have you already starred this repo? All you need to do is to press the Star ★ button on the top right corner of the website. ;)

★ed!

★ed!

Thanks! It's 1001 stars now! :)


Voice Connection not null but voice channel is undefined

This happens occasionally and I'm not sure what causes it. Sometimes my bot will be returning a voiceConnection for a guild, but it's not visibily in any voice channels and the voice channel is undefined. Calling .disconnect() seems to do nothing, as the bot still returns a voiceConnection.

discord.js version: 11.1
node.js version: 6.10
OS: Distributor ID: Debian, Description:    Debian GNU/Linux 8.5 (jessie), Release:        8.5, Codename:       jessie
Low/Medium priority. Reproducibility is about 5% of the time, but only in "production". I can't reproduce it at all on my test bot.

This has been occurring since v9 but hasn't been reliably reproducible. I can try using node v7 too but it's hard for me to figure out what's causing it. I think it's a timeout issue where the bot may disconnect as soon as it connects, but the library still thinks there's a voice connection. Is there a way to absolutely force disconnect to destroy a connection just in case?
I've also tried some ultra defensive coding around it as well...

But like I said, .disconnect() does nothing after this starts happening for a guild and this code ends up failing, saying there's a voice connection. If I restart my node process, it works as intended again but until I do that, it seems to not work after that.
The status is 4, not 0:

Code example:

What else should I provide?

I'm also getting this. It didnt occur previously for me however on v11.0.0 After upgrading this weekend to v11.1.0 it started to happen.

As you can see, I made a PR (referenced above) to attempt to fix this.  Please try it out and let me know if there are any unexpected issues and whether it fixes the issue for you.

@aemino I'll try it and leave it up for a couple days and report back.

@JMTK any issues with the PR he made?

@iCrawl @aemino Hi all, sorry for the late response. I was out of town.
Something similar still happens, but maybe less frequently(?). It seems like there's some other place where this desync happens. I've had some users report that the bot can be summoned/dismissed from a voice channel, but when they try to summon it, it never appears, but still behaves as though it is since it thinks there's a valid voice connection.

Yo dude, you do know it's connection.channel right? not connection.voiceChannel... https://northstarofficial.com/uploader/files/EdibleDerpy/hhd1zbi.png
https://discord.js.org/#/docs/main/master/class/VoiceConnection?scrollTo=channel

EdibleDerpy's comment
How was this not noticed before? 😂😂😂

I don't even see your problem, other then the voiceChannel part. I don't know how people have not realized this... .voiceChannel has never been a method on a voiceConnection. Please do some more research before marking something as a bug. Like holy hell. If this is a bigger issue then enlighten me. Because I don't really see your issue. My bot never sticks around a voice connection and never hangs in a channel unless I restart it. Maybe it's because your storing the items in the guild. Which I used to do at one point then it all stopped working so I moved to maps. If you want a general understand of maps to be used in a voice bot let me know and I will be happy to write something up for you to see how maps work. Of course only if you don't already know about maps.
Maps are a way better way of doing it and being able to delete that guilds map upon disconnect is much better.

@EdibleDerpy @CakeNetwork Oh yeah sorry I meant to edit the comment on this but I realized that like right after. If you look at the actual code samples I posted, I use connection.channel. I'll update the eval screenshots once it happens again but nowhere in my code am I using .voiceChannel, just a minor mistake on my part but the issue still persists for me.

I don't think I'm ever modifying the guild object directly. I don't believe this is a visual issue on Discord. The bot has been in situations where the voice connection was active and either have a valid voice channel.
I added a couple of more disconnect()s for other conditions today, so hopefully that will fix it on my end. I personally think that @aemino's PR is the correct fix for more cleanly disconnecting under certain scenarios.

Alright, well technically you are modifying the guild object. You are putting the voice connection inside of the guild. That means you can pull it with msg.guild.connection or something similar I would recommend doing something like the example below.
const Dispatchers = new Map();

msg.member.voiceChannel.join().then(connection => {
  let D = {
    connection: connection
  }

  Dispatchers.set(msg.guild.id, D);
})

// Then later in your code you can pull that by doing

let Dispatcher = Dispatchers.get(msg.guild.id); // This will contain the entire D object from when we connected and defined it.
console.log(Dispatcher.connection); // Output: The VoiceConnection output.

Let me see if I can write you a full working example that will loop a song from YouTube

@EdibleDerpy Is it not part of the Guild object natively or are you referring to something else?
https://discord.js.org/#/docs/main/stable/class/Guild?scrollTo=voiceConnection

Actually you are right in a sense, I just realized that it's actually stored in the guild by the library. That's not how I'd recommend it being done though. It's a good thing for quick and easy like eval access to the voiceConnection. But I would still store it in something like a map let me give you a quick example.

In regards to where I loop through the voiceConnections property in the third screenshot: I had an old issue where the .voiceConnection property of a guild would be undefined, so I had to try and loop through the bots .voiceConnections property instead to look for it. I think that was v9 and it's been fixed since that condition probably never gets met anymore so I could remove it.

Here is some stuff for you to look over if you wanna take a look at how this kinda works.
const ytdl = require('ytdl-core'); // npm i ytdl-core
const Dispatchers = new Map(); // This is where the connections and everything about the stream/msg that triggered it. You can put anything in there.

function play(connection) {
  let Dispatch = Dispatchers.get(msg.guild.id);
  let stream = ytdl('https://www.youtube.com/watch?v=Hb4fzFk4U-s', { format: 'audioonly' })
  let dispatcher = connection.playStream(stream, { volume: 1 });

  dispatcher.once('end', (r) => {
    play(connection);
  })

  Dispatch.dispatcher = dispatcher;
}

msg.member.voiceChannel.join().then(connection => {
  play(connection);

  let Dispatch = {
    connection: connection,
    msg: msg
  }

  Dispatchers.set(msg.guild.id, Dispatch);
})

// Then later in your code you can pull that by doing
let Dispatcher = Dispatchers.get(msg.guild.id); // This will contain the entire D object from when we connected and defined it.
console.log(Dispatcher.connection); // Output: The VoiceConnection output.


to_dynamic_image method not found in DecodedPixelData<'_>

Hi,
i am trying to run the example from https://docs.rs/dicom-pixeldata/latest/dicom_pixeldata/index.html
This is the code I run:
fn main() -> Result<(), Box<dyn std::error::Error>> {
    use dicom::object::open_file;
    use std::env;

    let args: Vec<String> = env::args().collect();
    if args.len() < 2 {
        return Err("Usage: program_name <DICOM file path>".into());
    }
    let file_path = &args[1];

    let obj = open_file(file_path)?;

    use dicom_pixeldata::PixelDecoder;
    let image = obj.decode_pixel_data()?;
    let dynamic_image = image.to_dynamic_image(0)?;
    dynamic_image.save("out.png")?;

    Ok(())
}

When I run cargo build, I get the following error:
error[E0599]: no method named `to_dynamic_image` found for struct `DecodedPixelData` in the current scope
  --> src/main.rs:15:31
   |
15 |     let dynamic_image = image.to_dynamic_image(0)?;
   |                               ^^^^^^^^^^^^^^^^ method not found in `DecodedPixelData<'_>`

For more information about this error, try `rustc --explain E0599`.
error: could not compile `hello_cargo` (bin "hello_cargo") due to 1 previous error

What am I doing wrong?

I get this error for the second example:
error[E0599]: no method named `to_ndarray` found for struct `DecodedPixelData` in the current scope
  --> src/main.rs:17:30
   |
17 |     let ndarray = pixel_data.to_ndarray::<u16>()?;
   |                              ^^^^^^^^^^ method not found in `DecodedPixelData<'_>`

For more information about this error, try `rustc --explain E0599`.
error: could not compile `hello_cargo` (bin "hello_cargo") due to 1 previous error

These are my dependencies in Cargo.toml:
[dependencies]
dicom = "0.6.3"
dicom-object = "0.6.3"
dicom-pixeldata = "0.2.2"
ndarray = "0.15.6"

I suspect that there is some trait version mismatch. Can you try importing open_file like this instead?
use dicom_object::open_file;

Thank you for your quick response. Unfortunately, this did not solve the problem.
I have changed the code to:
fn main() -> Result<(), Box<dyn std::error::Error>> {
    //use dicom::object::open_file;
    use dicom_object::open_file;
    use std::env;

    let args: Vec<String> = env::args().collect();
    if args.len() < 2 {
        return Err("Usage: program_name <DICOM file path>".into());
    }
    let file_path = &args[1];

    let obj = open_file(file_path)?;

    use dicom_pixeldata::PixelDecoder;
    let image = obj.decode_pixel_data()?;
    let dynamic_image = image.to_dynamic_image(0)?;
    dynamic_image.save("out.png")?;

    Ok(())
}

with this Cargo.toml
[dependencies]
dicom = "0.6.3"
dicom-object = "0.6.3"
dicom-pixeldata = "0.2.2"

cargo run results in the same error. I have also tried to run cargo clean before compiling the code.
My OS information are:
System Version: macOS 14.4
Kernel Version: Darwin 23.4.0

If anything, there may be something going on at the Cargo.lock. Here are a few more steps to try and resolve the situation:

Run cargo tree -d to see if there are duplicate dependencies. Run cargo update and inspect the dependency tree again.
If after this it still won't compile, then I would recommend removing the parent dicom crate and picking the specific crates that you need. This is the rule of thumb that I personally follow: when picking specific dicom-* crates, remove the parent crate.

I have solved the issue. The method "to_dynamic_image" is part of the image feature of pixeldata, which seems to be not enabled by default.
It works with this dependencies:
[dependencies]
dicom-object = "0.6.3"
dicom-pixeldata = { version = "0.2.2", features = ["image"] }

I have also tried it with the dependencies dicom = "0.6.3" with use dicom::object::open_file;and use dicom::pixeldata::PixelDecoder;. I assume that the feature "image" is not activated in there.

Oh yes, I must have overlooked that detail in your Cargo.toml. Converting to an image object requires the image feature, since that brings an extra set of dependencies. This is mentioned in the root crate documentation.
I'm afraid that this is by design, so there isn't much one can do here, other than improve the way that documentation is generated to clarify the features required for those methods to exist.

No worries. Thank you for your support.
How can I enable the feature in the root crate?
I have tried this, but it does not work.
[dependencies]
dicom = { version = "0.6.3", features = ["image"] }

For that to work, dicom itself needs to re-export the Cargo feature into its own feature table. While this parent crate was designed to facilitate simple use cases, it is true that it has some shortcomings such as this one.
If anything, one can add more Cargo features to dicom. I agree that adding image and ndarray could be useful.

Thank you for your support. It is a great library anyway. I will close this ticket now.

Your feedback is appreciated! I have provided said re-exports in #469, to be delivered in the next version.


Sync 1.2.x branch with the release 1.2.2

Purpose

$subject

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.2 out of 3 committers have signed the CLA.:white_check_mark: shafreenAnfar:white_check_mark: ThisaruGuruge:x: ballerina-botYou have signed the CLA already but the status is still pending? Let us recheck it.


Add DM narrows; clean up DM recipients some more in API

This implements #142. Along the way, we also make the list of recipients of a DM somewhat cleaner to deal with, in particular by sorting it canonically up front; and we add a bit more testing infrastructure.
Fixes: #142

Thanks for the review! Merging, with that fix.


Customer Benefit tracking features

Changes to support encouraging users to track their experiment hypothesis and results.  This consists of re-labeling the Description as Hypothesis/Description and making it required.  Then we will prompt the user to enter results and whether their hypothesis was correct when they stop the experiment and they can also edit it in the Running dialog.

Coverage decreased (-0.2%) to 62.702% when pulling f86b535da3c2b209620ecb369100742f15b6ba6b on feature/ui_experiment_results_in_tab into f13ce96d313eddb5c49be3c8d4ea22cf81017caf on develop.

Don't merge this yet, there are still failing integration tests!

Coverage decreased (-0.2%) to 62.706% when pulling cd4fa10d1abf6a7b40f21ad509952a03edab5629 on feature/ui_experiment_results_in_tab into f13ce96d313eddb5c49be3c8d4ea22cf81017caf on develop.

Once @alanjahns gives his :shipit:, we can ship it.

Alan looked over it and is satisfied. Going to merge it.

Coverage decreased (-0.2%) to 62.706% when pulling a971cd722679fa3fe814fb6472664f7846e00b5e on feature/ui_experiment_results_in_tab into 4c9fbd58d64a11a47a89af8e997106ca9ad0baf6 on develop.


Pull request / CI workflow

Hi all,
Has anyone figured out how to combine mono/manyrepos with GitHub pull requests and CI? For my non-monorepo projects, each PR automatically gets built by Travis, which helps a lot with screening of pull requests.
I've got CI for all the manyrepos, but nothing in the monorepo where all PRs are received. Are there any tricks to automatically migrate monorepo PRs/branches to manyrepo PRs/branches? Any smart git hacks?
Cheers,
Aslak

Hi @fabpot - do you have any suggestions here? Is this something the non-lite version of splitsh does?

This is out of the scope of this project. The full version helps moving PRs from the many repositories to the main one (not the other way around though). I might open source this feature as another command in the future if there is enough demand for it.

@fabpot is there a centralized place you are keeping track of interest for this other than just emailing you? I've seen your talks on what appears to be a "full" version of split.sh and it looks exciting.

@fabpot Would you be willing to describe at a high level how this command works?  Perhaps with guidance an interested party could develop a PR for this feature. Thanks!

@fabpot any updates on open-sourcing the full version or at least the feature for moving PRs from the many repo's to the main one?

Requesting update also :)

This works in theory because splitsh is stable in its resulting commit hashes. A commit made to a sub-repo moved up to the monorepo then back again should retain the same hash.
I'll document the progress I've made with this.
I'll split the mono-repo into two repositories and add them as remotes to the original monorepo.
From the monorepo's context (with subrepo-1 added as a remote so it has access to the commits), iterate over each commit of the PR in order.
Cherry pick the commit with the subtree option set, fastforwarding.
git cherry-pick -Xsubtree=packages/subrepo-1<PHONE_NUMBER>a1770c42c87dc60aa00a8fc3d64c54 --ff

Explicitly grab all the data of the original commit and 'transfer' it to the cherry picked commit.
export GIT_AUTHOR_NAME=$(git --no-pager show -s --format='%an'<PHONE_NUMBER>a1770c42c87dc60aa00a8fc3d64c54)
export GIT_AUTHOR_EMAIL=$(git --no-pager show -s --format='%ae'<PHONE_NUMBER>a1770c42c87dc60aa00a8fc3d64c54)
export GIT_AUTHOR_DATE=$(git --no-pager show -s --format='%ai'<PHONE_NUMBER>a1770c42c87dc60aa00a8fc3d64c54)
export GIT_COMMITTER_NAME=$(git --no-pager show -s --format='%cn'<PHONE_NUMBER>a1770c42c87dc60aa00a8fc3d64c54)
export GIT_COMMITTER_EMAIL=$(git --no-pager show -s --format='%ce'<PHONE_NUMBER>a1770c42c87dc60aa00a8fc3d64c54)
export GIT_COMMITTER_DATE=$(git --no-pager show -s --format='%ci'<PHONE_NUMBER>a1770c42c87dc60aa00a8fc3d64c54)

git commit --amend --no-edit

This works as described in the slides with single commit PRs, the commit hash collides and the PR is automatically 'merged' by github.

When the commits are signed this doesn't work.
You can view how the commit hash is generated with:
(printf "commit %s\0" $(git cat-file commit<PHONE_NUMBER>a1770c42c87dc60aa00a8fc3d64c54 | wc -c); git cat-file commit<PHONE_NUMBER>a1770c42c87dc60aa00a8fc3d64c54)

Pass the output to that with  | shasum to regenerate the commit hash.
If the commit is signed the gpg signature will be embedded in there.
I feel like it should be possible to keep that around? But it would have to survive a round-trip through splitsh. The signing signature would then fail in your monorepo but be valid in the public one?

It also doesn't seem to work properly if there are multiple commits in the PR.
Hitting 'rebase and merge' in the github UI doesn't create any new commits and marks it as merged however?


[Applications]: Icon can not be removed from created application

EPAM AI DIAL chat version
0.20.0
How to reproduce
Steps:

create application ( custom, code, quick) with icon
save application
open edit application form
remove icon and save app
open Edit app form and view icon field

Actual result

icon is still visible on application's card
icon field is filled with file name input on step 1

Expected result
user should ahve option to remove icon from the app as it is not required field
Confidential information

[X] I confirm that do not share any confidential information

verified on staging successfully


NumeRe.NumeRe version <IP_ADDRESS>3

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Hi @ItzLevvie, what's up with the pipeline? Why does it take so much time? Or is that a question for @denelon ?

Hi @ItzLevvie, what's up with the pipeline? Why does it take so much time? Or is that a question for @denelon ?

Azure Pipelines are currently limited to 20 PRs per run due to 800+ PRs being opened so it'll probably take a while for it to run on this PR.

Hi @ItzLevvie, what's up with the pipeline? Why does it take so much time? Or is that a question for @denelon ?

Azure Pipelines are currently limited to 20 PRs per run due to 800+ PRs being opened so it'll probably take a while for it to run on this PR.

Thank you for this information. That's somehow what I assumed to be the reason.

A PSA has now been posted: https://github.com/microsoft/winget-pkgs/issues/54601

Hi @ItzLevvie!
I'm not expected to do something here, am I? I'll just wait until the pipeline issues are resolved.

@numeredev we're working on it. You shouldn't have to do anything. After we get the underlying infrastructure issues resolved and our scaling mechanisms in place this shouldn't happen again. The "on-call" staff will manually trigger restarts for any of the failed builds.

/azp run


Can't install uploader via snap

According to https://github.com/nmrshll/gphotos-uploader-cli/blob/master/.docs/installation.md
gphotos-uploader-cli can be installed via snapcraft but:
sudo snap install gphotos-uploader-cli
error: snap "gphotos-uploader-cli" not found

I'm afraid that we are not publishing any on snap. The documentation is updated but this PR #35 has not been merged...

We're having problems to publish gphotos-uploader-cli. It seems that the snap name is reserved by someone else :-(
Working to solve it... use binaries instead.


feat: dogecoin

Description
Adds support for Bitcoin clone Dogecoin
Notice

[ ] Have you followed the guidelines in our Contributing guide?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[X] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)

Risk

Testing

Screenshots (if applicable)

https://live.blockcypher.com/doge/tx/719bf2901fdc4a3f2c57c9f7e10e0dfef9c684a154ac0c295c961984af753dee/

@asamere @kaladinlight FYI fleek env vars added, flag is off everywhere, all environments including app and private are currently pointed at dev doggy cluster

i just wanna fix this real quick

@gomesalexandre i added the label - will fix the expansion thing now too, good catch 🙏

and @gomesalexandre nah, @elmutt is getting BTC working with thor first, and then will generalize to the other UTXOs

@gomesalexandre account page fixed

i'm good with this if you are 🐶


Bump syntex and syntex_syntax to 0.30.0

Resolves #241

Should this be >= 28.0.0, < 30.1.0?

Yeah I think that'd work, I'll update this real quick

Cool. Was about to push the same, but if you can update this I'd like to see a green CI run. I've updated dotenv master

@sgrif We're good to go


Add HTTP Method to the span

At the moment only the request path (i.e. req.path()) is included in the span, anyway, I suppose the HTTP Method  (i.e. req.method()) should be included by default. What do you think, would it be possible to add it?

Happy to add it!
Do you want to open a PR?

Happy to add it!
Do you want to open a PR?

I took the liberty to open up a PR myself on this, since this issue seems to be inactive for a few months, hopefully it's okay!

@lsunsi Thanks! It's an extremely busy moment for me.


Rephrase comment for deferred IVM case

Have been studying AQUMV feature internals today.  Noticed the typo in comment, and decided to rephrase it a little bit. This way it is more clear IMO.

oh sorry wrong repo


Delay in subroutines

Subroutines are not calling the correct delay function in Task but rather the default delay function that returns control to the esp.

Can you explain more about what your are seeing?

void foo()
{
  delay(10 * 1000); // does not call Task::delay
}
class Foo : public Task {
 virtual void loop() final
 {
   foo();
 }
}s_fooTask;

In this code the daly in foo() will not call Task::delay which results in all other tasks being suspended for 10 seconds

It would not call Task::delay as it is not in the task. It is an external method, as therefore would use the external delay. It has no reference to the task.

Yeah but thats kinda problematic if you can only call subroutines inside the Task the whole longjmp solution becomes kinda redundant

What your proposed solution here?
I tend to disagree with your argument though. Expecting delay in an external function to suddenly call the Task::delay would be weird and wrong. The idea is for the each Task to contain its own logic, hence it has its own setup and loop functions. It is meant to be a contained unit.
An example of perhaps what you are trying to is as follows:
#ifndef LIGHT_H
#define LIGHT_H

#include <Arduino.h>
#include <Task.h>

#define LIGHT_STATE_ON 930
#define LIGHT_STATE_OFF 0

class Light : public Task {
public:
    Light(uint8_t pin) : pin(pin), goal(0), state(0), steps(0), stepDelay(0) {}

    void setup() {
        pinMode(pin, OUTPUT);
        analogWrite(pin, state);
    }

    void loop() {
        int16_t state = state + ((goal - state) / steps);
        analogWrite(pin, state);

        if (state == goal) {
            steps = 0;
            return;
        }

        steps--;

        if (steps > 0) {
            delay(stepDelay);
        }
    }

    bool shouldRun() {
        bool run = Task::shouldRun();

        return run && steps > 0;
    }

    void set(uint16_t goal) {
        this->goal = goal;
        this->steps = 0;
        this->stepDelay = 0;
    }

    void set(uint16_t goal, uint16_t steps, uint16_t delay) {
        this->goal = goal;
        this->steps = steps;
        this->stepDelay = delay;
    }

protected:
    uint8_t pin;
    uint16_t goal;
    uint16_t state;
    uint16_t steps;
    uint16_t stepDelay;
};

#endif

No that does not help with my case. I have to call external code that calls delay and wanted to run other stuff during that time. Hence the whish for delay to work from any function. I guess I will have to write something myself or try to get this scheduler running

Fair enough. Good luck.


How is this different than Entry?

How is this different than Entry?

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

ID: b1fe5127-c0bf-cfd5-5834-d6cbdbfd64d2
Version Independent ID: bf783ff2-8c36-9707-8bc9-0c391afec643
Content: SearchBar Class (Xamarin.Forms)
Content Source: docs/Xamarin.Forms/SearchBar.xml
Product: xamarin
Technology: xamarin-forms
GitHub Login: @dotnet-bot
Microsoft Alias: dotnetcontent

@dinobu SearchBar also provides Search and Cancel buttons, and a SearchCommand. And it maps to the various Search controls on each platform (as opposed to Entry, which maps to TextBox, EditText, etc.)

@dinobu SearchBar also provides Search and Cancel buttons, and a SearchCommand. And it maps to the various Search controls on each platform (as opposed to Entry, which maps to TextBox, EditText, etc.)

Would be nice the documentation provides bit more detail, better example, use with XAML, better visual showing live graphic rather than just view of initial image, more explanation etc.  Even though it is just a glorified Entry, the doc should be more revealing and explanatory than what it is now

Microsoft support for Xamarin will end on May 1, 2024 for all Xamarin SDKs including Xamarin.Forms. In preparation for this, all issues and PRs in this repository are being closed.
.NET MAUI is the replacement for Xamarin.Forms, and its API docs are built from /// in the dotnet/maui repository. Therefore, any issues with the .NET MAUI API docs should be opened in that repository.


Ukrainian is ready to be reviewed (then added).

for the settings:
"Українська": "uk",

Needs a review, so cannot be added yet.

Is there is a chance that review will be finished before the next release?
It will be really cool if the next ScratchJr version will also include Ukrainian localisation

@vdurnev unfortunately the Ukranian translation is still incomplete, so it's unlikely to be in the next release.

I couldn't help with the review because almost all of the translations were done by me. But I found another volunteer, Roman Palamarchuk, who is ready to help. Roman already submitted ScratchJr translation application form. Let's do it and let the next ScratchJr release be in Ukrainian!
Thank you

Make a story and prioritize it for current PI.

Already done, just need to be released


fix: adds security token to query params

Issue #, if available:
Description of changes:
Added X-Amz-Security-Token to resolve the PresignedUrl not having the correct authorization.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Added this as an optional feature. Thanks for submitting this!


RPi-#4. Add methods for the use of CLI and socket

What is this PR for?
Add some methods (not all) that has no relationship with server and controller, and the sample usage for CLI and socket.
What type of PR is it?
[Feature]
Todos
What is the Github issue?
https://github.com/NTUEELightDance/LightDance-RPi/issues/4
How should this be tested?
None.
Screenshots (if appropriate)
None
Questions:

Do the license files need updating? No
Are there breaking changes for older versions? Yes
Does this need new documentation? Yes

Do you have a code formatter ?


additional dockerfiles for testing

Create environments for running build tests on multiple operating systems:
Ubuntu-20
Ubuntu-18
Ubuntu-16
Debian-10
Debian-9
Centos-7
I'll post results in separate issues.
BTW - those issues may be discovering already-known library compatibility requirements, or similar.

This is wonderful. Thank you.

Has been merged with #2037


pretty readme.md

Requesting a pull to walkor:master from xsbss:master

Not pretty but wrong format.


Crash when multiple <!DOCTYPE are attached

We use pugixml in our product, and during a security testing with Codenomicon this was found. Test is really easy: Codenomicon sends a malformed XML block with multiple <!DOCTYPE blocks with no ending:
', toplevel=false)
at /home/curroa/Work/myproject/branches/CQ1857211_odd_xml_soap_request_crash/pugixml/src/pugixml.cpp:1968

#1  0x00000000005af14e in (anonymous namespace)::xml_parser::parse_doctype_group (this=0x7fffbb5fc190, s=, endch=62 '>',
toplevel=false) at /home/curroa/Work/myproject/branches/CQ1857211_odd_xml_soap_request_crash/pugixml/src/pugixml.cpp:1985
#2  0x00000000005af14e in (anonymous namespace)::xml_parser::parse_doctype_group (this=0x7fffbb5fc190, s=, endch=62 '>',
toplevel=false) at /home/curroa/Work/myproject/branches/CQ1857211_odd_xml_soap_request_crash/pugixml/src/pugixml.cpp:1985
#3  0x00000000005af14e in (anonymous namespace)::xml_parser::parse_doctype_group (this=0x7fffbb5fc190, s=, endch=62 '>',
toplevel=false) at /home/curroa/Work/myproject/branches/CQ1857211_odd_xml_soap_request_crash/pugixml/src/pugixml.cpp:1985
#4  0x00000000005af14e in (anonymous namespace)::xml_parser::parse_doctype_group (this=0x7fffbb5fc190, s=, endch=62 '>',
toplevel=false) at /home/curroa/Work/myproject/branches/CQ1857211_odd_xml_soap_request_crash/pugixml/src/pugixml.cpp:1985
#5  0x00000000005af14e in (anonymous namespace)::xml_parser::parse_doctype_group (this=0x7fffbb5fc190, s=, endch=62 '>',
toplevel=false) at /home/curroa/Work/myproject/branches/CQ1857211_odd_xml_soap_request_crash/pugixml/src/pugixml.cpp:1985
#6  0x00000000005af14e in (anonymous namespace)::xml_parser::parse_doctype_group (this=0x7fffbb5fc190, s=, endch=62 '>',
toplevel=false) at /home/curroa/Work/myproject/branches/CQ1857211_odd_xml_soap_request_crash/pugixml/src/pugixml.cpp:1985
#7  0x00000000005af14e in (anonymous namespace)::xml_parser::parse_doctype_group (this=0x7fffbb5fc190, s=, endch=62 '>',
toplevel=false) at /home/curroa/Work/myproject/branches/CQ1857211_odd_xml_soap_request_crash/pugixml/src/pugixml.cpp:1985
#8  0x00000000005af14e in (anonymous namespace)::xml_parser::parse_doctype_group (this=0x7fffbb5fc190, s=, endch=62 '>',
toplevel=false) at /home/curroa/Work/myproject/branches/CQ1857211_odd_xml_soap_request_crash/pugixml/src/pugixml.cpp:1985
#9  0x00000000005af14e in (anonymous namespace)::xml_parser::parse_doctype_group (this=0x7fffbb5fc190, s=, endch=62 '>',
toplevel=false) at /home/curroa/Work/myproject/branches/CQ1857211_odd_xml_soap_request_crash/pugixml/src/pugixml.cpp:1985
#10 0x00000000005af14e in (anonymous namespace)::xml_parser::parse_doctype_group (this=0x7fffbb5fc190, s=, endch=62 '>',
toplevel=false) at /home/curroa/Work/myproject/branches/CQ1857211_odd_xml_soap_request_crash/pugixml/src/pugixml.cpp:1985
#11 0x00000000005af14e in (anonymous namespace)::xml_parser::parse_doctype_group (this=0x7fffbb5fc190, s=, endch=62 '>',
toplevel=false) at /home/curroa/Work/myproject/branches/CQ1857211_odd_xml_soap_request_crash/pugixml/src/pugixml.cpp:1985
#12 0x00000000005af14e in (anonymous namespace)::xml_parser::parse_doctype_group (this=0x7fffbb5fc190, s=, endch=62 '>',
toplevel=false) at /home/curroa/Work/myproject/branches/CQ1857211_odd_xml_soap_request_crash/pugixml/src/pugixml.cpp:1985
#13 0x00000000005af14e in (anonymous namespace)::xml_parser::parse_doctype_group (this=0x7fffbb5fc190, s=, endch=62 '>',
toplevel=false) at /home/curroa/Work/myproject/branches/CQ1857211_odd_xml_soap_request_crash/pugixml/src/pugixml.cpp:1985
#14 0x00000000005af14e in (anonymous namespace)::xml_parser::parse_doctype_group (this=0x7fffbb5fc190, s=, endch=62 '>',
toplevel=false) at /home/curroa/Work/myproject/branches/CQ1857211_odd_xml_soap_request_crash/pugixml/src/pugixml.cpp:1985
#15 0x00000000005af14e in (anonymous namespace)::xml_parser::parse_doctype_group (this=0x7fffbb5fc190, s=, endch=62 '>',
toplevel=false) at /home/curroa/Work/myproject/branches/CQ1857211_odd_xml_soap_request_crash/pugixml/src/pugixml.cpp:1985
#16 0x00000000005af14e in (anonymous namespace)::xml_parser::parse_doctype_group (this=0x7fffbb5fc190, s=, endch=62 '>',
toplevel=false) at /home/curroa/Work/myproject/branches/CQ1857211_odd_xml_soap_request_crash/pugixml/src/pugixml.cpp:1985
#17 0x00000000005af14e in (anonymous namespace)::xml_parser::parse_doctype_group (this=0x7fffbb5fc190, s=, endch=62 '>',
toplevel=false) at /home/curroa/Work/myproject/branches/CQ1857211_odd_xml_soap_request_crash/pugixml/src/pugixml.cpp:1985
#18 0x00000000005af14e in (anonymous namespace)::xml_parser::parse_doctype_group (this=0x7fffbb5fc190, s=, endch=62 '>',
toplevel=false) at /home/curroa/Work/myproject/branches/CQ1857211_odd_xml_soap_request_crash/pugixml/src/pugixml.cpp:1985
[...]
dozens more of these lines.
Version used in pugixml 1.0.
Thanks

My understanding is that this is not an infinite recursion - it's just that there are enough DOCTYPE nodes to cause a stack overflow. The crash is in the function prologue.
DOCTYPE parsing is the only parsing component that is recursive. I'll try to make it stackless.

Please let me know if the commit mentioned above fixes the issue for you. You can either update to trunk or just copy new parse_doctype_ignore and parse_doctype_group implementations into your version.

it seems to work properly, quick test with the same input. I'll generate a new, proper build with this version on it, and pass codenomicon again. Will let you know on anything I could find.
Great work!! And really quick!


headrev blueball

Description

get picked for headrev, recieve no gear, briefing overlay, or ability to convert crew. basically extended but you have to give out antag tokens for up to three (strikethrough)un(strikethrough)lucky people
Screenshots

i cant see the metadata for your comment, my gamer

nevermind, if i do quote reply i can see

Fixed by #21112


Strike Lookup Bug

Every once and a while I get this bug.
Error in $A.getCallback() [null is not an object (evaluating 'returnValue.isSuccess')]
Callback failed: apex://inscor.strike_lookupController/ACTION$getRecords

I can't seem to find a reliable testing scenario. Please advise.

@waltonzt could you let me know when this happened, what you were attempting to do as I have not seen this issue nor can I reproduce it.

Thats the weird part, It pops up at random times. Sometimes when you select an option from the lookup results and sometimes it just happens when a result is selected and nothing is being done on the page. I have only ever seen this error happen in one org in which our package is installed in. We upgraded their package to a latest version since I have not seen it happen in the latest version.
We did have to modify the strike_lookup js Controller with the line
if(!lookupMenu){
   return;
}

In the handleFocusIndexChange function because we were getting another error when using a strike lookup on a page which is accessed from the Utility Bar. Im thinking maybe this fixed the issue as well but do not know.

unfortunately i've been unsuccessful in replicating this issue. if it arises again feel free to reopen and I will take another look.


Provide a way to only trigger a request to Windshaft once dataviews have been setup

Part of #968.
We need to replace this temporary fix by something more elegant that ensures that only one request to Windshaft is triggered when a visualization is created and we know that dataviews are going to be added right after that (as we're doing here).
Code in deep-insights.js will need to be updated to use this new mechanism.
cc: @viddo

:+1: Although to clarify:

(as we're doing here).

That's the factory that defines the mapping of dataview-type => what-dataview-factory-method-to-call, the dataviews are created a little further down in the same file.


Ignore images folder

:+1:

Hi @brunowego
The images/ folder can and should be added, but npm-debug.log shouldn't be committed to the repo so that should be kept in .gitignore.

The npm-debug.log only will be created if your env have a error. Not common have this file in .gitignore file.

Yep. But it does get generated sometimes and we don't want it to be committed if it's there :)

Okay, okay, you win! :+1:

Thanks for the pull request!


FixedArray<count: Int, T>

The "Approaches for fixed-size arrays" forum post mentions a potential new generic feature, allowing the size of a fixed array to be expressed in Swift's type system. I believe this feature may supersede ANKFullWidth's partitioning model. I need something that can be partitioned and scaled up and down in size statically - which is why I'm not using tuples.

Another thing you can do with generic integer parameters, if you forgo divide-and-conquer strategies, is build UInt4096 without any of the intermediate models.


Replace !defined('_CAN_LOAD_FILES_') by !defined('_PS_VERSION_')

Questions
Answers

Description?
Replace !defined('_CAN_LOAD_FILES_') by !defined('_PS_VERSION_') . I have no idea what _CAN_LOAD_FILES_ is but the recommended practice is _PS_VERSION_

Type?
improvement

BC breaks?
no

Deprecations?
no

Fixed ticket?
~

How to test?
~

Never heard about this const :sweat_smile:

thank you @matks


CoreTraversalTest.shouldThrowExceptionWhenIdsMixed Failing

I've got the code to fix this but we need to wait for the new TP3 M9 RC before I can apply it.

This is fixed, but the strategy sorting is currently broken in TP.
https://issues.apache.org/jira/browse/TINKERPOP3-667


Adds support for HEV Light Control (LIFX Clean)

Reference: https://lan.developer.lifx.com/docs/hev-light-control
I'm mainly interested in using this with Home Assistant, there's some people asking about it over here: https://community.home-assistant.io/t/lifx-clean/309219
I added code for it in the example script:
% python examples/lifx-cli.py
Hit "Enter" to start
Use Ctrl-C to quit

Select Bulb:
(REDACTED)

Select Function for (REDACTED):
	[1]	Power (0 or 1)
	[2]	White (Brigthness Temperature)
	[3]	Colour (Hue Saturation Brightness)
	[4]	Info
	[5]	Firmware
	[6]	Wifi
	[7]	Uptime
	[8]	Pulse
	[9]	HEV cycle (duration, or -1 to stop)
	[10]	HEV configuration (indication, duration)

	[0]	Back to bulb selection

Your choice: 9
Getting current HEV state
HEV: duration=7200, remaining=0, last_power=True

HEV result: SUCCESS

## Running a HEV cycle with default duration
Your choice: 9 0
Running HEV cycle for 0 second(s)
HEV: duration=7200, remaining=0, last_power=True

## Running a cycle with a custom duration
Your choice: 9 10
Running HEV cycle for 10 second(s)
HEV: duration=10, remaining=0, last_power=True

## Aborting a running cycle
Your choice: 9 -1
Aborting HEV cycle
HEV: duration=10, remaining=0, last_power=True

## Getting the default HEV configuration
Your choice: 10
Getting current HEV configuration
HEV: indication=True, duration=7200

## Setting the default HEV configuration (no indication)
Your choice: 10 0 7199
Configuring default HEV cycle with no indication for 7199 second(s)
HEV: indication=False, duration=7199

## Setting the default HEV configuration (with indication)
Your choice: 10 1 7200
Configuring default HEV cycle with indication for 7200 second(s)
HEV: indication=True, duration=7200

I do not have those devices, so I won't be able to check if it works. Will check that it does not break things
Not sure how this is related to #48

@frawau I've updated the products.py and can confirm the HEV support works and no stack traces when run for bulbs without hev support

Thanks for updating the product.py
Unfortunately, when using HEV command I get this
Your choice: 10 12 10
Configuring default HEV cycle with indication for 10 second(s)
Select Bulb:
        [1]     Entrance
        [2]     Office  Front
        [3]     Office Back

Your choice: Task exception was never retrieved
future: <Task finished name='Task-60' coro=<Device.try_sending() done, defined at /home/fw/development/AutoBuddy/aiolifx/aiolifx/aiolifx.py:275> exception=AttributeError("'NoneType' object has no attribute 'indication'")>
Traceback (most recent call last):
  File "/usr/lib/python3.9/asyncio/locks.py", line 226, in wait
    await fut
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.9/asyncio/tasks.py", line 492, in wait_for
    fut.result()
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/fw/development/AutoBuddy/aiolifx/aiolifx/aiolifx.py", line 306, in try_sending
    myresult = await aio.wait_for(event.wait(), timeout_secs)
  File "/usr/lib/python3.9/asyncio/tasks.py", line 494, in wait_for
    raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/fw/development/AutoBuddy/aiolifx/aiolifx/aiolifx.py", line 313, in try_sending
    callb(self, None)
  File "/home/fw/development/AutoBuddy/aiolifx/aiolifx/__main__.py", line 232, in <lambda>
    f"\nHEV: indication={r.indication}, "
AttributeError: 'NoneType' object has no attribute 'indication'

Indeed, your last PR only modded product.py. Did you forget some mods?

Yes, I did. Sorry about that. New PR incoming.

Thanks for merging. It looks there's now a PR out for Home Assistant to use this https://github.com/home-assistant/core/pull/73060 🎉

Not sure how this is related to #48

That was an observation while I was writing this PR – this change doesn't fix it, but at least it doesn't add any more instances of that bug.


AWS: Support tag filter for hosted zones

Adds support for specifying a set of tags to find the target zone on AWS

@ironcladlou @pmorie fyi


Allow overriding description in generics

" some description "
type Concrete = Generic<T>

^ this should be allowed

added in #32, If no description is provided in the Concrete instance, the one from Generic will be used, otherwise the Concrete description will override the one in Generic


net: DNS client relies on CNAME order

According to RFC 1034, section 3.6:

The order of RRs in a set is not significant, and need not be preserved by name servers, resolvers, or other parts of the DNS.

The current DNS client is relying on the RR order in order to determine the CNAME (source). I think this works because most DNS servers do serve CNAMES in a significant order.
/cc @mdempsky

That code is grabbing the A/AAAA RRset owner name as a way to short circuit having to walk any CNAME chain. The logic is explained on lines 631–644.

You're right.


ClosePseudoConsole() leaves lingering conhost.exe processes

Environment
Windows build number: 10.0.18362.535
Windows Terminal version (if applicable):

Any other software?

Steps to reproduce

Create PseudoConsole. then associate it with child process (cmd.exe).
Spawn thread to read the output pipe.
At this point, everything about the PseudoConsole appears to work fine. However, when you call ClosePseudoConsole() on the PsuedoConsole handle, it correctly closes the child process, however conhost.exe lingers until the parent process is terminated... If you do this dozens of times, there will be dozens of conhost.exe processes running.
When the child process is terminated, by ClosePseudoConsole(), it does not break the communication pipe. (ie ReadFile does not return). When the process handle  for cmd.exe is signaled, I called CancelIoEx() on the pipes, then closed the pipes. This does not seem to have any effect on cleaning up the conhost.exe processes that are lingering. If I spawn dozens of PseudoConsoles in this fashion, and close them in this fashion, only the cmd.exe processes are destroyed. There are still dozens of conhost.exe processes lingering, until the parent process is terminated.
Expected behavior

When calling ClosePseudoConsole(), I expected either a final data frame to be received on the pipe, or the pipe to break when the child process exits. I also expected the conhost.exe process to be destroyed along side the cmd.exe process.
Actual behavior

When calling ClosePseudoConsole(), the cmd.exe process is cleaned up, but the conhost.exe process stays resident until the parent process is terminated.

This is going to be related to #1810.

/dup #1810