Can't foreman start. (webpack: Permission denied)

I am trying to add react_on_rails to a project which was using react-rails. I have run the react_on_rails:install generator and run bundle install and npm install. I am using rbenv and vagrant if that makes a difference.
Here is what happens when I try to foreman s
vagrant$ foreman start -f Procfile.dev
21:10:19 web.1    | started with pid 24083
21:10:19 client.1 | started with pid 24084
21:10:19 server.1 | started with pid 24085
21:10:19 client.1 | rm: cannot remove ‘app/assets/webpack/*’: No such file or directory
21:10:20 server.1 |
21:10:20 server.1 | ><EMAIL_ADDRESS>build:dev:server /home/vagrant/pwnagon/client
21:10:20 server.1 | > webpack -w --config webpack.server.rails.config.js
21:10:20 server.1 |
21:10:20 server.1 | sh: 1: webpack: Permission denied
21:10:20 server.1 |
21:10:20 server.1 | npm ERR! Linux 3.13.0-51-generic
21:10:20 server.1 | npm ERR! argv "/usr/bin/nodejs" "/usr/local/bin/npm" "run" "build:dev:server"
21:10:20 server.1 | npm ERR! node v5.10.1
21:10:20 server.1 | npm ERR! npm  v3.8.6
21:10:20 server.1 | npm ERR! code ELIFECYCLE
21:10:20 server.1 | npm ERR<EMAIL_ADDRESS>build:dev:server: `webpack -w --config webpack.server.rails.config.js`
21:10:20 server.1 | npm ERR! Exit status 126
21:10:20 server.1 | npm ERR!
21:10:20 server.1 | npm ERR! Failed at the<EMAIL_ADDRESS>build:dev:server script 'webpack -w --config webpack.server.rails.config.js'.
21:10:20 server.1 | npm ERR! Make sure you have the latest version of node.js and npm installed.
21:10:20 server.1 | npm ERR! If you do, this is most likely a problem with the react-webpack-rails-tutorial package,
21:10:20 server.1 | npm ERR! not with npm itself.
21:10:20 server.1 | npm ERR! Tell the author that this fails on your system:
21:10:20 server.1 | npm ERR!     webpack -w --config webpack.server.rails.config.js
21:10:20 server.1 | npm ERR! You can get information on how to open an issue for this project with:
21:10:20 server.1 | npm ERR!     npm bugs react-webpack-rails-tutorial
21:10:20 server.1 | npm ERR! Or if that isn't available, you can get their info via:
21:10:20 server.1 | npm ERR!     npm owner ls react-webpack-rails-tutorial
21:10:20 server.1 | npm ERR! There is likely additional logging output above.
21:10:20 server.1 |
21:10:20 server.1 | npm ERR! Please include the following file with any support request:
21:10:20 server.1 | npm ERR!     /home/vagrant/pwnagon/client/npm-debug.log
21:10:20 server.1 | exited with code 1
21:10:20 system   | sending SIGTERM to all processes
21:10:20 client.1 | terminated by SIGTERM
21:10:20          |
21:10:20          | ><EMAIL_ADDRESS>build:dev:client /home/vagrant/pwnagon/client
21:10:20          | > webpack -w --config webpack.client.rails.config.js
21:10:20          |
21:10:20 web.1    | terminated by SIGTERM

More details:
vagrant$ npm -v
3.8.3
vagrant$ node -v
v5.10.1

vagrant$ cat /home/vagrant/pwnagon/client/npm-debug.log
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/nodejs',
1 verbose cli   '/usr/local/bin/npm',
1 verbose cli   'run',
1 verbose cli   'build:dev:server' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'prebuild:dev:server',
4 verbose run-script   'build:dev:server',
4 verbose run-script   'postbuild:dev:server' ]
5 info lifecycle react-webpack-rails-tutorial@0.0.1~prebuild:dev:server<EMAIL_ADDRESS>6 silly lifecycle react-webpack-rails-tutorial@0.0.1~prebuild:dev:server: no script for prebuild:dev:server, continuing
7 info lifecycle react-webpack-rails-tutorial@0.0.1~build:dev:server<EMAIL_ADDRESS>8 verbose lifecycle react-webpack-rails-tutorial@0.0.1~build:dev:server: unsafe-perm in lifecycle true
9 verbose lifecycle react-webpack-rails-tutorial@0.0.1~build:dev:server: PATH: /usr/local/lib/node_modules/npm/bin/node-gyp-bin:/home/vagrant/pwnagon/client/node_modules/.bin:/usr/bin:/home/vagrant/.rbenv/versions/2.2.4/bin:/home/vagrant/.rbenv/libexec:/home/vagrant/.rbenv/plugins/ruby-build/bin:/home/vagrant/.rbenv/shims:/home/vagrant/.rbenv/bin:/usr/local:/usr/local/sbin:~/bin:/usr/local/heroku/bin:/usr/local/bin:/home/vagrant/bin:/home/vagrant/.rbenv/bin:/home/vagrant/.rbenv/shims:/usr/local:/usr/local/sbin:~/bin:/usr/local/heroku/bin:/usr/local/bin:/home/vagrant/bin:/home/vagrant/.rbenv/bin:/usr/local:/usr/local/sbin:~/bin:/usr/local/heroku/bin:/usr/local/bin:/home/vagrant/bin:/home/vagrant/.rbenv/shims:/usr/local:/usr/local/sbin:~/bin:/usr/local/heroku/bin:/usr/local/bin:/home/vagrant/bin:/usr/local:/usr/local/sbin:~/bin:/usr/local/heroku/bin:/usr/local/bin:/home/vagrant/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
10 verbose lifecycle react-webpack-rails-tutorial@0.0.1~build:dev:server: CWD: /home/vagrant/pwnagon/client
11 silly lifecycle react-webpack-rails-tutorial@0.0.1~build:dev:server: Args: [ '-c', 'webpack -w --config webpack.server.rails.config.js' ]
12 silly lifecycle react-webpack-rails-tutorial@0.0.1~build:dev:server: Returned: code: 126  signal: null
13 info lifecycle react-webpack-rails-tutorial@0.0.1~build:dev:server: Failed to exec build:dev:server script
14 verbose stack Error<EMAIL_ADDRESS>build:dev:server: `webpack -w --config webpack.server.rails.config.js`
14 verbose stack Exit status 126
14 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:239:16)
14 verbose stack     at emitTwo (events.js:100:13)
14 verbose stack     at EventEmitter.emit (events.js:185:7)
14 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:24:14)
14 verbose stack     at emitTwo (events.js:100:13)
14 verbose stack     at ChildProcess.emit (events.js:185:7)
14 verbose stack     at maybeClose (internal/child_process.js:850:16)
14 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:5)
15 verbose pkgid<EMAIL_ADDRESS>16 verbose cwd /home/vagrant/pwnagon/client
17 error Linux 3.13.0-51-generic
18 error argv "/usr/bin/nodejs" "/usr/local/bin/npm" "run" "build:dev:server"
19 error node v5.10.1
20 error npm  v3.8.6
21 error code ELIFECYCLE
22 error<EMAIL_ADDRESS>build:dev:server: `webpack -w --config webpack.server.rails.config.js`
22 error Exit status 126
23 error Failed at the<EMAIL_ADDRESS>build:dev:server script 'webpack -w --config webpack.server.rails.config.js'.
23 error Make sure you have the latest version of node.js and npm installed.
23 error If you do, this is most likely a problem with the react-webpack-rails-tutorial package,
23 error not with npm itself.
23 error Tell the author that this fails on your system:
23 error     webpack -w --config webpack.server.rails.config.js
23 error You can get information on how to open an issue for this project with:
23 error     npm bugs react-webpack-rails-tutorial
23 error Or if that isn't available, you can get their info via:
23 error     npm owner ls react-webpack-rails-tutorial
23 error There is likely additional logging output above.
24 verbose exit [ 1, true ]

vagrant$ npm i

><EMAIL_ADDRESS>postinstall /home/vagrant/pwnagon
> cd client && npm install

npm WARN optional Skipping failed optional dependency /babel-cli/chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>npm WARN optional Skipping failed optional dependency /webpack/watchpack/chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>npm WARN<EMAIL_ADDRESS>No description
npm WARN<EMAIL_ADDRESS>No repository field.
npm WARN<EMAIL_ADDRESS>No license field.
npm WARN<EMAIL_ADDRESS>No repository field.
npm WARN<EMAIL_ADDRESS>No license field.

@TSMMark I recommend using nvm to manage node.
The error is that webpack is not in the path or there is a permission problem.
21:10:20 server.1 | > webpack -w --config webpack.server.rails.config.js
21:10:20 server.1 |
21:10:20 server.1 | sh: 1: webpack: Permission denied


Save/load hyperparameters with checkpoint

Right now, test tube users can have model.load_from_metrics, but there's no equivalent functionality for users of other logging frameworks. I believe we discussed a while ago that this functionality should be decoupled from logggers.
Proposal:

When hyperparameters are stored as an argparse.Namespace in the hparams property of the model (as already required to get automatic hyperparam logging), save these parameters as part of checkpoints.
Add a load_from_checkpoint classmethod to LightningModule that basically duplicates the functionality of load_from_metrics, but gets the hyperparameters from the checkpoint directly.

I'm happy to send a PR if this proposal looks okay.

yeah that makes sense.
So in the checkpoint do:
checkpoint['hparams'] = ...

?
That should be the standard going forward. Logging is nice for Testtube UI purposes to see what went into an experiment. But that's separate from loading weights imho.


promql: allow tests to be imported

This change will allow other promql engine implementations like https://github.com/thanos-community/promql-engine the ability to import promql tests and make sure that they behave in the same way like the original.
Running the tests would look like
func TestEvaluations(t *testing.T) {
	files, err := fs.Glob(promql.TestManifestFS, "*/*.test")
	testutil.Ok(t, err)

	for _, fn := range files {
		t.Run(fn, func(t *testing.T) {
			content, err := fs.ReadFile(promql.TestManifestFS, fn)
			test, err := promql.NewTestWithEngine(t, func(eo promql.EngineOpts) promql.TestEngine {
				return engine.New(engine.Opts{EngineOpts: eo})
			}, string(content))
			testutil.Ok(t, err)
			testutil.Ok(t, test.Run())

			test.Close()
		})
	}
}

