Handlebars 4.6.0+ breaks some functionality within Express-Handlebars; any way to run runtime options?

There are new access restrictions on Objects within Handlebars since 4.6 which was released in early January 2020. The only way to ignore these new restrictions is to include runtime options to ignore them, which express-handlebars doesn't support. Is there any plan to update so that exphbs allows for runtime options?
https://github.com/wycats/handlebars.js/pull/1633
https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access
Baring that, does anyone know of a method to force exphbs to use a specific version of Handlebars (namely 4.5.3, which is the most recent revision before these new restrictions went into effect.)

Second this, adding runtime options throws. I've been trying to use npm shrimkwrap but I can't fully understand how to force handlebars' version after.

This is an issue, for all that are or will using (express-)handlebars in the newest versions.
As for my self I upgraded my kubuntu to 19.10 and with mongodb 3.6 I have had to update my npm resources because of mongoose. So with the updated express-handlebars and everything I now have the trouble of my software, based on express-handlebars, is not working anymore.

This fix referenced here is a temporary workaround. This fix was created as a fix to express-handlebars by the creators of handlebars.
https://github.com/wycats/handlebars.js/issues/1648

interesting approach
its a good way to revert the breaking changes, that way its update-save.
But I would really like to see an implementation of runtime options into express-handlebars so we can have the security buff the changes of handlebars brings.

ok, here is an other approach:
we can use the _renderTemplate hook quiet easily.
var expressHbs = require('express-handlebars');

var hbs = expressHbs.create({
    defaultLayout: 'main',
    layoutsDir: path.join(__dirname, 'views/layouts'),
    extname: 'hbs',
    partialsDir: [
      path.join(__dirname, 'public/templates'),
      path.join(__dirname, 'views/partials')
    ]
});

hbs._renderTemplate = function (template, context, options) {

    options.allowProtoMethodsByDefault = true;
    options.allowProtoPropertiesByDefault = true;

    return template(context, options);
};

or did I missed something?

ok, here is an other approach:
we can use the _renderTemplate hook quiet easily.
var expressHbs = require('express-handlebars');

var hbs = expressHbs.create({
    defaultLayout: 'main',
    layoutsDir: path.join(__dirname, 'views/layouts'),
    extname: 'hbs',
    partialsDir: [
      path.join(__dirname, 'public/templates'),
      path.join(__dirname, 'views/partials')
    ]
});

hbs._renderTemplate = function (template, context, options) {

    options.allowProtoMethodsByDefault = true;
    options.allowProtoPropertiesByDefault = true;

    return template(context, options);
};

worked for me or did I missed something?

how to implement this on express??
just i missunderstand this
i have this code:
const express = require("express");
const path = require("path");
const hbs = require("express-handlebars");
const app = express();
app.engine('.hbs',hbs({
    defaultLayout: 'main',
    layoutsDir: path.join(app.get('views'), 'layouts'),
    partialsDir: path.join(app.get('views'), 'partials'),
    extname: '.hbs'
}));
app.set('view engine', '.hbs')
`
``
and my route:
const router = require("express").Router();

const anObject = {
foo: 'bar',
bar: 'foo'
}
router.get('/', (req, res) => {
    res.render('index', {
        anObject,
        helpers: ifeqHelper
    });
});

how to implement this on express??
just i missunderstand this
i have this code:
const express = require("express");
const path = require("path");
const hbs = require("express-handlebars");
const app = express();
app.engine('.hbs',hbs({
    defaultLayout: 'main',
    layoutsDir: path.join(app.get('views'), 'layouts'),
    partialsDir: path.join(app.get('views'), 'partials'),
    extname: '.hbs'
}));
app.set('view engine', '.hbs')
`
``
and my route:
const router = require("express").Router();

const anObject = {
foo: 'bar',
bar: 'foo'
}
router.get('/', (req, res) => {
    res.render('index', {
        anObject,
        helpers: ifeqHelper
    });
});

Try the following:
const express = require("express");
const path = require("path");
const expressHandlebars = require("express-handlebars");
const app = express();

var hbs = expressHandlebars.create({
   defaultLayout: 'main',
   layoutsDir: path.join(app.get('views'), 'layouts'),
   partialsDir: path.join(app.get('views'), 'partials'),
   extname: '.hbs'
});

hbs._renderTemplate = function (template, context, options) {

   options.allowProtoMethodsByDefault = true;
   options.allowProtoPropertiesByDefault = true;

   return template(context, options);
};

app.engine('.hbs',hbs);
app.set('view engine', '.hbs')

