Finalize transition to bhnt.c-base.org

I propose the following administrative actions to finalize our transition to bhnt.c-base.org:

Redirect berlin-hack-and-tell.github.io directly to bhnt.c-base.org

Rationale:

Currently, it follows a rabbit hole series of redirects through hackandtell.org, etc. until it finally arrives at bhnt.c-base.org.

I already prepared a PR, but need the following admin actions to proceed:

Unarchive the repository: berlin-hack-and-tell.github.io
Create a PR from my branch, just visit Comparing changes and click on "Create pull request"
Accept my PR
(Optional) Archive the repository again: berlin-hack-and-tell.github.io

Rename our main berlinhackandtell.rocks repository

Rationale:

The name is misleading by now.
GitHub does a pretty good job at redirecting Git URLs, etc. after a rename.

Proposals:

(A) Rename it to: bhnt.c-base.org
(B) Rename it to: berlin-hack-and-tell

Regarding 2, I prefer (B), because this is a generic name and identical to our GitHub organization name.

Duplicate


IMAP server with S3 hosting

The accounts will be backed by a MongoDB database. All the mail will be hosted in S3.
Open source IMAP servers written in Go:

https://github.com/jordwest/imap-server
https://github.com/flashmob/go-guerrilla

Ported to fmoliveira/pet-projects#3.


Expression function "contains" array example does not work

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/learn-github-actions/expressions#contains
What part(s) of the article would you like to see updated?
Currently the "Example using an array" for contains does not work as intended.
Example using an array
contains(github.event.issue.labels.*.name, 'bug')

To work I've updated it to
contains(join(github.event.issue.labels.*.name, ', '),'bug')

My example:
on:
  pull_request:
    types: [labeled, unlabeled]

jobs:
  check-label:
    runs-on: ubuntu-latest
    steps:
      - run: |-
          echo ${{contains(join(github.event.pull_request.labels.*.name, ', '),'needs')}}
          echo ${{contains(github.event.pull_request.labels.*.name,'needs')}}

When I add the label "needs work", I see the print out
true
false

Additional information
No response

@averikitsch
Thanks so much for opening an issue! I'll triage this for the team to take a look :eyes:

Thanks for opening this issue! I'm not able to reproduce this. In my test case (copying your workflow), both expressions return true. (e.g. https://github.com/ske-test-org/test-org-repo/runs/3692553997?check_suite_focus=true) I'm going to close this issue, but feel free to reopen it with a link to a workflow run log that demos your experience.


Build for v0.1.0

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Ensure MKL libblas is a runtime requirement on windows.

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