Hey @bwplotka how does current state look to you? Can you take another look?

We discussied this during our Prometheus bug scrub and we think it would be a good improvement.
@MichaHoffmann @bwplotka can you please followup on this pull request? Thanks


Add docker hub ci action

Addresses a portion of #11. I created a push.yml file that will automate building and pushing this repo's Docker image to Docker Hub. Instructions are included in the README on what needs modified in the file for an individual's respective projects.
Note: you will want to disable this workflow for your public template because it will fail. 🫶🏼

Let's get that money 💸

(Thanks for the PR @laylark!)


Is oauth2-public-callback_pkce_s256.ts working?

Running the file with the correct Client ID returns:
  error: {
    error: 'unauthorized_client',
    error_description: 'Missing valid authorization header'
  }

Hey, in your User authentication settings make sure the Type of App is Native App or Single Page App


Automate the testing of tutorials to ensure cross-platform compatibility

see mika's comments here:
https://github.com/crate/crate-tutorials/pull/3
it's vital that our tutorials work. more so than the rest of our documentation, I would say -- because the tutorials are likely to be a user's first impression
we want the tutorials to work across the widest possible array of operating systems and setups
testing this manually each time is a hassle, and probably won't be done reliably. so, we should come up with a way of testing (i.e., executing) the tutorials automatically as part of the CI setup
not sure what the best approach is here. so creating this issue to collect thoughts, discussion, etc

see also: https://github.com/crate/tech-writing-domain/issues/179

my initial thoughts:

we have tests set up on crate/crate. I am not too familiar with the setup so I should take a look at that
I would like to research plugins for sphinx that allow code blocks to be executed. I bet there are multiple ways of getting this working
this would need a running instance of cratedb on the machine doing the testing. we should be able to set that up for travis or github actions

see also: https://github.com/crate/crate-docs-build/issues/29


Chromium network access from NFS mount

Hi,
I am trying to execute a program that uses chromium underneath to access network but it fails. Searched around looks like chromium is not supported to run in the NFS mount due to sandbox mode : https://superuser.com/questions/837229/chromium-browser-will-not-work-when-in-located-on-network-drive. Curious is there a way to bypass this in the NFS serve lib? (Unfortunately I don't have option to configure or avoid chromium right now)
Thanks!

Hmmmm... From that issue you linked posted it looks like there is a "--no-sandbox" command you can pass to chromium?

I am trying to run a program that wraps chromium, I don't have permission to modify that program so I cannot pass that command :(


Suppress display of end-of-file newline as blank line

Fixes #1027.
We read the thread and the consensus seemed to be that there should be a setting that controls the display of the numbered blank line at the end of files. So that's what we did. We're not sure if we used the most correct naming, but after a couple of tests it does seem to work as intended. Here are some screenshots:
Added setting

No blank like

Setting on

Setting off

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


Enable Ubuntu 18.04 host support

Fix some packages that have changed since 16.04.
Remove some supurious checks in checkenv
Fix auth issues in multistrap
Dont rely on fancy resolvconf and just use nameserver <IP_ADDRESS>
(aka google public dns)
Builds end to end on an 18.04 system and should workon on 19.x too

Hi @powderluv, we appreciate your contribution! Thanks for taking the time to put this together.
However, we won't be able to accept it if Google DNS is used in resolv.conf, due to our internal policies.
I understand that from your point of view this makes sense (I have also looked at https://github.com/Avnet/Ultra96-PYNQ/issues/46), but since we use the build flow internally for distributing new images, we need to rely on our corporate network configuration.
We open-sourced the build flow for everyone to use, but since it is used internally, this specific change cannot be merged in.
I would suggest you remove it and instead open a thread on our forum https://discuss.pynq.io documenting your solution.
Also, did you make sure it is still working on 16.04? As of now, this is a strict requirement for us.

No worries. I understand. I have a Work in progress patch that fixes the resolv.conf issue in the chroot without using a hardcoded DNS.  I also have a Dockerfile to make it easy to test on 16.04/18.04. Will cleanup and update this PR.

That's great to hear! please feel free to get in touch in case you need assistance.

I have fixed the resolv.conf issues without the using a hardcoded nameserver. Essentially I copy over the resolv.conf from the host's /run directory. I also fixed [1] and added a way to add different DEPS for different host Ubuntu versions (gcc-multilib doesn't exist in 18.04 and later)

https://discuss.pynq.io/t/pynq-sd-image-for-ultra96-error-in-gpg-key-for-apt/101/3

Thanks @powderluv, I am taking care of testing this and will report out. We appreciate your work!

Ok so, first of all, these changes should be integrated in your PR
https://github.com/giunatale/PYNQ/commit/eef551931c95f690970a9a2e0240bd6edb0045fa
As of now, we still are not able to get it to work though. Not on 18.04, nor 16.04
This specific change is not working for us: https://github.com/Xilinx/PYNQ/pull/974/files#diff-93512a360433648fc68944b170b39154R80
/run/systemd/resolve does not exists on our Docker images and build systems.
Can you comment on why you did that specific change? We are also wondering why you do that copy in $target/run/systemd.
Thanks

I can see why you do that copy in $target that's because if we remove the force-reinstall of resolvconf in create_rootfs.sh that's where it is picked from.
Indeed /etc/resolv.conf in chroot is a symlink there
/etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
We don't really want to do this copy in chroot, the best approach is to let chroot pick up the right resolv.conf from host, no matter how the sysconfig (again, for instance, in our environments /run/systemd/resolve does not exist). And everything should be done host-side. We'll do some more testing ourselves, but you are welcome to investigate this as well.

Please feel free to break up the changes and merge them in. I dont care about it being my patch as much as getting the build fixed :)
So  giunatale@eef5519 looks great. Please merge that if that passes all your tests.

About resolv.conf being a dangling reference: I see few solutions

use a resolv.conf that hardcoded during chroot setup. This was my initial commit in this PR that uses https://developers.google.com/speed/public-dns  .  Since there is no private elements it could work but I understand the need to use your own DNS.
use a resolv.conf that copies over from the host system (when running natively - no vagrant or Docker). This is the latest patch I have
Bind mount /run/systemd/resolv into the chroot in your docker run command. But since the Open Source build doesn't have a Dockerfile I can't submit a patch for it. I do have a docker setup with all the Deps in setup_host.sh. Maybe you can push an opensource Dockerfile and I can add the resolv bind mount into it ?

The other option I could think of is to check my cp of /run/systemd/resolve only if it exists. This will also work for your Dockerfile and for "native" systems. LMK if that is good and I can rework the patch again.

I don't see setup_host.sh gets added - maybe it means you use the same setup_host.sh for both 16.04 and 18.04?

Good point.  I will update a new setup_host.sh  in a separate patch that essentially installs:
for 18.04 and later
gcc-multilib-arm-linux-gnueabihf
gcc-arm-linux-gnueabihf
g++-arm-linux-gnueabihf
gcc-aarch64-linux-gnu
g++-aarch64-linux-gnu
and for 16.04
gcc-multilib

Sorry replying from my phone.
@ynqu setup_host is updated in my branch. I am missing a few packages @powderluv mentioned though, but I recommend we merge the two branches so the changes proposed can be integrated with what I already did.
@powderluv to merge in my changes I either do a new PR or we merge it in your branch. If you want me to do the latter (which I actually recommend we do) you should give me write access on your repo so I can push the changes on that branch. Or you can merge them in yourself. I used your branch as base.
Regarding resolve.conf, unfortunately we cannot publish our Dockerfiles, sorry.
The last option is actually what I would do indeed. /etc/resolve.conf will always exist and is going to be a symlink to the used resolve.conf, so we could follow that symlink and find the used resolve.conf on host that way, and copy that instead of assuming it is in a fixed place, that might change based on the os config

no worries. I gave you push access to my repo. Feel free to update the branch there.
Once your changes are in I can rework resolv.conf with a check.

That's great. I pushed my changes :)

Can you push it to a new branch? We can pull your change in first and then bring in the resolve.conf change since that needs updating. Thanks

Pushed only my commit (I rebased onto Xilinx:master) in https://github.com/powderluv/PYNQ/tree/18.04-noauth-setup_host
I hope that's what you were asking, if not let me know so I can act on it.

gcc-multilib-arm-linux-gnueabihf
gcc-arm-linux-gnueabihf
g++-arm-linux-gnueabihf
gcc-aarch64-linux-gnu
g++-aarch64-linux-gnu

FYI, I force-pushed this change on the 18.04-noauth-setup_host branch I created on your repo.

Ok so, I've been looking at it a bit more in depth and I think I've solved the issue in a way that should satisfy everyone.
https://github.com/giunatale/PYNQ/commit/be6aa8a7a9425b8ef9aae0eb9124f766214275b0
I've fixed it in setup_host.sh (so host-side) and this is also because in the end, your copy was not really affecting the chroot env. This is because when we install packages, we mount sys so your copy gets blown away. The true fix for you was preventing the force-reinstall of resolveconf which is making chroot point at the right resolve.conf file (the one you have on your host).
There's another change that we require to do for our internal build that you can see in create_rootfs.sh along with the removal of the resolv.conf copy in $target, but this I think all we need.
Along with my changes on the branch I pushed on your repo, this I think should be it.
If you want, I can merge everything in this PR branch so we should be able to accept the PR. Indeed, my current tests seems to show that everything is working fine. I'll do more testing but for now this is promising!
Of course, you are strongly invited to test this yourself and provide feedback.
Please advise on how you want to proceed. And many thanks for this PR!
Cheers!

This is great. I’ll retest in the next few hours and report back. I can update this PR with all changes so it can be merged