Should be something like that, have not tested it but you should get the gist of it.
Would also be possible to do everything within the ""app.engine('.hbs', hbs({"" block but I would have to test it.
Also, are you sure that

app.engine('.hbs'

is correct?
if there are further Problems try:
app.engine('hbs'
(without the . (dot))


adding profile for Jeramiah Dooley

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

advocates/jeramiah-dooley.yml
:white_check_mark:Succeeded
View

advocates/media/profiles/jeramiah-dooley.png
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Vagrant config for development

With the complex configuration oft mentioned for development of the UI portion, it would be great if a
Vagrant configuration could be provided that specifies and assembles all that. I'd like contribute and build
the MacOS version...

@hooperbloob You are welcome to create a Vagrant VM configuration to start working on a mac build. I can create a repository in the lxi-tools github organization for that specific purpose if you like? Much in the same way we have separate repositories for snap, flatpak, etc.

Sure, you can create the repo but I'm at a loss as to the various dependencies required. Thats why I was hoping you could create the first Vagrant config for your preferred platform.  We could then adapt it for the mac and any others.

You pretty much have the dependencies and build steps described in either of the following two files:
https://github.com/lxi-tools/lxi-tools.snapcraft/blob/master/snap/snapcraft.yaml
https://github.com/lxi-tools/lxi-tools.flatpak/blob/master/io.github.lxi-tools.yaml
I expect similar steps are required in a Vagrant macos VM but instead using brew to install the various dependencies including meson. Then use meson to build e.g. liblxi and lxi-tools etc. as done in the files mentioned.
My question is, is mac os free to download and install in a Vagrant VM or docker container?

Closing issue as I'm not familiar with Vagrant and macOS. For lxi-tools to gain macOS it must be driven by someone with access to macOS.


No import suggestions

Type: Bug

Behaviour
Expected vs. Actual
When I write code, and use functions, etc not defined, I am expecting suggestions for imports in the pop-up dialog.
The popup list now only shows built-in or already defined/imported suggestions.
Steps to reproduce:

Create new Python file.

Start writing code, def test(a: Di)

Observe that there is no suggestion to import Dict from typing

Diagnostic data

Python version (& distribution if applicable, e.g. Anaconda): 3.11.0
Type of virtual environment used (e.g. conda, venv, virtualenv, etc.): Global
Value of the python.languageServer setting: Pylance

Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)

Telemetry is disabled
Experiments are disabled, only manually opted experiments are active.
LSP Notebooks experiment is enabled
LSP Notebooks interactive window support is enabled
> conda info --json
Python interpreter path: /usr/bin/python
> /usr/share/anaconda/bin/conda info --json
> /usr/share/conda/bin/conda info --json
> /bin/python ~/.vscode/extensions/ms-python.python-2022.21.13491005/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.21.13491005/pythonFiles/interpreterInfo.py
> /bin/python2 ~/.vscode/extensions/ms-python.python-2022.21.13491005/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.21.13491005/pythonFiles/interpreterInfo.py
> /usr/bin/python ~/.vscode/extensions/ms-python.python-2022.21.13491005/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.21.13491005/pythonFiles/interpreterInfo.py
> /usr/bin/python2 ~/.vscode/extensions/ms-python.python-2022.21.13491005/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.21.13491005/pythonFiles/interpreterInfo.py
Starting Pylance language server.

User Settings

languageServer: "Pylance"

formatting
• provider: "yapf"

Extension version: 2022.21.13491005
VS Code version: Code 1.74.0 (5235c6bb189b60b01b1f49062f4ffa42384f8c91, 2022-12-05T16:47:18.476Z)
OS version: Linux x64 6.0.12-300.fc37.x86_64
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
AMD Ryzen 7 3700X 8-Core Processor (16 x 2122)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: disabled_softwarevideo_encode: disabled_softwarevulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
1, 1, 1

Memory (System)
31.27GB (15.35GB free)

Process Argv
--unity-launch

Screen Reader
no

VM
0%

DESKTOP_SESSION
cinnamon

XDG_CURRENT_DESKTOP
X-Cinnamon

XDG_SESSION_DESKTOP
cinnamon

XDG_SESSION_TYPE
x11

Yes, the completion suggestions will only include symbols from the current scope.
However you can press 'ctrl+.' to request autoImport suggestions

So this was changed in some previous version? Cause I remember correctly that the auto-import suggestions used to come up with the other suggestions automatically? Could this be set through some configuration? I might get used to pressing a key instead, but right now that feels very clunky.

@heejaechang might have further info

@gregersn did you enabled python.analysis.autoImportCompletions? it is changed to off by default in recent release.
see https://github.com/microsoft/pylance-release/blob/main/README.md#settings-and-customization for more details. especially settings for indexing, auto imports and etc.

@gregersn did you enabled python.analysis.autoImportCompletions? it is changed to off by default in recent release.

I did not, thank you for the link.
Closing this issue.


Tidy up comments.

Description
This tidies up some comments.
Fixes # (issue)
Checklist:

[x] I have run ./ci/run_stable_checks.sh
[x] I have reviewed my own code
This doesn't apply. ~I have added tests – if this is a bug fix, these tests will fail if the bug is present (to stop it from cropping up again). If this is a feature, my tests prove that the feature works.~

This doesn't apply

No worries, when line items from the checklist don't apply, feel free to delete them.
Thanks for the tidying up!


Type Error on useContractFunction

I'm writing a hook for a contract, and there is type error when I run tests with @testing-library/react-hooks.  This useContractFunction is looking for the contract type from the @ethersproject/contracts installed in core even though it should be the one installed in my repo.  It causes a typing lint message to pop up, works when testing in the browser, but when testing with @testing-library/react-hooks will fail the test due to the type mismatch.
This fixes the typing error, but not sure if it's the recommended way to solve the mismatch
import { Contract } from '@ethersproject/contracts' ->  import { Contract } from '@usedapp/core/node_modules/@ethersproject/contracts'

Same here, type error when using a the ethers library directly.

Just ran into this, if you are using the ethers package, try to match it with the version installed in useDapp, currently is 5.4.1 that fixed my typing issue

I got a similar error:
  Types of property '_runningEvents' are incompatible.
    Type '{ [eventTag: string]: RunningEvent; }' is not assignable to type '{ [eventTag: string]: RunningEvent; }'. Two different types with this name exist, but they are unrelated.
      'string' index signatures are incompatible.
        Type 'RunningEvent' is not assignable to type 'RunningEvent'. Two different types with this name exist, but they are unrelated.
          Types have separate declarations of a private property '_listeners'.  TS2345

    52 |     ) ?? [];
    53 |     const {state, send} = useContractFunction(
  > 54 |         fastbtcBridge,
       |         ^
    55 |         'transferRBTCtoBTC'
    56 |     );
    57 |

@usedapp/core 0.4.7.
Tried ethers 5.4.1, 5.4.0 and 5.1.4.

Same issue @usedapp/core 0.5.1 and ethers 5.4.0.

I got a similar error:

    Types of property '_runningEvents' are incompatible.
    Type '{ [eventTag: string]: RunningEvent; }' is not assignable to type '{ [eventTag: string]: RunningEvent; }'. Two different types with this name exist, but they are unrelated.
      'string' index signatures are incompatible.
        Type 'RunningEvent' is not assignable to type 'RunningEvent'. Two different types with this name exist, but they are unrelated.
          Types have separate declarations of a private property '_listeners'.  TS2345

    26 |
    27 |     const { send: approveErc20Send, state: approveErc20State } =
  > 28 |         useContractFunction(erc20Contract, "approve", {
       |                             ^
    29 |             transactionName: "Approve ERC20 transfer",
    30 |         })

@usedapp/core 0.5.4  ethers version: 5.5.1

I got a similar error:
  Types of property '_runningEvents' are incompatible.
    Type '{ [eventTag: string]: RunningEvent; }' is not assignable to type '{ [eventTag: string]: RunningEvent; }'. Two different types with this name exist, but they are unrelated.
      'string' index signatures are incompatible.
        Type 'RunningEvent' is not assignable to type 'RunningEvent'. Two different types with this name exist, but they are unrelated.
          Types have separate declarations of a private property '_listeners'.  TS2345

    52 |     ) ?? [];
    53 |     const {state, send} = useContractFunction(
  > 54 |         fastbtcBridge,
       |         ^
    55 |         'transferRBTCtoBTC'
    56 |     );
    57 |

@usedapp/core 0.4.7. Tried ethers 5.4.1, 5.4.0 and 5.1.4.

I solved this problem.
You  remove the folder @ethersproject/contracts in node_modules or put it in a different folder from @usedapp.

@kathamas solution worked for me

I ran into the same error. How to remove the folder @ethersproject in @usedapp/core > node_modules?

You should try to replace this import:
import { Contract } from "@ethersproject/contracts"
for this:
    import {Contract} from '@usedapp/core/node_modules/@ethersproject/contracts'

@uzair011 solution seems to work for me. Removing the folder did not work.
Are there any good working examples of useDapp and React programs? Every single thing I've found doesn't compile, including the example code from the official docs.

For anyone having this issue, follow this guide: https://usedapp-docs.netlify.app/docs/Guides/Reading/Typechain
And make sure all the ethers package versions match useDapp, if you use the ones here it should work: https://github.com/TrueFiEng/useDApp/blob/f5c7a3cf394bc3c6907d7252d04987a59019ac3b/packages/example/package.json
Didn't dig into this, but if I add ethers to my packages I get this error again, if I don't include it usedapp includes it (?) and it works just fine, even if I include the same version usedapp is using I get this error.

Me and @yivlad are thinking about changing ethers to be a peer dependency of usedapp. It might fix issues like this, but introduce a little overhead for users.


Offline Playback

The ExoPlayer team demonstrated offline playback at Google I/O 2018. UAMP should implement offline playback.

Agreed!

What is the current status of this issue? Is there any update when the offline playback will be supported?


Armstorage client: FileShareItem is the same as FileShare struct in FileShareClients

Feature Request
FileShareItem is the same as FileShare struct in FileShareClients. Can we use FileShare instead? https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage#FileSharesClientListResponse

This comes from the OpenAPI spec.


Split up dataset metadata + some utils into class + methods

This does a few things:

Creates a Dataset class that has methods to instantiate itself, get a dataset, interact with the metadata, etc.
Alters some of the shape of repo + dataset objects

one big change is that all datasets have a tables attribute. Most of those are a single table, but some (notably the TPC datasets) have multiple. I found it much easier to always interact with having to pull out tables (and that field might be of length 1 or greater!)

I've pulled out file checksumming (it should be easy to add, but I think it would be better to do as a follow on, instead of pulling it in here)
We will also need to do something better with compression (especially csvs) but I want to do that in a follow on so we can be clearer about what exactly is needed + some of the possibly funny decisions about that
I've hidden most references to partitioning from the public API. We will need something like this at some point, but let's defer that for now because how we do that is a bit tricky and not just one option.

A few things I've noticed and would like to change, but haven't yet:

Calling the metadata file .ini confuses some editors, is there any reason we don't call it .json?
~The DATALOGISTIK_CACHE env var doesn't actually point to the cache it points to the parent of the cache, and the cache is always named whatever cache_dir_name is set to. Is there any reason for this? Why not let me set the exact bath to the folder the cache will be placed?~ Turns out this actually needs to be done to make the tests pass on windows without a lot of gymnastics
local-creation-date is actually a timestamp, not a date
datalogistik generate might be better as datalogistik get where it will generate (or convert) if it needs
add the tables object to each dataset, even when there is a single dataset

I'll come back to the individual comments, but for "Are you planning to address all TODOs in the future?" yeah, I was planning all of those as follow ons (either immediately for things we need to integrate with arrowbench + labs/benchmarks, or as tickets for later after the MVP is done)


Misc visual improvements

PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] infrastructure changes
[x] Other... Please describe:

Misc visual changes.
What is the current behavior?

It also fixes a bug, where an empty space was rendered in the sidebar when the link matched the subsection title
What is the new behavior?
Other information

Thanks


Fang/bridge upd

Coverage decreased (-0.06%) to 86.204% when pulling ced07b9bfcb061bd7a30620b5523f6a42f04511a on fang/bridge-upd into 65c24a2967ba8f630cdaefa40ae605d777a15588 on master.

Coverage decreased (-0.06%) to 86.204% when pulling ced07b9bfcb061bd7a30620b5523f6a42f04511a on fang/bridge-upd into 65c24a2967ba8f630cdaefa40ae605d777a15588 on master.


react-cra example as mono repo

I'm able to recreate the example of react-cra when the WORKSPACE and BUILD.bazel  file are in the same directory. But when I try and move the source files, along with the BUILD file into a sub directory and update the targets in the WORKSPACE, I'm not able to get it working. Looks like all the examples at https://github.com/aspect-build/bazel-examples have these files in the same root. Do you have an example of what the react-scripts in a subdirectory might look like?

@marsh73 What issue were you running into? I got stuck here:
bazel build //examples/cra/...
INFO: Analyzed 12 targets (1 packages loaded, 4682 targets configured).
INFO: Found 12 targets...
ERROR: /Users/ewhauser/working/monorepo/examples/cra/BUILD.bazel:46:22: ReactScripts examples/cra//build failed: (Exit 1): build__js_binary.sh failed: error executing command bazel-out/darwin_arm64-opt-exec-2B5CBBC6/bin/examples/cra/build__js_binary.sh build

Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
Could not find a required file.
  Name: index.html
  Searched in: /private/var/tmp/_bazel_ewhauser/c1fee43d9f70be2c9377b78115996411/sandbox/darwin-sandbox/3485/execroot/__main__/bazel-out/darwin_arm64-fastbuild/bin/public
INFO: Elapsed time: 12.358s, Critical Path: 9.02s
INFO: 6 processes: 6 internal.
FAILED: Build did NOT complete successfully

Because it is searching for public in the root of the execution tree.

@ewhauser
`$ pnpm build

<EMAIL_ADDRESS>build /Users/justinmarshall/Sites/bazel/b-crat-ts
bazel build //b-crat-ts:build

INFO: Analyzed target //b-crat-ts:build (1 packages loaded, 3444 targets configured).
INFO: Found 1 target...
ERROR: /Users/justinmarshall/Sites/bazel/b-crat-ts/BUILD:38:22: ReactScripts b-crat-ts/build failed: (Exit 1): build__js_binary.sh failed: error executing command bazel-out/darwin_arm64-opt-exec-2B5CBBC6/bin/b-crat-ts/build__js_binary.sh build
Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
node:internal/modules/cjs/loader:936
throw err;
^
Error: Cannot find module '/private/var/tmp/_bazel_justinmarshall/f5e311f258973dd0cf8abee717d920d9/sandbox/darwin-sandbox/7990/execroot/bazel_test/bazel-out/darwin_arm64-fastbuild/bin/package.json'
Require stack:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
at Function.Module._load (node:internal/modules/cjs/loader:778:27)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object. (/private/var/tmp/_bazel_justinmarshall/f5e311f258973dd0cf8abee717d920d9/sandbox/darwin-sandbox/7990/execroot/bazel_test/bazel-out/darwin_arm64-opt-exec-2B5CBBC6/bin/b-crat-ts/build__js_binary.sh.runfiles/bazel_test/b-crat-ts/node_modules/.aspect_rules_js/react-scripts@5.0.1_mojkb66nrb35nkdmirjres5uq4/node_modules/react-scripts/config/paths.js:28:3)
at Module._compile (node:internal/modules/cjs/loader:1105:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>]
}
Target //b-crat-ts:build failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 14.248s, Critical Path: 8.11s
INFO: 3793 processes: 2657 internal, 1136 local.
FAILED: Build did NOT complete successfully
 ELIFECYCLE  Command failed with exit code 1.`

`exec ${PAGER:-/usr/bin/less} "$0" || exit 1
Executing tests from //cra:test
node:internal/modules/cjs/loader:936
throw err;
^
Error: Cannot find module '/private/var/tmp/_bazel_justinmarshall/163ed5d9b0b7e41ae83e1e6de33407b4/sandbox/darwin-sandbox/1201/execroot/cra-workspace/bazel-out/darwin_arm64-fastbuild/bin/cra/test.sh.runfiles/cra-workspace/package.json'
Require stack:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
at Function.Module._load (node:internal/modules/cjs/loader:778:27)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object. (/private/var/tmp/_bazel_justinmarshall/163ed5d9b0b7e41ae83e1e6de33407b4/sandbox/darwin-sandbox/1201/execroot/cra-workspace/bazel-out/darwin_arm64-fastbuild/bin/cra/test.sh.runfiles/cra-workspace/cra/node_modules/.aspect_rules_js/react-scripts@5.0.1_5suwspxheqeaa4pzwyjwds45t4/node_modules/react-scripts/config/paths.js:28:3)
at Module._compile (node:internal/modules/cjs/loader:1105:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>]
}
`

I was struggling to get this to work in our production build so i cloned the examples to see if i could make my own mono repo and getting it to work... it feels close but I get the above whether i build or test. cc: @alexeagle

It's looking for package.json in the working directory, so I think you just need to chdir into the package for that relative filesystem lookup to work.
https://docs.aspect.build/aspect-build/rules_js/v1.0.0-beta.0/docs/js_binary-docgen.html#js_binary-chdir
adding chdir = package_name() to your //cra:build target seems to fix this for me.

@alexeagle you are so quick... thank you... worked perf... going to work on converting our production web build file now.... 🤞

@marsh73 Are you all set with this question? If so, can we close it?

@marsh73 I gave the CRA example an upgrade recently: https://github.com/aspect-build/bazel-examples/tree/main/react-cra. A added jest test targets, eslint targets, separate ts_project transpilation targets for application code and specs. The react-scripts "build" target no longer does any transpilation since that is done in fine grained ts_project targets.

I'll make another PR to re-organize the code so it looks more like it would in a monorepo with the react-scripts build target not in the root BUILD file


Where does the menu contribution show up?

Using tfx extension init I created an extension with just the Menu contribution, which is supposed to show up on Build definitions somewhere. Based on https://docs.microsoft.com/en-us/azure/devops/extend/reference/targets/overview?view=azure-devops, I can see where it is supposed to be in the old UI, but after publishing I'm unable to find it in the current UI. I also tried it for ms.vss-code-web.pull-request-action-menu, but I was unable to find anything there either (though that one could be due to user error).

Nevermind, I hadn't actually installed the extension (just shared it with the org). So the build one is working now. Just need to figure out what I'm doing wrong for the PR one...


Specific issue with prefilling tags

In one of our projects we're having an issue with prefilling tags. Not sure if this is directly Vueform related, but i've been breaking my head over it and  need some help..
Case:
We use the Multiselect component with async options as tags.
When the page is loaded, the options as fetched from an API endpoint. When the user searches in the input, we also do an API call.
Options can also be prefilled, we do this using the :model-value prop. These prefilled options are also loaded via an API, and passed as props.
The problem:
Our API does not return all possible choices, as this is too many. It returns the first 100.
When loading the page, if the preset data is in the data that the api returns, it gets prefilled correctly.
Problem is, if you search in the multiselect field, and select an option that is not within the initial options, this no longer gets preset on pageload.
The options is available in props.value, but is not "added" to the multiselect.

The code
Component
<Multiselect
      v-model="selected"
      :options="choiceLoader"
      mode="tags"
      :searchable="true"
      :placeholder="trans('filters.placeholder.label')"
      :close-on-select="true"
      :filter-results="false"
      :resolve-on-load="true"
      :delay="0"
      :allow-empty="true"
      @change="updateFilterData"
      @open="updateOptions"
      ref="multiselect"
      :model-value = props.value
  />

<script setup>
.....
      const selected = ref([])

      function updateOptions() {
          multiselect.value.refreshOptions()
      }

      const choiceLoader = async function(query) {
        .........

        return await fetch(endpoint, {method: 'POST', body: JSON.stringify(body)})
          .then(response => response.json());
      }
</script>

As we can see here, we pass props.value as our preset data. When the component is initially loaded, this prop is an empty array. The data is then added when the fetch in the parent component finishes.

The solution?
The solution would be that these "prefilled" choices get added, whether or not they're in the available choices list.
You can do this using the object configuration, as shown in one of the demo's, but this does not appear to work with a reactive value (props.value).
Any ideas?
Massive thanks in advance!

The only option in this case (currently) is using object. I'm not sure what you mean with "not appear to work with a reactive value (props.value)" as it should. Could you please maybe create a demo presenting this issue? https://jsfiddle.net/5yxpmw4v/

Hi @adamberecz ,
Sorry for the long wait. It's been quite busy, but i finally got the time to put together a small demo.
So the issue is as follows:
https://codesandbox.io/s/jolly-lake-nkfcv1?file=/src/App.vue
(For some reason no styling, but you can still see the issue)
The model-value prop that we can send to Multiselect does not appear to be reactive (It does not get updated automatically)

Things are working fine, you were just passing a function as a value to the Multiselect, which does not make sense.
Here's a fixed version for what you were trying to achieve:
https://codesandbox.io/s/value-not-preselected-forked-hqfux7?file=/src/components/autocomplete.vue

Hi @adamberecz , Thanks for the feedback. It was indeed a combination of using the Object mode together with the Watch function that made it possible.
Obviously i was only able to show one example of what i tried in the sandbox, but i had tried at least 5-6 different methods. Including the Object mode, and the watch function, but not the combination of the two.
We've been able to resolve our issue now. Thanks a lot!


Install a default dependencies using hermit

Go: Install go, gotestsum, and golangci-lint
Ruby or Java dependencies?

I tried doing this and it's a little tricky. hermit isn't really setup for installing global dependencies like that.

Closing as not needed for now.


Add in a LICENSE file.

Signed-off-by: Chris Lalancette<EMAIL_ADDRESS>

CI:

Linux
Linux-aarch64
Windows

The license text references a copyright holder, and I've typically seen the 3-clause BSD license include the copyright lines at the beginning. Is there a particular reason to omit it here?

The license text references a copyright holder, and I've typically seen the 3-clause BSD license include the copyright lines at the beginning. Is there a particular reason to omit it here?

You bring up a good point, which caused me to examine a couple of different things.
First of all, the copyright checking in this package was disabled.  That means we didn't even know if this file conformed to the LICENSE style as laid out in ament_copyright.  I've now fixed that in 1fb1d3d .
The second thing I did was to check out what other BSD-style LICENSE files around our codebase looked like.  To summarize, I found the following:

LICENSE file that has no copyright holder, and no mention of "BSD License" at the top (like this PR): 4 repositories
LICENSE file that has no copyright holder, but has a mention of "BSD License" at the top: 2 repositories
LICENSE file that has copyright holders and a mention of "BSD License" at the top: 10 repositories

Apparently our linting accepts all 3 styles, so it is not a problem for linting.  As for what it should look like, I actually think style 2 is the best, as it is a LICENSE file, not a copyright notice.  That said, it looks like the bulk of what we have does include both the "BSD License" and the copyright holders, so I'll switch this one to go with the majority there.


 IF YOU DO NOT FOLLOW THE FORMAT OR MAKE A GENERIC TOKEN REQUEST YOUR ISSUE WILL BE DELETED WITHOUT COMMENT
YOUR JUSTLIST MUST FOLLOW THE JSON SPECIFICATION
https://github.com/justswaporg/justlists/blob/main/example.justlists.ts
Checklist

[x] I understand that this is not the place to request a token listing.
[x] I have tested that my JustList is compatible by pasting the URL into the add a list UI at justswap.org.
[x] I understand that filing an issue or adding liquidity does not guarantee addition to the justlists website.

Please provide the following information for your token.
JustList URL must be HTTPS.
JustList URL:
JustList Name:
Link to the official homepage of the JustList manager:

🍀🍀🍀🪳🪳🪳🤔🤔🤔

Please submit the correct information, invalid information will cause the issue to close


docs: update actionGroups valid characters

Description
Documentation update for action groups by adding more characters to those that can't be used
Supporting screenshots

@GlennChia : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@GlennChia - thanks for this addition. I was able to create action groups that contain # and |. Can you remove those characters? It looks like the name can't start with # but it can contain that character in other positions, so that might be a good qualifier. Otherwise, everything looks great and I appreciate the correction.

Hi @tfitzmac, thanks for the review! I tested | and # again and somehow they don't work for me in any part of the name string on the Azure Portal. I included some screenshots to reproduce the errors I encountered when attempting to include | and # in the name.
Attempts with |
On the Azure Portal in Create action group I set the subscription, resource group, and then set the name as with|symbol where | is in the middle of the string. The result produces the following error: Tha action group name can’t contain any of the following characters: %, &, ?, /, \ which I found strange because | isn't even in the list of symbols in the error message haha

I then tried clicking Review + create where it shows: Please correct the following sections before continuing: Basics and does not let me progress

Attempts with #
On the Azure Portal in Create action group I set the subscription, resource group, and then set the name as with#symbol where # is in the middle of the string. This time the initial screens do not show errors (errors are produced after I click Review and create)

Now after clicking Review and create I encountered the following error at the top right hand corner of the Azure Portal and this error is also in the Azure Portal notifications:

Thanks once again! Hope these screenshots help to illustrate the constraints I'm encountering for the | and # symbols. Do let me know if there are further questions!

Unfortunately, it looks there is a problem with the validation through the portal. Until that is fixed, I think we should document the lowest common denominator. Or, you could add parenthetically that those characters are not allowed through the portal. Thanks for your help with this issue.

@GlennChia : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Hi @tfitzmac, thanks for the suggestion, I removed those characters in the latest commit following the lowest common denominator approach. Thank you!

@GlennChia - thanks for the changes!
#sign-off


Feature/trmapper

Mapper via cross attention. Not to be merged yet, but to get feedback regarding design etc.

 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.You have signed the CLA already but the status is still pending? Let us recheck it.


adding new elb security group

This PR partially addresses https://github.com/datascienceinc/ds-cloud-infra/issues/221
It creates:

New elb security group which is open to world.
Restrict edge security group to open only for elb sg.

@amareesh86 this looks great. have we been able to do any testing of this on experimental yet?

@tphummel Yes, I applied this plan in experimental and verified new security group ingress rules.


High level class comments

Didn't want to go overboard here -- just added comments for classes that don't have a strict coupling to UI elements.

That level of documentation looks fine to me - thanks :-)


