Parallel execution of long-running tasks

Scenario/Intent
I would like to do multiple long-running tasks in parallel using the helper methods, but the helper methods each wait for the task to complete before returning. The response_handler method already supports a wait_on_task property, and it would be nice to expose that option through the helper methods as well.
The enclosure resource is a good example of a resource that would benefit from such functionality, but it also provides a good example of the issues we may run into. For example, if we added a wait_on_task parameter to those methods, we would have to return a task uri instead of the normal return value (or set it as an attribute), and we also may not be able to do some steps that come after the main task (for instance, after adding the enclosure, we rename it; after re-applying the configuration, we set the data). What would be the best way to handle these sorts of issues? Make a new method with documented differences in functionality and return values, or add the parameter to existing methods and just do the best we can to document the behavior? I'd rather create a new method, but that means adding a lot more methods and possibly making things a little confusing because now 2 methods to do similar things (but with some small but important differences).
I'd like to hear others thoughts on this topic
Environment Details

OneView SDK Version: 4.0.0
OneView Appliance Version: All

I prefer to change existing methods because it will be easier to maintain. The idea of using a parameter seems good to me.

I guess a third option would be to keep the method names as-is, add the wait_on_task property, and if it is false, set a new resource attribute (task_uri), and return the correct type. So the return values would be consistent, and you could still wait for the task later. Additionally, we could have a method on the resource class to wait for all task(s). The task data would travel with the object, so the user wouldn't have to worry about keeping track of the task uris. The only downside to this is that for resources where additional things are done in those methods after the task is done (ie, rename enclosure after adding), the user would have to do those things manually (this will be the case for any option though).

I liked idea of to change existing methods for receive the new parameter 'wait_for_task' (with default value true). But I think that one good way too is return a Task Object (we will create a class Task) that can receive a callback with additional actions after task be done. And the Task object will have wait  method for wait the task conclusion.
What do you think, @jsmartt @tmiotto @fgbulsoni @aalexmonteiro

I think that returning tasks (different return values) would be too disruptive at this point. People's code relies on those return values, and if we changed them up or made them inconsistent, I think we'd cause some issues. I'm certainly not opposed to having a Task resource, but I'm not sure it solves this issue just yet.
If we return a task resource then we also have to deal with those 2 separate objects that are related to that one resource. It seems natural to me to have the tasks associated with the resource stored inside that object. One object to deal with. Just my thoughts

Additionally, we could have a method on the resource class to wait for all task(s).

I like this as well as the use of callback proposed by @ricardogpsf and that could be used the idiomatic approach to do additional things.

The idea of callbacks is very interesting. I'm having trouble understanding how it would be used though. @ricardogpsf , do you have some sort of example you can provide pseudo-code for?

@jsmartt , I thinking something like this:
class Task
  def initialize(data, &block)
    @data = data
    @action = block
  end

  def wait
    # wait the task conclusion
    # result = wait_for_task code
    @action.call(result)
    result
  end
end

def create(wait_for_task = true)
  # response_data = rest_get('uri', wait_for_task)
  if wait_for_task
    response_data
  else
    Task.new(response_data) do |result_task|
      # action after task be done
      result_task['name'] = 'Changing something'
    end
  end
end

task = create(false)
task.wait

Another way this could be, but this proposal of the @ricardogpsf looks good for me.
#method on my_class
def create(wait_on_task = true)
  # response_data = rest_get('uri', wait_for_task)
  if wait_on_task
    response_data
  else
    yield OneviewSDK::resource.wait_for_task
  end
end

# method on resource class
def wait_for_task
  # waiting the task
  return # result_task
end

# using the method create

my_class = new_instance

my_class.create(false) do |result_task|
    # make something
end

# or when is not necessary wait task

my_class.create

What about threads? I guess we could use those to accomplish something similar, and that way we wouldn't need callbacks, but would still be able to do all the same tasks in order (using the same code too). Like this:
class Resource
  ...
  def create(wait_on_task = true)
    response = @client.rest_post(@uri, @data)
    @client.response_handler(response, false) # Make sure it didn't return an error, but don't wait on the task
    t = Thread.new do
      # Do all the normal creation & waiting tasks
      new_data = @client.response_handler(response)
      set_all(new_data)
      # Do other things here if necessary
    end
    t.join if wait_on_task
    return self # Or whatever the return value is normally. This must stay the same.
  end

  def wait_for_tasks
    @threads.each { |t| t.join }
  end
  ...
end

item = OneviewSDK::Resource.new(client, options)
item2 = OneviewSDK::Resource.new(client, options)

# Start the creation tasks and return immediately
item.create(false)
item2.create(false)

# Do other things

# Then when I need to wait (because of a resource dependency) or I'm at the end of my configuration script...
item.wait_for_tasks
item2.wait_for_tasks

Yes. It's nice.
I imagined that the final user will create a thread encapsulating the Task class.
But, seeing your code, I think so the Task class could be a wrap for work with Threads, and the final user to know how to work with the tasks (if he want wait for them or no)
But your code is nice to me, @jsmartt . The resource class can know how work withyour own tasks/threads. =)

Update: I did a bit of work implementing some of the basics on this branch, but at this point it seems like it might be better to just leave it up to the client to handle the threading. They could just as easily do this:
item = OneviewSDK::Resource.new(client, options)
item2 = OneviewSDK::Resource.new(client, options2)

t = Thread.new do
  item.create
  item2.create
end

# Do other things

# Then when I need to wait (because of a resource dependency) or I'm at the end of my configuration script...
t.join


Publishing actions in GitHub Marketplace appears to wrongly suggest Each repository must contain a single action

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
https://docs.github.com/en/actions/sharing-automations/creating-actions/publishing-actions-in-github-marketplace
What part(s) of the article would you like to see updated?

Actions are published to GitHub Marketplace immediately and aren't reviewed by GitHub as long as they meet these requirements:

The action must be in a public repository.
Each repository must contain a single action.

I'm not sure this is a real requirement... At the very least, the GitHub Actions organization violates this:

actions/cache ... restore/action.yml
actions/upload-artifact ... merge/action.yml
actions/attest-build-provenance ... predicate/action.yml
actions/cache ... save/action.yml
actions/github-script ... install-dependencies/action.yml
actions/versions-package-tools ... actions/send-slack-notification/action.yml

GitHub codeql-action definitely doesn't conform to this:

init
analyze
autobuild
start-proxy
resolve-environment
upload-sarif

At least Endor Labs Scan has multiple action.yml files

GitHub Action for Go Fuzz has two
Diffblue Cover Pipeline has four
DataDog Synthetics Action has one
Infisical Loader has one
Tree-sitter parser tests has five
Zeet Deploy has one

I certainly haven't seen anything preventing it.
Additional information
No response

@jsoref Thank you for raising this issue! I'll get this triaged for review :sparkles: Our team will provide feedback regarding the best next steps for this issue - thanks for your patience! 💛


Rust dependencies not being installed correctly through apt

Rust dependencies are not being installed correctly through apt, therefore they need to be installed through a installation script
Checking dependencies ...
👍 openssh-client debian package dependency installed
👍 sshpass debian package dependency installed
😵 cargo debian package dependency not installed
😵 rustc debian package dependency not installed
😵 rust-clippy debian package dependency not installed
😵 rust-lldb debian package dependency not installed
😵 rust-src debian package dependency not installed
😵 rust-gdb debian package dependency not installed
Try to install the missing debian packages and execute the missing installation scripts? <y/N>: y
[sudo] password for andreriesco:
Hit:1 http://br.archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://br.archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]
Hit:3 https://nvidia.github.io/libnvidia-container/stable/deb/amd64  InRelease
Get:4 https://download.docker.com/linux/ubuntu jammy InRelease [48,8 kB]
Hit:5 http://br.archive.ubuntu.com/ubuntu jammy-backports InRelease
Hit:6 https://packages.microsoft.com/ubuntu/22.04/prod jammy InRelease
Get:7 http://br.archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [1.678 kB]
Hit:8 https://packages.microsoft.com/repos/code stable InRelease
Get:9 http://br.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1.074 kB]
Get:10 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:11 http://br.archive.ubuntu.com/ubuntu jammy-updates/universe Translation-en [246 kB]
Fetched 3.276 kB in 1s (2.767 kB/s)
Reading package lists... Done
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libssh2-1 libstd-rust-1.75 libstd-rust-dev rustc
Suggested packages:
  cargo-doc llvm-17 lld-17 clang-17
The following NEW packages will be installed:
  cargo libssh2-1 libstd-rust-1.75 libstd-rust-dev rustc