I've added a run-constraint blocking use with the openmp package (not llvm-openmp or intel-openmp etc.).
This should block the older openmp=5.0.0 from getting installed and unintentionally overwriting any other openmp dynamic libraries that have the same name (related to https://github.com/conda-forge/numpy-feedstock/issues/308).

Also, I've added a build matrix for the different Major.Minor versions of MKL, which will allow this to be installed with more versions of the MKL.


Why New version of OHIF don't have Generate report?

in version 1 of OHIF there was a Save Component which responsible for Generation PDF Reports so why in newer version i don't see it

and where can i download this version ?

Please review the latest code in the master branch. I am confident that this issue has been resolved. If it persists, kindly reopen the issue with updated details.
Try viewer-dev.ohif.org instead of viewer.ohif.org
Our viewer.ohif.org is deployed from release branch while viewer-dev.ohif.org is our master  branch
Read more about branch explanations here https://docs.ohif.org/development/getting-started#developing


[BUG][Docs] AttributeError: module 'deeplake' has no attribute 'ingest'

🐛🐛 Bug Report
I'm following this tutorial in Colab: https://docs.activeloop.ai/getting-started/deep-learning/creating-datasets-manually#automatic-creation
and get the following error for the section "Automatic Creation":
src = "./animals"
dest = './animals_dl_auto'
ds = deeplake.ingest(src, dest)

Output:
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
[<ipython-input-26-903790339e48>](https://localhost:8080/#) in <cell line: 4>()
      2 dest = './animals_dl_auto'
      3
----> 4 ds = deeplake.ingest(src, dest)

AttributeError: module 'deeplake' has no attribute 'ingest'

Seems like you have a breaking change in the API, please update the docs.
⚙ Environment

Deeplake version: 3.5.3
Python version(s): 3.10.11
OS: Linux
IDE: Colab
Packages:

Hi @vfdev-5 Thank you for raising this issue! It was an error in our docs and it's been fixed.


Let the validation to check untracked files

If the changes are over untracked files, the validation passes, what might be wrong in some cases (ie. for go vendor dir).
The validation will fail if there are untracked files when the target is ran with:
UNTRACKED_MODE=normal make no-changes-in-commit

For existent projects, not using this new configuration, there is no change at all.

Docs added by 7c427e6 as it can be seen at README.md#rule-no-changes-in-commit

@dpordomingo In which projects are we planning to use this?

This shouldn't be optional, just force to not allow untracked, changed files, when CI is running

@mcuadros Sounds reasonable for Go.
Some projects might need adjustment of their tests though.

Yep, but this is because they are not properly setup :D

I'm not sure how to proceed;

should I make it mandatory in this PR

(b) and merge now → some projects might fail when building next time, or
(c) do not merge till all src-d projects using ci:v1 has been reviewd and adapted, or

(d) should we merge this as it is now (avoiding failures in other projects), fix other projects separatelly, and then make it mandatory.

b

@mcuadros your suggestion (b) was added to the PR
Now untracked files are not allowed when validating commit in CI.

\cc @mcuadros for another pass on this

rebased over current v1 tip, and tested and used in gitbase-playground
could you PTAL again @mcuadros ?


x/pkgsite: create GetModuleInfo function

As part of the new data model migration (#39629), we will need a function return the ModuleInfo for a given module_path and version.
This function will eventually replace the existing LegacyGetModuleInfo function.
The function signature will be:
GetModuleInfo(ctx context.Context, modulePath string, resolvedVersion string) (_ *internal.ModuleInfo, err error)

The function will execute the query below:
SELECT
    module_path,
    version,
    commit_time,
    version_type,
    source_info,
    redistributable,
    has_go_mod
FROM
    modules
WHERE
    module_path=$1
    AND version=$2;

Unlike LegacyGetModuleInfo, it is expected that the version passed into the function will always be a semantic version (i.e. GetModuleInfo will NOT need to handle the case where resolvedVersion == internal.LatestVersion).

Hello @julieqiu, Can I pick this up ?

Yes, please do!


Object literal array type inconsistently inferred when using spread

TypeScript Version:  3.3.3333

Search Terms:

object literal array type
object array property does not exist
spread object literal array

Code
Playground: http://tinyurl.com/y65n9b3o
const array1 = [
    { a: 'a', b: 'b' },
    { a: 'a', c: 'c' },
] // inferred: Partial<{ a, b, c }>[]

array1.map(({ c }) => c); // works ✅

const array2 = [
    { a: 'a', b: 'b' },
    { a: 'a', ...{ c: 'c' } },
]

array2.map(({ c }) => c); // suddenly error? ❌

Expected behavior:
I'm not sure if this is a bug but I expect both map calls to type-check identically. If it's not a bug, it's very unintuitive why the spread syntax completely changes how the array type is inferred. The only workaround I have is to explicitly write the full type (which isn't as concise as the example above).

We have "special" logic for unifying object literals in these cases; the spread syntax interferes with that.
If you post a more representative sample where it's not just spreading for the sake of spreading, we may be able to advise more.

Here's almost the same code that reproduces the error.
Is the special logic documented somewhere? It would help avoid surprises and confusion if the logic is more explicitly defined, or if there are ways to control the inference.


fix typo: "Timestamp massaging"

Signed-off-by: Ruben Barkow-Kuder<EMAIL_ADDRESS>

This isn't a typo - see https://github.com/matrix-org/matrix-doc/pull/2329

On which grammatical base this is called massaging?
I thought a massage is something physiotherapists do?


Error: Building packages bzip2:x86-windows failed with: BUILD_FAILED

Hi there
I've got a problem while trying to install Boost-any and Boost libraries for Visual Studio in order to include boost/any.hpp.
Since the boost-any.hpp was not available in visual studio after installing boost-any module I also tried to install boost-module but then I experienced the following error message:
Error: Building packages bzip2:x86-windows failed with: BUILD_FAILED
Package: bzip2:x86-windows
Vcpkg version: 2020.06.15-nohash
What does this mean and what can I do about it?
Any Idea why the boost-any module is not available in visual studio after installing it?
Thanks a lot.

@NewcomerBS, does the vcpkg path with a space? if so, please create a clone without space in vcpkg path, it looks same issue with #13103, and would fix by PR #13126.

Hi PhoebeHui
Thanks for that suggestion. I'll check this out in a moment...
Best

Duplicated to https://github.com/microsoft/vcpkg/issues/13103, and please reopen this issue if it's a different issue.


Find better ways to mark the attendance

As of now the website takes individual entries of individual student, although this is a good use case for some classes like one-on-one classes, some teachers teach to a bunch of students at once, which makes it hard for them to mark multiple students.
Have another option where the user can mark multiple students at once, kind of like how PES lecturers mark attendance.

@itsA-D you have been assigned

could i get assigned to this?

can u assign this to me?

i want to do this

i want to work on this

can i get assigned this?

can I get assigned to this ?

please assign this to me

can i get assigned

can i be assigned to this?

@itsA-D I will need an update by 9. Else I will reassign the issue

Could you please assign this to me?

can i get assigned

can i get assigned if this is still open?


Launching without using launch_vivado.app

My organization locks down my mac so it can't run any .app's unless they're from apple or a trusted developer, and I don't have permission to override that in privacy and security. Is there a way to do what the app does from command line?

Nevermind. Reading the install scripts found that in the Download directory Launch_Vivado.app is a directory that contains a script "Launch_Vivado" that does what I need. Now I just need to find a way to get xvcd to run...

Are privileges also required for running xvcd on it's own?

Unless you're willing to pay for a $100/year Apple Developer license, this issue will remain unresolved because I have to sign the application in order for it to run without admin privileges.


move expected_loglik here from ApproximateGPs.jl

See #42 - should discuss the design while we're at it!
Main changes to what's currently in ApproximateGPs:

rename to expected_loglikelihood to be more explicit
changed signature: argument order is now quadrature, lik, q_f, y
rename expectation structs to DefaultExpectationMethod, AnalyticExpectation, GaussHermiteExpectation, MonteCarloExpectation
drop abstract base type (weren't used for anything)
drop default argument for GaussHermite / MonteCarlo quadrature points (moved into DefaultExpectationMethod)
resolves #71 in c25b2ce
move analytic definitions into files for each likelihood implementation

Note: bumps julia compat to 1.6.

Open question from #42:

expected_loglik takes a Vector y, a Vector q_f, and a lik function that maps from scalar f to UnivariateDistribution; expected_loglik then does the broadcasting internally. Is that what we want?

Would it be better (cleaner) to have expected_loglik handle scalars only (but this might result in some performance loss for e.g. recomputing the Gauss-Hermite points and weights for each data point)?
Should we expect lik to take the full Vector fs and return e.g. a Product() of UnivariateDistributions (though this might make the expectation code more complicated)?
How would we want to handle the heteroskedastic case, where we do want to include the correlations across the two outputs at each data point, but independence between different data points (not sure how we would handle that on the AbstractGPs side given that multi-output is all "output as input")?

Do we need to resolve that now, or should we merge it in this form and consider this later?

Do we need to resolve that now, or should we merge it in this form and consider this later?

Later. I'm not keen to hold this PR up. These points all require more design discussion and are part of larger problems. In my view they're best dealt with in the next breaking release.


converting test suite from Mocha to Jest

@maiis thanks for the PR! Is there a reason why ESLint was downgraded from 3.x to 2.x?

@koistya 😐 I can't remember the reason, therefore I reverted it

The latest version now runs unit tests with Jest.


Add DeleteMessage request

I was mostly cargo-culting the existing code, no idea if I did it all
right

Hmm, doesn’t seem to work, but not sure why. Anyways, with #124 I wouldn’t need this ;-)


Filip Installation Failure with Python 3.11 and 3.12 due to igraph 0.9.8 incompatibility

Describe the bug
The installation of Filip in an environment with Python 3.10 works seamlessly. However, for Python 3.11 and 3.12, the installation fails. This seems to be due to the incompatibility of igraph 0.9.8 (defined in setup.py) with Python 3.11 and 3.12.
To Reproduce
Steps to reproduce the behavior:
VERSION A (python 3.10.13)

conda create -n test1 python=3.10.13
conda activate test1
pip install filip
conda deactivate

VERSION B (python 3.11 or python 3.12)

conda create -n test2 python=3.12.0
conda activate test2
pip install filip

The installation fails with the following error message:
Building wheels for collected packages: igraph
  Building wheel for igraph (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
     exit code:1
         [48 lines of output]
         [...]

      igraph uses CMake as the build system. You need to install CMake before compiling igraph.
      Build failed for the C core of igraph.

      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for igraph
  Running setup.py clean for igraph
Failed to build igraph

Expected behavior
The installation should work with Python 3.11 and Python 3.12 (VERSION B).
Environment:

OS: Windows 10
Python-Version: 3.10, 3.11, 3.12
FiLiP-Version: 0.2.5
igraph: 0.9.8 (setup.py)

Additional context
I would like to refer to https://github.com/RWTH-EBC/FiLiP/issues/207#issuecomment-1786820438:

The  problem seems to be compatibility between igraph 0.9.8 and python 3.11 which makes sense as I found

The current version of igraph seems to be compatible with python up to version 3.12. For the very short term going back to 3.10 might be an option, but I think upgrading to a newer version will be necessary in the future anyways.

Changing the version of igraph in setup.py to a newer version that is compatible with Python 3.11 and 3.12 may solve the problem.

Thank you for reporting! What you suggest is actually an improvement of filip, because as noted in the setup.py filip is officially compatible with python 3.7-3.9. For that I have opened a new issue #211 . I think by upgrading the version support of filip this issue will also be closed

Solved by #211


Cannot default to true

adding 'default' => true into the array for the field does nothing.

Hi @adrienne!
I was able to set the default to true, by doing 'default' => true,.
'default' => true,

'default' => false,

Can you please confirm your issue? I assume you are talking about the create operation.


RuntimeError: Cannot install on Python version 3.11.4; only versions >=3.7,<3.11 are supported.

How do I install Pythons supported version so it can run?

What packages were you installing when meets this version error?

Assuming that you have installed Poetry, you can try ' poetry env use python_exe_path' before 'poetry install'.
Replace 'python_exe_path' with the path of Python excutable whose version >=3.7,<3.11.

on my ENV Python >= 3.11

pip install pip-upgrader
pip-upgrade .\requirements.txt --skip-virtualenv-check

on my ENV Python >= 3.11

pip install pip-upgrader
pip-upgrade .\requirements.txt --skip-virtualenv-check

This did the trick for me. Thank you!


Can't read from owned_tokens dictionary anymore

I successfully minted an NFT using this command:
  casper-client put-deploy \
  --node-address http://<IP_ADDRESS>:7777/ \
  --chain-name casper-test \
  --secret-key ./secret_key.pem \
  --payment-amount<PHONE_NUMBER>00 \
  --session-hash b1d96ea7536bf6c9a2f65484ad75651f9a86ed72ba9897593054a0dc847f08de \
  --session-entry-point mint \
  --session-arg "token_owner:key='account-hash-32e24c2eb139804ad8db550dd79d78c370559069c137519a48b048bd77ca7da4'" \
  --session-arg "token_meta_data:string='{\"nft_name\":\"somename03\",\"nft_description\":\"somedescription01\",\"nft_url\":\"someurl01\"}'"

where contract-b1d96ea7536bf6c9a2f65484ad75651f9a86ed72ba9897593054a0dc847f08de is my Cep78 contract:
https://testnet.cspr.live/contract-package/c8ef8d01c8f6933dd4dc4d542ec132b21a31622f190889a33b982f8653a4f16c
and then tried to query the owned_tokens dictionary:
casper-client get-dictionary-item \
  -n http://<IP_ADDRESS>:7777/ \
  -s e8fb65709de52240b972579af8c9ccd667c8845e8c307849b9dc0d6a7185b5e6 \
  --contract-hash  contract-b1d96ea7536bf6c9a2f65484ad75651f9a86ed72ba9897593054a0dc847f08de \
  --dictionary-name owned_tokens \
  --dictionary-item-key 32e24c2eb139804ad8db550dd79d78c370559069c137519a48b048bd77ca7da4

but i'm getting this error: Failed to parse the dictionary identifier
I also tried:
casper-client get-dictionary-item \
  -n http://<IP_ADDRESS>:7777/ \
  -s e8fb65709de52240b972579af8c9ccd667c8845e8c307849b9dc0d6a7185b5e6 \
  --account-hash  account-hash-b1d96ea7536bf6c9a2f65484ad75651f9a86ed72ba9897593054a0dc847f08de \
  --dictionary-name owned_tokens \
  --dictionary-item-key 32e24c2eb139804ad8db550dd79d78c370559069c137519a48b048bd77ca7da4

where i get this error:
{
"code": -32003,
"message": "state query failed: ValueNotFound("Failed to find base key at path: Key::Account(b1d96ea7536bf6c9a2f65484ad75651f9a86ed72ba9897593054a0dc847f08de)")"
}

@ipopescu @ACStoneCL any chance either of you can take a look and advise Jonas from the association?  Concerned this may be an issue with minting - can we rule that out?

note contract hash prefix is hash- as below
casper-client get-dictionary-item
-n <node ip>
-s <state root hash>
--contract-hash hash-<your contract hash>
--dictionary-name hash_by_index
--dictionary-item-key <ordinal here>
take the parsed value from the response, such as 2dadbef3f61d9427bac063a8133a6f044461951e688de3a682b601e29263632f, and then pass that value as the dictionary-item-key as so:
casper-client get-dictionary-item
-n <node ip>
-s <state root hash>
--contract-hash hash-<your contract hash>
--dictionary-name token_issuers
--dictionary-item-key <token hash / parsed value from above command goes here>

I also tried this with the Javascript SDK:
const {CLPublicKey, CLAccountHash, CLValueBuilder, Contracts, CasperClient, DeployUtil} = require('casper-js-sdk');

let publickey = "01daad67ebbcb725e02a1955a6617512b311435a21ca6d523085aa015d2d1b473a"

function toHexString(byteArray) {
    return Array.from(byteArray, function(byte) {
    return ('0' + (byte & 0xFF).toString(16)).slice(-2);
    }).join('')
}

function fromPublic(publickey){
  let accHash = CLPublicKey.fromHex(publickey).toAccountHash();
  let accHashHex = toHexString(accHash);
  return accHashHex;
}

async function call(){
  let account_hash = fromPublic(publickey);
  let peer = "http://<IP_ADDRESS>:7777/rpc/";
  let cep78_contract_hash = "hash-b1d96ea7536bf6c9a2f65484ad75651f9a86ed72ba9897593054a0dc847f08de";
  let owned = [];

  const data = {
    "account_hash": account_hash,
    "peer": peer
  }

  const client = await new CasperClient(peer);
  var cep78_contract_instance = new Contracts.Contract(client);
  cep78_contract_instance.setContractHash(cep78_contract_hash);

  return new Promise((resolve, reject) => {
    cep78_contract_instance.queryContractDictionary(
      "owned_tokens", // hardcoded as part of NFT standard.
      account_hash
    )
    .then(response => {
      for (let i = 0; i < response.data.length; i++){
        owned.push(response.data[i].data);
      };
      resolve(owned);
    })
    .catch(error => {
      const e = "Failed to find base key at path"
      if (error.toString().includes(e.toString())) {
        console.log("Account does not own any tokens");
        resolve([]);
      }
      else{
        console.log("Connection Error.");
        writeLog(`[E1]->${error}`);
        reject(error);
      }
    });
  });
}

async function main() {
  try {
    const owned = await call();
    console.log(owned);
  } catch (error) {
    console.log(error);
  }
}

main();

The same error was thrown ( failed to parse base key at path ). The error usually implies that the account does not own any NFTs, however I do have a valid mint for the account where token_owner is set to the account:
https://testnet.cspr.live/deploy/116621ee2c6b48e29a1a64aab8dd73e22dc2a3b6f037f61a21bc15afe21662cf

look at the example i provided. alternately i can jump on a zoom w/ you if you like.

casper-client get-dictionary-item -n <node ip> -s <state root hash> --contract-hash hash-<your contract hash> --dictionary-name hash_by_index --dictionary-item-key <ordinal here>
take the parsed value from the response, such as 2dadbef3f61d9427bac063a8133a6f044461951e688de3a682b601e29263632f, and then pass that value as the dictionary-item-key as so:
casper-client get-dictionary-item -n <node ip> -s <state root hash> --contract-hash hash-<your contract hash> --dictionary-name token_issuers --dictionary-item-key <token hash / parsed value from above command goes here>
note contract hash prefix is hash- as below

I have tried this as well and got the same error. I see you are querying a different dictionary. Is the owned_tokens dictionary depracated?

What if I want a list of all my owned NFTs? This used to be in the owned_tokens but what you are recommending is retrieving a single NFT's hash by ordinal ID? Isn't it possible anymore to query a list of all hashes for all owned NFTs?

We have a tutorial here. Jonas, have you tried it?

looks like token_owners works also

Yes, but I am looking for owned_tokens, not token_owners.

i didn't write and don't maintain this contract, I'm just glancing at the mint method and reading what it says.

I have an extract from an old tutorial that I made for a prior version of Cep78, where I was able to query owned_tokens as such:
$ casper-client get-dictionary-item
-n http://<IP_ADDRESS>:7777/
-s 256d0445121f1144a09394c739c9baf82b5624b66dced181a0c1c8b8e936652b
--account-hash hash-b4b78992e0324be09f174637c3dda2d29cc5c21c44430b72a0943d3ba6d2c827
--dictionary-name owned_tokens
--dictionary-item-key 5a54f173e71d3c219940dcb9dfec222b024cd81aa7e0672de59ba5fab296448b
but this method and the variations of it that I have mentioned about does not work anymore ( it used to ). So that's why I've opened this issue. I will try to reach the dict via uref next, but I expect the same result for "owned_tokens". I see that the code has been changed and therefore I think it might be that it was deprecated or broken during development. I will run more tests but the javascript SDK example above should also work based off past experiences. However, something seems to have changed.

The original owned list of 1.0 was replaced by a pagination model in 1.1 iirc. At this point I'll let the cep-78 experts take over, but the line of play I cobbled together for you seems to work on the code as is to me so perhaps that helps you in the meantime until tomorrow when Karan and the gang are back online.

I found the uref of the owned_tokens dictionary. This implies that it has not been deprecated? Not 100% sure but I will leave this test as another resource to help Karan and the Cep78 team:
           "key": "uref-136996cef78acab1286a80abcd7b21c0cde4cd0bc6b79a7aaf26e017f01f4482-007",             "name": "owned_tokens"           },
It looks like my account-hash is not a key in this dictionary, which is odd.
It should be possible to query this dictionary for my account-hash, but my account-hash is not a key in the dictionary.
However when I perform the query for the uref as per the tutorial:
jonass-macbook-air:Desktop chef$ casper-client get-dictionary-item --node-address http://<IP_ADDRESS>:7777 --state-root-hash 7ec4d4ff5cb095b79eeaff4506c1d7def5924bc4fbc0cb379d4335610efa7f5d --seed-uref "uref-136996cef78acab1286a80abcd7b21c0cde4cd0bc6b79a7aaf26e017f01f4482-007" --dictionary-item-key 32e24c2eb139804ad8db550dd79d78c370559069c137519a48b048bd77ca7da4
I get the same error:
{
"code": -32003,
"message": "state query failed: ValueNotFound("Failed to find base key at path: Key::Dictionary(456d0a64cc640977de0ae8fe8f999c55c551a7d47f8311dc3dd600f5dcb5666f)")"
}
After trying to query the dictionary with the casper-client and the javascript SDK and always getting the same error " Failed to parse base key " my conclusion is that for some reason my account-hash is not a key in the owned_tokens dictionary, even though I have minted an NFT for my account.
I have tried multiple times and am very sure at this point that there is an issue with the owned_tokens dict, or a recent change that I am unaware of, so I'll wait for the team to take a look at it.

It is really about this "owned_tokens" dict in particular. It's not a general issue with parsing dictionaries.

glancing at the diff between release-1.0.0 & release-1.1.0 it does look like that usage of the "OWNED_TOKENS" dictionary was replaced by the pagination logic... you can CTRL+F thru the diff to quickly see the change points:
https://github.com/casper-ecosystem/cep-78-enhanced-nft/compare/release-1.0.0..release-1.1.0

But then why is the owned_tokens dictionary still created? And how could I perform a query for all token-hashes owned by my account?

// Returns the length of the Vec in OWNED_TOKENS dictionary. If key is not found
// it returns 0.
#[no_mangle]
pub extern "C" fn balance_of() {
let owner_key = utils::get_named_arg_with_user_errors::(
ARG_TOKEN_OWNER,
NFTCoreError::MissingAccountHash,
NFTCoreError::InvalidAccountHash,
)
.unwrap_or_revert();
let owner_key_item_string = utils::encode_dictionary_item_key(owner_key);

let balance = utils::get_dictionary_value_from_key::<u64>(TOKEN_COUNT, &owner_key_item_string)
    .unwrap_or(0u64);

let balance_cl_value =
    CLValue::from_t(balance).unwrap_or_revert_with(NFTCoreError::FailedToConvertToCLValue);
runtime::ret(balance_cl_value);

}
This function in the latest cep78 also implies that the owned_tokens dict is still in use

OLD:
owned_tokens.push(token_identifier.clone());
            match identifier_mode {
                NFTIdentifierMode::Ordinal => {
                    let token_indices: Vec<u64> = owned_tokens
                        .into_iter()
                        .map(|identifier| identifier.get_index().unwrap_or_revert())
                        .collect();
                    utils::upsert_dictionary_value_from_key(
                        OWNED_TOKENS,
                        &owned_tokens_item_key,
                        token_indices,
                    )
                }
                NFTIdentifierMode::Hash => {
                    let token_hashes: Vec<String> = owned_tokens
                        .into_iter()
                        .map(|identifier| identifier.get_hash().unwrap_or_revert())
                        .collect();
                    utils::upsert_dictionary_value_from_key(
                        OWNED_TOKENS,
                        &owned_tokens_item_key,
                        token_hashes,
                    )
                }
            }

NEW:
         match identifier {
            NFTIdentifierMode::Ordinal => utils::migrate_owned_tokens_in_ordinal_mode(),
            NFTIdentifierMode::Hash => {
                storage::new_dictionary(HASH_BY_INDEX)
                    .unwrap_or_revert_with(NFTCoreError::FailedToCreateDictionary);
                storage::new_dictionary(INDEX_BY_HASH)
                    .unwrap_or_revert_with(NFTCoreError::FailedToCreateDictionary);
                runtime::put_key(
                    UNMATCHED_HASH_COUNT,
                    storage::new_uref(current_number_of_minted_tokens).into(),
                );
            }
        }
    }

I see... now all I'd need to know to successfully query the new dictionaries is, how I can get the amount of tokens owned by the account. Then I should be able to query for the HASH_BY_INDEX.

I think I just answered my own question... My last 2 answers combined might do the trick. Will try.

YES! - Here we go :)
jonass-macbook-air:~ chef$   casper-client get-dictionary-item   -n http://<IP_ADDRESS>:7777   -s 5b4ee57f886e10bbf766cfaa6b2b8b1d9c14212fde67562ca3905d187879ecbb   --contract-hash hash-b1d96ea7536bf6c9a2f65484ad75651f9a86ed72ba9897593054a0dc847f08de   --dictionary-name balances   --dictionary-item-key 32e24c2eb139804ad8db550dd79d78c370559069c137519a48b048bd77ca7da4
{
  "id": -2754351506409120321,
  "jsonrpc": "2.0",
  "result": {
    "api_version": "1.4.13",
    "dictionary_key": "dictionary-5f76d3255e4fd3b935abc77ab988c84ac1fc49acbad284116191fcd3a18590fb",
    "merkle_proof": "[38456 hex chars]",
    "stored_value": {
      "CLValue": {
        "bytes": "0300000000000000",
        "cl_type": "U64",
        "parsed": 3
      }
    }
  }
}

I'm sorry for all the messages, I've worked through this real-time.
Closing note for the day:
The issue persists and there seems to be no way of retrieving all hashes of the NFTs owned by an account. These should be in the owned_tokens dictionary which appears to be empty after mint.

We will have more people take a look tomorrow, have a good night
On Wed, Mar 22, 2023 at 4:36 PM Jonas Pauli @.***>
wrote:

I'm sorry for all the messages, I've worked through this real-time.
Closing note for the day:
The issue persists and there seems to be no way of retrieving all hashes
of the NFTs owned by an account. These should be in the owned_tokens
dictionary which appears to be empty after mint.
—
Reply to this email directly, view it on GitHub
https://github.com/casper-ecosystem/cep-78-enhanced-nft/issues/198#issuecomment-1480388898,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A3NTNYNDLTPCD6VWPQYRBPTW5OEIHANCNFSM6AAAAAAWEBXUQM
.
You are receiving this because you commented.Message ID:
@.***>

Should the owned_tokens dict be removed from the code?

Should the owned_tokens dict be removed from the code?

Yes, its a bug that we still create that dictionary


os: SetDeadline doesn't work after an Fd() call

What version of Go are you using (go version)?
go version devel +ed8b7dedd3 Thu Nov 30 01:46:50 2017 +0000 linux/amd64
What did you do?
package main

import (
    "os"
    "time"
)

func main() {
    r, w, err := os.Pipe()
    if err != nil { panic(err) }
    println(r.Fd())
    go func() {
        time.Sleep(time.Second*2)
        _, err := w.Write([]byte("Hello, world!"))
        if err != nil { panic(err) }
    }()
    err = r.SetDeadline(time.Now().Add(time.Second))
    // expect an error at this line
    if err != nil { panic(err) }
    buffer := make([]byte, 16)
    n, err := r.Read(buffer)
    // or this line
    if err != nil { panic(err) }
    println(string(buffer[:n]))
}

What did you expect to see?
A timeout error.
Or an error when SetDeadline.
The Fd() can also be called after SetDeadline(), so a timeout error is better.
What did you see instead?
A successful Read and "Hello, world!".
The method Fd() put the file descriptor into blocking mode and the deadline doesn't work after it.
https://github.com/golang/go/blob/8064f82a158e4416e9f32ed7017642ace4280b4f/src/os/file_unix.go#L68
There is a similar issue with package net. https://github.com/golang/go/issues/21862

Ian, I assume this is also just a documentation thing?


[fbsync] Fast seek implementation

Implementation of the fast seek; rebase of the #3015
@fmassa can you please pull it in fbcode to check if ok?
rebased on the latest master

For some reason it's not allowing me to push it to fbsync, I've tried twice and it always sends me back to master?

I can't import this PR internally to run tests due to merge conflicts. Could you please fix them? Thanks!

@bjuncek Just wanted to clarify why the PR contains [fbsync]  in the title?
As far as I understand, please correct me if I'm wrong, this is a brand new PR you wrote (it doesn't come from the fbsync branch) which you want to have it tested on FBcode. If this is indeed the case, you need to remove the prefix because this will cause the exact opposite result of what you want. PRs tagged with [fbsync] are skipped from being synced to FBcode. This is because we reserve the tag for those PRs that sync FBCode=>Github.