TorsoNeRF_config.txt, TorsoNeRFTest_config.txt files are not exist.

Can you please share these files?

hello, Have you gotten two config files?

TorsoNeRFTest_config.txt

Got it! Thank you!
muxiddin19 @.***> 于2021年11月9日周二 下午4:04写道：

TorsoNeRFTest_config.txt
https://github.com/YudongGuo/AD-NeRF/files/7502972/TorsoNeRFTest_config.txt
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/YudongGuo/AD-NeRF/issues/46#issuecomment-963902680,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALL6UZYRTK3O7PD2VAQIMLDULDI2DANCNFSM5HF6MOOA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


[Sprint 45] XD-2671 XD-2831 XD deployments via ZK distributed queue

Add ZK distributed queue that holds the deployment requests

Create DeploymentMessage that wraps the details of the
deployment requests
Create DeploymentMessageProducer and make it available for
the REST controllers so that the deployment requests get converted
as DeploymentMessages and pushed to the distributed queue by
the producer
Create DeploymentMessageConsumer which is set only when
the DeploymentSupervisor is elected as leader
Introduce before*check* methods in ResourcePreDeployer

These methods are used by the DeploymentMessageProducer
to check the validity of the request before pushing the messages

Add DeploymentHandler that is responsible for deploy/un-deploy
the deployment units(Stream/Job) by a given name.
Have both Stream/Job based deployment handlers
The DeploymentMessageConsumer delegates the deployment
requests to these handlers via Stream/JobDeployer.