Btw if you have access to the team that ships petalinux can you please get them to update check_env binary that gets called from settings.sh to not check for gcc-multilib on 18.04+ systems since the package name has changed. It is just a harmless warning.

I updated this PR with the three commits from  https://github.com/giunatale/PYNQ/commit/be6aa8a7a9425b8ef9aae0eb9124f766214275b0 so hopefully it is ready to be merged in.

Btw if you have access to the team that ships petalinux can you please get them to update check_env binary that gets called from settings.sh to not check for gcc-multilib on 18.04+ systems since the package name has changed. It is just a harmless warning.

Yes I noiced the same. I'll see what we can do. Fortunately it doesn't really affect anything, as you said it's just a harmless warning.

I updated this PR with the three commits from giunatale@be6aa8a so hopefully it is ready to be merged in.

I had to add a small thing on setup_host.sh and check_env.sh (I hope you don't mind) which is install/check for rsync. This is actually a package that should always be pre-installed, but on my 18.04 docker it wasn't there and Petalinux failed for that reason.
That said, if you confirm that this is working for you (for me it is on all my tests) I can notify the team so it could be merged in. (I also take care of addressing your comments, thanks for taking the time to review them)

Works for me. Please merge

We are doing some more testing, we'll merge once we are 100% sure it's working in all our test cases, which should happen soon. In the meantime, I've pushed a small change in setup_host and check_env (python3-pip as a dep)

Thanks for the update. Will let you update it as required and merge.

@powderluv  can I put PR onto your gihub repo? Right now I don't have access. I need to fix the vagrant file and a couple of other places.

Done

Any updates on the testing ? Please merge if it looks ok.

For bionic VM, xterm and gcc-multilib are still required to install petalinux. Please give me a few days to further verify this.

for 18.04 and later
gcc-multilib-arm-linux-gnueabihf
gcc-arm-linux-gnueabihf
g++-arm-linux-gnueabihf
gcc-aarch64-linux-gnu
g++-aarch64-linux-gnu

@powderluv @giunatale I found that this does not work for vagrant. Petalinux still requires gcc-multilib to install. Looks like gcc-multilib and gcc-multilib-arm-linux-gnueabihf cannot coexist at the same time. Workaround would be use gcc-multilib first to make Petalinux happy, then install gcc-multilib-arm-linux-gnueabihf after Petalinux has been installed. This is ugly, but if you guys have better idea, let me know.

I think that is a reasonable workaround. We have to do that even in native 18.04 and above systems. I would suggest a fix to petalinux instead.

Btw once we merge this If anyone is interested I can have a follow on PR  that will fix the build for 19.10 and upcoming 20.04 but it requires some bb fixes to qemu until they update the yocto SDK

for 18.04 and later
gcc-multilib-arm-linux-gnueabihf
gcc-arm-linux-gnueabihf
g++-arm-linux-gnueabihf
gcc-aarch64-linux-gnu
g++-aarch64-linux-gnu

@powderluv @giunatale I found that this does not work for vagrant. Petalinux still requires gcc-multilib to install. Looks like gcc-multilib and gcc-multilib-arm-linux-gnueabihf cannot coexist at the same time. Workaround would be use gcc-multilib first to make Petalinux happy, then install gcc-multilib-arm-linux-gnueabihf after Petalinux has been installed. This is ugly, but if you guys have better idea, let me know.

I agree with @powderluv, it sounds reasonable to me. Although I also agree this should be fixed on the Petalinux side. The problem is @powderluv we have little control over that. So for now, I'd follow @yunqu strategy.

@giunatale Is there a reason why we want to have PACKAGES_18_04? I found that with gcc-multilib I am able to build the SD card.

This sets us up for the future. Anything after 18_04 will also require ncurses6 instead of ncurses5 (since that has been removed in 19.XX+ )

I agree with @powderluv, it sounds reasonable to me. Although I also agree this should be fixed on the Petalinux side. The problem is @powderluv we have little control over that. So for now, I'd follow @yunqu strategy.

An external contributor will have even less influence on petalinux I assume :) But hopefully there is a feedback channel for you.

@giunatale Is there a reason why we want to have PACKAGES_18_04? I found that with gcc-multilib I am able to build the SD card.

This sets us up for the future. Anything after 18_04 will also require ncurses6 instead of ncurses5 (since that has been removed in 19.XX+ )

My suggestion on this, is to remove PACKAGES_18_04. The problem is that petalinux only supports 16 and 18, based on user guide currently. The PACKAGES_18_04 is not necessary since this may need to be updated again based on new petalinux requirement.

@giunatale Is there a reason why we want to have PACKAGES_18_04? I found that with gcc-multilib I am able to build the SD card.

This sets us up for the future. Anything after 18_04 will also require ncurses6 instead of ncurses5 (since that has been removed in 19.XX+ )

My suggestion on this, is to remove PACKAGES_18_04. The problem is that petalinux only supports 16 and 18, based on user guide currently. The PACKAGES_18_04 is not necessary since this may need to be updated again based on new petalinux requirement.

But what @powderluv noted still stands (for ncurses5 vs ncurses6). I am fine removing it for now in setup_host.sh, but it might be required again (or something similar) in the future.

Yung I'm ok with whatever works to merge thIs now.


Disable all deflections