@datumbox sorry, my bad - Francisco told me that adding fbsync tag would import it into fbcode; removed now.


Azure credentials does not work

[Enter feedback here]
Following the instruction on this website, I am not able to login to the VM. It says the password is wrong, and it is not wrong, because I am pasting it!

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

ID: d8df8d3c-8b4f-c924-a00e-1ea1c6e4aff9
Version Independent ID: 51f0a180-8bc8-c4a9-8e37-e0af9100f7cf
Content: Quickstart - Create a Windows VM using the Azure CLI - Azure Windows Virtual Machines
Content Source: articles/virtual-machines/windows/quick-create-cli.md
Service: virtual-machines-windows
GitHub Login: @cynthn
Microsoft Alias: cynthn

I would suggest to go trough the quick start yourself and see if it works, becuase I have tried to reset and delete all and create new VM from portal, and so far nothing works. You just create the VM and can not login to it.


Add Unicorn Prometheus metrics

ruby_unicorn_active_workers_total
ruby_unicorn_request_backlog_total
ruby_unicorn_workers_total

Yes indeed that's why I haven't merged it yet, as it's misleading. I'll probably have to change the Unicorn instrumentation to be able to add a unique label per web process, so that the values can be aggregated in Prometheus. I'll try to make a change upstream instead of monkey patching it.