XD-2831 - Refactor XD-DIRT classes

Move spring-xd-dirt server package classes into admin,
container and admin.deployment packages.
Add DeploymentConfiguration
Refactor DeploymentSupervisor
Use event listener to set ZK path children cache

Rebased, squashed, & merged as db8e6ccabbd8734638a9b13985e0b6280f77584b


Registration readability

@glemaitre Thanks for the review and thoughts!

I have an additional question. instantiating as:
instance = itk.ClassITK[arg1, arg2].New()
look weird since I would expect:
instance = itk.ClassITK(arg1, arg2)
Would it make sense to always get an instance?

As of ITK 4.13, the behavior is
output = itk.ClassITK(arg1, arg2)

for ITK 5, maybe we should add lower case, snake functions for itk::ProcessObject's for this  behavior:
output = itk.process_object_as_function(arg1, arg2, keyword_arg=value)

and just have
object = itk.ProcessObjectClass(arg1, arg2, keyword_arg=value)

just forward its arguments to itk.ProcessObjectClass.New(*args, **kwargs). What do you think?
CC: @fbudin69500

Using camelcase for function calls is a great idea. I'll try to give it a shot to see how difficult it is to implement this.


fix: update avalanchejs to v3.9.0

I noticed that operationTx-mint-NFT   no longer working, even with 3.8.6. I did not spend time to debug it. All other code work.

yarn operationTx-mint-NFT
yarn run v1.22.10
$ ts-node scripts/operationTx-mint-NFT.ts
/Users/yulindong/workspace/learning/avm-nft-workflow/scripts/operationTx-mint-NFT.ts:5
SECPTransferInput,
^
TypeError: amountOutput.getAmount is not a function
at /Users/yulindong/workspace/learning/avm-nft-workflow/scripts/operationTx-mint-NFT.ts:135:36
at Array.forEach ()
at /Users/yulindong/workspace/learning/avm-nft-workflow/scripts/operationTx-mint-NFT.ts:126:9
at Generator.next ()
at fulfilled (/Users/yulindong/workspace/learning/avm-nft-workflow/scripts/operationTx-mint-NFT.ts:5:58)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

I am experiencing this same issue, using version 3.13.1


Synchronize tests

deadlock in negotiate?
hmm

I looked at the code causing the deadlock and.... ???
I'm not sure why that deadlocked. There doesn't seem to be any locking inside of that function anywhere.


Fix 2 typos in ip-allowlist.md

These typos led to broken links in the docs, meaning that users had to manually fix
them before being able to navigate to the referenced pages

Hey @nightpool thanks a lot for fixing those links!
Since you're obviously working with IP allowlists, here is a recent info that's not in the docs, yet: GitHub has an issue in the evaluation of IP allowlists which means that some requests are blocked by GitHub even though the IP allowlist contains the correct IP addresses. This should be fixed by adding the IP addresses  <IP_ADDRESS> through <IP_ADDRESS> to your organization's IP allow list (each separately, not as a CIDR range).
I will add this information with some background to the docs.

@thombergs haha, that's good to know! actually, I was just trying to get a sense of the overall feature set that the GitHub for Jira plugin contained, and I was simply curious about the IP allowlists. I probably won't be implementing them, but it's good to know they're a possibility!


Sieve Registry with NBT Data Tags / Forestry Integration

The current SieveRegistry.json does not appear (I found no documentation of this) to support custom items with NBT tags. If this is possible to implement, that would be great, particularly because of the lack of Forestry bee support. The idea for this came about while I was playing a modpack with Forestry, which needs bees for most things in the mod. Normally beehives spawn in the overworld but since skyblock is what it is there is no access to bees at all. I attempted to add bees to the sieve registry so that if you sift leaves you have a really small chance of getting a princess/drone (and gravel for rocky princesses/drones), but since bees need proper NBT data in order to work, I can't do that. But, if datatags are added to the JSON sieveregistry then we can do this. A feature like this would be greatly appreciated. Thank you!

I've been working on this, I have to say, the Forestry bees NBT data is ugly.

Yeah, that’s a bit of an understatement.

Currently this is what the registry looks like:
   "ore:cobblestone": [
    {
      "drop": {
        "name": "minecraft:diamond_sword",
        "meta": -1,
        "nbt": {
          "ench":[{"lvl":5,"id":21}],
          "display":{"Name":"Excalibur"}
          }
      },
      "chance": 1.0,
      "meshLevel": 1
    }
  ]

Is this what you had in mind?

Yeah, pretty much. Thanks!

When adding default forestry recipes I found that forestry doesn't load genetic templates until after our registry changes. Moving our recipes to post-init seems to break Ex Compressum compat.
This will be a mess to sort.
@blay09 does ex compressum have a method for us to prompt it to reload its recipes?

Any kind of reloading would result in the JEI recipes to no longer be accurate, and workarounds to fix that by forcing to load before JEI is going to result in circular dependency errors: https://github.com/Jozufozu/ExNihiloOmnia/issues/102.
I don't know if I fully understand the issue but it looks like Forestry is registering its genetics stuff in init, so moving the default registries to init and specifying dependencies = "after:forestry;" in your @Mod annotation should solve the problem.

Thanks, that seems to be working.

Just to point it out, forestry addons like More Bees may also need to initialize first for the same reason

Figured that one out myself :P.
Got a working branch with forestry+addons integration that doesn't break Ex Compressum.

This issue is addressed in PR #113.

Ok cool! Thanks

Closed as PR got merged ^^


[Request] More Location details for housing encounters

Instead of having "Private Cottage - Empyreum" Is it possible to have something like "   " ? This will be very useful for venue hoppers.

I want to add, that if this is really a feature for venue hoppers it would be maybe nice to have the possibility to set aliases for such locations. Also it would be necessary to have this https://github.com/kalilistic/PlayerTrack/issues/137 otherwise it makes not really sense.

It seems that the greater than and less than signs ate my format, so I edited my comment. anyway, I believe the plugin "Where am I again" already have the means of getting the information I requested, here is the link to her repo: https://github.com/cas-c/WhereAmIAgain


Rework "Class" property so expressions work.

Instead of poorly replicating all the work that installInProto does, just let installInProto do its thing and then decorate the getter of the resulting prototype.
Fixes #241

I think we want getters to trump expressions. Getters trump all other property get logic, so you should only use them of you really know what you're doing or really don't need any other features.
On August 29, 2018 6:09:56 PM EDT, mcarcaso<EMAIL_ADDRESS>wrote:

mcarcaso approved this pull request.
This looks fine to me but is there a bit of a deeper problem happening
where having getters trump expressions (happens here:
https://github.com/foam-framework/foam2/blob/master/src/foam/core/Property.js#L414
)?
Actually in this case I guess we'd still want expressions to go through
the adapt and that wouldn't happen for normal expressions on properties
but would happen for the Class property as you did it here.
Anyway, LGTM....was just thinking out loud.
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/foam-framework/foam2/pull/1537#pullrequestreview-150774514


Cannot find 'exportCSV' in scope

I was able to add the Package Manager but I am getting this error:
let result = exportCSV(writeCSVObj); --> Cannot find 'exportCSV' in scope
I have already imported SwiftCSVExport

@willm132 , i will take look now and reverted back before end of today.

@vigneshuvi Any updates on this issue? Very excited to get this running inside all of my applications

@willm132 , i will take look now and reverted back before end of today.

@vigneshuvi Any updates on this issue? Very excited to get this running inside all of my applications

You can close this issue. I was able to get it resolved. You need to change the instructions on your main page from this:
let result = exportCSV(writeCSVObj);
to this:
let result = CSVExport.export(writeCSVObj);


[Text] (Web-based showcase) Emoji example "text_unicode" freezes up after enough emojis are clicked

This issue is for the web-hosted emoji example on the raylib website. I could not trigger it on desktop builds of the example.
Click many different emojis and eventually the program stops responding. The number of tries and position of final triggering emoji seems to be random, which makes sense because the program is randomized.
Clicking the same set of working emojis over and over doesn't seem to trigger it. Every time it happens, it was a click on an emoji that was not clicked before. If nothing on the first set of emojis triggers the freeze, press space and try the second set.
I was able to reproduce it on Chrome on OSX, and on Firefox on Ubuntu. The two computers have very different specs so I would be surprised if it was a resource exhaustion issue.
In the screenshot of the frozen program I tried to click on the blue emoji.

Was able to reproduce the issue:

Apparently there's an unescaped line break somewhere on examples/text/text_unicode.c.

@evanrinehart @ubkp I reproduced it on web and tried to reproduce it on desktop but not possible. This is a compelx example provided by a contributor long time ago. I'm afraid the cost to review it to find the platfomr-dependant issue could be considerable and sincerely I think it does not work it, it's just an example to be used as a reference.
If anyone is ready for that task, I'll keep this issue open for a while but if not, I'm closing it.

@raysan5 I'm working on https://github.com/raysan5/raylib/issues/3231, but, if you don't mind keeping this open for a few days, I can take a look at it after that.

@ubkp Ok, thank you very much, just take it easy, it could be tricky and the work required for this platform-specific issue probably does not worth the time invested.


Stop waiting Queen in case of error

On the environment start workflow, the scripts awaits for the queen node to be initialized
Waiting for the Queen initialization...
it continuously asking the expected queen HTTP EP, and it does not stop even the queen node that already exited with an error.

Not applicable now with TS CLI


Web Interface: "Test page" and "Identify" do not work

Describe the bug
In both the PAPPL test Printer Application and in the PostScript Printer Application 4 buttons show at each printer: "Media", "Print defaults", "Identify", and "Test Page" (note that I have added a test page callback to the PostScript Printer Application today which makes this button show). The two former buttons work: The pointer turns into a hand when hovering over the button and when clicking the appropriate page easily shows (I had already reported several issues on these pages which you have fixed). The two latter buttons do not work. The pointer stays an arrow, does not turn into a hand, and when clicking it takes some time and then the page turns white, and the URL in the address line stays "localhost:8000". The printer Application does not crash, as One can hit "Reload" in the browser and the front page of the web interface shows again.
The buttons also seem not to execute their functionality, as I am running the PostScript Printer Application with debug logging and I have papplLog() calls in my test page callback (ps_testpage()) and these messages do not appear in the log, so the callback did not get called.
To Reproduce
In any Printer Application, click the "Identify" or "Test Page" of a printer in the web interface. The functionality is not executed and after some seconds the screen gets white.
Expected behavior
"Identify" and "Test Page" get triggered when the buttons are clicked.