Is your feature request related to a problem? Please describe.
Is it possible to implent a feature to disable all deflections?  At the moment all deflections are enabled with the switch. If i`m going to disable deflection with the switch only the first deflection will be disabled
Describe the solution you'd like
Disable all deflections in fritz
Describe alternatives you've considered
Additional context

should be fixed in v6.0.16 (beta) - pushig soon
if you want to try it:
sudo npm i -g homebridge-fritz-platform@beta


Status stuck at Domain Activation stage

Before opening, please confirm:

[X] I have checked the custom domains troubleshooting guide.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

App Id
d2lb4m0otlxg3
Region
us-west-1
Step
SSL Configuration
Status
Stuck
Issue or question
I have a custom domain hosted ad Route 53, and after adding a subdomain to the Amplify app (which should be a one click setup), the process get stuck at the SSL Configuration Stage.

I did try deleting the custom domain within the Amplify console and re-adding it, without success.
Error message
I get no error, it just get stuck after checking that all requirements for this step are fulfilled.
Additional information
No response

Hi @bcien 👋🏽 which DNS provider are you using?

After restarting it today, it finally worked.
If someone else face this issue, I recommend to check the following:

If you bought/transfer the domain to AWS, go to Route53 and make sure the DNS config is as Amplify requires.
If you bought the domain outside AWS and have not transfered it, and if you want to use Route 53: visit the webpage where you bought the domain and make sure the nameservers are set to point to AWS, following Route 53 instructions.
If you bought the domain outside AWS and have not transfered it, and if you don't want to use Route 53: visit the webpage where you bought the domain and make sure to add all the DNS entries Amplify requires.

Good luck


Glue Crawler not creating tables for existing CUR

When deploying COAST pointing to an existing CUR, it won't create the data tables

Fixed by https://github.com/aws-samples/coast-grafana-cost-intelligence-dashboards/pull/13


Change instructions for how-to-npm and learnyounode challanges

Pre-Submission Checklist

[x] Your pull request targets the staging branch of FreeCodeCamp.
[x] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[x] You have only one commit (if not, squash them into one commit).
[x] All new and existing tests pass the command npm run test-challenges. Use git commit --amend to amend any fixes.

Type of Change

[x] Small bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[x] Tested changes locally.
[x] Closes currently open issue (replace XXXX with an issue no): closes #8680 closes #7080

Description

This PR changes the instructions for the how-to-npm and learnyounode challanges.
The main change is to use a "Blank" template instead of a "Node.js" template when creating a workspace on C9.
With the "Node.js" template both challenges regularly broke. Especially the dist tag challenge from how-to-npm.
I also fixed some typos and instructions which weren't so clear to the user.

@hutstep everything looks good to me, but isn't npm stylized as lowercase? On the npm website (https://www.npmjs.com/), npm is always lowercase. What are you thoughts on this?

@erictleung I don't understand what you mean? I changed all "npm" to lowercase because of that. They were all uppercase before.
On the npm website and on Wikipedia it's always lowercase.

@hutstep oh sorry, I mixed up the red and greens in the commit diff in GitHub :smile: LGTM! :+1: Thanks for your contribution!

No problem. :smile:
Thanks!


BUG - Fastlane Unit Tests #173

What it Does

Closes #173
Provides coverage report #71 using xcov

How I Tested

Executed unit tests locally using fastlane, bundle exec fastlane unit_tests
Ran github workflow after pushing to branch

Notes

Removed build_for_testing config setting which was only building the code but not executing the tests. Ref fastlane docs..
Updated gemfile to install xcov gem for code coverage.
Added xcov action in fastfile to provide code coverage.
Minimum code coverage has not been specified yet as there aren't enough tests written. This can be updated later by adding minimum_coverage_percentage: 80.0 with an acceptable benchmark value to the xcov action in the fastfile.
Added .xcovignore file in fastlane folder. This can be used to exclude files we do not need to test or require coverage to be gathered for. I believe model/business logic files are more suited for testing. This can be updated as development progresses.
Added xcodebuild_formatter config in fastlane to use xcbeautify for cleaner logs.
Updated github workflow to install dependencies via bundle (for gems) & via homebrew (for xcbeautify)
Right now the plan only executes unit tests via the only_testing config flag in fastlane. If removed, it will also execute UI tests ( #54 ) but I've observed the workflow taking over an hour to complete on GitHub. So maybe it's something we need to weigh the pros & cons for?
Updated workflow such that only the last initiated workflow executes in order to prevent multiple workflows from running on multiple code push actions. See concurrency in workflow file.
In order to run locally, make sure to first run bundle update for installing gem dependencies and then run brew install xcbeautify to install xcbeautify for cleaner logging. You might need to use sudo incase you run into errors for write permissions to the ruby directory

Screenshots ~ Local

Coverage report ~ fastlane/CodeCoverageReport/index.html

Screenshots ~ Github workflow

Failing tests

Passing tests

Miscellaneous

We can add a unit test status badge to the ReadMe as well to provide a quick status of the unit testing workflow. It'd look something like this  but it would say passing or failing depending on the unit test workflow status. If you feel this adds value, please feel free to create an enhancement or improvement & assign to me & I'd be happy to take it up!

Thanks for the detailed PR!!

Right now the plan only executes unit tests via the only_testing config flag in fastlane. If removed, it will also execute UI tests ( https://github.com/mikaelacaron/Basic-Car-Maintenance/issues/54 ) but I've observed the workflow taking over an hour to complete on GitHub. So maybe it's something we need to weigh the pros & cons for?

Yeah that's definitely an issue, let's not run them at this moment, and I may just run them manually for now (when it's needed)

We can add a unit test status badge to the ReadMe as well to provide a quick status of the unit testing workflow. It'd look something like this Unit Tests Workflow Badge but it would say passing or failing depending on the unit test workflow status. If you feel this adds value, please feel free to create an enhancement or improvement & assign to me & I'd be happy to take it up!

Yes I'll do this after I merge your PR!


Investigate Spring Cloud AWS integration

Investigate ability to

pull properties and certificates from AWS Secerts manager
pull properties from AWS System Manger's parameter store

OBE


Nio default filesystem

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-storage-common

Don't forget a changelog entry

Looks like it's perhaps missing a test that defaults are loaded if values are missing from the config map? And also that it will auto load a filesystem if one isn't present?

Looks like it's perhaps missing a test that defaults are loaded if values are missing from the config map? And also that it will auto load a filesystem if one isn't present?

Yep! Nearly there. Been sorting out build issues before we get to a default environment.

/azp run java - storage - ci

@jaschrep-msft What is the status on this PR?


add documents for histogram aggregate functions

I think we should add documents for histogram aggregate functions, it would be proper to assign it to me.
References:

https://github.com/datafuselabs/databend/pull/14839
https://github.com/datafuselabs/databend/issues/14588

There you go

https://github.com/datafuselabs/databend-docs/pull/680


WebSocket onmessage event is not triggered when the app is in background

When you push home button to make your app in background, the network will not be shut down immediately both on android and ios. On ios it will be 10 minutes and on android it will last to app being killed.
But react-native app could not receive any message from websocket when it is in background until you turn it to foreground and then the onmessage event will be triggered.
I don't know if this is the problem caused by JSC which may be stopped after the app is turned to background. If it is, how to solve this problem ? Because I want to do local notification with it.

I tested it on an Android 6.0 phone, it's OK. But on ios and Android 4.3 phone, the onmessage event cannot be emitted. Seems like the js code stop running in the background.

I finally figure out the ios system will suspend your app's threads after it moves to background.
reference
It seems hard to make react-native JSC running in background with beginBackgroundTaskWithExpirationHandler: method. Anyone got any ideas ?

You're probably trying to fight against an iOS policy. It could be an option to integrate with iOS global event messaging system. This way, you don't have to worry about the websocket being active all the time. Probably more battery friendly also.


Just got one question.

What is your question?
What the heck is a "TeaCall"
Cuz i have an error saying: source/psychlua/HScript.hx:317: characters 89-96 : Type not found : TeaCall
but I have no idea what a TeaCall is

idk what it is 🙁 js replace TeaCall with Tea

How do you replace Teacall with Tea?


Handle splitting of compound expressions in Mux

SplitExpressions technically handles Muxes in the call to split(), but
split() is only called on a DoPrim and Muxes are not DoPrims. We therefore
end up with cases where muxes still contain nested expressions after calling
this pass.
This commit fixes the issue.
Contributor Checklist

[ ] Did you add Scaladoc to every public function/method?
[ ] Did you update the FIRRTL spec to include every new feature/behavior?
[x] Did you add at least one test demonstrating the PR?
[ ] Did you delete any extraneous printlns/debugging code?
[x] Did you specify the type of improvement?
[x] Did you state the API impact?
[x] Did you specify the code generation impact?
[x] Did you request a desired merge strategy?
[x] Did you add text to be included in the Release Notes for this change?

Type of Improvement

bug fix

API Impact

No API changes.
Backend Code Generation Impact
Generated verilog should now contain an intermediate signal that breaks up compound expressions in Muxes, similarly to how all other nested non-mux expressions are broken up.
Desired Merge Strategy
Squash: The PR will be squashed and merged (choose this if you have no preference. -->
Release Notes
Fix bug where compound expressions in Muxes were not being split by the SplitExpressions pass.
Reviewer Checklist (only modified by reviewer)

[ ] Did you add the appropriate labels?
[ ] Did you mark the proper milestone (1.2.x, 1.3.0, 1.4.0) ?
[ ] Did you review?
[ ] Did you check whether all relevant Contributor checkboxes have been checked?
[ ] Did you mark as Please Merge?

Hi folks.
I see that a regression test failed with my modification, but I didn't get this specific error when running sbt test. Are they run through that command? If not, could anyone point me to how to run these tests locally so I can debug what went wrong?
Thanks!

Alright, I found the test. I'll close this PR while I investigate the regression failure.


Enum values are incorrectly marked as deprecated

Steps to reproduce:

Create a schema containing an enum using AbstractEnumType
Do an introspection query using e.g. get-graphql-schema
The enum values are incorrectly reported as @deprecated because the deprecationReason defaults to an empty string instead of null

@symm thanks for reporting, will take care of it.


bump libc dependency to 0.2.42

Thanks for the PR.
Could you explain the reason to bump the minimum version? The version in Cargo.toml should specify the oldest version that is needed to run Mio.

This change was included as part of #850, so I will close this now.


Proposal: Alloy syntax conditionals

Background
Conditionals for the Alloy syntax were initially proposed by @tpaschalis on Dec 20, 2022 (#157).
In Alloy's current state, conditionals would mainly reduce the need for a templating engine when deploying Alloy configs statically. While this is an interesting use case, it's difficult to justify over other priorities, as a templating engine can still be used.
However, when considered alongside other proposals like #156, conditionals become a requirement for dynamic transformation and data routing, as acting on streams of data is not something that can be achieved with templating engines. Imagine a hypothetical prometheus.route component that can inspect incoming metrics and route to different components:
prometheus.scrape "default" {
  targets    = ...
  forward_to = [prometheus.route.prod.receiver]
}

// prometheus.route inspects incoming metrics and uses their
// labels to determine which component to forward them to.
prometheus.route "prod" {
  forward_func = func(metric) => (
    if metric.namespace == "prod" then [prometheus.remote_write.prod.receiver]
    else if metric.namespace == "qa" then [prometheus.remote_write.qa.receiver]
    else [prometheus.remote_write.dev.receiver]
    end
  )
}

prometheus.remote_write "prod" { ... }
prometheus.remote_write "qa" { ... }
prometheus.remote_write "dev" { ... }

Even though conditionals are difficult to prioritize based on current functionality, adding support for conditionals now will allow us to build a framework for more advanced pipelines and set a precedence for how we can explore syntactical experiments using the --stability.level flag.
This proposal supersedes #157.
Please use reactions to vote on this proposal, with :+1: to signify support and :-1: to signify disapproval. When disapproving, a comment would be appreciated so we can discuss and refine the proposal as needed.
Proposal
This proposal has the following goals:

Enable conditionals within an Alloy expression. Conditional statements (such as a conditional block) is out of scope.
Balance readability and terseness for long chains of conditionals.

Syntax
Following the exploration in #157, the (ENBF) grammar for conditionals is as follows:
CondExpr       = "if" Expression "then" Expression
                 { CondElseIfExpr } [ CondElseExpr ] "end"
CondElseIfExpr = "else" "if" Expression "then" Expression
CondElseExpr   = "else" Expression

// CondExpr is a type of PrimaryExpr, giving it one of the lowest precedences.
PrimaryExpr = LiteralValue | ArrayExpr | ObjectExpr | CondExpr

Here, the tokens if, then, else, and end are selected to align with natural language for how developers communicate conditionals. This makes conditionals slightly more approachable for non-developers compared to more obscure tokens like ? and : and can aid in making conditionals easier to grok for first-time readers.
While the then keyword is more verbose, it is easier to parse correctly as it strictly divides the "if" part of the expression with the value.
Additionally, terminators are not required within the grammar for conditionals; this allows writers to place newlines arbitrarily for readability.
The proposed grammar would parse all of these expressions:
// Single if
if CONDITION then VALUE end

// If/else
if CONDITION then VALUE else VALUE end

// If/Else-if chain
if CONDITION then VALUE
else if CONDITION then VALUE
else if CONDITION then VALUE
end

// If/Else-if/Else
if CONDITION then VALUE
else if CONDITION then VALUE
else if CONDITION then VALUE
else VALUE
end

// Alternative form for more readibility
if CONDITION then
  VALUE
else if CONDITION then
  VALUE
else if CONDITION then
  VALUE
else
  VALUE
end

Evaluation
The syntax evaluator will iterate through the conditionals within the expression and return the first value where the condition is true. If no conditions are true, the else value will be returned. If there is no else value, the expression evaluates to null.
If a conditional in the overall expression is not a boolean value, the entire expression will fail to evaluate:
if a == 5 then
  a * 2
else if 6 then // INVALID: expected 6 to be a boolean, got number
  a * 3
end

Style and formatting
The formatter will mostly retain the conditional as written by the user, including with newlines. However, if a conditional expression is used as part of a more complex expression (binary operation, etc.), the formatter will surround the conditional in parenthesis for readability (if it is not already).
// Before formatting
if a > 5 then a * 2 else a end + 10

// After formatting
(if a > 5 then a * 2 else a end) + 10

When the formatter surrounds a conditional in parenthesis, if that conditional crosses multiple lines, the surrounding parenthesis are placed on new lines and the inner conditional is indented:
// Before formatting
if a > 10 then [0, 1, 2]
else if a > 5 then [3, 4, 5]
else [6, 7, 8]
end [0]

// After formatting
(
  if a > 10 then [0, 1, 2]
  else if a > 5 then [3, 4, 5]
  else [6, 7, 8]
  end
)[0]

Delivery
While it is unlikely support for conditionals will be removed, they should not be released immediately as Generally Available to give us time to iterate and explore the syntax, and potentially make breaking changes if needed. The initial delivery of conditionals will be tagged as public preview and will require passing  --stability.level=public-preview or  --stability.level=experimental for conditional support.
If the stability level is not set properly, errors will be returned in three places:

The scanner will return an error when encountering a token specific to conditionals (if, else, then, end).
Additionally, the parser will return an error if a conditional-specific token is scanned.
Additionally, the syntax evaluator will return an error if  a conditional expression found in the AST.

The bottom two conditions are technically unnecessary, but a defensive implementation is useful towards ensuring that users do not get access to a feature which is not GA yet.
The alloy fmt command disables these checks to allow conditionals to be parsed and formatted regardless of whether the Alloy instance supports them.
Alternatives considered
Refer to #157 for alternative approaches that were considered.
Acknowledgements
Credit to @tpaschalis for the work on the original proposal which formed the basis for this one.

Are user defined funcs a precursor to conditionals? Granted we can do them separately but I think they would have more limited use unless we defined func beforehand.

I touch on this in the proposal:

Even though conditionals are difficult to prioritize based on current functionality, adding support for conditionals now will allow us to build a framework for more advanced pipelines and set a precedence for how we can explore syntactical experiments using the --stability.level flag.

Is nesting conditional statements not allowed?
if CONDITION then if CONDITION then VALUE else VALUE end else if VALUE end

Can we change the example to only use functionality that exists today + what you are suggesting? Might give the wrong direction on what this proposal enables.

I believe it's important to acknowledge how conditions will be fundamental in the future. In total isolation I don't think we can prioritize them. This is a bit of a chicken and egg problem; if we do the more powerful stuff first it's hampered because conditionals don't exist, but conditionals on their own aren't extremely useful without the more powerful capabilities.

Do you think we should add an explicit return keyword? Thinking of if we implement variables, it might be helpful and clearer. In general approve of the idea and implementation.

You can already use custom components as variables. With conditionals this opens the door to many twisted scenarios 😄

@wildum I expanded the grammar above to show the precedence of conditionals, and added a section for formatting to make it clear how the formatter will enhance readability. I'm going to resolve the earlier comments about nesting if expressions now :)

I'm not dramatically opposed to curly brace syntax (though maybe whether the conditional needs to be wrapped in parenthesis is up for more debate).
While conditional blocks aren't in scope for this proposal, I believe they will quickly follow suit after conditional expressions are supported. Curly braces for conditional blocks may feel more natural with the curly brace
if env("ENVIRON") == "prod" {
  prometheus.remote_write "prod" {
    ...
  }
}

as opposed to the current syntax:
if env("ENVIRON") == "prod" then
  prometheus.remote_write "prod" {
    ...
  }
end

If conditional blocks should use curly braces, that would influence whether conditional expressions should use curly braces as well.
Overall, I think these are the tradeoffs of the curly brace syntax for expressions:

Pros:

Shares tokens with block statements and object literals; the only new tokens introduced would be if and else, compared to if, else, then, and end.
Can be more familiar to programmers of declarative languages.
Leads in more naturally to conditional blocks, where curly braces may feel more natural within the context of an Alloy config.

Cons:

As mentioned in the original proposal, curly braces may be confused with normal blocks when scanning the file.
Similarly to above, curly braces may make config authors think multiple statements can be placed inside the curly braces, but in reality only a single expression is valid.
Can be less familiar to non-developers; if a == 5 then "hello" else "goodbye" can read similarly to English, whereas if a == 5 { "hello" } else { "goodbye" } might look more arcane to non-developers.

I am very slightly for the verbose then end since I think it helps differentiate it from blocks but its only by a thin margin. I think @bentonam may have some good insight since he has likely written the most code that would benefit from this.

My opinion is that the Alloy configuration itself is predicated on { and } to clearly define the beginning and end of components and blocks. I think that conditionals should implement this same pattern as well, as a conditional is just a sub-block of code with a clear beginning and end. I also think this would make determining the AST and syntax highlighting simpler, although that is purely a guess.
If the syntax if, else, then, and end are used as strings, would that extend to operators? For example, would and, or, eq, neq, gt, gte, lt, lte, etc., be used? I would venture to guess no, and that symbols would be used instead: &&, ||, ==, !=, >, >=, <, <=.
I also feel that if conditionals are going to be implemented, which I believe they should be, support for a ternary operator should be added at the same time. This would provide a shorthand for what the vast majority of conditionals would be used for anyway.
For example:
condition ? 'true_value' : 'false_value';

In a practical application:
// prometheus.route inspects incoming metrics and uses their
// labels to determine which component to forward them to.
prometheus.route "prod" {
  forward_to = [metric.labels.namespace == "prod" ? prometheus.remote_write.prod.receiver : prometheus.remote_write.default.receiver]
}

However, maybe a dynamic reference could be used instead:
// prometheus.route inspects incoming metrics and uses their
// labels to determine which component to forward them to.
prometheus.route "prod" {
  forward_to = [prometheus.remote_write[metric.labels.namespace].receiver]
}

Additionally, I could see a need for case statements as part of conditionals. This would allow for more complex routing and decision-making within the configuration.

I mocked up the proposed grammar for conditionals using curly braces (without any parenthesis around the conditional statement but this message stands either way):
CondExpr       = "if" CondBody CondValue { CondElseIfExpr } [ CondElseExpr ]
CondBody       = Expression
CondValue      = "{" Expression "}"
CondElseIfExpr = "else" "if" CondBody CondValue
CondElseExpr   = "else" CondValue

This led me to notice that CondValue is very similar to object literals. I created a (somewhat contrived) example comparing the two proposed syntaxes:

With the if/then/else syntax:
prometheus.remote_write "default" {
  // Parenthesis added for readability.
  external_labels = (
    if env("IS_PROD") == "1" then
      {
        cluster = "prod",
        region  = "us-east-1",
      }
    else
      {
        cluster = "non-prod",
        region  = "us-west-1",
      }
    end
  )
}

With curly braces denoting the expression value:
prometheus.remote_write "default" {
  // Parenthesis added for readability.
  external_labels = (
    if env("IS_PROD") == "1" {
      {
        cluster = "prod",
        region  = "us-east-1",
      }
    } else {
      {
        cluster = "non-prod",
        region  = "us-west-1",
      }
    }
  )
}

I'm concerned that a conditional whose value is an object literally will be somewhat common, and that using curly braces for the conditional value is prone to mistyping:
prometheus.remote_write "default" {
  // Parenthesis added for readability.
  external_labels = (
    // This is wrong; the outer {} is missing.
    if env("IS_PROD") == "1" {
      cluster = "prod",
      region  = "us-east-1",
    } else {
      cluster = "non-prod",
      region  = "us-west-1",
    }
  )
}

This could be mitigated in two ways:

The parser could be aware of this pitfall and create a better error message when an "=" is found inside the body of a conditional. However, the implementation complexity of doing so is slightly beyond trivial.
A return statement could be added (as suggested by @mattdurham) to more clearly denote the value. However, this is adding complexity not necessary with the if/then/else approach.

For this reason, I personally think the cons of curly braces now outweigh the pros, and I currently prefer the if/then/else syntax as originally proposed.

I also feel that if conditionals are going to be implemented, which I believe they should be, support for a ternary operator should be added at the same time

@bentonam I can understand the desire for the ternary operator as a familiar concept, but I would prefer to minimize the number of ways one can do conditionals to keep the learning curve as shallow as possible.
For the same reason, I'm not sure about switch/case statements; I'm not aware of a use case that isn't covered by this proposal (regardless of the syntax) and that can only be covered by ternary operators or switch/case statements.

I've just found an ambiguity with current proposed grammar:
CondExpr       = "if" Expression "then" Expression
                 { CondElseIfExpr } [ CondElseExpr ] "end"
CondElseIfExpr = "else" "if" Expression "then" Expression
CondElseExpr   = "else" Expression

// CondExpr is a type of PrimaryExpr, giving it one of the lowest precedences.
PrimaryExpr = LiteralValue | ArrayExpr | ObjectExpr | CondExpr

CondElseIfExpr and CondElseExpr are ambiguous, as both derive the token sequence else if. Given our grammar is supposed to only require a single lookahead token, this is an issue.
I can think of a few solutions for this:

Introduce a new token for CondElseIfExpr such as elif, though that would start to defeat the purpose of using English keywords for conditionals.

Drop the end keyword and remove the "else if" concept from the grammar. This means that there would only be "if" and "else", but the else can chain into another conditional:
if CONDITION1 then VALUE1
else if CONDITION2 then VALUE2
else if CONDITION3 then VALUE3
else VALUE4

// same as:

if CONDITION1 then VALUE1
else (
  if CONDITION2 then VALUE2
  else (
    if CONDITION3 then VALUE3
    else VALUE 4
  )
)

This requires dropping the end keyword, otherwise you would need one end per else-if. Note that the grammar simplification does not necessary change the AST, as the AST could refactor the if-else-if chains into a single AST element.

Chiming in with my 2c:
In regard to the braces discussion; I see the arguments from both sides, but the topic of readability and the fact that a single statement is only ever allowed makes me lean towards the no-braces option. I think what we choose here may impact syntax in https://github.com/grafana/alloy/issues/156 as well so we'd be potentially be introducing even more braces scattered around.
In regards to the elif/no else if discussion, I find that unfortunate. The root issue here that we only require a single lookahead token but else if would be two separate tokens? From the two options presented here, I think the elif option makes more sense; the deep nesting required for even relative simple operations would be easy to break and harder to read IMO.
Does it change anything if we define our grammar as the following instead?
CondElseIfExpr = "else" CondExpr
CondElseExpr   = "else" Expression

I've made the following changes to the proposal:

I resolved the grammatical ambiguity first noticed in this hidden comment by dropping the "else if" production from the grammar and dropping the "end" keyword. There are no differences to how users would write conditionals with the exception of no longer writing the end keyword.

Because there is no explicit end marker for conditionals, the section about style and formatting has become stale and was removed; the style and formatting section only applied to making explicit end markers more readable.
If consensus moves towards the curly brace form, the style and formatting section would need to be reintroduced, as the curly brace form has an explicit end marker (the closing curly brace }).

For now, I still believe that we should not change to curly brace syntax given my reasoning above.
I also understand the desire for other conditional syntaxes like ternary operator and switch statements, but I believe those are separate proposals and aren't in scope for this discussion.
cc @mattdurham Does my reasoning above make sense to you? Are you still leaning more towards if/then/else?
cc others involved in the discussion: @tpaschalis @bentonam @wildum

I see 2 paths forward I would have preference toward. We should take into account what conditional blocks may require and we should be consistent for both syntaxes of conditionals unless there is a very good reason not to. I've provided an example for my 2 preferred options when it comes to curly or not that I think will work for both expressions and blocks. The examples below are for blocks for consideration.
Curly Braces (CB)
if constants.os == "windows" {
  prometheus.exporter.windows {
    ...
  }

  // additional components
} else if constants.os == "linux" {
  promtheus.exporter.unix {
    ...
  }

  // additional components
}

If Else Elif End (IEEE)
Dropping the end so that we can keep else if limits us to a single expression and falls down for block conditionals that want to include multiple blocks which I expect to be a common use case. In my searching, comparable languages that don't do something comparable to curly braces all make use of elif or an equivalent.
if constants.os == "windows" then
  prometheus.exporter.windows {
    ...
  }

  // additional components
elif constants.os == "linux" then
  promtheus.exporter.unix {
    ...
  }

  // additional components
end

Opinion Time
It's a bit hard to be objective from here and I recognize the following statements are not:

CB feels more similar to block and module declares
IEEE is closer to english but requires someone to know which of the commonly used else if usages are valid such as elif vs elsif vs elseif
Either option is legible to me and reasonable for someone creating conditional config to read/write

If you twisted my arm today, I would probably vote for curly braces. I don't find the closer to english argument for IEEE alone super compelling in this case since we are talking about if conditionals that are an entry level programming concept and commonly done with CB in other languages. That said, I'm 99% happy to move forward with IEEE as long as we don't drop the end.

After a long helpful chat with @erikbaranowski and @hedss, I realized there's multiple factors impacting how we design conditional values:

The concept of conditionally defining blocks ("conditional blocks")
The concept of "component scheduling" where you can disable components on non-owning nodes within a cluster (a long-running goal @tpaschalis has been thinking about)

(Based on what I've heard so far from @tpaschalis, component scheduling is extremely similar to component blocks, and we may want to consider combining the two concepts to avoid duplicate solutions)

Optionally supporting Alloy configuration via YMAL syntax (a goal of mine I plan to have a proposal for in the upcoming months)

These other goals are relevant to conditional value because we aim for consistency and minimalism with Alloy's syntax.
So far, the discussion about curly braces has largely depended on conjecture for how conditional blocks might be designed. Designing on conjecture can be particularly bad for syntax, as syntax is hard to change and conjecture may lead to weaker choices based on scenarios that never happen.
As my proposal is now, I think it's under-baked and doesn't give enough consideration to the other goals we have that impact the design of conditionals. For now, I'm going to close this proposal and give time for some of the other goals to be solved first. I'll return later with a refreshed proposal once it becomes more feasible to evaluate the conditionals design.


plot diagram only in blue color (no orange)

First of all, since I was not able to install via pip install persim, I got the source scikit-tda-master.zip and run the setup.py. Also, I'm using Python 2.7 with matplotlib version 1.5.1.
The minimal code below works except by the fact that the diagrams in both dimensions are in blue, not blue/orange, like in documentation.
MWE
import numpy as np
import matplotlib.pyplot as plt
from ripser import Rips
from persim import plot_diagrams
import matplotlib
print('my matplotlib is', matplotlib.__version__) # my matplotlib is 1.5.1

pts = np.array([ [0, 0], [.8, 0], [.6, 1], [0, 1]  ])
rips = Rips(maxdim=1, coeff=2, thresh=2)
diagramas = rips.fit_transform(pts)
print(diagramas[0])
print(diagramas[1])

plot_diagrams(diagramas, show=True)

See the screenshot.

Just to inform, it works well with Python 3.8 (I've just installed).

Very strange! not sure what the issue is here.  Since Python 2.7 is EOL, we won't be fixing any bugs on it.  Glad that 3.8 worked,

Very strange! not sure what the issue is here. Since Python 2.7 is EOL, we won't be fixing any bugs on it. Glad that 3.8 worked,

Yes. After hours trying to figure out what was happening I decided to install 3.8. Maybe it could work for 3.7 or 3.6, I don't know.
Regards.


Feat:Button size

Describe the feature
The size of the button looks big . can I change it
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

hi @andoriyaprashant , can you please assign this issue to me ?

I have made the changes and send u pr  @andoriyaprashant


Revert "[Communication] Migrated recordings to the assets repo (#37711)"

This reverts commit ec6bc3b34989d878c654a49944e0ec85206be6c6 (https://github.com/Azure/azure-sdk-for-net/pull/37711).
Reverting migration of Communication libraries to avoid interruptions in the workflow close to their release dates. We can migrate recordings again after releases go out.

API change check
API changes are not detected in this pull request.


WIP: Add path support

High level description including:

What does this change enable

trying to understand if this makes sense or do all writes in the end for gen

What bugs does this change fix
High-Level how things changed

Issues
DCOS-
...
Checklist

[ ] Included a test which will fail if code is reverted but test is not
[ ] Followed relevant code rules Rules for Packages and Systemd

If this is a component/package update, include

[ ] Change Log from last:
[ ] Test Results:
[ ] Code Coverage:

was mainly for poc, nothing to do here.


Set deployed image and tag from parameters

After this PR is merged, IMAGE_TAG will automatically be set based on the ref value defined for each env in app-interface. IMAGE will also be used to test the image released from Konflux (different Quay repo).

/lgtm

Thanks @Rajagopalan-Ranganathan. Do we need another review or can I merge the PR now?

Thanks @Rajagopalan-Ranganathan. Do we need another review or can I merge the PR now?

Good to merge @gwenneg


Update oracle period to 24 hours

Resolves #14.

d1c9299, 743c697 resolves the issue that each Oracle, Treasury function update and allocateSeigniorage can be potentially depegged.


python run.py has thses problems. when I train V1  version.

File "run.py", line 300, in
worker()
run_normal(args)
File "run.py", line 174, in run_normal
test_results = run(args)
model = AMIO(args).to(device)
File "D:\net\MMSA-master\models\AMIO.py", line 44, in init
lastModel = MODEL_MAP[args.modelName]
KeyError: 'MTFN'

Should be 'mtfn' (lower case), please check your input args.

hello, After I change it to lowercase, it will still appear KeyError: mtfn
I'm running ,putting  python run.py --modelName mtfn  --DatasetNmae sims

if I directly run run.py , it will appear
TypeError: 'bool' object is not callable

After I change it to lowercase, it will still appear KeyError: mtfn

The MODEL_MAP dictionary has key, 'mtfn'. So this shouldn't happen. Please check if you've edited the code.

if I directly run run.py , it will appear TypeError: 'bool' object is not callable

Cannot reproduce this problem. Need more information.

Traceback (most recent call last):
File "D:/net/MMSA-v_1.0/run.py", line 300, in
worker()
File "D:/net/MMSA-v_1.0/run.py", line 254, in worker
run_normal(args)
File "D:/net/MMSA-v_1.0/run.py", line 174, in run_normal
test_results = run(args)
File "D:/net/MMSA-v_1.0/run.py", line 59, in run
model = AMIO(args).to(device)
File "D:\net\MMSA-v_1.0\models\AMIO.py", line 46, in init
self.Model = lastModel(args)
File "D:\net\MMSA-v_1.0\models\singleTask\BERT_MAG.py", line 378, in init
self.pretrainedBertPath, args=args, num_labels=1,
File "D:\anaconda\envs\MMSA\lib\site-packages\transformers\modeling_utils.py", line 1934, in from_pretrained
**kwargs,
File "D:\anaconda\envs\MMSA\lib\site-packages\transformers\configuration_utils.py", line 526, in from_pretrained
config_dict, kwargs = cls.get_config_dict(pretrained_model_name_or_path, **kwargs)
File "D:\anaconda\envs\MMSA\lib\site-packages\transformers\configuration_utils.py", line 551, in get_config_dict
original_kwargs = copy.deepcopy(kwargs)
File "D:\anaconda\envs\MMSA\lib\copy.py", line 150, in deepcopy
y = copier(x, memo)
File "D:\anaconda\envs\MMSA\lib\copy.py", line 240, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
File "D:\anaconda\envs\MMSA\lib\copy.py", line 169, in deepcopy
rv = reductor(4)
TypeError: 'bool' object is not callable
hello,I appear this problem.Thanks!

This is not a problem of MMSA. Please check the version of your dependencies and Python itself.

hi ,I installed it according to your requirements.txt, but the libraries you gave are some low versions, and the code is really in the high version.

The 1.0 version is no longer maintained. The code ran ok back then, but there's no guarantee it still works now.
You can try installing the dependencies' latest versions by replacing == with >= in the requirements.txt and see if it works.
It is highly recommended that you use the main branch.


Sound issues

If mac is left to sleep without a restart before or after being put to sleep, sometimes there will be no sound, static or extremely bass heavy static noise and when eqMac is not open there is no sound whatsoever even when output is selected as MacBook Air Speakers
btw, I am currently using MacOS Big Sur Beta 11.3 (20E5224a)

I am using macOS Big Sur11.2.3. I have also found the same problem. It makes static noise when you play any music or anything. it also does static noise out of nowhere.
I found the bug. when you open the app while your music or whatever is on, the app does the static noise every time in this situation. So, I have to stop whatever is playing and open Eqmac.

I got the same issue too, for my experience, it even makes the YouTube video keeps on loading while having the static sound. Switching it off, the video goes smoothly

Same here

Same thing happening to me. It won't uninstall either, just hangs when I try, so can't even do that and reinstall.

Same here

Been running into the same problem. Opening up Activity Monitor and killing any eqmac processes and restarting it does fix the problem.

Been running into the same problem. Opening up Activity Monitor and killing any eqmac processes and restarting it does fix the problem.

Specifically force quitting "Core Audio Driver (eqMac.Driver)" was the only way to fix it for me. It restarts immediately and then the massive distortion is gone.
As others have reported this problem started after my mac was awoken from sleep mode.
Macbook Pro 2017, Big Sur 11.2.3

@matthewrk works for me too, thanks.

Been running into the same problem. Opening up Activity Monitor and killing any eqmac processes and restarting it does fix the problem.

Specifically force quitting "Core Audio Driver (eqMac.Driver)" was the only way to fix it for me. It restarts immediately and then the massive distortion is gone.
As others have reported this problem started after my mac was awoken from sleep mode.
Macbook Pro 2017, Big Sur 11.2.3

it works.  thanks matthewrk.

Duplicate of #345, #353, #409, #422, #444, #447
Will close this one to avoid extra noise but everything is noted and I will keep you posted those issues


feat(zipkin): add support for labeling phase duration as tags

Summary
Add support to set durations as span tags.
Checklist

[x] The Pull Request has tests
[x] There's an entry in the CHANGELOG
[ ] There is a user-facing docs PR against https://github.com/Kong/docs.konghq.com - PUT DOCS PR HERE

Issue reference

Fix #8126
Reimplement #8264
FTI-4507

@mayocream Can you please add a changelog entry and open a corresponding documentation PR?

@mayocream Can you please add a changelog entry and open a corresponding documentation PR?

Ahh, I already added the changelog entry; I just forgot to update the PR checklist.
Also created the docs PR: https://github.com/Kong/docs.konghq.com/pull/4882


added additional links

@jelledruyts I added the links you shared that were missing, but also the ones that are in the delivery-howto guidance, but not yet in this repo. It's the latter ones that need the biggest review.

And would prefer a quick merge, since session just took place, would be handy that participants have most up to date list of links


Exporting a second model caused a UNET selection error

Skip all this I was confused about the origin of my problem
Lol I couldnt figure out how my new glorious 13it/s with my potato 2060 card was suddenly ruined, even when selecting my new SD_VAE option to none, but for some reason I had to actually disable it in the user interface options completely to get back to ripping my pictures quickly again.
Is there a way I can get sd vae to work with your tensor export stuff. Like could I just put it in my stable diffusion model folder and export it and then put it in VAE lol... Ugh sorry I just really want to finish this all off with that =(

I'll leave you with my last generation, courtesy of your awesome work here, I hope you can fix that or warn people if its repeatable because that was mind boggling to go from 13 to 1-3 with no explanation.  using SD_VAE is fine, adding that back in had no ill effect

I just wanted to update that it seems worse than ever now that I exported a third one, I have to do some really gypsy stuff, switching back and forth on the model and unet drop downs, hitting refresh, and then all the sudden its working again like lol. Even sometimes now its printing the tensor field thing and going slow, or I was just having this insane print in the cmd, I literally hit refresh on SD UNET one more time and that was the tipping point of it going back to working again.
To create a public link, setshare=Trueinlaunch()`.