The code of the gem mentions hostname and some have pid but most probably the easiest is to specify both manually https://github.com/discourse/prometheus_exporter#metrics-default-prefix--labels

That won't work because we aren't using the single process mode https://github.com/discourse/prometheus_exporter/pull/20.
I've opened https://github.com/discourse/prometheus_exporter/pull/90.

discourse/prometheus_exporter#90 has been merged. I've bumped the gem to use the master branch until there's a new release.
We now have a hostname label for the metrics.
# HELP ruby_unicorn_workers_total Number of unicorn workers.
# TYPE ruby_unicorn_workers_total gauge
ruby_unicorn_workers_total{hostname="e2cf40e4314e"} 4
ruby_unicorn_workers_total{hostname="ca61920edc58"} 4

@bliof

The git-worker is crashing so this is blocked for now. I only see a huge core dump in Graylog so no idea what the problem is yet.

Problem fixed by bumping the library versions in the Docker image.


Added unmount cold and end visit buttons to main panel

Was asked by AMX and FMX last cycle to move unmount cold to button panel from user screen because users click unmount and have to wait a long time to warm up and cool down. Instead we have end visit button that will unmount and warm up.
This button will be hopefully used in the future where use it to indicate they have finished. We can potentially automatically kick off queued auto collections thereby using all the photons

seeing this, it is clear that we will need to have some LSDC-specific code that should run at the end of an experiment, so we should create a function in start_bs (or a similar place but more of a library) that can call LSDC clean-up functions, as well as a more general function that could be in somewhere like nslsii (I will send an example of a repo that is doing something like this)


fix_recompute_bug

目的：解决Imagen 256 超分模型在recompute下报错问题
临时方案：在 fused_allreduce_gradients 之前添加 m = self._module.model.state_dict() 可以临时解决该问题

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.duanboqiang seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Update DNS discovery to better match ETCD documentation.

Hi,
I've made a little change to better match the documentation available here. It will now search for __etcd-client.tcp.domain instead of __etcd.tcp.domain. I did not had time to implement searching for _etcd-client-ssl first and if there's an error, search for _etcd-client although I've exposed a flag to use it if people want to.
Thanks for the work.
Sebastien

Coverage decreased (-0.4%) to 87.855% when pulling 209661318fa817ceb6409d9d66e3f5eb1c93d049 on sebastienc:dns_discovery into 18c75196ffd04b3104f3ba44356ec1fcbcc4d09a on jplana:master.

Alright, I'll make the changes.
On Sat, Jun 17, 2017 at 06:12 Giuseppe Lavagetto<EMAIL_ADDRESS>wrote:

@lavagetto requested changes on this pull request.
Thanks for the patch, but I think it needs some restructuring.
In src/etcd/client.py
https://github.com/jplana/python-etcd/pull/242#discussion_r122565702:

@@ -65,7 +65,8 @@ def init(
use_proxies=False,
expected_cluster_id=None,
per_host_pool_size=10,

       lock_prefix="/_locks"

       lock_prefix="/_locks",

       srv_use_ssl=False

we already have 'protocol' that can be used instead of a new parameter
In src/etcd/client.py
https://github.com/jplana/python-etcd/pull/242#discussion_r122565748:

@@ -223,8 +226,11 @@ def _set_version_info(self):
self._version = version_info['etcdserver']
self._cluster_version = version_info['etcdcluster']

def _discover(self, domain):

   srv_name = "_etcd._tcp.{}".format(domain)

def _discover(self, domain, use_ssl=False):

I don't like this change as it breaks compatibility with the previous
version.
I would make discovery first search for the new alias, then fallback to
the old one if discovery returns nothing.
Historically we had client SRV support before the official client, and we
went with the same key that confd is using. I still see a lot of people
might want to preserve that old name.
It should be fairly easy to implement too.
Also, since we save protocol in self.protocol, use that instead of adding
a parameter.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jplana/python-etcd/pull/242#pullrequestreview-44697511,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABe084qubhqHSFp542fj7G-oDvbuOf4Fks5sE6ZzgaJpZM4NrsxQ
.

Coverage decreased (-0.2%) to 87.905% when pulling 7e859ab4bb194a8f5d9cc2f1bff6b8241bf2e36d on sebastienc:dns_discovery into 001d85ebdebd12317a999a70284f1a89a09fea79 on jplana:master.

Hi, is this better?


[BUG] Updation of inverseDependencyMap is incorrect when widget dynamically updates binding

Table widget V2 evaluation issue
Observation
When a theme value (ex, color) is changed , the value is not getting reflected on the newly added column unless the page is refreshed. I dug a little bit and found out that the data tree difference is not getting calculated properly in this case. Could someone help me debug the issue?
Steps to reproduce
https://user-images.githubusercontent.com/23132741/175926899-ae2cd92e-9643-48e3-a3ea-607f4faf1655.mov
updateDepedencyMap -> DataTreeDiff.NEW case -> didn't updated inverse dependencyMap as !isDynamicLeaf = false.

Issue not related to the Table widget.
InverseDependencyMap in DatatreeEvaluator is not getting updated when a widget updates its property with dynamic values in an update hook during updateDataTree flow. Temporarily patched this issue from Table v2 side by setting a non-dynamic value property along with other dynamic properties, which makes the evaluations to recompute the InverseDependencyMap. However this needs to be fixed in DatatreeEvaluator.

@satbir121 could you triage this issue?

There was a workaround implemented for this issue. It doesn't exist anymore.


Look into using x-ignore instead of attribute renaming

This could massively simplify how we handle disabling/enabling Alpine, depending on how it handles x-ignore.
It could also unlock #11, if Alpine checks the live node for x-ignore rather than relying on the NodeList passed with the MutationEvent.

Experimented a little with this and a few things are of note:

Works well for simple use cases. Adding x-ignore to an x-data will stop all children from running.
As it stops all children, we would not be able to load a child before all parents
Doesn't help with #11, Alpine uses the static NodeList which prevents us from intercepting mutations.

This would be used with the reengineering as proposed in #11. The breaking of parent loading strategy is unfortunate but makes Async Alpine much easier to manage, maintain, and the dynamic content issue is a priority.

This has been implemented in the beta 0.4 — #20


Updated config-sample.yaml

Describe the bug
An updated sample config file containing prometheus identity settings and other newly introduced features should be shared. We have to try to understand how to use it from the commits.
The updated config file would be more useful for new users too.

sorry I'm not following which parts. do you mind opening a PR for it?


Improved Fake Serial device used by unit tests

This PR proposes a number of improvements to the Fake Serial device which is used by the python-xbee unit tests to simulate a serial device.

Merged FakeDevice and FakeReadDevice into one.
Added defaults for port, baudrate, timeout, xonxoff etc.
Added readline() function.
Added set_read_data() to set the data to be used by read() and readline().
Added get_settings() Get a dictionary with port settings.
Added get_data_written() returns data passed to write().
Added further docstring comments.

The reason for these improvements are to support PR #27 which I am which adds support to base.py to attempt to recover from serial failure or unplug. In order for this to work I needed to embellish the Fake.py test device.

I was also considering whether it would also be appropriate to rename the file 'Fake.py' to 'fakeSerial.py' (along with all its refs) to make it more obvious what it is. If you think this a good idea I can do this in a subsequent PR.

Hi @hansmosh Please consider this PR for inclusion upstream. This PR improves (and simplifies some of the python-xbee tests.

Hi @pmalmsten This PR may be of interest to you also?

Chris?

@jamesleesaunders: My bad, I wasn't getting notifications from GitHub about this. I'll take a look this week.

Did you get a chance to review?

@hansmosh Thanks for looking at this PR, I am glad you like the merging of the fake serial devices. I have made the requested changes.
The reason for this, was that I did start to replace a couple of the now deprecated pySerial functions with their newer counterparts (https://pythonhosted.org/pyserial/pyserial_api.html?highlight=inwaiting#serial.Serial.inWaiting)...

inWaiting() -> in_waiting()
getSettingsDict() -> get_settings()
...but then I thought better of it and that I had best not meddle too much, and to ensure python-xbee is backwards compatible with pre pySerial 3.0 we should stick with the older function names. The one you spotted was one I forgot to revert back (good spot!).

@hansmosh Happy New Year!
I have made the requested change, can this be merged in now?


feat(context): support sse

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 34 (0.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.2%) to 9.413%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

context.go
0
5
0.0%

components/context/see/body.go
0
29
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.2%

Covered Lines:
149

Relevant Lines:
1583

💛  - Coveralls


[WC-1017] Update rich text documentation

Updated documentation for Rich text editor

@Luyao-Zhang-1 @Adam-Dupaski There are still some changes necessary here (from tech side + to align with other docs), we'll let you know when this is ready to be reviewed by the docs team.

@Luyao-Zhang-1 all yours now 😄


Should we offer special proxies to arrays, maps, etc., for altering their views?

Low priority - this is more of a thought experiment than a must-have.
Containers do not fit well in the proxy model.  Suppose I have an array k which the "wet" object graph should see as [A, B, C], and the dry object graph should see as [A, D, E, C, B], where each capital letter represents an object or a proxy.  Suppose also the wet object graph has access to the membrane and the dry object graph does not.
Looking up k[2], or even k.length, then becomes quite a challenge in any object graph.
If the array comes from the wet graph, and the dry graph can alter it at any time:

how would the wet graph safely store the changes that the dry graph has made?
how would the dry graph safely show changes the wet graph wants to propagate?
how would the wet graph hide changes from the dry graph that it doesn't want to propagate?

In these cases, the membrane can help a little by providing a 'manager' object for the container, provided the wet object graph surrenders control of the original container to the membrane.  The 'manager' object would live in a third, hidden object graph -- but its contents would come from one of the first two object graphs.
What would then happen is any operations on the proxies -- in the wet or dry graphs -- is then propagated to the special manager object actually tracking changes to the array.  Then the proxies control what their respective object graphs see.
The problem with this approach is if the array comes from the dry graph.  Objects in the dry graph don't have access to the membrane, so they can't create a manager object.  More to the point, the script providing the dry graph and the array owns the array - which means the wet graph can't just replace the array in memory with a proxy if the dry graph is running as pure JavaScript.  This means changes to the array on the dry graph do not necessarily cross over to the wet graph in this model.  Proxies can track changes to real objects they own, but in this case, the wet proxy doesn't own the dry array.
If the membrane or the wet graph is providing the "sandbox" execution environment for the dry side (say, by parsing and rewriting the script on the fly, or by running the dry code through a modified interpreter or JIT engine), then this can be fixed by redefining how the sandbox implements an array in the first place.  But that's a big if, and far more complex than I know how to do right now.
The only way to make sure a dry array can have its changes tracked on the wet side, safely, is if the API of the wet object graph completely assumes ownership of the array, and forces the dry side to accept a proxy.  By defining it this way in the API, the dry object graph's users are responsible for being out of sync if they use their own array after passing control to the wet graph.  (Internally, the wet object graph should pass ownership of the array to the membrane's hidden graph as described above and take ownership of a proxy to the array.)
Finally, this is just talking about arrays.  There's other containers to worry about:  maps and sets of both the strong and weak types, for starters.

Dr. Mark Miller describes this as the "modify through views" problem, for which there is no good general solution.

Reopening:  this should be documented somewhere in the Membrane manual.

I'm beginning to design what I believe to be a solution to this problem, for whitelisting membranes, one that leverages the design of es-membrane cleverly.
Firstly, containers have to be recognized as two special cases:

Map, WeakMap, Set and WeakSet are unordered containers, where the keys and values are not exposed directly.
Arrays are ordered containers, where the (primary) keys are very specifically non-negative integers, and operations like push, pop, splice, etc. can change the whole array's appearance

The first idea towards a solution would be to create JavaScript objects to use as prototypes which re-implement the container API's appropriately (and completely), following the current model of "either the membrane as a whole, or the source object graph and the target object graph in concurrence, must approve what the membrane proxy exposes through the API."  These prototypes would replace Map.prototype, WeakMap.prototype, Set.prototype, WeakSet.prototype, and Array.prototype as appropriate on the wrapped proxies.
An open question exists as to propagating these special setPrototypeOf calls to the original containers.  Another is about whether these prototypes should inherit from the matching container's prototype, or merely be a peer to the container prototype (inheriting directly from Object.prototype).  The can of worms that might exist from a container that inherits from another derived prototype of a container bears some thought...
This first idea misses a key point:  ownership of the underlying collection object.  Specifically, if the "wet" object graph owns a Map directly, it can make changes to the contents of the Map that - depending on the settings - should or should not be visible to the "dry" object graph's equivalent.  Unfortunately, when the "wet" owner of an array directly sets a property of the array, there's no way to know that has happened.  (Netscape proposed Object.prototype.watch for this purpose, but it never became part of the ECMAScript standard.)
The second idea then is that the "wet" object graph should surrender ownership of the container to the membrane, through a special API.  Instead, the "wet" object graph also gets a membrane proxy to the container... and the container is actually stored in an anonymous object graph owned only by the membrane.  The "original" container object would be a manager Proxy which is aware of the Membrane and its API's, but not a proxy with an ObjectGraphHandler as its handler.
This manager proxy's whole purpose is to manage the data belonging to the container, for all object graphs.  It tracks API calls such as map.set() or array[4], and returns the right element for the right object graph.
The connection between the original iterable and the real data source looks like this:
const wetMap = membrane.buildContainerProxy(iterable); // returns a proxy to hiddenProxy below
// wetGraphProxy -> wetGraph -> | membrane | -> hiddenGraph -> hiddenProxy -> managerProxy -> dataStructure(iterable)

Obviously this is very complicated.  I think the best illustrations will be code examples and tests, lots of them.  It's going to make the GUI configuration tool more complicated as well.  I think this overall will require its own milestone to accomplish.
https://github.com/ajvincent/es-membrane/tree/master/source/containers
https://github.com/ajvincent/es-membrane/tree/master/spec/containers

The illustration of XML entity references was lost on the general audience, so I came up with another:  boxes of apples.  If I have a thin box of apples, such that apples can only be to the left or the right of each other, that might represent Alice's view of the apples.  But Bob may want to insert a smaller box around some of the apples.  To Alice, that inner box doesn't exist, just the apples as members of the outer box.


Controller bombed with mutate/validate webhook events

Controller Version
0.25.1
Helm Chart Version
0.20.1
CertManager Version
1.8.1
Deployment Method
Helm
cert-manager installation
We had already installed cert-manager separately from ARC through its official Helm chart.
Checks

[X] This isn't a question or user support case (For Q&A and community support, go to Discussions. It might also be a good idea to contract with any of contributors and maintainers if your business is so critical and therefore you need priority support
[X] I've read releasenotes before submitting this issue and I'm sure it's not due to any recently-introduced backward-incompatible changes
[X] My actions-runner-controller version (v0.x.y) does support the feature
[X] I've already upgraded ARC (including the CRDs, see charts/actions-runner-controller/docs/UPGRADING.md for details) to the latest and it didn't fix the issue

Resource Definitions
apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerDeployment
metadata:
  name: ga-runner-deployment-quick
  namespace: system-actions-runner
spec:
  template:
    spec:
      labels:
        - quick
        - gwi-hosted
      organization: <hidden>
      # Run single container
      dockerdWithinRunnerContainer: true
      image: summerwind/actions-runner-dind:v2.294.0-ubuntu-20.04-e3deb0d
      env: []
      tolerations:
      - effect: NoSchedule
        key: dedicated
        operator: Equal
        value: github_actions
      - effect: NoSchedule
        key: type
        operator: Equal
        value: quick
      nodeSelector:
        role: github-actions-runners
        type: quick
      resources:
        limits:
          cpu: 2
          memory: 4Gi
        requests:
          cpu: 2
          memory: 4Gi

---

apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerDeployment
metadata:
  name: ga-runner-deployment-default
  namespace: system-actions-runner
spec:
  template:
    spec:
      labels:
        - gwi-hosted
      organization: <hidden>
      # Run single container
      dockerdWithinRunnerContainer: true
      image: summerwind/actions-runner-dind:v2.294.0-ubuntu-20.04-e3deb0d
      env: []
      tolerations:
      - effect: NoSchedule
        key: dedicated
        operator: Equal
        value: github_actions
      - effect: NoSchedule
        key: type
        operator: Equal
        value: default
      nodeSelector:
        role: github-actions-runners
        type: default
      resources:
        limits:
          cpu: 3
          memory: 6Gi
        requests:
          cpu: 3
          memory: 6Gi

---

apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerDeployment
metadata:
  name: ga-runner-deployment-performance
  namespace: system-actions-runner
spec:
  template:
    spec:
      labels:
        - performance
        - gwi-hosted
      organization: <hidden>
      # Run single container
      dockerdWithinRunnerContainer: true
      image: summerwind/actions-runner-dind:v2.294.0-ubuntu-20.04-e3deb0d
      env: []
      tolerations:
      - effect: NoSchedule
        key: dedicated
        operator: Equal
        value: github_actions
      - effect: NoSchedule
        key: type
        operator: Equal
        value: performance
      nodeSelector:
        role: github-actions-runners
        type: performance
      resources:
        limits:
          cpu: 4
          memory: 10Gi
        requests:
          cpu: 4
          memory: 10Gi

---

apiVersion: actions.summerwind.dev/v1alpha1
kind: HorizontalRunnerAutoscaler
metadata:
  namespace: system-actions-runner
  name: ga-runner-deploy-autoscaler-quick
spec:
  scaleTargetRef:
    name: ga-runner-deployment-quick
  scaleUpTriggers:
  - githubEvent:
      workflowJob: {}
    amount: 1
    duration: "5m"
  minReplicas: 2
  maxReplicas: 30

---

apiVersion: actions.summerwind.dev/v1alpha1
kind: HorizontalRunnerAutoscaler
metadata:
  namespace: system-actions-runner
  name: ga-runner-deploy-autoscaler-default
spec:
  scaleTargetRef:
    name: ga-runner-deployment-default
  scaleUpTriggers:
  - githubEvent:
      workflowJob: {}
    amount: 1
    duration: "5m"
  minReplicas: 2
  maxReplicas: 30

---

apiVersion: actions.summerwind.dev/v1alpha1
kind: HorizontalRunnerAutoscaler
metadata:
  namespace: system-actions-runner
  name: ga-runner-deploy-autoscaler-performance
spec:
  scaleTargetRef:
    name: ga-runner-deployment-performance
  scaleUpTriggers:
  - githubEvent:
      workflowJob: {}
    amount: 1
    duration: "5m"
  minReplicas: 2
  maxReplicas: 30

To Reproduce
1. Deploy the latest version through Helm chart.
2. Make sure that the RunnerDeployment and HorizontalRunnerAutoscaler resources have been created correctly.
3. Send some traffic to those pods
4. Check the controller logs `kubectl logs -f <pod-id> manager`

Describe the bug
Controller gets bombed with info and debug statements, maybe a few thousands lines of evens per second. No errors with a quick glance (code is 200), but the same RunnerDeployment pods trigger the same requests again and again, a few hundred of times per second. This can't be right, and is a different behaviour from Chart v0.18 (controller v0.23.0) that we were previously trying.
If this is the correct behaviour with just a few pods and no traffic, how will the system behave when it scales with many pipelines?
Describe the expected behavior
This is a fresh installation to our production systems. Previously, we were testing waters on a testing cluster using Chart v0.18 (controller v.0.23.0), which didn't have the same behaviour. Attached logs for both controller versions.
Controller Logs
Controller logs for 0.25.1: (logs cover the first ~1.30' of the pod creation in order to make the gist smaller to read ): https://gist.github.com/Diontsoumas/ecca7ad85648c0bffe9c3980e166eb49#file-controller-logs-0-20

Controller logs for 0.23.0:
https://gist.github.com/Diontsoumas/ecca7ad85648c0bffe9c3980e166eb49#file-controller-logs-0-18

Runner Pod Logs
N/A

Additional Context
N/A

@Diontsoumas Hey! Thanks for reporting.
Unfortunately, I couldn't reproduce this.
Can you clarify a bit more on the 1. Deploy the latest version through Helm chart. part?
What's the exact command you run and your values.yaml?
What's your K8s version?
Also, at glance, I see a lot of mutating and validating webhook responses in your logs. They do happen every time any K8s client or ARC updates any ARC-related custom resource(including Runner, RunnerSet, RunnerDeployment, and so on).
But the fact that I only see repeating mutating/validating webhook execution logs only for two RunnerReplicaSets, ga-runner-deployment-quick-4vls7 and ga-runner-deployment-performance-d5hd, even though you have other RunnerDeployment named ga-runner-deployment-default, is redherring.
What do you see if you removed all the HRAs and RDs related to the quick and performance runners? Does the issue reproduce when you only have either performance or quick configurations, without the default configuration?

Thank you for the fast response @mumoshu! Kubernetes version is 1.21, on GKE. We use the Helm provider through Terraform:
resource "helm_release" "actions_runner_controller" {   name             = "actions-runner-controller"   repository       = "https://actions-runner-controller.github.io/actions-runner-controller"   namespace        = system-actions-runner   chart            = "actions-runner-controller"   version          = "0.20.1"   cleanup_on_fail  = true   atomic           = true   lint             = true   timeout          = "300"   create_namespace = false   values = [     "${file("controller-values.yaml")}",   ] }
The controller-values.yaml is the following:
``
githubWebhookServer:
enabled: true
service:
type: NodePort
ingress:
enabled: true
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "true"
cert-manager.io/cluster-issuer: letsencrypt-production
ingressClassName: nginx-external
hosts:
- host:
paths:
- path: "/"
pathType: ImplementationSpecific
tls:
- secretName: ga-external-tls
hosts:
-
metrics:
serviceMonitor: true
labels:
external-dns/create-records: '"yes"'
``
Both the terraform block and the values are trivial. I will run the tests that you asked and will report shortly :)

Controller logs for 0.20

Controller logs for 0.18

Are those really controller versions?
Both of those seems to conflict with what you've written in the form 🤔

Controller Version
0.25.1

@Diontsoumas Are there other custom K8s controllers and operators in your cluster? One of the possible causes of issues like this one is that some other controller is continuously mutating runnerreplicasets for whatever reason I don't know.

@Diontsoumas Hey! Two questions if you don't mind. I'm really confused how issues like this can happen.

Previously, we were testing waters on a testing cluster using v0.18

Assuming it's the chart version, does the chart of ver 0.20.1 work on the testing cluster? What's the difference between the testing and the production clusters?

No you are right, the controller logs point to the Helm version (I will edit my post to update the info). So to clarify things:

We were testing Chart 0.18 -> controller v0.23.0
Production now runs Chart 0.20.1 -> controller v0.25.1

Test 1: Multiple RunnerDeployments ga-runner-deployment-default, ga-runner-deployment-quick without HRD
Result: Controller logs look normal. No much logs, since HRD is not in place.
2022-07-13T11:33:23Z	DEBUG	actions-runner-controller.runner	Runner appears to have been registered and running.	{"runner": "system-actions-runner/ga-runner-deployment-quick-hbbm6-sb9b4", "podCreationTimestamp": "2022-07-13 11:33:21 +0000 UTC"}

Test 2: Multiple RunnerDeployments ga-runner-deployment-default, ga-runner-deployment-quick with single HRD on ga-runner-deployment-default
Before triggering pipelines, everything looks normal:
2022-07-13T11:47:38Z	DEBUG	actions-runner-controller.runner	Runner appears to have been registered and running.	{"runner": "system-actions-runner/ga-runner-deployment-default-hzrmm-w777j", "podCreationTimestamp": "2022-07-13 11:47:37 +0000 UTC"}
2022-07-13T11:48:30Z	DEBUG	actions-runner-controller.horizontalrunnerautoscaler	Calculated desired replicas of 2	{"horizontalrunnerautoscaler": "system-actions-runner/ga-runner-deploy-autoscaler-default", "suggested": 2, "reserved": 0, "min": 2, "max": 30, "last_scale_up_time": "2022-07-13 11:47:36 +0000 UTC", "scale_down_delay_until": "2022-07-13T11:57:36Z"}

After triggering a single pipeline, which sites on the quick pod, everything goes crazy. Interestingly, requests display the default pods now (the ones that HorizontalRunnerAutoscaler scales)
2022-07-13T11:49:10Z	DEBUG	actions-runner-controller.horizontalrunnerautoscaler	Calculated desired replicas of 3	{"horizontalrunnerautoscaler": "system-actions-runner/ga-runner-deploy-autoscaler-default", "suggested": 2, "reserved": 1, "min": 2, "max": 30}
2022-07-13T11:49:10Z	DEBUG	controller-runtime.webhook.webhooks	received request{"webhook": "/mutate-actions-summerwind-dev-v1alpha1-runnerdeployment", "UID": "2bd08c9d-9554-4eff-8809-ec5e2fef7bea", "kind": "actions.summerwind.dev/v1alpha1, Kind=RunnerDeployment", "resource": {"group":"actions.summerwind.dev","version":"v1alpha1","resource":"runnerdeployments"}}
2022-07-13T11:49:10Z	DEBUG	controller-runtime.webhook.webhooks	wrote response	{"webhook": "/mutate-actions-summerwind-dev-v1alpha1-runnerdeployment", "code": 200, "reason": "", "UID": "2bd08c9d-9554-4eff-8809-ec5e2fef7bea", "allowed": true}
2022-07-13T11:49:10Z	DEBUG	controller-runtime.webhook.webhooks	received request{"webhook": "/validate-actions-summerwind-dev-v1alpha1-runnerdeployment", "UID": "5808286a-319e-4261-aa08-6c06047535e5", "kind": "actions.summerwind.dev/v1alpha1, Kind=RunnerDeployment", "resource": {"group":"actions.summerwind.dev","version":"v1alpha1","resource":"runnerdeployments"}}
2022-07-13T11:49:10Z	INFO	runnerdeployment-resource	validate resource to be updated	{"name": "ga-runner-deployment-default"}
2022-07-13T11:49:10Z	DEBUG	controller-runtime.webhook.webhooks	wrote response	{"webhook": "/validate-actions-summerwind-dev-v1alpha1-runnerdeployment", "code": 200, "reason": "", "UID": "5808286a-319e-4261-aa08-6c06047535e5", "allowed": true}
2022-07-13T11:49:10Z	DEBUG	actions-runner-controller.horizontalrunnerautoscaler	Calculated desired replicas of 3	{"horizontalrunnerautoscaler": "system-actions-runner/ga-runner-deploy-autoscaler-default", "suggested": 2, "reserved": 1, "min": 2, "max": 30, "last_scale_up_time": "2022-07-13 11:49:10 +0000 UTC", "scale_down_delay_until": "2022-07-13T11:59:10Z"}

So it's clear that the HorizontalRunnerAutoscaler is somehow involved.
Test 3: Single RunnerDeployment ga-runner-deployment-default with single HRD on ga-runner-deployment-default
Results are the same, logs are getting crazy.
Next test is to install helm v0.28 (controller v0.23.0) to production cluster and rerun all the above.
To answer your questions, the two clusters shouldn't be much different. Both of them have things like the Prometheus operator or the nginx Ingress controller. Is there a way to check for older leftover controllers?

Things look much more stable with controller v0.23.0. All 3 RunnerDeployments with their own HorizontalRunnerAutoscalers on the production cluster look fine in logs. Every minute or so, I see:
2022-07-13T12:42:05Z	DEBUG	actions-runner-controller.horizontalrunnerautoscaler	Calculated desired replicas of 3	{"horizontalrunnerautoscaler": "system-actions-runner/ga-runner-deploy-autoscaler-performance", "suggested": 2, "reserved": 1, "min": 2, "max": 30, "last_scale_up_time": "2022-07-13 12:38:42 +0000 UTC", "scale_down_delay_until": "2022-07-13T12:48:42Z"}
2022-07-13T12:42:05Z	DEBUG	controller-runtime.webhook.webhooks	received request{"webhook": "/mutate-actions-summerwind-dev-v1alpha1-runnerdeployment", "UID": "481bfc99-cb58-4f8f-9480-e33535376001", "kind": "actions.summerwind.dev/v1alpha1, Kind=RunnerDeployment", "resource": {"group":"actions.summerwind.dev","version":"v1alpha1","resource":"runnerdeployments"}}
2022-07-13T12:42:05Z	DEBUG	controller-runtime.webhook.webhooks	wrote response	{"webhook": "/mutate-actions-summerwind-dev-v1alpha1-runnerdeployment", "code": 200, "reason": "", "UID": "481bfc99-cb58-4f8f-9480-e33535376001", "allowed": true}
2022-07-13T12:42:05Z	DEBUG	controller-runtime.webhook.webhooks	received request{"webhook": "/validate-actions-summerwind-dev-v1alpha1-runnerdeployment", "UID": "c7d4fc9d-2360-4ad9-b0d7-269113575f8a", "kind": "actions.summerwind.dev/v1alpha1, Kind=RunnerDeployment", "resource": {"group":"actions.summerwind.dev","version":"v1alpha1","resource":"runnerdeployments"}}
2022-07-13T12:42:05Z	INFO	runnerdeployment-resource	validate resource to be updated	{"name": "ga-runner-deployment-performance"}
2022-07-13T12:42:05Z	DEBUG	controller-runtime.webhook.webhooks	wrote response	{"webhook": "/validate-actions-summerwind-dev-v1alpha1-runnerdeployment", "code": 200, "reason": "", "UID": "c7d4fc9d-2360-4ad9-b0d7-269113575f8a", "allowed": true}
2022-07-13T12:42:05Z	DEBUG	actions-runner-controller.horizontalrunnerautoscaler	Calculated desired replicas of 2	{"horizontalrunnerautoscaler": "system-actions-runner/ga-runner-deploy-autoscaler-default", "suggested": 2, "reserved": 0, "min": 2, "max": 30, "last_scale_up_time": "2022-07-13 12:38:14 +0000 UTC", "scale_down_delay_until": "2022-07-13T12:48:14Z"}
2022-07-13T12:42:05Z	DEBUG	actions-runner-controller.horizontalrunnerautoscaler	Calculated desired replicas of 2	{"horizontalrunnerautoscaler": "system-actions-runner/ga-runner-deploy-autoscaler-quick", "suggested": 2, "reserved": 0, "min": 2, "max": 30, "last_scale_up_time": "2022-07-13 12:38:14 +0000 UTC", "scale_down_delay_until": "2022-07-13T12:48:14Z"}

I run 2-3 pipelines to confirm that things are stable. Can this somehow be a side effect of Webhook-based scaling is even more reliable fix in v0.25.1?

Same issue
{"level":"info","ts":"2022-07-14T09:20:16Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-n8xvz"}
{"level":"info","ts":"2022-07-14T09:20:16Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-tools-phlrd"}
{"level":"info","ts":"2022-07-14T09:20:16Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-large-4bfvk"}
{"level":"info","ts":"2022-07-14T09:20:16Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-n8xvz"}
{"level":"info","ts":"2022-07-14T09:20:16Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-tools-phlrd"}
{"level":"info","ts":"2022-07-14T09:20:16Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-large-4bfvk"}
{"level":"info","ts":"2022-07-14T09:20:16Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-n8xvz"}
{"level":"info","ts":"2022-07-14T09:20:16Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-tools-phlrd"}
{"level":"info","ts":"2022-07-14T09:20:17Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-large-4bfvk"}
{"level":"info","ts":"2022-07-14T09:20:17Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-n8xvz"}
{"level":"info","ts":"2022-07-14T09:20:17Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-tools-phlrd"}
{"level":"info","ts":"2022-07-14T09:20:17Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-large-4bfvk"}
{"level":"info","ts":"2022-07-14T09:20:17Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-n8xvz"}
{"level":"info","ts":"2022-07-14T09:20:17Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-tools-phlrd"}
{"level":"info","ts":"2022-07-14T09:20:17Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-large-4bfvk"}
{"level":"info","ts":"2022-07-14T09:20:17Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-n8xvz"}
{"level":"info","ts":"2022-07-14T09:20:17Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-tools-phlrd"}
{"level":"info","ts":"2022-07-14T09:20:17Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-large-4bfvk"}
{"level":"info","ts":"2022-07-14T09:20:17Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-n8xvz"}
{"level":"info","ts":"2022-07-14T09:20:17Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-tools-phlrd"}
{"level":"info","ts":"2022-07-14T09:20:17Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-large-4bfvk"}
{"level":"info","ts":"2022-07-14T09:20:17Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-n8xvz"}
{"level":"info","ts":"2022-07-14T09:20:17Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-tools-phlrd"}
{"level":"info","ts":"2022-07-14T09:20:17Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-large-4bfvk"}
{"level":"info","ts":"2022-07-14T09:20:17Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-n8xvz"}
{"level":"info","ts":"2022-07-14T09:20:17Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-tools-phlrd"}
{"level":"info","ts":"2022-07-14T09:20:17Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-large-4bfvk"}
{"level":"info","ts":"2022-07-14T09:20:17Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-n8xvz"}
{"level":"info","ts":"2022-07-14T09:20:18Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-tools-phlrd"}
{"level":"info","ts":"2022-07-14T09:20:18Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-large-4bfvk"}
{"level":"info","ts":"2022-07-14T09:20:18Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-n8xvz"}
{"level":"info","ts":"2022-07-14T09:20:18Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"resource-tools-phlrd"}

In GKE with version: 1.22.8-gke.202
arc installed via helm from
    app.kubernetes.io/version: 0.25.1
    helm.sh/chart: actions-runner-controller-0.20.1

@mumoshu reproduced with update
-github_runner_controller_version: 0.18.0
+github_runner_controller_version: 0.20.1
``

before enable github webhook logs looks normal, but after enabling I see this in logs

{"level":"debug","ts":"2022-07-14T09:57:20Z","logger":"controller-runtime.webhook.webhooks","msg":"received request","webhook":"/mutate-actions-summerwind-dev-v1alpha1-runnerreplicaset","UID":"36dfb3c5-491c-477d-ad5e-0a35d4f543f4","kind":"actions.summerwind.dev/v1alpha1, Kind=RunnerReplicaSet","resource":{"group":"actions.summerwind.dev","version":"v1alpha1","resource":"runnerreplicasets"}}
{"level":"debug","ts":"2022-07-14T09:57:20Z","logger":"controller-runtime.webhook.webhooks","msg":"wrote response","webhook":"/mutate-actions-summerwind-dev-v1alpha1-runnerreplicaset","code":200,"reason":"","UID":"36dfb3c5-491c-477d-ad5e-0a35d4f543f4","allowed":true}
{"level":"debug","ts":"2022-07-14T09:57:20Z","logger":"controller-runtime.webhook.webhooks","msg":"received request","webhook":"/validate-actions-summerwind-dev-v1alpha1-runnerreplicaset","UID":"06dc355e-ae6a-49ad-8618-71e1adf0cc22","kind":"actions.summerwind.dev/v1alpha1, Kind=RunnerReplicaSet","resource":{"group":"actions.summerwind.dev","version":"v1alpha1","resource":"runnerreplicasets"}}
{"level":"info","ts":"2022-07-14T09:57:20Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"arc-job-dev-gwrkq"}
{"level":"debug","ts":"2022-07-14T09:57:20Z","logger":"controller-runtime.webhook.webhooks","msg":"wrote response","webhook":"/validate-actions-summerwind-dev-v1alpha1-runnerreplicaset","code":200,"reason":"","UID":"06dc355e-ae6a-49ad-8618-71e1adf0cc22","allowed":true}
{"level":"debug","ts":"2022-07-14T09:57:20Z","logger":"controller-runtime.webhook.webhooks","msg":"received request","webhook":"/mutate-actions-summerwind-dev-v1alpha1-runnerreplicaset","UID":"4167028a-930a-4e75-809e-ebde279742fb","kind":"actions.summerwind.dev/v1alpha1, Kind=RunnerReplicaSet","resource":{"group":"actions.summerwind.dev","version":"v1alpha1","resource":"runnerreplicasets"}}
{"level":"debug","ts":"2022-07-14T09:57:20Z","logger":"controller-runtime.webhook.webhooks","msg":"wrote response","webhook":"/mutate-actions-summerwind-dev-v1alpha1-runnerreplicaset","code":200,"reason":"","UID":"4167028a-930a-4e75-809e-ebde279742fb","allowed":true}
{"level":"debug","ts":"2022-07-14T09:57:20Z","logger":"controller-runtime.webhook.webhooks","msg":"received request","webhook":"/validate-actions-summerwind-dev-v1alpha1-runnerreplicaset","UID":"d3315491-5e67-43ca-9154-8ce3718d3bf6","kind":"actions.summerwind.dev/v1alpha1, Kind=RunnerReplicaSet","resource":{"group":"actions.summerwind.dev","version":"v1alpha1","resource":"runnerreplicasets"}}
{"level":"info","ts":"2022-07-14T09:57:20Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"arc-job-dev-gwrkq"}
{"level":"debug","ts":"2022-07-14T09:57:20Z","logger":"controller-runtime.webhook.webhooks","msg":"wrote response","webhook":"/validate-actions-summerwind-dev-v1alpha1-runnerreplicaset","code":200,"reason":"","UID":"d3315491-5e67-43ca-9154-8ce3718d3bf6","allowed":true}
{"level":"debug","ts":"2022-07-14T09:57:20Z","logger":"controller-runtime.webhook.webhooks","msg":"received request","webhook":"/mutate-actions-summerwind-dev-v1alpha1-runnerreplicaset","UID":"44a545bf-8101-4aee-82d1-7e2f758b8cb3","kind":"actions.summerwind.dev/v1alpha1, Kind=RunnerReplicaSet","resource":{"group":"actions.summerwind.dev","version":"v1alpha1","resource":"runnerreplicasets"}}
{"level":"debug","ts":"2022-07-14T09:57:20Z","logger":"controller-runtime.webhook.webhooks","msg":"wrote response","webhook":"/mutate-actions-summerwind-dev-v1alpha1-runnerreplicaset","code":200,"reason":"","UID":"44a545bf-8101-4aee-82d1-7e2f758b8cb3","allowed":true}
{"level":"debug","ts":"2022-07-14T09:57:20Z","logger":"controller-runtime.webhook.webhooks","msg":"received request","webhook":"/validate-actions-summerwind-dev-v1alpha1-runnerreplicaset","UID":"c61e2956-6e98-4086-a626-8a01b3198a7d","kind":"actions.summerwind.dev/v1alpha1, Kind=RunnerReplicaSet","resource":{"group":"actions.summerwind.dev","version":"v1alpha1","resource":"runnerreplicasets"}}
{"level":"info","ts":"2022-07-14T09:57:20Z","logger":"runnerreplicaset-resource","msg":"validate resource to be updated","name":"arc-job-dev-gwrkq"}
{"level":"debug","ts":"2022-07-14T09:57:20Z","logger":"controller-runtime.webhook.webhooks","msg":"wrote response","webhook":"/validate-actions-summerwind-dev-v1alpha1-runnerreplicaset","code":200,"reason":"","UID":"c61e2956-6e98-4086-a626-8a01b3198a7d","allowed":true}```

@Diontsoumas Thanks a lot for the update! I was able to reproduce your issue, and #1650 is the fix that worked for me.

@mumoshu we did some more digging around and we think it's the manager that causes this loophole.
According to the logs, it tries constantly to mutate and validate the runnerreplicaset crd. We can verify this if we describe the resource in question. See the value of the generation metadata below.
apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerReplicaSet
metadata:
  creationTimestamp: "2022-07-14T10:44:23Z"
  generateName: ga-runner-deployment-default-test-
  generation: 50597

We think it's the manager that causes the loop, because if we update the actions-runner-controller-mutating-webhook-configuration (the mutation webhook), and just remove the UPDATE operation on the runnerreplicasets resource, then the log flow stops.
We believe that if it was another controller causing the issue, at least the validate webhook or CREATE on the mutate would be triggered.
By the way, we also tested controller 0.25.1 on our testing cluster and can confirm the same behaviour.

@Diontsoumas Your finding definitely looks like another data point that validates the issue and my fix 😄 Thanks for double-checking!

@mumoshu  I try to reproduce in development env

@Diontsoumas Thanks a lot for the update! I was able to reproduce your issue, and #1650 is the fix that worked for me.

thanks, this fix logging for me also

Thanks for the fix! This was why I reverted to chart 0.19.1 (app 0.24.1) but I've missed reporting.


⏮ Preprocess for quant as true for bert model

Describe your changes
Enable quantization preprocess by default for bert model, as we know that would avoid some bad samples from olive optimization for bert cases.
Checklist before requesting a review

[ ] Add unit tests for this change.
[ ] Make sure all tests can pass.
[ ] Update documents if necessary.
[ ] Format your code by running pre-commit run --all-files
[ ] Is this a user-facing change? If yes, give a description of this change to be included in the release notes.

(Optional) Issue link

Thanks! Can you update the PR description before merging with the reason for this so we have a record of it in the commit history?

done! thanks.


"prepush" does not work

Doesn't trigger my prepush npm script (also gave pre-push a try to no avail).
The pre-push hook I'm trying to trigger with husky-hg works fine through hg.
Any idea?
env info<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>on macOS v10.13.3

Looking further, it seems to me that only hooks listed in hg-hooks.json are supported, HOOKS.md suggests a lot more though. Confused...

yeah i forgot to change that. The documentation was made after I've created the hooks. Will fix that

@mateatslc should work with 0.14.4

Verified, works! Time to fix was amazing too ;)


Fix isNumeric conflict with DMD 2.072

Does not compile with DMD32 D Compiler v2.072.1
Error: std.traits.isNumeric(T)
see https://github.com/rejectedsoftware/vibe.d/pull/1523/commits/04aa8f7a38c184b918d0d82d62b6a300dd9a9652

Thanks! 👍


Remove Navbar | Logo etc.

Is there a way to hide the nav bar? Logo login and all? I am trying to use this on a WordPress site with a public folder only guests would use.
Thank you!

Hi,
You can use "add_to_head" to add some css and hide stuff that you don't use (display:none)
https://docs.filegator.io/configuration/basic.html

See https://github.com/filegator/filegator/issues/85


empty group for disable su command

The "su" command was not restricted as "group=sugroup" was missing in pam config.
Also creating new empty group will also disable "su" command for root user.
Signed-off-by: Ives Hotz<EMAIL_ADDRESS>

hi @ihotz
Thank you for this enhancement, this has been aligned with the audit role and should now be resolved under #237.
Again thank you for also rainig this on the audit section so we can keep the two aligned.
uk-bolly

Hi @ihotz
With this PR change being addedin PR #237 i will close this PR.
Once again many thanks for you assistance in highlighting these issues.
uk-bolly


New package: Microsoft.OLEDB.19 version <IP_ADDRESS>

Checklist for Pull Requests

[ ] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.6 schema?

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

Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

Installation failed with exit code -1978335226
2024-06-10 09:13:45.968 [CLI ] ShellExecute installer failed: 1603
Property(S): ErrorIcon = ErrorIco
Property(S): CA_ERRORCOUNT = 0
Property(S): Error_UninstallDependant = 1
Property(S): ErrorDialog = ErrorDlg
MSI (s) (D0:B4) [09:13:45:819]: Product: Microsoft OLE DB Driver 19 for SQL Server -- Installation failed.
2024-06-10 09:13:48.261 [CLI ] ShellExecute installer failed: 1603
MSI (s) (AC:18) [09:13:48:180]: Product: Microsoft OLE DB Driver 19 for SQL Server -- Installation failed.

Automated error analysis suggests -1978335226 may mean Install successful but system restart may be required.
Automated error analysis suggests 1603 may mean Install successful but system restart may be required. Should this be add as an InstallerSuccessCode or similar?
(Automated response - build 884.)

Automatic Validation ended with:

Installation failed with exit code -1978335226
2024-06-10 09:13:45.968 [CLI ] ShellExecute installer failed: 1603
Property(S): ErrorIcon = ErrorIco
Property(S): CA_ERRORCOUNT = 0
Property(S): Error_UninstallDependant = 1
Property(S): ErrorDialog = ErrorDlg
MSI (s) (D0:B4) [09:13:45:819]: Product: Microsoft OLE DB Driver 19 for SQL Server -- Installation failed.
2024-06-10 09:13:48.261 [CLI ] ShellExecute installer failed: 1603
MSI (s) (AC:18) [09:13:48:180]: Product: Microsoft OLE DB Driver 19 for SQL Server -- Installation failed.

Automated error analysis suggests -1978335226 may mean Install successful but system restart may be required.
Automated error analysis suggests 1603 may mean Install successful but system restart may be required. Should this be add as an InstallerSuccessCode or similar?
(Automated response - build 884.)

The installation requires prerequisite files to be installed first. Can I include this in manifest and if so, how?

@cpatrick006 please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]

Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.

@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement
Contribution License Agreement
This Contribution License Agreement (“Agreement”) is agreed to by the party signing below (“You”), and conveys certain license rights to Microsoft Corporation and its affiliates (“Microsoft”) for Your contributions to Microsoft open source projects. This Agreement is effective as of the latest signature date below.

Definitions.
“Code” means the computer software code, whether in human-readable or machine-executable form,
that is delivered by You to Microsoft under this Agreement.
“Project” means any of the projects owned or managed by Microsoft and offered under a license
approved by the Open Source Initiative (www.opensource.org).
“Submit” is the act of uploading, submitting, transmitting, or distributing code or other content to any
Project, including but not limited to communication on electronic mailing lists, source code control
systems, and issue tracking systems that are managed by, or on behalf of, the Project for the purpose of
discussing and improving that Project, but excluding communication that is conspicuously marked or
otherwise designated in writing by You as “Not a Submission.”
“Submission” means the Code and any other copyrightable material Submitted by You, including any
associated comments and documentation.
Your Submission. You must agree to the terms of this Agreement before making a Submission to any
Project. This Agreement covers any and all Submissions that You, now or in the future (except as
described in Section 4 below), Submit to any Project.
Originality of Work. You represent that each of Your Submissions is entirely Your original work.
Should You wish to Submit materials that are not Your original work, You may Submit them separately
to the Project if You (a) retain all copyright and license information that was in the materials as You
received them, (b) in the description accompanying Your Submission, include the phrase “Submission
containing materials of a third party:” followed by the names of the third party and any licenses or other
restrictions of which You are aware, and (c) follow any other instructions in the Project’s written
guidelines concerning Submissions.
Your Employer. References to “employer” in this Agreement include Your employer or anyone else
for whom You are acting in making Your Submission, e.g. as a contractor, vendor, or agent. If Your
Submission is made in the course of Your work for an employer or Your employer has intellectual
property rights in Your Submission by contract or applicable law, You must secure permission from Your
employer to make the Submission before signing this Agreement. In that case, the term “You” in this
Agreement will refer to You and the employer collectively. If You change employers in the future and
desire to Submit additional Submissions for the new employer, then You agree to sign a new Agreement
and secure permission from the new employer before Submitting those Submissions.
Licenses.

Copyright License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license in the
Submission to reproduce, prepare derivative works of, publicly display, publicly perform, and distribute
the Submission and such derivative works, and to sublicense any or all of the foregoing rights to third
parties.
Patent License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license under
Your patent claims that are necessarily infringed by the Submission or the combination of the
Submission with the Project to which it was Submitted to make, have made, use, offer to sell, sell and
import or otherwise dispose of the Submission alone or with the Project.
Other Rights Reserved. Each party reserves all rights not expressly granted in this Agreement.
No additional licenses or rights whatsoever (including, without limitation, any implied licenses) are
granted by implication, exhaustion, estoppel or otherwise.

Representations and Warranties. You represent that You are legally entitled to grant the above
licenses. You represent that each of Your Submissions is entirely Your original work (except as You may
have disclosed under Section 3). You represent that You have secured permission from Your employer to
make the Submission in cases where Your Submission is made in the course of Your work for Your
employer or Your employer has intellectual property rights in Your Submission by contract or applicable
law. If You are signing this Agreement on behalf of Your employer, You represent and warrant that You
have the necessary authority to bind the listed employer to the obligations contained in this Agreement.
You are not expected to provide support for Your Submission, unless You choose to do so. UNLESS
REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE WARRANTIES
EXPRESSLY STATED IN SECTIONS 3, 4, AND 6, THE SUBMISSION PROVIDED UNDER THIS AGREEMENT IS
PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY OF
NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
Notice to Microsoft. You agree to notify Microsoft in writing of any facts or circumstances of which
You later become aware that would make Your representations in this Agreement inaccurate in any
respect.
Information about Submissions. You agree that contributions to Projects and information about
contributions may be maintained indefinitely and disclosed publicly, including Your name and other
information that You submit with Your Submission.
Governing Law/Jurisdiction. This Agreement is governed by the laws of the State of Washington, and
the parties consent to exclusive jurisdiction and venue in the federal courts sitting in King County,
Washington, unless no federal subject matter jurisdiction exists, in which case the parties consent to
exclusive jurisdiction and venue in the Superior Court of King County, Washington. The parties waive all
defenses of lack of personal jurisdiction and forum non-conveniens.
Entire Agreement/Assignment. This Agreement is the entire agreement between the parties, and
supersedes any and all prior agreements, understandings or communications, written or oral, between
the parties relating to the subject matter hereof. This Agreement may be assigned by Microsoft.

@microsoft-github-policy-service agree


opusthreshold is in murmur.ini, not mumble.ini

I'm just pointing that because it took me a while before I realized you were talking about a file in murmur settings and not in Unity, and the file name with the opusthreshold is in murmur.ini, not in mumble.ini like you wrote in your readme.
Cheers

Seems like it's either murmur.ini or mumble-server.ini. I'll include both in the readme. Thanks for pointing this out!


port from zero-deployable-backend-sevice and make enhancement

Instead of https://github.com/commitdev/zero-aws-eks-stack/pull/152, we decided to port original backend-service into infrastructure considering of security etc.

All confirmed. In addition:

fixed Makefile with describe-secret instead of list-secret
fixed remaining interpolation-errors in TF

Please review @bmonkman


experience/6285: Hookup /validate page with new /validate endpoint

This PR modifies the /validate page in the web app to point to the newly created /validate API endpoint.
Test Steps:

Log into RS as prime admin
Make sure the "validation-service" feature flag is set
Set your org and choose "Validate" from the "Upload & Validate" menu
Upload your sample HL7 or CSV files, observing that...
4a. The display of errors, warnings or successes match when uploading same file from "Upload & Validate" -> "User Upload"
4b. No new entries result in the "Submissions" page

Changes

Include a comprehensive list of changes in this PR
(For web UI changes) Include screenshots/video of changes

Checklist
Testing

[x] Tested locally?
[ ] Ran ./prime test or ./gradlew testSmoke against local Docker ReportStream container?
[x] (For Changes to /frontend-react/...) Ran npm run lint:write?
[x] Added tests?

Process

[ ] Are there licensing issues with any new dependencies introduced?
[ ] Includes a summary of what a code reviewer should test/verify?
[ ] Updated the release notes?
[ ] Database changes are submitted as a separate PR?
[ ] DevOps team has been notified if PR requires ops support?

Linked Issues

Relateds to #6285

To Be Done
Create GitHub issues to track the work remaining, if any

#issue

Specific Security-related subjects a reviewer should pay specific attention to

Does this PR introduce new endpoints?

new endpoint A
new endpoint B

Does this PR include changes in authentication and/or authorization of existing endpoints?
Does this change introduce new dependencies that need vetting?
Does this change require changes to our infrastructure?
Does logging contain sensitive data?
Does this PR include or remove any sensitive information itself?

If you answered 'yes' to any of the questions above, conduct a detailed Review that addresses at least:

What are the potential security threats and mitigations? Please list the STRIDE threats and how they are mitigated

Spoofing (faking authenticity)

Threat T, which could be achieved by A, is mitigated by M

Tampering (influence or sabotage the integrity of information, data, or system)
Repudiation (the ability to dispute the origin or originator of an action)
Information disclosure (data made available to entities who should not have it)
Denial of service (make a resource unavailable)
Elevation of Privilege (reduce restrictions that apply or gain privileges one should not have)

Have you ensured logging does not contain sensitive data?
Have you received any additional approvals needed for this change?

lgtm once you remove a couple of unused things.
one things on the API side though, when I submit a file with no errors, only warnings, it comes back with a 400. Is that expected? The upload endpoint returns a 201 for the same file.

@doug-s-nava  Good call out. I'll have to see what's the haps there on the API side, and follow up with a ticket or fix


trainable_copy might need override_weights_file

The trainable_copy method of RankClassificationModel should probably be initialized with its self.override_weights_file. This would look like:
def trainable_copy(self) -> TrainableModel:
        return TrainableRankClassificationModel(
            self._make_model(self.pretrained_model_name_or_path, override_weights_file=self.override_weights_file),
            cached_transformers.get_tokenizer(AutoTokenizer, self.pretrained_model_name_or_path),
            self.predict_chunk
        )

I need to investigate how trainable_copy is used though to make sure this is correct.

We're passing self.model_kwargs to it, so I think this is all good.