@tillkamppeter Strange, it works for me... Will do some more testing to see what's up...

OK, I see what the problem is - the form buttons on the main page (as opposed to the printer page) use the current page's URI for the form destination when it needs to be the printer's page URI instead.

From the printer page printing the test page actually works, but also on the printer page the mouse pointer does not get a hand when moving over the "Test Page" or "Identify Printer" button.

[master ab3bba2] Fix identify/test page buttons on server home page (Issue #81)
@tillkamppeter The mouse pointer issue must be because it is a form button and not a link. I'll see what CSS sorcery I can figure out to fix that so they are consistent...

[master 3c64578] Add cursor: property to button CSS to make all button-like content use the same pointer cursor (Issue #81)

Now it is all working for me: Printing test page from both main page and printer page and also the mouse cursor turns a hand on all buttons.


Azure.ResourceManager.Avs 1.0.0-preview.1

This is the start of Azure.ResourceManager.Avs, generated off the 2021-12-01 API https://github.com/Azure/azure-rest-api-specs/pull/16426 like Microsoft.Azure.Management.Avs 3.0.0 #25276.
All SDK Contribution checklist:
This checklist is used to make sure that common guidelines for a pull request are followed.

[x] Please open PR in Draft mode if it is:

Work in progress or not intended to be merged.
Encountering multiple pipeline failures and working on fixes.

[x] If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
[x] I have read the contribution guidelines.
[x] The pull request does not introduce breaking changes.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

SDK Generation Guidelines

[ ] The generate.cmd file for the SDK has been updated with the version of AutoRest, as well as the commitid of your swagger spec or link to the swagger spec, used to generate the code. (Track 2 only)
[ ] The *.csproj and AssemblyInfo.cs files have been updated with the new version of the SDK. Please double check nuget.org current release version.

Additional management plane SDK specific contribution checklist:
Note: Only applies to Microsoft.Azure.Management.[RP] or Azure.ResourceManager.[RP]

[ ] Include updated management metadata.
[ ] Update AzureRP.props to add/remove version info to maintain up to date API versions.

Management plane SDK Troubleshooting

If this is very first SDK for a services and you are adding new service folders directly under /SDK, please add new service label and/or contact assigned reviewer.

If the check fails at the Verify Code Generation step, please ensure:

Do not modify any code in generated folders.
Do not selectively include/remove generated files in the PR.
Do use generate.ps1/cmd to generate this PR instead of calling autorest directly.
Please pay attention to the @microsoft.csharp version output after running generate.ps1. If it is lower than current released version (2.3.82), please run it again as it should pull down the latest version.

Note: We have recently updated the PSH module called by generate.ps1 to emit additional data. This would help reduce/eliminate the Code Verification check error. Please run following command:
  `dotnet msbuild eng/mgmt.proj /t:Util /p:UtilityName=InstallPsModules`

Old outstanding PR cleanup
Please note:
If PRs (including draft) has been out for more than 60 days and there are no responses from our query or followups, they will be closed to maintain a concise list for our reviewers.

Currently getting duplicate GetDhcp & GetPortMirroring members in WorkloadNetworkSegment.cs, but not sure why.
Build FAILED.

C:\Users\cataggar\io\azure-sdk-for-net\sdk\avs\Azure.ResourceManager.Avs\src\Generated\WorkloadNetworkSegment.cs(515,59): error CS0111: Type 'WorkloadNetworkSegment' already defines a member called 'GetDhcpAsync' with the same parameter types [C:\Users\cataggar\io\azure-sdk-for-net\sdk\avs\Azure.ResourceManager.Avs\src\Azure.ResourceManager.Avs.csproj]
C:\Users\cataggar\io\azure-sdk-for-net\sdk\avs\Azure.ResourceManager.Avs\src\Generated\WorkloadNetworkSegment.cs(477,54): error CS0111: Type 'WorkloadNetworkSegment' already defines a member called 'GetDhcp' with the same parameter types [C:\Users\cataggar\io\azure-sdk-for-net\sdk\avs\Azure.ResourceManager.Avs\src\Azure.ResourceManager.Avs.csproj]
C:\Users\cataggar\io\azure-sdk-for-net\sdk\avs\Azure.ResourceManager.Avs\src\Generated\WorkloadNetworkSegment.cs(667,68): error CS0111: Type 'WorkloadNetworkSegment' already defines a member called 'GetPortMirroringAsync' with the same parameter types [C:\Users\cataggar\io\azure-sdk-for-net\sdk\avs\Azure.ResourceManager.Avs\src\Azure.ResourceManager.Avs.csproj]
C:\Users\cataggar\io\azure-sdk-for-net\sdk\avs\Azure.ResourceManager.Avs\src\Generated\WorkloadNetworkSegment.cs(629,63): error CS0111: Type 'WorkloadNetworkSegment' already defines a member called 'GetPortMirroring' with the same parameter types [C:\Users\cataggar\io\azure-sdk-for-net\sdk\avs\Azure.ResourceManager.Avs\src\Azure.ResourceManager.Avs.csproj]
    0 Warning(s)
    4 Error(s)

Here are a couple of conflicting signatures:
public virtual Response<WorkloadNetworkDhcp> GetDhcp(CancellationToken cancellationToken = default){}

public virtual Pageable<WorkloadNetworkDhcp> GetDhcp(CancellationToken cancellationToken = default){}

This is the description for WorkloadNetwoks_ListDhcp. The method should be named ListWorkloadNetworkDhcpAsync, not GetWorkloadNetworkDhcpAsync.
https://github.com/Azure/azure-sdk-for-net/blob/deb889a6423f7035a1fd1ed74df08f97674c1e9e/sdk/avs/Azure.ResourceManager.Avs/src/Generated/PrivateCloud.cs#L844-L847

@msftbot, be nice


Export custom classes

Hey, this generator was super helpful for publishing a custom angular2 module, but I'm having trouble adding a custom service.
For some reason the default module/component import just fine after publishing, but ones I add myself can't be found. I've tried a component and service like this, but neither work:
// test.component
import {Component} from '@angular/core';

@Component({
  selector: 'test-component',
  template: '
This is just a test
'
})
export class TestComponent {}

// test.service
import { Injectable } from '@angular/core';

@Injectable()
export class TestService {}

// index.ts
export * from './ng2Test.module';

// all components that will be codegen'd need to be exported for AOT to work
export * from './test.service';
export * from './test.component';
export * from './helloWorld.component';

// test.module
import {NgModule} from '@angular/core';
import {HttpModule} from '@angular/http';
import {TestService} from './test.service';
import {TestComponent} from './test.component';
import {HelloWorld} from './helloWorld.component';

@NgModule({
  declarations: [HelloWorld, TestComponent],
  imports: [HttpModule],
  exports: [HelloWorld, TestComponent],
  providers: [TestService]
})
export class Ng2TestModule {}

Only Ng2TestModule and HelloWorld are available for import after publishing the NPM package.

I'm sorry but I can't see what's going wrong, would it be possible for you to put together a repo that demonstrates your issue? Thanks!

Ha, yea sorry for dumping all that code. Thanks in advance.
I'm just confused why I can import TestComponent, but can't import TestService from this angular2-module into this angular-cli app.

Sorry but I can't reproduce your issue. I added this into my app:
import {Ng2TestModule, HelloWorld, TestComponent, TestService} from 'ng2-module-test';
console.log(Ng2TestModule, HelloWorld, TestComponent, TestService);

and it worked fine for me:

Is it just errors from your IDE that you're getting that's saying the module doesn't exist? Maybe it needs to reindex to find the new imports?

Wooooowwww. You're right, the Atom package I'm using has a refresh button that rebuilt the indexes and made the error go away. I thought just saving was doing the same thing.
Thanks for the help! Will definitely be using this lib.

Glad you got it sorted 👍


[Documentation Bug]: Many entries in README.md were duplicate and was not up to date. [gssoc23]

PR Description 📜
Please include summary related to the issue you have fixed and describe your PR in brief over here by specifying the issue number on which you were working below
Fixes #2712

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[ ] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in main README.md
[ ] I have added README.md in my folder
[ ] I have added working video of the game in README.md (optional)
[x] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @thevirengarg ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

@gurjeetsinghvirdee please review this PR


Add information about distributed systems

https://github.com/theanalyst/awesome-distributed-systems
https://github.com/dgryski/awesome-consensus
Both those lists are about distributed systems. The first is about it all and the second one is about consensus - the most important algorithm (an integral part of any distributed system).
Blockchain itself is a distributed system, so I place those links in a separate part above Decentralized
By submitting this pull request I confirm I've read and complied with the below requirements 🖖
Please read it multiple times. I spent a lot of time on these guidelines and most people miss a lot.
Requirements for your pull request

You have to review at least 2 other open pull requests. Try to prioritize unreviewed PRs, but you can also add more comments to reviewed PRs. Go through the below list when reviewing. This requirement is meant to help make the Awesome project self-sustaining. Comment here which PRs you reviewed. You're expected to put a good effort into this and to be thorough. Look at previous PR reviews for inspiration.
I have read and understood the instructions for creating a list.
This pull request has a descriptive title in the format Add Name of List (Example: Add Swift), not Update readme.md or Add awesome list.
The entry in the Awesome list should:

Include a short description about the project/theme of the list. It should not describe the list itself.Example: - [Fish](…) - User-friendly shell., not - [Fish](…) - Resources for Fish..
Be added at the bottom of the appropriate category.

The list I'm submitting complies with the below requirements.

Requirements for your Awesome list

Has been around for at least 30 days.That means 30 days from either the first real commit or when it was open-sourced. Whatever is most recent.
It's the result of hard work and the best I could possibly produce.
Non-generated Markdown file in a GitHub repo.
Includes a succinct description of the project/theme at the top of the readme. (Example)
The repo should have awesome-list & awesome as GitHub topics. I encourage you to add more relevant topics.
Not a duplicate.
Only has awesome items. Awesome lists are curations of the best, not everything.
Includes a project logo/illustration whenever possible.

Either fullwidth or placed at the top-right of the readme. (Example)
The image should link to the project website or any relevant website.
The image should be high-DPI. Set it to maximum half the width of the original image.

Entries have a description, unless the title is descriptive enough by itself. It rarely is though.
Includes the Awesome badge.

Should be placed on the right side of the readme heading.
Should link back to this list.

Has a Table of Contents section.

Should be named Contents, not Table of Contents.
Should be the first section in the list.
Should only have one level of sub-lists, preferably none.

Has an appropriate license.

That means something like CC0, not a code licence like MIT, BSD, Apache, etc.
WTFPL and Unlicense are not acceptable licenses.
If you use a license badge, it should be SVG, not PNG.

Has contribution guidelines.

The file should be named contributing.md. Casing is up to you.

Has consistent formatting and proper spelling/grammar.

The link and description are separated by a dash. Example: - [AVA](…) - JavaScript test runner.
The description starts with an uppercase character and ends with a period.
Consistent and correct naming. For example, Node.js, not NodeJS or node.js.

Doesn't include a Travis badge.You can still use Travis for list linting, but the badge has no value in the readme.

Go to the top and read it again.

Hi, I know that you don't own those lists but both are missing multiple requirements (formatting, content issues) required for inclusion here.
Someone should run  https://github.com/sindresorhus/awesome-lint on them.

@uraimo yeah, there are problems with formatting.
As those repos are not mine, I close this PR for now


Entry Point chip is empty

Context information
application version:
device:
browser:
operating system:
Steps to reproduce

Open https://testnet.aescan.io/contracts/ct_B2Rp1ZmvS2tcQu7GpSRt3tcY7E8aou56LYQLiao1RHCZr5piK

What is expected?
Something else should be displayed instead of an empty chip.
What is actually happening?

it's happening as that contract has been created using contract factories "Contract.create" in sophia, we could probably be able to figure that out and show it somewhat nicely using https://github.com/aeternity/ae_mdw#v2contractscalls, but this could also be a separate feature, showing all contract calls nicely in general

Looks like the following two endpoints do not always overlap:
https://testnet.aeternity.io/mdw/v2/txs?direction=backward&limit=10&type=contract_call&contract=ct_B2Rp1ZmvS2tcQu7GpSRt3tcY7E8aou56LYQLiao1RHCZr5piK
and
https://testnet.aeternity.io/mdw/v2/contracts/calls?contract_id=ct_B2Rp1ZmvS2tcQu7GpSRt3tcY7E8aou56LYQLiao1RHCZr5piK&limit=1
I would handle this issue by showing N/A - just like in other cases and create a separate feature request for a better presentation of the contract calls overall.


Can I use this library in deno? If so, how would I go about it?

I'm building a chess application using chessjs on the client and need the same logic on my serverless function, the serverless function is running deno and i still want to use this package, is this possible?

Good question @Hugos68. I don't have any experience with any of the new JS runtimes (deno and bun). Maybe you can give this a try and report your findings?

Good question @Hugos68. I don't have any experience with any of the new JS runtimes (deno and bun). Maybe you can give this a try and report your findings?
Alright, so I've successfully used this library with Deno. I used import { Chess } from<EMAIL_ADDRESS>to test it and it works fine. One thing I noticed while testing was that when exporting to Pgn between the last header and * there wasn't a new line. This caused the reading of the export pgn to fail which seems rather strange to me. Not sure if this is related to the beta version or not. Besides the parsing I have yet to notice any problems running  Chessjs on deno, thanks for this amazing library!


Writing REG_DWORD values with more than 16 bits is broken

Trying to set a REG_DWORD with a value of e.g. 1000000 causes an error vbscript process reported unknown error code 1.
This is caused by a runtime error in VBScript due to an overflow when calling CInt (note that VBScript's Integer is a signed 16-bit type). I guess what you actually wanted is CLng (VBScript's Long is a signed 32-bit type).

@CherryDT Could you try cloning repo and running tests?
You can also try installing the package directly from github:
npm i git+https://github.com/ironSource/node-regedit

This issue looks related to #21 which will be fixed when we publish v2.2.7

You are right, it's a duplicate, I didn't look at closed issues.

@CherryDT  published 2.2.7


Resources deleted when HNC restarts despite existing previously

When HNC restarts the propagated objects can be deleted unnecessarily if the parent namespace hasn't yet fully synced.
This is problematic especially when propagating network rules as can lead to loss of service whilst the network rules are re-created.
Digging through the code the problem appears to be that the ActivitiesHalted flag is removed too early.
It's removed when the parent namespace is added to the forest, not when all the objects inside the parent namespace have been synced.
I'm been trying to think of ways to fix this in the code but have come up short.
Hoping someone here can please advise!
version: 1.0.0

This is an example log line:
{"level":"info","ts":1663928171.33828,"logger":"hierarchyconfig.reconcile","msg":"Setting ConditionActivitiesHalted: parent doesn't exist (or hasn't been synced yet)","rid":11,"ns":"acp-shrd-srv-service-auth","parent":"acp-shrd"} {"level":"info","ts":1663928171.3384438,"logger":"hierarchyconfig.reconcile","msg":"New namespace found","rid":11,"ns":"acp-shrd-srv-service-auth"} {"level":"info","ts":1663928171.3384647,"logger":"hierarchyconfig.reconcile","msg":"Namespace's managed and/or tree labels have been updated","rid":11,"ns":"acp-shrd-srv-service-auth"} {"level":"info","ts":1663928171.3384745,"logger":"hierarchyconfig.reconcile","msg":"Setting ActivitiesHalted on namespace","rid":11,"ns":"acp-shrd-srv-service-auth","conditions":[{"type":"ActivitiesHalted","status":"True","lastTransitionTime":"1970-01-01T00:00:00Z","reason":"ParentMissing","message":"Parent \"acp-shrd\" does not exist"}]} {"level":"info","ts":1663928173.433423,"logger":"RoleBinding.reconcile","msg":"Namespace has 'ActivitiesHalted' condition; will not touch propagated object","rid":37,"trigger":"acp-shrd-srv-service-auth/EKS-Shared-Admin","haltedRoot":"acp-shrd-srv-service-auth","suppressedAction":"remove"} {"level":"info","ts":1663928173.8340063,"logger":"Provider.reconcile","msg":"Namespace has 'ActivitiesHalted' condition; will not touch propagated object","rid":87,"trigger":"acp-shrd-srv-service-auth/flux-system-alertmanager-0","haltedRoot":"acp-shrd-srv-service-auth","suppressedAction":"remove"} {"level":"info","ts":1663928173.8358054,"logger":"RoleBinding.reconcile","msg":"Namespace has 'ActivitiesHalted' condition; will not touch propagated object","rid":98,"trigger":"acp-shrd-srv-service-auth/EKS-Shared-Read","haltedRoot":"acp-shrd-srv-service-auth","suppressedAction":"remove"} {"level":"info","ts":1663928173.9322064,"logger":"Provider.reconcile","msg":"Namespace has 'ActivitiesHalted' condition; will not touch propagated object","rid":108,"trigger":"acp-shrd-srv-service-auth/flux-system-alertmanager-0","haltedRoot":"acp-shrd-srv-service-auth","suppressedAction":"remove"} {"level":"info","ts":1663928175.136427,"logger":"RoleBinding.reconcile","msg":"Namespace has 'ActivitiesHalted' condition; will not touch propagated object","rid":156,"trigger":"acp-shrd-srv-service-auth/EKS-Shared-Read","haltedRoot":"acp-shrd-srv-service-auth","suppressedAction":"remove"} {"level":"info","ts":1663928175.1365788,"logger":"RoleBinding.reconcile","msg":"Namespace has 'ActivitiesHalted' condition; will not touch propagated object","rid":152,"trigger":"acp-shrd-srv-service-auth/EKS-Shared-Admin","haltedRoot":"acp-shrd-srv-service-auth","suppressedAction":"remove"} {"level":"info","ts":1663928177.1337447,"logger":"Secret.reconcile","msg":"Namespace has 'ActivitiesHalted' condition; will not touch propagated object","rid":199,"trigger":"acp-shrd-srv-service-auth/squid-proxy-connection-string-25kfh2dm75","haltedRoot":"acp-shrd-srv-service-auth","suppressedAction":"no-op"} {"level":"info","ts":1663928177.1342094,"logger":"Secret.reconcile","msg":"Namespace has 'ActivitiesHalted' condition; will not touch propagated object","rid":197,"trigger":"acp-shrd-srv-service-auth/default-token-rrpl5","haltedRoot":"acp-shrd-srv-service-auth","suppressedAction":"no-op"} {"level":"info","ts":1663928177.1343021,"logger":"Secret.reconcile","msg":"Namespace has 'ActivitiesHalted' condition; will not touch propagated object","rid":196,"trigger":"acp-shrd-srv-service-auth/acp-shrd-srv-service-auth-configuration-kh5fdthk8t","haltedRoot":"acp-shrd-srv-service-auth","suppressedAction":"no-op"} {"level":"info","ts":1663928177.2338564,"logger":"Secret.reconcile","msg":"Namespace has 'ActivitiesHalted' condition; will not touch propagated object","rid":198,"trigger":"acp-shrd-srv-service-auth/sh.helm.release.v1.acp-shrd-srv-service-auth.v1","haltedRoot":"acp-shrd-srv-service-auth","suppressedAction":"no-op"} {"level":"info","ts":1663928179.333814,"logger":"Provider.reconcile","msg":"Namespace has 'ActivitiesHalted' condition; will not touch propagated object","rid":243,"trigger":"acp-shrd-srv-service-auth/flux-system-alertmanager-0","haltedRoot":"acp-shrd-srv-service-auth","suppressedAction":"no-op"} {"level":"info","ts":1663928179.738065,"logger":"RoleBinding.reconcile","msg":"Namespace has 'ActivitiesHalted' condition; will not touch propagated object","rid":259,"trigger":"acp-shrd-srv-service-auth/EKS-Shared-Admin","haltedRoot":"acp-shrd-srv-service-auth","suppressedAction":"no-op"} {"level":"info","ts":1663928179.8322206,"logger":"RoleBinding.reconcile","msg":"Namespace has 'ActivitiesHalted' condition; will not touch propagated object","rid":265,"trigger":"acp-shrd-srv-service-auth/EKS-Shared-Read","haltedRoot":"acp-shrd-srv-service-auth","suppressedAction":"no-op"} {"level":"info","ts":1663928180.4438827,"logger":"Secret.reconcile","msg":"Namespace has 'ActivitiesHalted' condition; will not touch propagated object","rid":297,"trigger":"acp-shrd-srv-service-auth/default-token-k97k6","haltedRoot":"acp-shrd-srv-service-auth","suppressedAction":"remove"} {"level":"info","ts":1663928188.2342489,"logger":"NetworkPolicy.reconcile","msg":"Namespace has 'ActivitiesHalted' condition; will not touch propagated object","rid":522,"trigger":"acp-shrd-srv-service-auth/ingress-shrd","haltedRoot":"acp-shrd-srv-service-auth","suppressedAction":"remove"} {"level":"info","ts":1663928188.632802,"logger":"hierarchyconfig.reconcile","msg":"Namespace's managed and/or tree labels have been updated","rid":63,"ns":"acp-shrd-srv-service-auth"} {"level":"info","ts":1663928188.6328425,"logger":"hierarchyconfig.reconcile","msg":"ActivitiesHalted condition removed","rid":63,"ns":"acp-shrd-srv-service-auth"} {"level":"info","ts":1663928190.2332792,"logger":"Alert.reconcile","msg":"Deleted propagated object","rid":701,"trigger":"acp-shrd-srv-service-auth/shrd-kustomization-alert-config-alertmanager-0"} {"level":"info","ts":1663928196.034376,"logger":"Alert.reconcile","msg":"Deleted propagated object","rid":1123,"trigger":"acp-shrd-srv-service-auth/shrd-kustomization-alert-config-alertmanager-0"} {"level":"info","ts":1663928199.7321632,"logger":"Secret.reconcile","msg":"Deleted propagated object","rid":1565,"trigger":"acp-shrd-srv-service-auth/default-token-k97k6"} {"level":"info","ts":1663928200.938197,"logger":"Secret.reconcile","msg":"Deleted propagated object","rid":1620,"trigger":"acp-shrd-srv-service-auth/default-token-k97k6"} {"level":"info","ts":1663928231.9412584,"logger":"Provider.reconcile","msg":"Propagating object","rid":1710,"trigger":"acp-shrd-srv-service-auth/flux-system-alertmanager-0"} {"level":"info","ts":1663928244.1189086,"logger":"Alert.reconcile","msg":"Propagating object","rid":1865,"trigger":"acp-shrd-srv-service-auth/shrd-helmrelease-alert-config-alertmanager-0"} {"level":"info","ts":1663928244.1201637,"logger":"NetworkPolicy.reconcile","msg":"Propagating object","rid":1866,"trigger":"acp-shrd-srv-service-auth/ingress-shrd"} {"level":"info","ts":1663928976.3114276,"logger":"NetworkPolicy.reconcile","msg":"Updating propagated object","rid":1992,"trigger":"acp-shrd-srv-service-auth/egress-shrd"}
You can see that the namespace originally has ActiviedHalted correctly, however at some point the ActiviesHalted condition gets removed, and the propagation of objects is allowed.
However, because the parents' objects haven't fully synced the object is incorrectly deleted.
You can see later that the object is propagated once the parent has fully synced.

I added some more logging and ran again just to make this easier to hopefully see/prove I'm not going mad.
{"level":"info","ts":1663932832.942569,"logger":"hierarchyconfig.reconcile","msg":"Setting ConditionActivitiesHalted: parent doesn't exist","rid":40,"ns":"acp-shrd-srv-service-auth","parent":"acp-shrd"} {"level":"info","ts":1663932832.9425945,"logger":"hierarchyconfig.reconcile","msg":"Enqueuing","rid":40,"ns":"acp-shrd-srv-service-auth","reason":"removed as parent","affected":["<none>"]} {"level":"info","ts":1663932832.9426525,"logger":"hierarchyconfig.reconcile","msg":"Setting ActivitiesHalted on namespace","rid":40,"ns":"acp-shrd-srv-service-auth","conditions":[{"type":"ActivitiesHalted","status":"True","lastTransitionTime":"2022-09-23T11:33:52Z","reason":"ParentMissing","message":"Parent \"acp-shrd\" does not exist"}]} {"level":"info","ts":1663932832.9426742,"logger":"hierarchyconfig.reconcile","msg":"Enqueuing","rid":40,"ns":"acp-shrd-srv-service-auth","reason":"descendant of a namespace with ActivitiesHalted added","affected":[]} {"level":"info","ts":1663932834.5397835,"logger":"Role.reconcile","msg":"Deleted propagated object","rid":11,"trigger":"acp-shrd-srv-service-staticcontent/EKS-Shared-Read"} {"level":"info","ts":1663932835.7471323,"logger":"Alert.reconcile","msg":"Namespace has 'ActivitiesHalted' condition; will not touch propagated object","rid":40,"trigger":"acp-shrd-srv-service-auth/shrd-helmrelease-alert-config-alertmanager-0","haltedRoot":"acp-shrd-srv-service-auth","suppressedAction":"no-op"} {"level":"info","ts":1663932836.4446335,"logger":"Role.reconcile","msg":"Namespace has 'ActivitiesHalted' condition; will not touch propagated object","rid":97,"trigger":"acp-shrd-srv-service-auth/EKS-Shared-Read","haltedRoot":"acp-shrd-srv-service-auth","suppressedAction":"remove"} {"level":"info","ts":1663932836.5441487,"logger":"NetworkPolicy.reconcile","msg":"Namespace has 'ActivitiesHalted' condition; will not touch propagated object","rid":117,"trigger":"acp-shrd-srv-service-auth/ingress-shrd","haltedRoot":"acp-shrd-srv-service-auth","suppressedAction":"remove"} {"level":"info","ts":1663932836.5450675,"logger":"hierarchyconfig.reconcile","msg":"ActivitiesHalted condition removed","rid":75,"ns":"acp-shrd-srv-service-auth"} {"level":"info","ts":1663932836.5450726,"logger":"hierarchyconfig.reconcile","msg":"Enqueuing","rid":75,"ns":"acp-shrd-srv-service-auth","reason":"descendant of a namespace with ActivitiesHalted removed","affected":[]} {"level":"info","ts":1663932836.738606,"logger":"Alert.reconcile","msg":"Deleted propagated object","rid":127,"trigger":"acp-shrd-srv-service-auth/shrd-kustomization-alert-config-alertmanager-0"} {"level":"info","ts":1663932836.741233,"logger":"Role.reconcile","msg":"Namespace has 'ActivitiesHalted' condition; will not touch propagated object","rid":150,"trigger":"acp-shrd-srv-service-appconfiguration/EKS-Shared-Read","haltedRoot":"acp-shrd-srv-service-appconfiguration","suppressedAction":"remove"} {"level":"info","ts":1663932836.8385975,"logger":"Role.reconcile","msg":"Syncing source object","rid":166,"trigger":"acp-shrd/EKS-Shared-Read","namespace":"acp-shrd","cleansource":{"apiVersion":"rbac.authorization.k8s.io/v1","kind":"Role","namespace":"acp-shrd","name":"EKS-Shared-Read"}} {"level":"info","ts":1663932836.8406925,"logger":"Role.reconcile","msg":"Namespace has 'ActivitiesHalted' condition; will not touch propagated object","rid":182,"trigger":"acp-shrd-srv-service-wsipprovisioningmediator/EKS-Shared-Read","haltedRoot":"acp-shrd-srv-service-wsipprovisioningmediator","suppressedAction":"no-op"} {"level":"info","ts":1663932837.9457324,"logger":"Role.reconcile","msg":"Syncing source object","rid":299,"trigger":"acp-shrd/EKS-Shared-Read","namespace":"acp-shrd","cleansource":{"apiVersion":"rbac.authorization.k8s.io/v1","kind":"Role","namespace":"acp-shrd","name":"EKS-Shared-Read"}} {"level":"info","ts":1663932839.0426767,"logger":"Alert.reconcile","msg":"Deleted propagated object","rid":379,"trigger":"acp-shrd-srv-service-auth/shrd-kustomization-alert-config-alertmanager-0"} {"level":"info","ts":1663932842.2426782,"logger":"Provider.reconcile","msg":"Deleted propagated object","rid":576,"trigger":"acp-shrd-srv-service-auth/flux-system-alertmanager-0"} {"level":"info","ts":1663932842.7491846,"logger":"RoleBinding.reconcile","msg":"Deleted propagated object","rid":561,"trigger":"acp-shrd-srv-service-staticcontent/EKS-Shared-Read"} {"level":"info","ts":1663932843.143244,"logger":"RoleBinding.reconcile","msg":"Deleted propagated object","rid":663,"trigger":"acp-shrd-srv-service-helloworld/EKS-Shared-Read"} {"level":"info","ts":1663932843.4476533,"logger":"Secret.reconcile","msg":"Syncing source object","rid":731,"trigger":"acp-shrd-srv-service-auth/squid-proxy-connection-string-25kfh2dm75","namespace":"acp-shrd-srv-service-auth","cleansource":{"apiVersion":"v1","kind":"Secret","namespace":"acp-shrd-srv-service-auth","name":"squid-proxy-connection-string-25kfh2dm75"}} {"level":"info","ts":1663932843.4477758,"logger":"Secret.reconcile","msg":"Syncing source object","rid":723,"trigger":"acp-shrd-srv-service-auth/default-token-rrpl5","namespace":"acp-shrd-srv-service-auth","cleansource":{"apiVersion":"v1","kind":"Secret","namespace":"acp-shrd-srv-service-auth","name":"default-token-rrpl5"}} {"level":"info","ts":1663932843.6386151,"logger":"RoleBinding.reconcile","msg":"Deleted propagated object","rid":809,"trigger":"acp-shrd-srv-service-wsipprovisioningmediator/EKS-Shared-Read"} {"level":"info","ts":1663932843.6390092,"logger":"RoleBinding.reconcile","msg":"Syncing source object","rid":812,"trigger":"acp-shrd/EKS-Shared-Read","namespace":"acp-shrd","cleansource":{"apiVersion":"rbac.authorization.k8s.io/v1","kind":"RoleBinding","namespace":"acp-shrd","name":"EKS-Shared-Read"}} {"level":"info","ts":1663932843.638133,"logger":"RoleBinding.reconcile","msg":"Deleted propagated object","rid":778,"trigger":"acp-shrd-srv-service-auth/EKS-Shared-Read"} {"level":"info","ts":1663932843.6424048,"logger":"Secret.reconcile","msg":"Syncing source object","rid":854,"trigger":"acp-shrd-srv-service-auth/acp-shrd-srv-service-auth-configuration-kh5fdthk8t","namespace":"acp-shrd-srv-service-auth","cleansource":{"apiVersion":"v1","kind":"Secret","namespace":"acp-shrd-srv-service-auth","name":"acp-shrd-srv-service-auth-configuration-kh5fdthk8t"}} {"level":"info","ts":1663932843.6424863,"logger":"Secret.reconcile","msg":"Syncing source object","rid":855,"trigger":"acp-shrd-srv-service-auth/sh.helm.release.v1.acp-shrd-srv-service-auth.v1","namespace":"acp-shrd-srv-service-auth","cleansource":{"apiVersion":"v1","kind":"Secret","namespace":"acp-shrd-srv-service-auth","name":"sh.helm.release.v1.acp-shrd-srv-service-auth.v1"}} {"level":"info","ts":1663932844.140371,"logger":"Secret.reconcile","msg":"Deleted propagated object","rid":1175,"trigger":"acp-shrd-srv-service-auth/default-token-k97k6"}
You can see the activities halted is removed here
{"level":"info","ts":1663932836.5450675,"logger":"hierarchyconfig.reconcile","msg":"ActivitiesHalted condition removed","rid":75,"ns":"acp-shrd-srv-service-auth"}
but the source object isn't synced until here
{"level":"info","ts":1663932836.8385975,"logger":"Role.reconcile","msg":"Syncing source object","rid":166,"trigger":"acp-shrd/EKS-Shared-Read","namespace":"acp-shrd","cleansource":{"apiVersion":"rbac.authorization.k8s.io/v1","kind":"Role","namespace":"acp-shrd","name":"EKS-Shared-Read"}}

This is very tricky to solve with the current architecture and makes me concerned about using HNC in general.
Help would be appreciated if anyone has time/inclination ( and I completely understand this is a volunteer open source project so hope my tone is coming across okay! ) :)
The problem is that the forest is eventually consistent or not consistent at all ( due to relying on the data being in the API server ) meaning handling state ( specifically when it comes to removals ) is a complicated endeavour.
I first tried adding an annotation to all the decedent source objects and using that to determine whether HNC should be allowed to delete the resource, but this doesn't work on a restart either because the decedent source object is also not populated on a restart. I could I think fix this, but then I'm wondering how much I'm going to be pulling at the wool ball if I do so.

I've had a crack at modifying the code here. This is being tested in our pre-prod environment, but I don't expect this pull request to be merged. Just hoping that it sparks some discussion :)
https://github.com/kubernetes-sigs/hierarchical-namespaces/pull/229/files