Traceback (most recent call last):
File "C:\F Backup\AuTomAtic1111\stable-diffusion-webui\stable-diffusion-webui\venv\lib\site-packages\gradio\routes.py", line 488, in run_predict
output = await app.get_blocks().process_api(
File "C:\F Backup\AuTomAtic1111\stable-diffusion-webui\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 1431, in process_api
result = await self.call_function(
File "C:\F Backup\AuTomAtic1111\stable-diffusion-webui\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 1103, in call_function
prediction = await anyio.to_thread.run_sync(
File "C:\F Backup\AuTomAtic1111\stable-diffusion-webui\stable-diffusion-webui\venv\lib\site-packages\anyio\to_thread.py", line 33, in run_sync
return await get_asynclib().run_sync_in_worker_thread(
File "C:\F Backup\AuTomAtic1111\stable-diffusion-webui\stable-diffusion-webui\venv\lib\site-packages\anyio_backends_asyncio.py", line 877, in run_sync_in_worker_thread
return await future
File "C:\F Backup\AuTomAtic1111\stable-diffusion-webui\stable-diffusion-webui\venv\lib\site-packages\anyio_backends_asyncio.py", line 807, in run
result = context.run(func, *args)
File "C:\F Backup\AuTomAtic1111\stable-diffusion-webui\stable-diffusion-webui\venv\lib\site-packages\gradio\utils.py", line 707, in wrapper
response = f(*args, **kwargs)
File "C:\F Backup\AuTomAtic1111\stable-diffusion-webui\stable-diffusion-webui\modules\ui_extra_networks.py", line 392, in pages_html
return refresh()
File "C:\F Backup\AuTomAtic1111\stable-diffusion-webui\stable-diffusion-webui\modules\ui_extra_networks.py", line 400, in refresh
ui.pages_contents = [pg.create_html(ui.tabname) for pg in ui.stored_extra_pages]
File "C:\F Backup\AuTomAtic1111\stable-diffusion-webui\stable-diffusion-webui\modules\ui_extra_networks.py", line 400, in
ui.pages_contents = [pg.create_html(ui.tabname) for pg in ui.stored_extra_pages]
File "C:\F Backup\AuTomAtic1111\stable-diffusion-webui\stable-diffusion-webui\modules\ui_extra_networks.py", line 162, in create_html
self.items = {x["name"]: x for x in self.list_items()}
File "C:\F Backup\AuTomAtic1111\stable-diffusion-webui\stable-diffusion-webui\modules\ui_extra_networks.py", line 162, in
self.items = {x["name"]: x for x in self.list_items()}
File "C:\F Backup\AuTomAtic1111\stable-diffusion-webui\stable-diffusion-webui\modules\ui_extra_networks_checkpoints.py", line 35, in list_items
yield self.create_item(name, index)
File "C:\F Backup\AuTomAtic1111\stable-diffusion-webui\stable-diffusion-webui\modules\ui_extra_networks_checkpoints.py", line 18, in create_item
path, ext = os.path.splitext(checkpoint.filename)
AttributeError: 'NoneType' object has no attribute 'filename'
Activating unet: [TRT] ClothingAdjuster3 (realisticVisionV60B1_v60B1VAE)
Loading TensorRT engine: C:\F Backup\AuTomAtic1111\stable-diffusion-webui\stable-diffusion-webui\models\Unet-trt\realisticVisionV60B1_v60B1VAE_d6aa28fb_cc75_sample=1x4x64x64+2x4x64x64+8x4x128x128-timesteps=1+2+8-encoder_hidden_states=1x77x768+2x77x768+8x154x768.trt
Loaded Profile: 0
sample = [(1, 4, 64, 64), (2, 4, 64, 64), (8, 4, 128, 128)]
timesteps = [(1,), (2,), (8,)]
encoder_hidden_states = [(1, 77, 768), (2, 77, 768), (8, 154, 768)]
latent = [(-1945890048), (-1945887232), (-1945891072)]
38%|███████████████████████████████▏                                                  | 19/50 [00:07<00:12,  2.57it/s]
Total progress:  19%|████████████▎                                                    | 19/100 [00:19<01:23,  1.03s/it]
Reusing loaded model realisticVisionV60B1_v60B1VAE.safetensors [e5f3cbc5f7] to load dreamshaper_8.safetensors [879db523c3]
Dectivating unet: [TRT] ClothingAdjuster3 (realisticVisionV60B1_v60B1VAE)
Loading weights [879db523c3] from C:\F Backup\AuTomAtic1111\stable-diffusion-webui\stable-diffusion-webui\models\Stable-diffusion\dreamshaper_8.safetensors
Loading VAE weights specified in settings: C:\F Backup\AuTomAtic1111\stable-diffusion-webui\stable-diffusion-webui\models\VAE\vae-ft-mse-840000-ema-pruned.safetensors
Applying attention optimization: xformers... done.
Weights loaded in 6.4s (send model to cpu: 0.1s, calculate hash: 0.9s, load weights from disk: 0.3s, apply weights to model: 4.4s, load VAE: 0.1s, move model to device: 0.4s).
Activating unet: [TRT] ClothingAdjuster3 (realisticVisionV60B1_v60B1VAE)
Loading TensorRT engine: C:\F Backup\AuTomAtic1111\stable-diffusion-webui\stable-diffusion-webui\models\Unet-trt\realisticVisionV60B1_v60B1VAE_d6aa28fb_cc75_sample=1x4x64x64+2x4x64x64+8x4x128x128-timesteps=1+2+8-encoder_hidden_states=1x77x768+2x77x768+8x154x768.trt
Loaded Profile: 0
sample = [(1, 4, 64, 64), (2, 4, 64, 64), (8, 4, 128, 128)]
timesteps = [(1,), (2,), (8,)]
encoder_hidden_states = [(1, 77, 768), (2, 77, 768), (8, 154, 768)]
latent = [(-1946027008), (-1946027693), (-1946037504)]
Reusing loaded model dreamshaper_8.safetensors [879db523c3] to load realisticVisionV60B1_v60B1VAE.safetensors [e5f3cbc5f7]
Dectivating unet: [TRT] ClothingAdjuster3 (realisticVisionV60B1_v60B1VAE)
Loading weights [e5f3cbc5f7] from C:\F Backup\AuTomAtic1111\stable-diffusion-webui\stable-diffusion-webui\models\Stable-diffusion\realisticVisionV60B1_v60B1VAE.safetensors
Loading VAE weights specified in settings: C:\F Backup\AuTomAtic1111\stable-diffusion-webui\stable-diffusion-webui\models\VAE\vae-ft-mse-840000-ema-pruned.safetensors
Applying attention optimization: xformers... done.
Weights loaded in 2.3s (send model to cpu: 0.1s, calculate hash: 1.0s, load weights from disk: 0.2s, apply weights to model: 0.4s, load VAE: 0.1s, move model to device: 0.5s).
Activating unet: [TRT] ClothingAdjuster3 (realisticVisionV60B1_v60B1VAE)
Loading TensorRT engine: C:\F Backup\AuTomAtic1111\stable-diffusion-webui\stable-diffusion-webui\models\Unet-trt\realisticVisionV60B1_v60B1VAE_d6aa28fb_cc75_sample=1x4x64x64+2x4x64x64+8x4x128x128-timesteps=1+2+8-encoder_hidden_states=1x77x768+2x77x768+8x154x768.trt
Loaded Profile: 0
sample = [(1, 4, 64, 64), (2, 4, 64, 64), (8, 4, 128, 128)]
timesteps = [(1,), (2,), (8,)]
encoder_hidden_states = [(1, 77, 768), (2, 77, 768), (8, 154, 768)]
latent = [(-1946012160), (-1946013440), (-1946010368)]
Restoring base VAE
Applying attention optimization: xformers... done.
VAE weights loaded.
Loading VAE weights specified in settings: C:\F Backup\AuTomAtic1111\stable-diffusion-webui\stable-diffusion-webui\models\VAE\vae-ft-mse-840000-ema-pruned.safetensors
Applying attention optimization: xformers... done.
VAE weights loaded.
   It seems to have a mind of its own, it feels that random, i sit here and its hard as hell to find a repeatable step now to get it to give me full speed. Sometimes it starts at 1it/s now.
**Mind you before starting to export other models and loras, i could just spam generate at 13it/s, it seems to be some kind of mismatch between the model and unet or something, i really dont know, i just hope i can fix it or find a bigger clue **

My current and I guess final method for reaching usability now is I load up, now with these args
set COMMANDLINE_ARGS=--xformers --force-enable-xformers --theme dark   (I took out half vae)
Then my web UI loads with real modelV6, unet real model, & a VAE.
 I've never been more mad at a technical problem lmfao, because it seems to follow no logic, besides having built in A.I to drive me insane somehow.


Add ReactPy to awesome-django

As the name implies, ReactPy is a python port of ReactJS.
Our Django support is relatively new, but ReactPy core is fairly old/stable. We are trying to get some more exposure to see what kind of django-specific features need development.
See here for project info: https://github.com/reactive-python/reactpy

The project looks interesting. I suspect reactpy-django would be the better fit, but I was struggling to find examples of how to use it.
I also stumbled on https://forum.djangoproject.com/t/reactpy-build-reactjs-interfaces-in-pure-python/19913 and was curious about the status of the demo? I'm not sure either of these are a deal breaker, but passing it along.

@jefftriplett The demos on our documentation are fully working. There was only a short period of time in-between renaming the project where they were broken.

Also, all examples can be found in the reactpy core documentation.

@Archmonger apologies for letting this get away from us. If you want to convert this into a pull request and reference this issue number, we'd be happy to accept it.

Would you like me to add our core package, or our Django compatibility module?


SmartTaskbar: Add version 1.1.9

Homepage of SmartTaskbar: https://github.com/ChanpleCai/SmartTaskbar/
This was requested in #2113.
I added a batch script in the content, so that users will be able to explicitly add SmartTaskbar to the startup programs.
Please let me know if there are any problems. Thanks.

Fixed manifest

Thanks for your help!


Textless NLP / dGSLM: the pre-trained  SpeechDLM model with poor performance

❓ Questions and Help
Before asking:

search the issues.
search the docs.

What is your question?
The pre-trained SpeechDLM model gets poor performance on the Fisher valid dataset.
Moreover, when loading the checkpoint, there is no criterion named 'duration_cross_multichannel_cross_entropy'. The state['cfg']['criterion'] of the checkpoint is {'_name': 'duration_cross_multichannel_cross_entropy', 'sentence_avg': False, 'main_and_cross_weights': '1,0', 'include_edge_loss': True, 'edge_loss_weight': 1.0, 'general_loss_weight': 0.0, 'normalize_edge_loss': True, 'duration_loss_weight': 1.0, 'shift_duration_target': True, 'round_duration_prediction': False, 'normalize_duration_loss': False}.
We replaced the state['cfg']['criterion'] with {'_name': 'speech_dlm_criterion', 'sentence_avg': False, 'main_and_cross_weights': '1,0', 'general_unit_loss_weight': 0.0, 'edge_unit_loss_weight': 1.0, 'duration_loss_weight': 1.0}.
Then the checkpoint can be loaded sucessfully but the loss on the valid dataset is abnormal. The loss is shown as follows. Is there any wrong with the checkpoint?
Code
We run the command
CUDA_VISIBLE_DEVICES=0,1 fairseq-validate {BIN_DATA_DIR} \
    --task speech_dlm_task \
    --path {CHECKPOINT_DIR} \
    --max-tokens 6144

and the result shows "2023-03-23 16:23:22 | INFO | valid | valid on 'valid' subset | [unitA-unitA]edge_token_loss 9.351 | [unitA-unitA]edge_token_pred_acc 8.689 | [unitA-unitA]edge_duration_loss 1.324 | [unitA-unitA]edge_duration_pred_acc 52.054 | [unitB-unitB]edge_token_loss 9.418 | [unitB-unitB]edge_token_pred_acc 7.937 | [unitB-unitB]edge_duration_loss 1.39 | [unitB-unitB]edge_duration_pred_acc 52.463 | edge_token_loss 22.028 | edge_token_pred_acc 8.317 | edge_duration_loss 3.441 | edge_duration_pred_acc 52.256 | loss 11.459 | [unitA-unitA]edge_token_ppl 653.15 | [unitB-unitB]edge_token_ppl 684.18 | edge_token_ppl 4.27656e+06 | wps 0 | wpb 6.40306e+06 | bsz 522".

What have you tried?
read the code and paper, and check the dataset.
What's your environment?

fairseq Version (e.g., 1.0 or main):0.12.2
PyTorch Version (e.g., 1.0):1.12
OS (e.g., Linux):Ubuntu 18.04.4 LTS
How you installed fairseq (pip, source): source
Build command you used (if compiling from source): pip3 install --editable ./
Python version: 3.9.13
CUDA/cuDNN version:CUDA10.2
GPU models and configuration:NVIDIA RTX 2080Ti
Any other relevant information:-

I'm sorry, it is my fault


List content

Many pages in AEM use a Generic List component in two different ways:
Variant 1: A two-column layout with icon + links or icon + text, this is on the homepage and a text variant is on the careers page

Variant 2: Text-only (no icons) -- this is also on the Careers page

There is a variant called "2 col" for two-columns in desktop view but we might need to see if there is even such a thing as a 1 column variant before implementing that -- it might make more sense to generally assume 2-column is the default behavior.

https://www.stewart.com/en.html
https://www.stewart.com/en/about-stewart/careers.html

I kind of think this can be a single block, no variants, unless, as you indicate, we need to let the author choose to layout 2 columns, vs. 1 col.
If the author wants icons, they create a 2 column table, and put the icons in the first column.
if no icons, they make it a 1 columns table and just add the text. the code will lay it out as 2 columns, splitting the items evenly between the 2 cols.
question on icons. are those from font awesome? or are they images?


Notebook output

Should we remove the commit hook that clears output from jupyter notebooks?
My personal preference is to show output in any example notebooks as I have found that useful when looking up software packages!

Just to reiterate what I've said on Slack: I agree, it's definitely useful and desirable to have this output visible!!
However, it doesn't have to be in the repo. Sorcha runs and displays the Jupyter notebooks in the docs.
The argument for clearing the output is that it adds size to the repo. If we only have a few notebooks, this isn't so much of an issue. If we later move to having many validation notebooks with a lot of plots, we might want to move down the Sorcha route.

Cool that sounds like a good solution too! I suppose we don't really need the output until we are at the stage of people looking through the docs anyway


CVE-2022-29221

https://github.com/smarty-php/smarty/security/advisories/GHSA-634x-pc3q-cf4c

Note that the Smarty github advisory misses the >= 4.0 part in the affected version. So it would mark 3.1.45 as affected due to the <4.1.1 constraint.

@stof more info https://nvd.nist.gov/vuln/detail/CVE-2022-29221

The CVE and the advisory submitted here both contain the proper from 4.0 to 4.1.1. But the github advisory does not.


Use correct call to get dataset size

H5Aget_storage_size() accepts the ID of an attribute, not a dataset, causing this call to fail:
HDF5-DIAG: Error detected in HDF5 (1.10.0) thread 0:
#000: /Users/jonaswitt/Code/njord-player-mac/Pods/HDF5Kit/dist/src/H5A.c line 981 in H5Aget_storage_size(): not an attribute
major: Invalid arguments to routine
minor: Inappropriate type
H5Dget_storage_size() returns the size of a dataset, which a StringDataset is.
I found this when loading a pandas dataframe exported to HDF5, and accessing the following string dataset. The change in this PR lets me load the file/dataset without any problems.

Thanks!


Automated cherry pick of #2855: fix: 避免密码登录时使用秘钥认证

Cherry pick of #2855 on release/2.10.0.
#2855: fix: 避免密码登录时使用秘钥认证

/approve
/lgtm

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.10.0@a2db6bb). Click here to learn what that means.
The diff coverage is 0%.

@@               Coverage Diff                @@
##             release/2.10.0   #2859   +/-   ##
================================================
  Coverage                  ?   7.61%
================================================
  Files                     ?     411
  Lines                     ?   64674
  Branches                  ?       0
================================================
  Hits                      ?    4925
  Misses                    ?   59327
  Partials                  ?     422

Flag
Coverage Δ

#aFlag
7.61% <0%> (?)

Impacted Files
Coverage Δ

pkg/webconsole/command/ssh_command.go
0% <0%> (ø)

Continue to review full report at Codecov.

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