0 upgraded, 5 newly installed, 0 to remove and 9 not upgraded.
Need to get 98,2 MB of archives.
After this operation, 392 MB of additional disk space will be used.
Get:1 http://br.archive.ubuntu.com/ubuntu jammy/universe amd64 libssh2-1 amd64 1.10.0-3 [109 kB]
Get:2 http://br.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libstd-rust-1.75 amd64 1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04 [46,3 MB]
Get:3 http://br.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libstd-rust-dev amd64 1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04 [41,6 MB]
Get:4 http://br.archive.ubuntu.com/ubuntu jammy-updates/main amd64 rustc amd64 1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04 [3.404 kB]
Get:5 http://br.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 cargo amd64 1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04 [6.700 kB]
Fetched 98,2 MB in 3s (33,0 MB/s)
Selecting previously unselected package libssh2-1:amd64.
(Reading database ... 246902 files and directories currently installed.)
Preparing to unpack .../libssh2-1_1.10.0-3_amd64.deb ...
Unpacking libssh2-1:amd64 (1.10.0-3) ...
Selecting previously unselected package libstd-rust-1.75:amd64.
Preparing to unpack .../libstd-rust-1.75_1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04_amd64.deb ...
Unpacking libstd-rust-1.75:amd64 (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04) ...
Selecting previously unselected package libstd-rust-dev:amd64.
Preparing to unpack .../libstd-rust-dev_1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04_amd64.deb ...
Unpacking libstd-rust-dev:amd64 (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04) ...
Selecting previously unselected package rustc.
Preparing to unpack .../rustc_1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04_amd64.deb ...
Unpacking rustc (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04) ...
Selecting previously unselected package cargo.
Preparing to unpack .../cargo_1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04_amd64.deb ...
Unpacking cargo (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04) ...
Setting up libstd-rust-1.75:amd64 (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04) ...
Setting up libstd-rust-dev:amd64 (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04) ...
Setting up rustc (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04) ...
Setting up libssh2-1:amd64 (1.10.0-3) ...
Setting up cargo (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for libc-bin (2.35-0ubuntu3.7) ...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
rustc is already the newest version (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04).
rustc set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  rust-clippy
0 upgraded, 1 newly installed, 0 to remove and 9 not upgraded.
Need to get 2.695 kB of archives.
After this operation, 10,3 MB of additional disk space will be used.
Get:1 http://br.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 rust-clippy amd64 1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04 [2.695 kB]
Fetched 2.695 kB in 0s (12,1 MB/s)
Selecting previously unselected package rust-clippy.
(Reading database ... 247037 files and directories currently installed.)
Preparing to unpack .../rust-clippy_1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04_amd64.deb ...
Unpacking rust-clippy (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04) ...
Setting up rust-clippy (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04) ...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 rust-lldb : Depends: lldb-17 but it is not installable
             Depends: python3-lldb-17 but it is not installable
E: Unable to correct problems, you have held broken packages.
❌ error trying to install package rust-lldb

 *  The terminal process "pwsh '-nop', '/home/andreriesco/Documents/IDE2.0/apollox/apollox-vscode/IDE2autoTests/autoTests-242-arm64-2024-05-15T19-08-19.590Z/autoTestrustSlint/.conf/checkDeps.ps1'" terminated with exit code: 69.
 *  Terminal will be reused by tasks, press any key to close it.
``

On a post in the Ubuntu website it is recommended to install Rust on Ubuntu through rustup, with this commands:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup toolchain install stable

@tronical perhaps you can help me here. What would you say is the proper way to install the Rust packages that the rustSlint template depends on?
    "packages": [
        "openssh-client",
        "sshpass",
        "cargo",
        "rustc",
        "rust-clippy",
        "rust-lldb",
        "rust-src",
        "rust-gdb"
    ]

So the installation of this packages can be changed to an installation script, like is being done for the .NET SDK packages for examples

I would advise against installing Rust from distro packages. For rustSlint we take it from the slint-sdk container, packaged here:
https://github.com/slint-ui/Containerfiles/blob/fd25741667722fc49959f729889c53c487bfbcf5/slint-sdk/Containerfile#L59
(so rustup)

Can this slint-sdk container also be used to build x86 code to run on the host OS, for local debugging? Right now, for the local debugging on the host OS, the code is being build natively on the host, by this task.
This is the way the code is build for local debugging on all templates, but if for the Rust Slint is complex to set the build environment on the host and if there is a slint-sdk container that can be used to build x86 code, maybe we can change this for the Rust Slint template and start building the code in the slint-sdk x86 container.

In theory it can be used for x86-64 builds. In practice a proper local build will be faster and give an overall much better development experience. Slint is cross-platform, so for example the local builds also work on macOS and Windows - as opposed to the docker Linux approach.

@tronical I tried installing Rust using the following script, as described in the Rust Get Started, and with that the Local Debugging on the rustSlint template seem to have worked. Are the dependencies installed through this script enough for the proper template compilation and runtime on the host OS or there is something extra that needs to be installed or configured?
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Hi, yes, that should about cover it. On Windows I think you also need the MSVC build tools, Xcode on macOS. The typical dev setup.


HTTP Activity (4002) Enhancements

Expand HTTP Activity class to include an optional HTTP Cookies object.
( HTTP Cookies already exists, it just isn't attached to HTTP Activity)

Adding a comment - I don't appear to be able to add labels or assign this issue to myself for the PR. Not sure if that is something that I should be able to do or if that is restricted to certain users


removed iam function & added waiter

removed iam function & added instance created waiter

Coverage decreased (-0.07%) to 82.457% when pulling b8ac57b067955ea10372e6aa3f72f28d0ff4af3e on joshuaroot:master into 2f2fa9a095d7835ecf20e566529a8bd0d95e6a5f on capitalone:master.

[copying over some of the comments i had from the other pull request, but worth looking over those] so rather the interactive wizard style with screen clearing, i think just two subcommands, one to list snapshots given an instance id, and one to restore with params on the cli would suffice and avoid some odd interaction modes as well as being more portable (ie. work on windows). for the case where the instance no longer exists, i think we need additional cli params re subnet, role, instance type, sec groups, and key for pass through to run_instances

When adding in the additional parameters, I am assuming adding additional validation checks for the parameters will be necessary (making sure the role/group/key/etc exists). Does that sound right?

hmmm.. i'd probably let the underlying error from the run instance call surface to the user. up to you. if you let the error go through it would be good to try and pick up the volumes created previously on subsequent runs.

Coverage decreased (-0.04%) to 82.194% when pulling 481c75076dfe44bb9768efabca3dffedc338c758 on joshuaroot:master into 473bddbcd73a19d734fc6cdda6698510bcc356da on capitalone:master.

Coverage remained the same at 82.237% when pulling 8a9027c063e0a18ce6513af8359fa7cc4b4f8f24 on joshuaroot:master into 473bddbcd73a19d734fc6cdda6698510bcc356da on capitalone:master.

Coverage decreased (-0.04%) to 82.327% when pulling 3990be2232b774623db7d30fd588238c2dc27d62 on joshuaroot:master into c93ba137996d21f057cb93654fa4791eec8258b6 on capitalone:master.

Coverage increased (+0.009%) to 82.371% when pulling b47e443b0f0a8f0c51f96007f35c237532c5cf92 on joshuaroot:master into 88033f135482c1ed29285ffe3740cc651b8a0502 on capitalone:master.

remote branch merge issues. closing pull request & opening new one.

we can do a screen share, i suspect its because your need to merge from upstream master.. ie
what's your git remote show
$ git remote -v
mine for example has
$ git remote -v
faisal  https://github.com/fdosani/cloud-custodian.git (fetch)
faisal  https://github.com/fdosani/cloud-custodian.git (push)
joshua  https://github.com/joshuaroot/cloud-custodian.git (push)
joshua  https://github.com/joshuaroot/cloud-custodian.git (fetch)
origin  https://github.com/kapilt/cloud-custodian.git (push)
origin  https://github.com/kapilt/cloud-custodian.git (fetch)
upstream        https://github.com/capitalone/cloud-custodian.git (fetch)
upstream        https://github.com/capitalone/cloud-custodian.git (push)

i push my branches to origin for pull requests, and i pull and merge from upstream


Simplify and reorder preference of k8s distro detection

Resolves: https://github.com/rancherlabs/support-tools/issues/326
Tested normal conditions on RKE2 and K3s nodes

Tested further on RKE2 agent + server nodes with (a) the systemctl service stopped and (b) rke2-killall.sh run. The k8s distro detection works and offline components (api, condtainerd, etc) are handled to avoid errors


Just follow the installation process but got an error

Im using Windows 10 64 bit

Hey! Try updating to the version I just pushed (1.0.10) and let me know if you still run into the issue.

Thanks...

Just test  it, same error above. :(

Upgrade to 1.0.11 and paste the output again?
You can join our Slack channel (https://stdlib.com - click on "Slack") and I can help you directly. :)

Opps,

Okay. I'll have to spin up a VM to test some of this. Give me a little bit of time. :)

Sure man, can you invite on slack<EMAIL_ADDRESS>

Should be fixed as of https://github.com/poly/stdlib/commit/d0b5f62d715675464b4143ae6252f34a4f15f4b6 :)


Allow nil value for publishing publishing_request_id

The content-store currently has a lot of nil-values for publishing_request_id. This is fine since that means the document wasn't published after the request id was introduced.
Context: I found this problem while investigating the content-store returning invalid content (https://trello.com/c/FesP8XSc). To get a better idea about how many items are invalid in the content-store,  https://github.com/alphagov/content-store/pull/306 was raised to allow us to build a dashboard tracking invalid data.

It turns out most invalid data is related to the issue fixed in this PR, so I'm expecting the percentage of invalid content to go down a lot after this.
https://deploy.integration.publishing.service.gov.uk/job/check-content-store/23/consoleFull
https://trello.com/c/FesP8XSc
https://trello.com/c/53cyvyda

Looks like this has fixed more than half the validation errors:

https://deploy.integration.publishing.service.gov.uk/job/check-content-store/26/console

🎉


Chapters missing

I can only see certain chapters -
chapter-08-remote-systems-administration | Use system roles | 2 years ago
chapter-10-selinux | Add apache script | 2 years ago
chapter-18-exercise1 | Adding files for exercise chapters | 2 years ago
chapter-19-exercise2 | Fix UID/GID | 2 years ago
Where are the other chapters?
Thanks.

Only the chapters with long examples have the equivalent in the repo and, in that case, there's a mention to them in the book

Alright thanks, hadn’t got that far yet.


More complex rolls like the ones in Roll20

A copy of their JS script https://ghostbin.com/paste/2n67m
Reference: https://wiki.roll20.net/Dice_Reference

+1
Would be amazing.
Roll20 has all that one needs.
Where is the license to that? The file has none.

@mpathy just clean room reverse engineer it, since they refused to hand us the code, I got it from their website.

@DonaldTsang @mpathy I'm sorry to inform you that I am no longer maintaining this repository. If anybody would like to take over the NPM package I'd gladly oblige.

@mpathy there are other options as well
https://github.com/mog13/DXJS
https://github.com/GreenImp/rpg-dice-roller


Improve arbitrary user run on OpenShift

With this patch, the image is compatible with OpenShift as it will
generate a valid /etc/passwd at runtime for initdb.

@tianon could you please explain what is the problem with this PR except that you are not "comfortable" with modifying the /etc/passwd at runtime? Unless I'm wrong, it does not add a security hole.
This will make this image fully support running as arbitrary use (and not "mostly" as now).

No need for editable /etc/passwd. Fixed by #448.


Upgrade-responder doesn't automatically pick up the new configMap

I set up upgrade-responder on my local k8s env (InfluxDB / Upgrade Responder / Grafana) successfully.

helm upgrade --install my-upgrade-responder ./upgrade-responder/chart -f ./upgrade-responder-my-values.yaml
configMap for this upgrade-responder is created in k8s.
Add a new entry to the Versions in configMap.responseConfig in my yaml file, save it as new-upgrade-responder-my-values.yaml & applied it:
helm upgrade --install my-upgrade-responder ./upgrade-responder/chart -f ./new-upgrade-responder-my-values.yaml
configMap for this upgrade-responder is updated in k8s.
However, POST(/v1/checkupgrade) still gets the old Versions value without the new entry added in step 3

Could the helm chart automatically re-deploy the deployment so the upgrade-responder pod automatically pick up the new configMap?
Thanks

I see. The current helm chart doesn’t automatically re-deploy the deployment so the upgrade-responder pod doesn’t automatically pick up the new configMap.
Workaround:
kill the upgrade-responder pod one by one to reload the content of the configmap (edited)
Todo:
https://sanderknape.com/2019/03/kubernetes-helm-configmaps-changes-deployments/ (edited)


Ru/utm parameters

We got the go-ahead from Andy on this approach for GA, so when the code is reviewed 🚢 🇮🇹


Continuous Release 1.9.0

[!warning]
Ok, so I'm not sure why, but GitHub shows 4 commits up until "Add pgadmin..." that don't actually belong here. Instead, you can already find these commits on the main branch. This issue is exactly described here on Stack Overflow and has been viewed over more than 270k times. It seems like it is a limitation of GitHub. However, git log --oneline main..mampf-next also shows these commits in the diff and I'm not sure what we did wrong to end up in this weird situation.
1) I tried the rebasing solution in #579 and it was working perfectly fine and removed the 4 commits. The only downside of this approach is that due to the rebasing all the new commits of mampf-next would have the same timestamp: the time of performing the rebase. The will actually even get reassigned a new commit id.
2) If this first solution is not what we want, we could instead ignore the additional commits in this PR. The merge should work just fine. As we wanted to rename mampf-next to dev anyways, we could instead create this new branch dev from main after release 1.9.0 directly and ditch mampf-next. This way, we could be sure that main and dev match exactly and have the same commits on them.
No matter what option we choose, we will have a clean slate again starting with the next continuous release. Due to the nature of merge commits though, dev might be one commit behind main as it doesn't include the merge commit itself.  See also this SO answer which explains this. That's not an issue though. One can avoid this by merging from main into dev directly after a continuous release such that dev can be fast-forwarded.

Changes
Also see #565 for a background on the linting changes.

#543
#553
#558
#559
#560
#562
#564
#566
#568
#569
#575
#577
#578
#582

For future releases?

#574

[x] check schema.rb has correct verison

Currently, all existing model tests pass except for quiz_certificate_spec.rb. Already the first test there ("has a valid factory") fails with this error:
ActiveRecord::InverseOfAssociationNotFoundError:
Could not find the inverse association for quiz (:quiz_certificate in Medium) Did you mean?  quiz_certificates

You can verify that by your own on #581 which has all the changes from here merged into it.

For completeness: we've decided to go with option 2 of this comment.


[Keyvault] az keyvault private-endpoint-connection list: Support list mhsm's private endpoint connections

Description

Feature requested by service team & Breadth coverage
Testing Guide

az keyvault private-endpoint-connection list --hsm-name ystestmhsm

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Keyvault


In recipe list item, icon for 'allow only your subscriber to see' is missing

This issue was moved to k-sheth/calendar-khana-lagao#35

This issue was moved to k-sheth/calendar-khana-lagao#50


Fix the Travis-Gitter integration

This one lints.  Maybe it even works.

I saw a build failure post to gitter via the webhook, so I suspect it's working.  LGTM.


LoadBalancer doesn't seem to deploy with correct port range

I'm a bit unsure on this as I couldn't find any code here that specifically refers to this port range for LoadBalancer (Note: Am not overly familiar with Terraform or Kubernetes).
When I attempted to deploy a Kubernetes instance I found that after I had completed the steps, the DNS url did not work, nor could I connect to the web app using the LoadBalancer IP and port.
Upon deployment following the steps, the LoadBalancer was configured with the following port range:

This seemed to cause the pod health check to fail and the web app not to respond.
When I tried deploying a new service via kubectl:
kubectl expose deployment looker-clustered -n looker-dev --type=LoadBalancer --name myservice

A load balancer was created with the following range:

For this, the health check worked fine and I was able to connect to the web app. I hope this is enough info, please let me know if any more is required.

Closing for now - let us know if you need anything else


Add the "Burn It With Fire" presentation video

The classic — still a really good resource!

@unrelentingtech thanks 🙏


ReferenceError: process is not defined

I am trying to use angular-redux/store with two enhancers: gaearon/redux-devTools and rt2zz/redux-persist.
My project is built on https://github.com/AngularClass/angular2-webpack-starter version 5.1.1.
I was using configureStore() of the angular-redux but redux-persist requires that the store object be passed to persistStore(store) and I can't access it directly from the ngRedux object (_storeis private). So I went with provideStore() instead.
This is my code:
    const store = createStore(
      rootReducer,
      devTools.isEnabled() ? devTools.enhancer() : undefined,
    );
    persistStore(store);
    ngRedux.provideStore(store);

It build fine on my machine but not on my colleague's and not on the build server. The error thrown is the following: Uncaught ReferenceError: process is not defined
Somehow redux crashes my build (and that's not related to angular-redux/store). Because configureStore compiles OK I would like to use it, but how can I access the store object?
Thanks

Can you post the full stack trace? One of the dependencies is probably trying to dereference process.env.NODE_ENV or similar but I'm not sure which one.

Whether you use configureStore or provideStore I wouldn't expect a change in behaviour since they use the same code under the hood.
It's also interesting that it fails on your colleague's system but not on yours. This suggests that it's surfaced by some toolchain edge case. Is it possible that you have different values for $NODE_ENV in your shell?
Is it possible that your colleague is running the app in prod mode and you aren't?

I faced same problem with AoT build. I tracked the problem down to Redux code, which has following checks:
process.env.NODE_ENV !== 'production'
and naturally if these end up in the browser, the application hangs. It seems that line
var redux_1 = require('redux');
in
@angular-redux/store/lib/components/ng-redux.js
causes problems because it imports the default Redux as specified in redux/packaje.json (redux/lib/index.js or redux/es/index.js depending on jsnext settings on module bundler).
I was able to get around of this problem by using Rollup's Alias plugin like this:
import { join } from 'path';
const alias = require('rollup-plugin-alias');
const nodeResolve = require('rollup-plugin-node-resolve-angular');
const commonjs = require('rollup-plugin-commonjs');
const includePaths = require('rollup-plugin-includepaths');
const rollup = require('rollup');
const config = {
entry: join(Config.TMP_DIR, Config.BOOTSTRAP_FACTORY_PROD_MODULE),
sourceMap: true,
treeshake: true,
moduleName: 'main',
plugins: [
includePaths({
include: {},
paths: [join(Config.TMP_DIR, 'app')],
external: [],
extensions: ['.js', '.json', '.html', '.ts']
}),
alias({
redux: __dirname + '/../../../node_modules/redux/dist/redux.min.js'
}),
nodeResolve({
es2015: true, jsnext: true, main: true, module: true, browser: true
}),
commonjs({
include: 'node_modules/**'
})
]
};
Hope this helps.

For Rollup guys, I found this one which also resolves the issue:
https://github.com/rollup/rollup/issues/487
Same idea should work with Webpack and others also.

import replace from 'rollup-plugin-replace'
So yeah, defining process.env.NODE_ENV is something your build toolchain would have to do.  For rollup, I've seen people do as @rikup88 mentioned above.
rollup.config.js
export default {
    // ...
    plugins: [
        // ...
        replace({
            'process.env.NODE_ENV': JSON.stringify( 'production' )
        }),
        // ...
    ]
}

For Webpack, I've done this:
webpack.conf.js:
  // ...
  plugins: [
   new webpack.DefinePlugin({
     'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV),
     // ...
  }),
  // ...

@angular/cli does the same thing inside its hidden webpack config. In general you'll want to do this for a number of packages, not just us.


Update notebook sample guide to use endpoint instead of instructions

Closes #610

Our example GUI still retrieves the endpoint from the status. That needs to be updated as well. samples/gui/front-end/src/formats/ApplicationTable.js

Should be a new issue. created #664


Can't create new project from template

Making a new project from the tab bar navigation template hangs, and never extracts.
https://puu.sh/te8zF/e010730e43.png
Extracts.js exits with non-zero code: 1

same here with xde-2.13.0.dmg

@EliotSlevin this solved my problem:
rm -fr ~/.exponent/starter-app-cache
help from official member James :
"The app template might be corrupted on your computer for some reason. That command will clear it, and if you try to Create New Project again, XDE will download a new app template for you."

@EliotSlevin sorry about the delay here -- do the steps wisetwo describes work to fix this issue for you?

I had the same problem today, and the solution of @wisetwo helped to fix it.

Talked with @yurivyatkin on slack. The problem is that the request library sometimes hangs on a url that has a redirect. Think we need to solve this by using something like https://github.com/mzabriskie/axios so that we can use the Chromium web stack.

Looks like there are several issues open on the request repo about how redirects are followed. https://github.com/request/request/issues/2344 seems like a potential candidate to look at. It has to do with 301 redirects failing when using a proxy.

We're making it easier to retry the download and clear the cache. We're also planning on using https://github.com/mzabriskie/axios to use the Chromium network stack.

This works on my Macbook and doesn't work on my iMac. Hangs on 'Downloading project files' or sometimes on 'Extracting project files'.

@inancgumus can you do Help -> Clear Cache and try again?

me too,  Network problems?

Actually, after 1 hour it worked. Then, it never hangs again. Interesting. I'll try it again.

If you need to manually download the starter apps, there are instructions in this gist. You can always extract the tarball yourself and open the project directly in XDE.

Windows, fresh install. Hangs on "Extracting project files..."

Same. windows,  its hangs for ever on "Extracting project files..."

Windows Install - hangs forever on "Extracting project files..."

Same thing here. Windows Install - Hangs on "Extracting project files..." while trying to create a new blank project or on a Tab navigation project. The Extract.js function appears to be erroring out.

Same here. Windows 10 install - hangs forever on "Extracting project files...". I tried creating a project using the Blank template.

Same problem here. Windows 10.

Same problem here on Windows 10.

Same problem as everyone else...

Run Expo XDE as administrator helped me with "Extracting project files" issue.

Hello everyone. Thank you for reporting the issue, I will be taking a look at what is happening under Windows.

Hello everyone. I investigated the problem today and found that with Windows 10 Creator's update, Windows is handling sim links a little differently.
I am still looking for a better fix, but for now I found that activating the Developer's mode on Windows 10 will allow the sim links to be created, and your downloaded templates should extract just fine.
To do so, just type in "settings for developer" in the Cortana search box and check "Developer's mode".
Have a great week!

Moved this to https://github.com/expo/expo/issues/248

running as administrator works for me :\


Intervention flattened

This PR has a couple of things --
I left the WM ontology alone, so it should be fine still.
I made a copy in which I replaced the intervention branch with the one that a made from the intervention_types branch of the newest kimetrica ontology, which seemed like it was itself a flattened version of the other 2 branches (event and objects)
fyi @bgyori @bnmin @MihaiSurdeanu @kwalcock

I should prob mention that the name of the file that has the newer interventions added is wm_with_flattened_interventions_metadata.yml

Thanks! I went over wm_with_flattened_interventions.yml carefully, and it looks good. I did not check that wm_with_flattened_interventions_metadata.yml is exactly wm_with_flattened_interventions.yml but just without the extra attributes (e.g. examples), but I trust it is.
So going forward, it looks like wm_with_flattened_interventions.yml  is the canonical ontology to use? which is the same as wm.yml but just with the interventions branch replaced with Kimetrica's newest intervention types.


Upgrading container image tags - hold feature

Expected Behaviour

I want some container images to be updated, and others to be pinned.
i.e. postgres:16 should stay at 16, not go to 17 when it happens to be available.
Current Behaviour

When a specific container image is actually wanted, even if newer ones are available, it gets upgraded anyway.
Possible Solution

A new file adjacent to the values.yaml with some convention for its name could be read and used to know to ignore that YAML path / selector / image.
Given the following, you may want to have one upgrade, and the other hold, in which case you need the full path to the image tag.
psql-1:
  image: postgres:16

psql-backup:
  image: postgres:16

But more likely the image only appears once, and only needs one version, so perhaps the image itself could be specified.
psql:
  image: postgres:16

hold.txt - specifies path in YAML to field to hold one per line
psql.image

hold.txt - specifies the specific source tag to ignore one per line
postgres:16

hold.yaml - specifies the same format 1:1 as the values.yaml, and the presence of anything in it means it's ignored:
psql:
  image: postgres:16

Steps to Reproduce (for bugs)

Save the values.yaml sample above
Use the sample above and run arkade chart upgrade

See it upgraded from 16 to 17
Context
We are maintaining postgresql for certain charts with images that do need updating regularly mixed with ones which do not like Postgresql, and this has become tricky to manage.

I'd favour the concept behind the psql.image.  The question I have around this is what other attributes are we likely to want to hold?  If its just the image then the reducing the redundant information in hold will improve usability.
Naming convention ought to be that it follows the filename passed by -f suffixed with hold.


Check failed: [error == cudaSuccess]  no kernel image is available for execution on the device

Hi, when I run the test, I got following problem:
(base) root@96ceaf0f06eb:~/thundergbm/build# ./bin/thundergbm-train ../dataset/machine.conf
2021-05-27 03:59:03,078 INFO dataset.cpp:162 : loading LIBSVM dataset from file ## ../dataset/test_dataset.txt ##
2021-05-27 03:59:03,084 INFO dataset.cpp:292 : #instances = 1605, #features = 119
2021-05-27 03:59:03,084 INFO dataset.cpp:301 : Load dataset using time: 0.00575318 s
2021-05-27 03:59:03,119 INFO sparse_columns.cu:22 : convert csr to csc using gpu...
2021-05-27 03:59:03,329 FATAL device_lambda.cuh:54 : Check failed: [error == cudaSuccess]  no kernel image is available for execution on the device
I use :
Ubuntu 18.04
NVIDIA-SMI 460.73.01
Driver Version: 460.73.01
CUDA Version: 11.2
GPU: GeForce GTX 950
Can anyone help me ? Thanks !

Hi, you are using cuda11. Please clone the library and switch to the support_cuda11 branch. Then build the library as the how-to-build-wheel-for-linux introduces.


Preliminaries/Calculus

Job d2l-zh/PR-563/1 is complete.
Check the results at http://preview.d2l.ai/d2l-zh/PR-563/

Job d2l-zh/PR-563/3 is complete.
Check the results at http://preview.d2l.ai/d2l-zh/PR-563/

Job d2l-zh/PR-563/4 is complete.
Check the results at http://preview.d2l.ai/d2l-zh/PR-563/


update docs

Checks fail because the stack is not an easy dependency to install. Matt Becker is going to help me setup the environment in the the actions to automate the testing.


docs: validating webhook

New validation hook to check if scale target is already managed
Checklist

[x] Commits are signed with Developer Certificate of Origin (DCO)

Relates to https://github.com/kedacore/keda/pull/4001
Relates to https://github.com/kedacore/keda/issues/3755
Relates to https://github.com/kedacore/keda/issues/3087
Relates to https://github.com/kedacore/keda/issues/3083
Relates to https://github.com/kedacore/keda-docs/issues/1030

@JorTurFer Is this doc related to https://github.com/kedacore/keda/pull/4001#discussion_r1060006432?

It looks like it

4. Introduce a section under "Concepts" that talks about the feature on what it is and how it helps, while the "operate" section can be a listing of how to opt-in, configure certs and give detailed overview of prevention rules

I'm not sure if this makes sense, I mean, the feature is too small and has a single responsibility, maybe in the future this takes more entity, but for the moment I wouldn't put at the same as those things

Introduce a section under "Concepts" that talks about the feature on what it is and how it helps, while the "operate" section can be a listing of how to opt-in, configure certs and give detailed overview of prevention rules

I'm not sure if this makes sense, I mean, the feature is too small and has a single responsibility, maybe in the future this takes more entity, but for the moment I wouldn't put at the same as those things

But yet it is a core component of KEDA so we should cover it imo

PTAL @tomkerkhove
I have moved the page from operate to concepts. TBH, I don't have enough content to have a real page if I split into concepts and operate.
For properly explaining how to use custom certs (in depth, not just the overview) I have created this issue to track it because I have to change also the cert generation in the operator/ms to use the same approach as the webhooks and I prefer to do all at once (just to clarify, I'm going to do it after finishing the webhooks feature).

PTAL @tomkerkhove Tom Kerkhove FTE I have moved the page from operate to concepts. TBH, I don't have enough content to have a real page if I split into concepts and operate. For properly explaining how to use custom certs (in depth, not just the overview) I have created this issue to track it because I have to change also the cert generation in the operator/ms to use the same approach as the webhooks and I prefer to do all at once (just to clarify, I'm going to do it after finishing the webhooks feature).

That's OK and I like it more this way. I have made a suggestion, however, to split the pages anyway as they are targeting different audiences but I hope my example explains it better - Happy to discuss over call if it helps.

Done! PTAL

Please also update main/schematics.pptx which we should use in favor of the one in the code repo as it feels more related here than there. Thoughts? I would remove it from code repo as well.

@JorTurFer I think you did it the other way around :D I would keep the file here and remove it from kedacore/keda (code repo) since it is unlikely that we'll need it much there compared to here

@JorTurFer I think you did it the other way around :D I would keep the file here and remove it from kedacore/keda (code repo) since it is unlikely that we'll need it much there compared to here

that's what I did, I updated the file here and removed from keda repo

Nope:

Nevermind me; it's a 95% delete and not a complete delete - Sorry.

Nevermind me; it's a 95% delete and not a complete delete - Sorry.

Binary diffs xD


Updated Typescript Documentation

Following discussion on issue #143, here an updated typescript documentation

Codecov Report

Merging #154 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master   #154   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           5      5
  Lines          73     73
  Branches       15     15
=====================================
  Hits           73     73

Continue to review full report at Codecov.

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

Thanks a lot! @janjachacz


Fix trailing white spaces

@RunjiaChen @kervyntan @AidenLYT @lynnetteeee
Fellas, please have to approve.


For linting, we'd need to be able to emit a full AST, including nodes for the template

In order to get the index / replacement / splice management out of eslint-plugin-ember or other tooling, additional APIs may be needed -- or a unified AST may need to be provided -- or more tooling so folks don't have to manage the template removing / insertion again.
eslint-plugin-ember

runs @glimmer/syntax over the template and re-stitches together AST nodes

enables type-aware linting
enables one lint tool (eslint) instead of two (template-lint)

enables fixers to be able to be implemented with the whole context of a module

prettier-plugin-ember-template-tag & ember-template-lint

current strategy:

extract templates
format JS
format templates with offsets
place templates back in placeholder spots

Motivation

index splicing is really easy to get wrong in javascript.
any <template> manipulation really belongs with the tool that already is supporting content-tag, because it can more easily assure that parsing and serialization is correct.

Ideas:
format
makes the prettier plugin implementation easier.
the intermediary format is never seen.
import { format } from 'content-tag';

let outputGjsString = format(gjsString, (contentTagContent, positionInfo /* for reporting */) => {
  // no-op
  return contentTagContent;

  // or,
  return prettier(contentTagContent, { parser: 'glimmer'});
});

parseAst + serializeAst
This would produce a JSON AST for the whole JS + <template> contents, and would require @glimmer/syntax for now, but I've volunteered myself to learn Rust and have a go at a rust-based glimmer template parser.
import { parseAst, serializeAst } from 'content-tag';
import { parse /* or whatever this was called */ } from '@glimmer/syntax';

// no <template> or intermediary format seen in here
let ast = parseAst(gjsString, { glimmerParse: parse });

let outputGjs = serializeAst(ast);

cc @patricklx @wagenet, @gitKrystan

I need to look at eslint plugin again. I'm not sure this will work there.
As we need to pass the source to the eslint typescript parser, because it needs to do some preprocessing on the ast to collect identifiers, references, scopes. Not sure if we can just pass the ast, and also not sure if the ast would be compatible

I think it would be best to provide functions which:

provide a transformed code which does not change offsets and is parsable by other tools.
receives an ast with visitor keys mapping, finds the template nodes that are currently represented as e.g object expression or function expression and replaces that node with a template node.

I think that would be the best approach and would support a wider range of tools

Is this so you don't have to iterate over all the nodes correcting all the offsets due to the number of lines changes after the transform?
yes, especially for linting

Why exactly do we need template nodes parsed?
i just meant the ast node. it doesnt need to parse the glimmer content. just have 1 node with e.g. type=GlimmerTemplate. no child nodes.
The other tools do not know about it, so template tag must be replaces with some other known JS code. the ast node of code can be found later and replaced. (like its done in eslint plugin now)

Yeah, two things here, and I think we should do both:

Exposing the full AST as @patricklx does in https://github.com/embroider-build/content-tag/pull/40. I think that's a good feature for content-tag and it would support any tooling where you're able to completely replace the parser and pass an AST forward.

Making the process() API take an optional callback that controls what template tags get replaced with. This would cover all the cases where people are doing splicing today. Glint, for example, wants to pass the results to typescript and it would want its callback to actually invoke the handlebars parser and convert the whole thing into their behind-the-scenes TS representation of the template.
This callback would receive the template tag's contents as a string and return a JS string that would replace the whole template tag. It should also have access to something like we offer in https://github.com/emberjs/babel-plugin-ember-template-compilation/blob/038cabde1709c49751c3224df66e6b4adfc4b60d/src/js-utils.ts#L111, so that it has a declarative way to get access to imported identifiers.
The default value of the callback that implements today's hard-coded behavior would look something like:
function transform(src: string, type: "expression" | "class-member", utils) {
  let t = utils.bindImport("@ember/template-compiler", "template");
  if (type === "expression") {
    return `${t}("${utils.escapeStringLiteral(
      src
    )}", { eval() { return eval(arguments[0]) } }`
  } else {
    return `static {
      ${t}("${utils.escapeStringLiteral(src)}", {
        eval() { return eval(arguments[0]) },
        component: this,
      })
    }`;
  }
}

That sounds good.
So it would not do ast transform? Only direct replacement in strings? Because that's what we need for eslint plugin.
To keep all whitespace, semi etc the same

Yeah, two things here, and I think we should do both:

This would probably also unblock reporting parsing errors on incorrect lines in: https://github.com/typed-ember/glint/pull/655


Fortnite

Dá para jogar Fortnite?

Hello, NunoMBatista!
From what I was able to pick up, you'd like to know if Fortnite is implemented in Console Arcade. Unfortunately, the game you're referring to is very difficult to program in this environment, and the final result would probably look and function in a subpar manner. I can't make any promises, though I can assure you I'll look into it! For now, enjoy Abalone with a friend, and keep following this repository to play 2048 when that update arrives!
Best regards,
mcabralpinto

Então não quero jogar, sabe-me dizer onde está o botão de dislike?


Module 4 exercises [Chapman Owusu-Sekyere]

WS2_M4E1_Chapman.docx

Well done, Chapman. You clearly grasped the material outlined in Module 4 and successfully applied it to these exercises. Thank you for your participation! Please be sure to fill out the post-Module survey before you begin the next Module.


1.18 Support

Tracking issue for 1.18 support for anyone who asked.
I will PR 1.18 support in the coming days unless someone else does it and will merge #374 in it unless that gets merged before hand.

Status of this? Couple days passed. Are you on it? Otherwise In would do it real quick

https://github.com/Crazy-Crew/Crazy-Crates/pull/383


PubSub objects should unsubscribe automatically on unregister

UI version
1.0.48
Your idea
The Joulescope UI is built around the Publish-Subscribe model with some extra features.  One common problem with this model is memory management.  If a subscriber does not totally clean up, then pubsub instance will call the subscriber when no longer desired, possibly when the subscription is no longer valid.  Although Python does not have use-after-free problems, Qt does.  Even within Python, dangling subscriptions can cause unexpected behavior.
We can't do much for one-off subscriptions.  However, a central feature of our pubsub implementation is that objects can register with the pubsub instance.  This connects up a whole bunch of things automatically, and each object gets a unique_id member and pubsub member.  Most of the code today presumes a singleton pubsub instance, but the registered objects should use their local pubsub member.  If we migrate to using the pubsub member, then we also have an automatic way of recording self.pubsub.subscribe calls.  This would allow the pubsub.unregister() to automatically unregister all remaining subscriptions.  Today, registered objects have to do this manually.
As part of this improvement, we should also add special handling for methods to the pubsub instance.  Today, we are using the actual callable instance to perform unsubscribe.  However, a bound method may be a different callable instance for each use of self.method.  We can use the method type metadata to get the function and the instance id, which we can then safely compare.  This also prevents objects from caching their bound method for unsubscribe.
While this is manageable today (although still annoying), the pain level will increase when we open up a plug-in environment.

Added in 1.0.58.


Added better file handling and fixed some spelling/grammatical errors

Added better file handling for a few files and fixed a few spelling/grammatical errors.

@slowy07 why was this not merged yet?


fix mqtt example

make the MQTT example work properly with existing "payload_type = opaque" code.

Codecov Report

Merging #810 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #810   +/-   ##
=======================================
  Coverage   60.26%   60.26%
=======================================
  Files          71       71
  Lines       12026    12026
  Branches     1907     1907
=======================================
  Hits         7247     7247
  Misses       4154     4154
  Partials      625      625

Continue to review full report at Codecov.

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

merged, but this will change anyways .. I am going over the MQTT code after reworking the "payload transparency" stuff - see recent thread on IRC (markos_ / argronholm)

yeah i know, but figured we might as well fix it as I was looking at it via slack convo anyway...


Fix shell completion by adding missing usage message required by spf13/cobra

Attempts a fix for #962.
All credit to @cschug - see this comment
As pointed out in that comment, the spf13/cobra library writes out the shell completion script using a fmt.Sprintf here.
The %[1]s in that string seem to be replaced with the first command in the Use: field of the cobra.Command struct. Currently this field is not set so the %[1]s expand to an empty string resulting in a broken shell completion script.
Adding the field (following the same method used by grype - here) gives the spf13/cobra library the info it needs to correctly generate the shell completion script.
Testing locally seems to show everything is working OK. The shell completion now works as expected after running source <(syft completion bash)
Fixes: #962

I'm having a bit of a hard time getting this working. If I try this on my mac with zsh, it simply seems to do nothing. If I try this in a bash container (golang:latest), when I type syft p<tab>, I get this:
bash: _get_comp_words_by_ref: command not found

Is there a particular container I could use to see this work properly?
Also: you will need to sign-off your commits.

Hi Keith

I'm having a bit of a hard time getting this working. If I try this on my mac with zsh...

The original issue (#962) was with shell completion for bash. I don't use zsh so I've never tried the completions that are generated for that particular shell...

Is there a particular container I could use to see this work properly?

I can see this working using the golang:latest image. Note: my arch is amd64:

Start: docker run -it -v ${PWD}:/usr/src/syft -w /usr/src/syft --name syft-build golang:latest /bin/bash
Fix dubious ownership warning: git config --global --add safe.directory /usr/src/syft
Install build deps: make bootstrap
Build: make build
Install syft for my os/arch: install snapshot/linux-build_linux_amd64_v1/syft /usr/local/bin
Verify: syft --version # Outputs: syft 0.0.0-SNAPSHOT-18656c1
The golang:latest image does not have the bash-completion package installed so lets add that: apt update && apt install bash-completion
Source the main bash-completion script: source /usr/share/bash-completion/bash_completion
Typing ls --<tab><tab> should now show completions e.g. --all etc
Source the syft completions script: source <(syft completion bash)
Typing syft <tab><tab> should now show completions

Also: you will need to sign-off your commits.

Shall I fix that typo (package -> packages) and force push with a signed commit?

Ahh, this was the magic sauce:
apt update && apt install bash-completion
source /usr/share/bash-completion/bash_completion
install snapshot/linux-build_linux_amd64_v1/syft /usr/local/bin

I think we can move forward after the aforementioned changes are done, thanks @DanHam

Thanks Keith,
I've now pushed up a signed commit with changes.
I've set the usage message to fmt.Sprintf('%s [command] [flags]",...) as this seems to make the most sense for the main syft command (see my comment above - https://github.com/anchore/syft/pull/1688#discussion_r1145140433)
Please let me know if you require any additional changes.

@DanHam I hope this explanation why I still feel this should be "%s [SOURCE]": https://github.com/anchore/syft/pull/1688#discussion_r1145151597

I hope this explanation makes sense...

It does! Thank you for your patience!!!
Hopefully, that last push should be OK.

FYI -- I tested this out with bash based on the instructions @DanHam provided:
$ syft <tab>
attest      (Generate an SBOM as an attestation for the given [SOURCE] container image)
completion  (Generate the autocompletion script for the specified shell)
convert     (Convert between SBOM formats)
help        (Help about any command)
login       (Log in to a registry)
packages    (Generate a package SBOM)
version     (show the version)

$ syft completion <tab>
bash        (Generate the autocompletion script for bash)
fish        (Generate the autocompletion script for fish)
powershell  (Generate the autocompletion script for powershell)
zsh         (Generate the autocompletion script for zsh)


plugin crash, failed "plugin.(*GRPCProvider).ApplyResourceChange call"

It's possible - likely even - that I've done something wrong in my TF code, but the output of the plugin crash specifically asks for a bug report.
The scenario is that I'm trying to set up a onelogin_saml_apps for AWS (connector id 30319). I imported the hand-configured saml app from OL, and then went to resolve the differences in my TF code to make it match. tf-plan runs fine, but it still shows some differences. The plugin crash happens when I try to tf-apply
Happy to provide more info, just not sure what else might be relevant/helpful.
 Error: Plugin did not respond
│
│   with onelogin_saml_apps.onelogin-admin,
│   on main.tf line 58, in resource "onelogin_saml_apps" "onelogin-admin":
│   58: resource "onelogin_saml_apps" "onelogin-admin" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ApplyResourceChange call. The plugin logs may contain more details.
╵
Releasing state lock. This may take a few moments...

Stack trace from the terraform-provider-onelogin_v0.2.0 plugin:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x100f9492c]

goroutine 16 [running]:
github.com/onelogin/onelogin-go-sdk/pkg/services/apps.(*V2Service).pruneParameters(0x14000349200, 0x140004a4f00, 0x1400028e840, 0x1010ea1e0, 0x1400028e840)
	github.com/onelogin/onelogin-go-sdk@v1.1.20/pkg/services/apps/v2.go:175 +0xdc
github.com/onelogin/onelogin-go-sdk/pkg/services/apps.(*V2Service).Update(0x14000349200, 0x1400028e840, 0x14000425910, 0x14000116fb4, 0x14000425920)
	github.com/onelogin/onelogin-go-sdk@v1.1.20/pkg/services/apps/v2.go:142 +0x364
github.com/onelogin/terraform-provider-onelogin/onelogin.samlAppUpdate(0x14000500080, 0x1010ea060, 0x14000344d20, 0xffffffffffffffff, 0x140004a5798)
	github.com/onelogin/terraform-provider-onelogin/onelogin/resource_onelogin_saml_apps.go:136 +0x6c8
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).update(0x140001bacc0, 0x1012362f8, 0x140001ae3c0, 0x14000500080, 0x1010ea060, 0x14000344d20, 0x0, 0x0, 0x0)
	github.com/hashicorp/terraform-plugin-sdk/v2@v2.4.3/helper/schema/resource.go:302 +0x5c
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).Apply(0x140001bacc0, 0x1012362f8, 0x140001ae3c0, 0x1400028b0a0, 0x1400084ec00, 0x1010ea060, 0x14000344d20, 0x0, 0x0, 0x0, ...)
	github.com/hashicorp/terraform-plugin-sdk/v2@v2.4.3/helper/schema/resource.go:404 +0x2c0
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).ApplyResourceChange(0x1400012b1e8, 0x1012362f8, 0x140001ae3c0, 0x1400028d180, 0x140001ae3c0, 0x1011dfc40, 0x0)
	github.com/hashicorp/terraform-plugin-sdk/v2@v2.4.3/helper/schema/grpc_provider.go:955 +0x6f8
github.com/hashicorp/terraform-plugin-go/tfprotov5/server.(*server).ApplyResourceChange(0x140004f5a00, 0x1012363a0, 0x140001ae3c0, 0x1400028aee0, 0x140004f5a00, 0x100e01470, 0x1011b9cc0)
	github.com/hashicorp/terraform-plugin-go@v0.2.1/tfprotov5/server/server.go:332 +0x94
github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_ApplyResourceChange_Handler(0x1011dfc40, 0x140004f5a00, 0x1012363a0, 0x140001b2240, 0x1400026b860, 0x0, 0x1012363a0, 0x140001b2240, 0x14000212500, 0x200d)
	github.com/hashicorp/terraform-plugin-go@v0.2.1/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:380 +0x1c8
google.golang.org/grpc.(*Server).processUnaryRPC(0x14000226e00, 0x10123ddb8, 0x14000583980, 0x140001fe000, 0x140003bc540, 0x10161c840, 0x0, 0x0, 0x0)
	google.golang.org/grpc@v1.32.0/server.go:1194 +0x3e8
google.golang.org/grpc.(*Server).handleStream(0x14000226e00, 0x10123ddb8, 0x14000583980, 0x140001fe000, 0x0)
	google.golang.org/grpc@v1.32.0/server.go:1517 +0xa50
google.golang.org/grpc.(*Server).serveStreams.func1.2(0x14000116490, 0x14000226e00, 0x10123ddb8, 0x14000583980, 0x140001fe000)
	google.golang.org/grpc@v1.32.0/server.go:859 +0x94
created by google.golang.org/grpc.(*Server).serveStreams.func1
	google.golang.org/grpc@v1.32.0/server.go:857 +0x1f8

Error: The terraform-provider-onelogin_v0.2.0 plugin crashed!

This is always indicative of a bug within the plugin. It would be immensely
helpful if you could report the crash with the plugin's maintainers so that it
can be fixed. The output above should help diagnose the issue.

Looks like there's a deeper issue with the provider. I can create resources just fine. However, if I do tf-plan immediately after, it shows wanting to change the onelogin_saml_apps resource and other AWS things chained to it. Doing tf-apply at this point leads to the crash.
That is to say, it isn't required to create resources with the provider, change the TF code and then try to apply those changes. The same TF code that just created a onelogin_saml_apps resource will show a delta and crash the OL provider.

We are in the process of standardizing our SDKs by using OpenAPI specifications.
I have an OpenAPI generated terraform-provider-onelogin in prerelease if you would like t try it out.
https://github.com/onelogin/terraform-provider-onelogin/tree/openapi

This bug no longer applies with the uncoupling of the onelogin go SDK from the terraform provider. See also onelogin/onelogin-go-sdk#63.


Tests for undefined term in K definition: should output meaningful kompile error

@dwightguth This PR contains 2 definitions that are expected to give kompile error. How to write tests for this?

You can put the tests and their output files in the checks directory under regression-new.


update documentation

I might be mistaken, but I think the api was changed so that the constructor no longer takes an array.
Don't think it has any effect though, just looks nicer. Updating both md and js.
There might be other instances that can be fixed but I'll propose these changes for now.

Thanks @moltenform 👍

Thanks! I love the chevrotain project. So fast, and elegantly designed.


[20.09] elixir_1_6: remove

Additionally removed the now obsolete rebar build dependency for elixir.
Motivation for this change
As noted by @cw789 in his original PR https://github.com/NixOS/nixpkgs/pull/98649, rebar does not compile anymore on otp 23.
We allowed otp 23 in nixos 20.09, which means that all compilation of elixir are broken sometimes, because they depend on rebar, which does not compile on otp 23. On top of that, rebar has problems with openssl in general.
I know this drop elixir 1.6, which technically could break people using it. Elixir should be fully backward compatible, so they should be able to update to a newer one. On top of this, 1.6 was the last one depending on rebar and cannot be compiled on otp23 in the current state anyway.
So or we break anyone using otp 23 with elixir, or we break people using elixir 1.6.
I understand if the decision is to keep the current (broken) situation. @ankhers what do you think ?
Things done
Remove elixir 1.6. remove elixir dependency on rebar

Why not remove dependency on rebar without removing elixir_1_6? How presence of the latter attribute can break anything?

@veprbl because 1.6 depends on rebar to work sadly.

@DianaOlympos Can we then remove it for all versions except for 1.6?

@veprbl probably but that is going to be painful. Also it mean that elixir 1.6 will not work on otp 23 and fail to compile, while we do ship otp 23 in 20.09. So that would still be a problem

@DianaOlympos you could mark it as broken for that particular combination. If you are sure that impact of removing 1.6 is minimal, we can merge this as is of course.

@veprbl that is why i was @ankhers , he is a maintainer of this, so i think it is fair if he decide on this

It should be fine to remove it. Elixir 1.11 is the most recent version and there have been no commits to the 1.6 branch for over two years. Ecto currently also expects 1.8+, which I sometimes use as a litmus test for versions because a couple core Elixir folks work on it.


Smoothness  in three js

How to enable smoothness in three js ?
(I've seen ticket about smoothness in a-frame, but how to do the same in three js?)

Looks like this ticket is about smoothness in three js https://github.com/jeromeetienne/AR.js/pull/263


management page.

Allow to create, modify and delete products, timetable, contact information.

Opened another repo for that


Separately enumerate/split out some of the inputs to the lock's memo

The memo field in the lock is an important component in the overall strategy for making dep fast and reliable. Its exact behavior is described in greater detail in the gps wiki, but the essence is this: it's a hash digest of string representations of all the locally-knowable inputs that could affect solving outputs. When dep ensure or dep status (or whatever) are run, they pull together all this locally-available info, compute a hash, and compare it to what's in Gopkg.lock. If it's a match, then we know the project's code+Gopkg.toml are in sync with Gopkg.lock. (This is literally memoization, which is why the field is named what it is).
However, as with all hash-matching schemes, it has the disadvantage that, if there's ever a mismatch, we cannot know why that mismatch occurred. And, if hash inputs can vary in ways that are non-obvious to users (like, say, the totally-not-visible-outside-the-code analyzer version that is incorporated into the memo), team members can find themselves ping-ponging hash changes back and forth with each other, and/or a CI server, with no idea what the problem is. That would rapidly turn such mismatches into a false alarm, causing people to ignore it. That would certainly undermine the overall UX of the system that we're going for, and possibly even a real aspect of system integrity.
Now, I do think the hashes have value. We could, for example, create a simple HTTP service that takes a hash and returns a solution for it, thereby obviating the need for solving. Or, more low-tech, just keep a history of solutions somewhere else on disk locally, memo-addressable, the hash provides a convenient addressing system in this respect. But we need to split out some of the information in the memo into separate, explicit fields in Gopkg.lock so that we can provide more detailed feedback users about what might be causing weird mismatches.
I don't have a specific plan on this yet, but I'll update the ticket when I do.

Hmm, this should probably incorporate #421.


Question: What are default.css inside styles/fonts/theme used for?

Same as title.

When we built these pages, we used different UI components. This might create different css files.
When you create new pages, you can delete these styles if you don't need them.
Thank you.

When we built these pages, we used different UI components. This might create different css files.
When you create new pages, you can delete these styles if you don't need them.
Thank you.

Thanks


IOScrashed and broken while repeating  playing the video and removing the player

after 3 times doing the below steps:
init the player ，play the video, and then remove the player
Do the process again and again, the mobile with IOS 12 will be crashed and broken.
I doubt if the memory leak because the player.
Is there any classmate meeting the same issue,how to solve it ?
could you please help me with it ?
Thanks a lot


Windows 32 bit insider 1.14 installer error "Cannot access 64-bit registry keys..."

In trying to troubleshoot another issue I downloaded the 32 bit "insiders" installer:
VSCodeSetup-ia32-1.14.0-insider.exe
When I run it and accept the first prompt I get an error message:

Error
Runtime Error (at 1:357):
Internal error: Cannot access 64-bit registry keys on this version of Windows.
OK

You can only install Code 64 bit in a 64 bit Windows.

Wait...what?  I downloaded the 32 bit, it says right in this case, see the file name.

I did misread it, I apologize. What's your full Windows version?

#29624

Version 6.1.7601 32 bit

Clearly, you have the wrong installer, have you checked to just see if the wrong file was posted under the wrong name?


Support overriding default Python Standalone Build

THOUGHTS:

For now a stop gap issue to support packaging 32-bit Windows variations of the Mu Editor.
Sustainable future very related to #63 and #14.

MINIMALLY VIABLE HACK:

Should work with this PSB: https://github.com/indygreg/python-build-standalone/releases/download/20200822/cpython-3.7.9-i686-pc-windows-msvc-shared-pgo-20200823T0159.tar.zst

MINIMALLY VIABLE HACK:

Should work with this PSB: https://github.com/indygreg/python-build-standalone/releases/download/20200822/cpython-3.7.9-i686-pc-windows-msvc-shared-pgo-20200823T0159.tar.zst

FIRST EXPERIMENT:

Successfully packaged what looks like a 32-bit variation of the Mu Editor with the branch in PR #126.
Not 100% clear how it is behaving:

Looks like it didn't launch the first time, after clicking the start menu icon (could it be that it was still getting the venv ready?)
Launched manually, with the installed PSB's python.exe -m mu command -- launched.
Seems to have downloaded 2 versions of numpy...
Seems to be putting files into the PSB environment -- why on earth?!
REPL clearly doesn't work and makes Mu crash.

NEXT:

Repeat launching and review everything in detail.

FIRST EXPERIMENT:

Successfully packaged what looks like a 32-bit variation of the Mu Editor with the branch in PR #126.
Not 100% clear how it is behaving:

Looks like it didn't launch the first time, after clicking the start menu icon (could it be that it was still getting the venv ready?)
Launched manually, with the installed PSB's python.exe -m mu command -- launched.
Seems to have downloaded 2 versions of numpy...
Seems to be putting files into the PSB environment -- why on earth?!
REPL clearly doesn't work and makes Mu crash.

NEXT:

Repeat launching and review everything in detail.

SECOND EXPERIMENT:

Cleaned Windows environment:

No Mu installations.
No Mu settings / virtual environment.

32-bit packaged Mu seems to work:

Launches.
REPL works.
Trutle from the REPL works.

HOWEVER:

Mu is clearly doing something "wrong" in that:

It is downloading/creating wheels... (should be bundled)
...into its own wheels package -- which will fail to be removed on MSI uninstall.

Created https://github.com/mu-editor/mu/issues/1242 to track, confirm, and eventually address the observed behaviour above.
Otherwise this is looking fine -- let's merge #126.

Closing after having merged #126.
PS: Also tested 32-bit Windows packaged puppy which also seemed to work. :P


Attach Image with SendGrid Mail

Hello everybody
I try to add my logo to my mail sent with sendgrid. But the image doesnt appear.
Something wrong on my code ? Please help :(
here is my code :
`  private async Task configSendGridasync(IdentityMessage message)
{
var apiKey = ConfigurationManager.AppSettings["BPTEST"].ToString();
        var client = new SendGridClient(apiKey);
        var from = new<EMAIL_ADDRESS>"test");
        var subject = message.Subject;

        var to = new<EMAIL_ADDRESS>"test");
        var plainTextContent = message.Body;
        var htmlContent = message.Body;
        var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent);

        msg.AddAttachment(new SendGrid.Helpers.Mail.Attachment()
        {
            Content = "BwdW",
            ContentId = "qrTicket",
            Disposition = "inline",
            Filename ="logo.png",
            Type = "image/png"

        });

        msg.HtmlContent = htmlContent + "";

        var response = await client.SendEmailAsync(msg);

    }`

Hello @lesafir,
We're sorry you're having this issue! Since this is not a docs-related issue, please contact our Support team directly and they can help you out. You can access support contact options by logging into https://support.sendgrid.com.
SendGrid Docs Team


Chart not display well

http://linuxdash.afaqtariq.com/#/system-status
Chart not display well.

@weibangtuo Are you saying that this happens on the Linux Dash demo? I do not see any issues on the demo when I visit it.

Windows is OK, but it's not work for Mac OS X. I try Chrome, Firfox and Safari, all display not well.

@weibangtuo could you open the Console tab in chrome dev tools in Mac OSX? It would be helpful to see if any errors are present as well.
I'll try to find a way to test this on OSX.

Only network error: "GET http://linuxdash.afaqtariq.com/websocket 404 (Not Found)".
UA: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36

Thanks. That network error is a normal status check for websocket support.
Seems like the problem needs to be explored further. Any further info / help would be appreciated.

Retina screen trigger this issue.  smoothie.js did not deal with Retina screen. We can give width and height attr to canvas element to solve this issue.

@weibangtuo: I added width and height to inline canvas elements while leaving the CSS which assigns height and width intact.
The code is on canvas-chart-fix branch. I have also pulled that branch on the demo serve
Can you try this now?
To be honest, Retina is not something I want to spend much time addressing. The main goal is regular desktop viewports & tablets.

It's OK!

:+1:


Advanced search on all simple search fields as modal

Move advanced search from term search only to a modal that can be opened on any simple search.

[x] Autocomplete as generic component that can be used on any input field
[x] Advanced search as generic component that can be triggered from autocomplete components (e.g. 'Cant find what you are looking for? Use advanced search')
[x] Routing of advanced search results to the inputs where it was triggered from

implemented via 53685ee4cb851879874c76401bce20a396ece37f


Can not make it running on M1 MacOS

nginx: [error] failed to initialize Lua VM in /www/server/nginx/conf/nginx.conf:91 nginx: configuration file /www/server/nginx/conf/nginx.conf test failed m1

苹果芯片用m1分支
https://github.com/surest-sky/docker-compose-baota/blob/m1/docker-compose.yml#L12


PinnedBuffer causes large heap when used continuously for reading

We are collecting and reading a continuous session of trace data (in this case logs and metrics) from EventSource using TraceEvent. While this works correctly, and strictly speaking there is no memory leak, we are seeing a very large amount of PinnedBuffer objects, with pinned memory regions. This in turn causes the GC operations to not be able to compact memory properly and as a result the heap size increases. Most of the heap is free space.
Ideally, we would want PinnedBuffers to be determinstically cleaned up (unpinned) or use a pool of pinned buffers that gets rented and diposed as necessary, instead of constantly allocating a new pinned buffer.
Some RAW GC data
!dumpheap -type PinnedBuffer

Statistics:
          MT Count TotalSize Class Name
7137a85bfbb8 2,071    66,272 Microsoft.Diagnostics.Tracing.EventPipe.PinnedBuffer
Total 2,071 objects, 66,272 bytes

!gchandles -type pinned

Statistics:
              MT    Count    TotalSize Class Name
00007137a37e5ac8        1           24 System.Object
00007137a3a893f0<PHONE_NUMBER> System.Byte[]
Total 979 objects

Thanks to @Maoni0 for the analysis, thanks to @noahfalk for the fix suggestion


Remove c++-6 from Ubuntu Install List

Fixes https://github.com/awslabs/s2n/issues/543

Thanks for fixing this. Will merge after build goes green. Side note: the travis builds on these new images look quicker! https://travis-ci.org/awslabs/s2n/jobs/247609087 4minutes for unit tests and integration tests.


New IPython Console (Spyder 2.2+): drop support for IPython in external console

From pierre.raybaut on 2012-05-26T10:36:35Z
Given the fact that the new IPython Console plugin has already more features than IPython support in external console for IPython >=v0.12, I suggest we drop the support for IPython in the external console for Spyder >=v2.2.
What do you think about that?
Should we keep support for IPython v0.10 in the external console?
(it would be more simple to remove any support for IPython in the external console)
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=1059

From ccordoba12 on 2012-05-26T08:58:11Z
I agree. We must drop support for IPython in the external console in 2.2+, so that there is only one entry point for it in Spyder. This will avoid confusions among our users between IPython 'interpreter' and 'console'.
I think we should also drop support for 0.10 because is unmaintained.
Just out of curiosity: when do you plan to move to 0.12 for Python(x,y)?

From pierre.raybaut on 2012-05-27T02:04:04Z
This issue was closed by revision 3a75fc911134 .
Status: Fixed

From pierre.raybaut on 2012-05-26T09:29:40Z
Upgrading to IPython v0.12 is planned for the next release based on Python 2.7.3 (not sure when it will be out, in a few weeks).

From pierre.raybaut on 2012-05-27T02:04:59Z
Please consider pulling those changes before working on the default repository to avoid a risky merge!
Cc: ccordoba12<EMAIL_ADDRESS><EMAIL_ADDRESS>

From pierre.raybaut on 2012-05-27T04:43:16Z
Labels: Cat-IPythonConsole

From ccordoba12 on 2012-05-27T04:57:16Z
I'm working on the ipython config page, but fortunately I didn't commit anything yet :)

From pierre.raybaut on 2012-05-27T04:59:42Z
Ok. BTW, I gave another idea of an option to add to this config page with issue #1056 .

From ccordoba12 on 2012-05-27T05:07:57Z
I think I know how to add it!

From ccordoba12 on 2012-07-05T20:14:35Z
Blocking: spyderlib:1053

From ccordoba12 on 2015-02-15T16:14:34Z
Labels: -Component-IPython


Extend Transit API to support Hashing and Signing Operations

Transit API now has support to generate HMAC digests, sign and verify signed plaintext.
Closes #148

That's awesome work. I'll take the pull-request from here.

Thanks Mark. The build failed for some versions of Vault though. Is that Ok?

I merged and polished your pull request. I added guards to the tests to run against the appropriate Vault version. Figuring out the right version in which features made it into Vault can be quite cumbersome.


[C-Api] use tensor-info struct from nns

Use gst-info struct and util functions from nnstreamer.
Remove unnecessary functions for ml-info.

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #424. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://ci.nnstreamer.ai/.

:octocat: cibot: @jaeyun-jung, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://ci.nnstreamer.ai/nnstreamer-api/ci/repo-workers/pr-checker/424-202311211636030.030642032623291-a39900bda53cbec9d9c2fcadd3316a02a206b202/.

:octocat: cibot: @jaeyun-jung, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://ci.nnstreamer.ai/nnstreamer-api/ci/repo-workers/pr-checker/424-202311211841080.56101489067078-378874fd8857836b786c84401b1a51a21516da85/.


Adding locale string to device params for matching check

Locate string is added to device params in branch request .A string
representing the locale in format "ISO2Language-ISO2Country" (Eg.
"ml-IN"). An empty string is returned on error.  Locale string is sent
with key locale
@dmitrig01 @aaustin @E-B-Smith

can we just send two different fields, 'language' and 'country'?

Added country and language (Both are ISO2 Codes)

👍


Support multiple nodes deployment?

As subject, If I have to deploy one model into more than 1 machines, any kind of configuration could I make?

Hi @pohunghuang-nctu we currently do not support multi-node deployments, but this feature is on our radar as we continue development of MII.

any update for multi node deployment ?

@pohunghuang-nctu @A-ML-ER sorry for the delayed response here. I believe this feature is now enabled through the DeepSpeed launcher after #147 was merged. If you are able to test this, please report back. I will also investigate adding unit tests for this feature. Thanks!


How to open a PDF file without extension plug-in?

Hello!
Is there any way to open to open a PDF file using the native browser? Because I guess the extension's PDF plug-in doesn't allow to save the file without creating other file... I'm using a PDF of an english book on Microsoft Edge to edit (doing exercises) and need to use the extension too, but every time I save it, it "creates another file" :(

Please explain this: "Every time I save it, it creates another file." And yes, you don't need an extension to open PDF files in Edge.

Please explain this: "Every time I save it, it creates another file." And yes, you don't need an extension to open PDF files in Edge.

I need to use this extension at the same time that I use the PDF edition on the browser, but this extension forces the browser to open the PDF on a third-party plug-in, which doesn't allow me to save the PDF like it should. It "downloads" another file every time I click on "Save" button...

Hello! Is there any way to open to open a PDF file using the native browser? Because I guess the extension's PDF plug-in doesn't allow to save the file without creating other file... I'm using a PDF of an english book on Microsoft Edge to edit (doing exercises) and need to use the extension too, but every time I save it, it "creates another file" :(


broken anchor false positive?

Have you read the Contributing Guidelines on issues?

[X] I have read the Contributing Guidelines on issues.

Prerequisites

[X] I'm using the latest version of Docusaurus.
[X] I have tried the npm run clear or yarn clear command.
[X] I have tried rm -rf node_modules yarn.lock package-lock.json and re-installing packages.
[ ] I have tried creating a repro with https://new.docusaurus.io.
[X] I have read the console error message carefully (if applicable).

Description
With the new version 3.1 I get broken anchor errors, although the links work just fine. I don't see any issue in the anchor link.
Example: On the page https://sweetcode.com/blog/are-all-payment-gateways-created-equal/ I have one link linking to the pricing section with an anchor that looks like this /plugins/pmw/#pricing-section (it also throws and error when I remove the trailing slash like this: /plugins/pmw#pricing-section
The full link with the anchor looks like this:  https://sweetcode.com/plugins/pmw/#pricing-section
You'll find the link in the document by searching for Pro version of the Pixel Manager.
Here's the error output:
Broken anchor on source page path = /blog/are-all-payment-gateways-created-equal:
     -> linking to /plugins/pmw#pricing-section

Reproducible demo
No response
Steps to reproduce
https://sweetcode.com/blog/are-all-payment-gateways-created-equal/
Expected behavior
No broken anchor error thrown on this link: https://sweetcode.com/plugins/pmw/#pricing-section
Actual behavior
A broken anchor error is thrown.
Broken anchor on source page path = /blog/are-all-payment-gateways-created-equal:
     -> linking to /plugins/pmw#pricing-section

Your environment

Public source code: na
Public site URL:  https://sweetcode.com/blog/are-all-payment-gateways-created-equal/
Docusaurus version used: 3.1
Environment name and version (e.g. Chrome 89, Node.js 16.4): Node version 21.1.0
Operating system and version (e.g. Ubuntu 20.04.2 LTS): MacOS

Self-service

[ ] I'd be willing to fix this bug myself.

This is working as intended, cf release blog post: https://docusaurus.io/blog/releases/3.1#broken-anchors-checker
You are creating your own anchors, and fall under this case:

Use the broken links API:
useBrokenLinks().collectAnchor("pricing-section")

Note that I'm not sure having multiple h1 elements on a page like you did is a good semantic html practice.

So that means anchor errors get reported on <h1> but not on <h2> (etc) links?

No, you have to use the API for any anchor you create in your code (if you want to link to it at least, and avoid the warning (that you can turn off anyway)).
What I'm saying is unrelated: it's probably not a best practice to use multiple h1 on the same page. This is unrelated to Docusaurus.

Ok. I got it mostly working with useBrokenLinks().collectAnchor("pricing-section")
However, there are side cases that I'd like to report. I'm not sure how you want to handle them.
If I add UTM parameters, I get a broken link warning for:
/blog/post#anchor?utm_source=source
I don't get a broken link warning for
/blog/post?utm_source=source#anchor
Both links work. However, the correct way to format such a link is to add the query parameters first and the anchor at the end like this: /blog/post?utm_source=source#anchor
Maybe the warning could explain in more detail what's wrong.
The other case is if I use an anchor link in a markdown file that points to the same document like this: [information](#anchor)
This also throws a warning.
However, if I add the full path, it's fine: [information](/path/to/document#anchor)
If the path ever changes to the document, that's not ideal. I think [information](#anchor) should not throw a warning.

/blog/post#anchor?utm_source=source

This is simply not a valid query parameter and Docusaurus can't know better than the URL parser itself. I presume it works because of how analytics tools work: they just do a string search for the utm_source fragment (at least that's how the ancient Urchin Tracking Module worked, if I recall correctly).

[information](#anchor)

Really? That should not be an error. It's used extensively on our own website too. If it still happens on the latest version, maybe send another issue with a minimal repro.

Ok about the anchor. It's not only analytics. Docusaurus opens the correct anchor when a misconfigured URL is clicked. So it's just weird that it throws the broken link error. I know that /blog/post#anchor?utm_source=source is invalid. In my case, I received some texts from a content writer who didn't know about it, and I didn't check. So that's how they ended up in there. I just think it would be nice if other Docusaurus users, who don't know that adding query parameters after an anchor is not a valid way to format a URL, would somehow learn about it. The current warning will leave them more puzzled than help. But if it is not possible to parse this in a way that helps to throw a more informative warning, then that's how it is.
Never mind about [information](#anchor) it was a spelling error.
Thanks!

@alewolf please create repros using Docusaurus.new for each indépendant case, first to prove the issue actually exist and then so that we can study your setup in depth. Here you don't even post the error messages you get.
It's not the role of Docusaurus to teach you about urls. You could also put the domain name after the anchor if you want to. Technically that is probably a valid anchor, so do we want to prevent users from doing so if it's valid bug weird?
Using a ? after a # is weird but if browsers support it, we can't warn users that it is a possible mistake because some users might do that on purpose

It's not the role of Docusaurus to teach you about URLs.

You don't have to teach me. Luckily I know how a "valid" URL format looks like.
However, Docusaurus flags those wrongly formatted URLs as broken links, even though you admit, in reality those links work. It's not the best user experience for Docusaurus users who don't know why those broken links are flagged as broken, especially when they work.
So here's a CodeSandbox example: https://codesandbox.io/p/live/3be4c123-896c-4acb-bd98-70a669f0737c

Those are actually not wrongly formatted urls.
This url is weird perfectly valid: https://docusaurus.io/docs#anchor?alsoPartOfAnchor=42
It's just that by interverting url parts you probably end up with a valid anchor that is not the one you wanted in the first place.

Docuaurus will tell you that #anchor?alsoPartOfAnchor=42 anchor does not exist on the target page, which is... true
And that anchor is weird, but perfectly valid: we can't reject it because some users migth want to do these weird things that the web allow, on purpose.

I'm experiencing something similar using trailingSlash: true.
Basically all our table of content links report broken anchor
- Broken anchor on source page path = /docs/edit/:
   -> linking to #overview (resolved as: /docs/edit/#overview)

I suspect it has something to do with the trailing slash followed by a anchor tag :thinking: ?

@robodl your issue looks more related to this one: https://github.com/facebook/docusaurus/issues/9880
I can't help without seeing a repro, but maybe you swizzled the Heading component?

@slorber
I haven't swizzled any components.. But I have forked the remark-toc plugin in order to fix an issue with TOC not properly generating when importing other mdx files with headers on their own.
I've come to the conclusion to wait for 3.2 which is supposed to add some support for this case (https://github.com/facebook/docusaurus/issues/3915#issuecomment-1900862004) and see if the anchor links warnings dissapears.
Thanks for the response :+1:

I am having the same issue. Upon building the site, I get a huge number of broken anchor false positives. We haven't done anything out of the ordinary. Unfortunately, upgrading to docusaurus 3.2 didn't work, either. Did you find anything that resolved this for you @alewolf ?

@polly-bold there are many reasons why it could happen.
Not having a repro, or at least one very concrete example (ie sharing the error message + prod URL + md/link source code) makes it impossible to help you, unfortunately.
What you encounter might be different from what others encounter, so it's important to share as many details as possible.

@polly-bold for us updating this packages to the versions used in the sandbox fixed it (not sure which one specifically, but when we only updated @docusaurus... it wasn't working)
"@docusaurus/core": "^3.2.0",
"@docusaurus/preset-classic": "^3.2.0",
"@mdx-js/react": "^3.0.0",
"clsx": "^2.0.0",
"prism-react-renderer": "^2.3.0",

We had to change the way we use the prism themes on docusaurus.config.js but it's minimal, and you can see how the new version works on the sandbox,

Another use case that causes this issue occurs when you use <!-- truncate --> before the titles. On the main blog page, the anchors cannot find the related links, which results in an error.
`

Section One
Section Two

Section One
Content for section one.
Section Two
Content for section two.
`

@erenkan see https://github.com/facebook/docusaurus/issues/10287


Remove time from plotting parameters

@FBRTMaka
Is this going to affect anything outside of plotting?

@FBRTMaka @Bobfrat Gut reaction says it will stop someone from finding metadata using the TOC, but it would still be shown in the Data Catalog.

@Bobfrat @DanielJMaher , it won't - time isn't used for anything but the plotting page's controls at the moment.

@Bobfrat @FBRTMaka I was confused on what this PR was.  My bad.

@DanielJMaher , we still <3 you.


CDN Adding certificate from keyvault to CDN Endpoint (from other subscription) throws error

az feedback auto-generates most of the information requested below, as of CLI version 2.0.62

Related command
az cdn custom-domain enable-https                         --resource-group $sc.resource
--subscription $Endpoint.subscription                         --profile-name $cdnProfile
--endpoint-name $endpointName                         --name $domainName
--user-cert-subscription-id $kvSubscription                        --user-cert-group-name $kvResource
--user-cert-vault-name $kvVaultName                         --user-cert-secret-name $kvSecret
--user-cert-protocol-type 'sni'
Describe the bug
Receive error: az : ERROR: (BadRequest) The subscription ID of the Key Vault account is different from the subscription ID of the CDN profile
To Reproduce
Add certificate from KeyVault (exists in Subscription 1) to a CDN endpoint (lives in Subscription 2)
Expected behavior
Supports a KV in multiple subscriptions across the same tenant
Environment summary
azure-cli                         2.36.0 *
core                              2.36.0 *
telemetry                          1.0.6
Extensions:
aks-preview                       0.5.51
Dependencies:
msal                              1.17.0
azure-mgmt-resource               20.0.0

route to CXP team

@shiftychris This is expected behavior of CDN service as Key Vault account needs to be under the same subscription as the Azure CDN profile.  Please refer to this documentation.

@shiftychris We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.

SaurabhSharma-MSFT The documentation should reflect the product capabilities, and not the other way around (in other words what is in documentation should not drive the features of the application). However, if we are to following this line of thought according to this: https://learn.microsoft.com/en-us/cli/azure/cdn/custom-domain?view=azure-cli-latest#az-cdn-custom-domain-enable-https using cli you can specify the subscription id for the keyvault (there are two different parameters in the command, one for the keyvault one for the CDN) which leads one to believe that there is an error in the product.


Card has focus-visible styles but doesn't accept focus

This is an inconsistency - either the Card should accept focus or the styles should be removed.

Isn't this for interactable card?

@libertymayc If you look at the code now. Interactable card still doesn't accept focus


Intellij with Bazel plugin changes variable names / types in debug mode

Output of running bazel version on command line:
Build label: 0.4.5-homebrew
Build target: bazel-out/local-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Thu Mar 16 13:37:54 2017<PHONE_NUMBER>)
Build timestamp:<PHONE_NUMBER>
Build timestamp as int:<PHONE_NUMBER>

IntelliJ version 2017.1.2
When debugging some code using the Bazel with IntelliJ plugin, I found that variable names are sometimes lost:
(All screenshots were taken while the program was paused in the exact same place)

Here you can see that some variables are just referred to as "slot_n". This makes debugging tough because it's not always clear which variable is in which slot.

Here you can see, in conjunction with the above image, that data types are changed for debug mode. The variable "name" is a String, and one line later, it has changed to a TextNode (from the Jackson library (com.fasterxml.jackson.databind.node). The actual running process does not alter its type, but the debugger has.
Changing data types are perhaps an even bigger impediment to debugging than disappearing names - conditional breakpoints and expression evaluation no longer reflect the actual state of the code.
Let me know if any of this is unclear / you need additional information. Thanks.

Try the workaround in #78 -- add these lines to your .bazelproject file:
build_flags:
  --javacopt="-g"

Closing as a dupe of #78. A better fix will have to wait for bazelbuild/bazel#2859.

Sorry I didn't check for duplicates. That was dumb. Thanks a bunch for the quick response.

No worries at all. I already knew there was a dupe and it still took a couple of searches to find it!