Hey @Alan01252 sorry for the delay in getting back to you. Yes, HNC can mistakenly delete objects while it's restarting, I'd like to have a go at fixing this once and for all in the future. The idea I had in mind was:

Every HierarchyConfiguration object stores both its parent and its last known children
During startup, HNC can use this information to know if its tree is incomplete, and disable all insertions or deletions until all expected namespaces are accounted for.

However, the bigger problem is that HNC really shouldn't be restarting frequently. We've tried to set the default CPU and RAM limits generously, but have you tried raising them to see if that helps?

I think a simpler fix might be to modify the forest so that we know if a source object is definitely present, definitely missing, or unknown (here). We already do that with namespaces themselves (ns.Exists()) but we should be able to do this with objects too.
So because the inherited-from label uniquely identifies the namespace that the object should have been propagated from, we could check to see if that object definitely does not exist, or if we're not sure. If we're not sure, we re-enqueue that object. Then everything should work as it does today - if it turns out the object really doesn't exist, HNC will enqueue all objects of the same type with the same name in all descendant namespaces, which will let them all be deleted. Otherwise, it'll be a no-op.

Hi Adrian!
Thanks for the reply, tis very much appreciated.

However, the bigger problem is that HNC really shouldn't be restarting frequently. We've tried to set the default CPU and RAM limits generously, but have you tried raising them to see if that helps?

We've solved the immediate stability issues ( these were caused by us missing an alert on our pre prod environment ) however the reason this causes concern is we can not use HNC and do EKS/Node upgrades etc without having downtime of all our services due to propagated network policies etc being deleted when the HNC pod moves nodes. I assume anyone running HNC on spot instances would have similar challenges.

So because the inherited-from label uniquely identifies the namespace that the object should have been propagated from, we could check to see if that object definitely does not exist, or if we're not sure. If we're not sure, we re-enqueue that object. Then everything should work as it does today - if it turns out the object really doesn't exist, HNC will enqueue all objects of the same type with the same name in all descendant namespaces, which will let them all be deleted. Otherwise, it'll be a no-op.

This makes sense, and would presumably require another API call to see if the object actually does exist. I'll be honest I wasn't entirely sure how to implement that, so the method in the aforementioned pull request makes sure nothing is deleted unless it's been first seen in the forest.

Out of interest, what was the cause of the restarts if you don't mind me
asking? I occasionally see people asking about this and I'm wondering if
there's a common problem.
HNC's startup performance is quite poor because of a mistake I made in the
earliest versions of HNC - I thought that each object was read by an
individual call to the apiserver, so adding a few bad writes wasn't a big
deal, performance wise. I later learned that all objects of a given type
are read at the same time by a single call to the apiserver, which is
very performant. Oops. This problem is fixable - basically, in addition to
getting rid of the object deletions, we need to stop writing back
HierarchyConfiguration objects to remove child namespaces from the status
simply because they haven't been synced yet. But I haven't had a chance to
do this.
If you want to have a crack at either (or both) of these problems, I can
guide you in how to do that.  Then, stop HNC from
deleting objects or updating HierarchyConfigurations based on
known-incomplete data. Otherwise, I'll try to get to both by the end of the
year.
On Mon, Oct 3, 2022 at 2:32 AM Alan Hollis @.***> wrote:

Hi Adrian!
Thanks for the reply, tis very much appreciated.
However, the bigger problem is that HNC really shouldn't be restarting
frequently. We've tried to set the default CPU and RAM limits generously,
but have you tried raising them to see if that helps?
We've solved the immediate stability issues ( these were caused by us
missing an alert on our pre prod environment ) however the reason this
causes concern is we can not use HNC and do EKS/Node upgrades etc without
having downtime of all our services due to propagated network policies etc
being deleted when the HNC pod moves nodes. I assume anyone running HNC on
spot instances would have similar challenges.
So because the inherited-from label uniquely identifies the namespace that
the object should have been propagated from, we could check to see if that
object definitely does not exist, or if we're not sure. If we're not sure,
we re-enqueue that object. Then everything should work as it does today -
if it turns out the object really doesn't exist, HNC will enqueue all
objects of the same type with the same name in all descendant namespaces,
which will let them all be deleted. Otherwise, it'll be a no-op.
This makes sense, and would presumably require another API call to see if
the object actually does exist. I'll be honest I wasn't entirely sure how
to implement that, so the method in the aforementioned pull request makes
sure nothing is deleted unless it's been first seen in the forest.
—
Reply to this email directly, view it on GitHub
https://github.com/kubernetes-sigs/hierarchical-namespaces/issues/228#issuecomment-1264994930,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE43PZGG4UNV5WXLCNPWZPLWBJ4YJANCNFSM6AAAAAAQT3MBXU
.
You are receiving this because you commented.Message ID:
@.***>

Thanks again for your reply Adrian, this all makes sense to me now :)

Out of interest, what was the cause of the restarts if you don't mind me asking? I occasionally see people asking about this and I'm wondering if there's a common problem.

We had a node that had high cpu utilisation and for reasons I don't really understand this was causing hnc to restart more frequently than other pods. We resolve the cpu utilisation on the node, and used kustomizse to patch and remove the CPU limit since then it's been solid as a rock.

If you want to have a crack at either (or both) of these problems, I can guide you in how to do that.

I'll see what I can do, we get Friday afternoons to work on side projects at my current place of work so I'll see if I can implement what you've stated. I caveat all with this in stating that my full-time job isn't a go developer and so the code may not look like what you might have in your head!

For anyone looking for an update. I'm really sorry, but I've not been able to make this a priority to get resolved for various reasons.

@Alan01252 no worries, we all have jobs and lives so we're all in the same boat :)


Support for PHP minor versions

Is there an existing issue for this?

[x] I have searched the existing issues

Is your feature request related to a problem?
I use DDEV to run PHP benchmarks. I install multiple CMSs on a Ubuntu remote server and run tests on each of them using multiple PHP versions. The benchmark results are shared in a highly visited article available on the internet.
Not being able to specify PHP minor versions often prevents me from installing them successfully, resulting in their exclusion from the tests and the PHP benchmarks article.
Additionally, certain CMSs don't support PHP's latest minor release (or whatever release you have available), which also prevents me from installing them and running tests.
Since I'm not able to install them, I believe this is also valid for other DDEV users who need to work with PHP minor versions for their CMSs.
Describe your solution
I would gratefully appreciate it if you could implement the ability to set PHP minor versions when running ddev config --php-version. For example, ddev config --php-version 8.4.0 or ddev config --php-version 8.4.1.
Describe alternatives
If there's a workaround for that, I would also appreciate it if you could share it with me.
Thank you so much for your stunning work on DDEV.
Additional context
https://kinsta.com/blog/php-benchmarks/

Hi @ramosmd,
There is an add-on for this https://github.com/rfay/ddev-php-patch-build

Hi @stasadev! Oh wow! That's neat, thank you! 🙌


Compibility With Create Mod

I have met a problem with the latest action bulid on github
MTR (1.20.1 Version) doesn't match the Create mod, which appears that if the Create mod enabled the train and the rails won't display
even I change the model of the rails with the brush

Latest MTR Build appears to have fixed this (Fabric 1.20.1)

Thanks and it seems that the problem have solved


Use popper.js for toolbar positioning logic

@seaneking could you take a look and see if this works for you?

Only bit of weirdness is it doesn't position itself quite right when the text is at the edge of the screen:

compared with before:

Most likely an issue with popper.js
Given this, perhaps we should just leave this PR and do it properly when we develop Anchor? Then can just pillage the logic from this branch.

Oh yeah I'd say just leave this for a shareable behavior (Anchor), but if you want to dogfood this as an MVP until then, then sure happy to try it out. Does it have the viewport bounds behavior and all that?

Keen to dogfood given it'll be essentially the same logic once Anchor is a thing. And yeah keeping it in the viewport is just a part of popper.
So turns out the visual bug was because that env had body { position: relative; } but still the default margin of 8px so the toolbar was off by 8px. @seaneking think that's a reasonable enough caveat? i.e. that the toolbar will position itself relative to the body if the body has position: relative;

Not really, it shouldn't matter what position the body has - that's part of the problem we have now. That makes me wonder, if it's positioning itself relative to the body does that mean things like scrolling containers still break? In which case we'd in the exact same position as we are now.

I don't think so. Pretty sure scrolling containers are fine, but I need to investigate this some more and flag it in the popper.js repo - it's just that we have a very specific scenario, I've been struggling to nail a proper minimum repro, and I've already sunk too much time trying to figure out what's going on.
I might put this on hold for now, and we can nail it down when building Anchor / simpla-article.

Since we're now dogfooding this on simpla-article, and I'm assuming a lot of the logic in this is out of date, I'd prefer to just make a shareable behavior we can iterate on between both article and text. Because the pos logic on article is already pretty buggy cross-browser and needs fixes which I'm sure text will need as well.

You may find something useful in the preventOverflow modifier documentation:
https://popper.js.org/popper-documentation.html#modifiers..preventOverflow.boundariesElement
If you find out being an issue of Popper.js please open an issue on its repository so that I can fix it.

@FezVrasta yeah tried that, don't think it quite addresses the issues we've been seeing. Will definitely make an issue once I have a consistent minimum repro, thanks!