cmd/compile: internal compiler error using float in range

Go version
go version go1.22.3 darwin/arm64
Output of go env in your module/workspace:
GO111MODULE=''
GOARCH='arm64'
GOBIN=''
GOCACHE='/Users/arif.zaman/Library/Caches/go-build'
GOENV='/Users/arif.zaman/Library/Application Support/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='arm64'
GOHOSTOS='darwin'
GOINSECURE=''
GOMODCACHE='/Users/arif.zaman/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='darwin'
GOPATH='/Users/arif.zaman/go'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/opt/homebrew/Cellar/go/1.22.3/libexec'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/opt/homebrew/Cellar/go/1.22.3/libexec/pkg/tool/darwin_arm64'
GOVCS=''
GOVERSION='go1.22.3'
GCCGO='gccgo'
AR='ar'
CC='cc'
CXX='c++'
CGO_ENABLED='1'
GOMOD='/dev/null'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/ls/dl28z1951xz3ykqz1yl2_dkm0000gp/T/go-build184522062=/tmp/go-build -gno-record-gcc-switches -fno-common'

What did you do?
Here is the complete program (5 lines):
package main
func main() {
        var x float64
        for x = range(100) {}
        _ = x
}

What did you see happen?
This was the ouput
# command-line-arguments
<unknown line number>: internal compiler error: unexpected type: <nil> (<nil>)

Please file a bug report including a short program that triggers the error.
https://go.dev/issue/new

What did you expect to see?
An error explaining that you can not use a float64 type as a for loop variable in a range loop.
This totally unhelpful error took me a long time to isolate, without any line number information.

Note: this does work correctly at tip. It is only 1.22 that fails. (1.21 is also ok.)
@griesemer

Looks like a duplicate of #67027, and I cannot reproduce this in the 1.22 branch, but there's no error message (which there should be one). Leaving open to investigate further.

I can reproduce from both the tip 1.22 branch and 1.22.3 release.
Tip of 1.22 branch is: 745657509e0598cc883f63900910ed847d84dfbb

Closing this in favor of #67798 which is the backport of the respective fix in Go 1.23.


recipes-test: Add mybw recipe

mybw is a small utility to check memory performance.
Signed-off-by: Neil Armstrong<EMAIL_ADDRESS>

thanks. please add it to https://github.com/ndechesne/meta-qcom/blob/master/recipes-test/images/initramfs-test-image.bb


test-branch/execute-job/wrong-commit-sha-on-pr/a5757cea-915f-4aa9-abee-4531c082a63d

PR for testing 4ee41fdd762cddff160e2edc8cf7ca3e25269ed0

/canonical/self-hosted-runners/run-workflows 9daea1fcabb575fbd9275ab011c195cf35b42c88


Add option to download the pdf

Hello,
Is there an option to download the pdf? It will be very helpful. Thank you.

You can implement this yourself! If you add a download attribute on an <a>, it'll create a downloadable link.
<a
  :href="`/public/files/${props.name}.pdf`"
  download
>
  Download Here!
</a>

There are several ways to download files with vanilla js or using other libraries, if you already have the source file (how is supposed to be since this library requires it) you could use @senguyen1011 solution.
Anyways if you have an specific situation let us know and feel free to reopen the issue. 😊


Patch to allow successful build

This includes a potentially terrible bandaid to deal with https://github.com/bgruening/docker-galaxy-stable/issues/516 that modifies the virtualenv activate script to export LD_LIBRARY_PATH.

The CI failed while trying to create a virtualenv for bioblend. Unless someone can figure out the root problem with virtualenv, the same patch will need to be done to that environment.

Yeah, the proper fix is to activate the conda environment instead of just prepending the path, this should be all that's needed, and that's what run.sh / scripts/common_startup.sh does (https://docs.galaxyproject.org/en/master/admin/framework_dependencies.html#conda).

Thanks to @jyotipm29 we are back on track :smile:
The new 24.1 image contains a lot of changes and reflects the latest developments in Galaxy. I would like to close this PR, but please feel free to reopen and rebase against the latest version.
Please give it a try:
docker run -p 8080:80 -p 8021:21 -p 4002:4002 --privileged=true -e "GALAXY_DESTINATIONS_DEFAULT=slurm_cluster_docker"   -v /tmp/galaxy-data/:/export/ quay.io/bgruening/galaxy:24.1

... or any other combination. The readme has been updated. Please add any useful tip to it.
For a list of changes, see the Changelog.


Add dry-run flag

Hmm, the effect jobs seem to be queued forever :thinking:
Some integration tests on qemue have been running for a couple of days, could that be related?

Hmm, the effect jobs seem to be queued forever
Some integration tests on qemue have been running for a couple of days, could that be related?

Effects and builds draw from the same worker pool, so that does explain it.
I'll spend some time next week to improve the timeout/cancel experience. For now you can cancel them by cancelling the jobs they're in, and you can configure build timeouts at the Nix (system) level using max-silent-time and/or timeout in NixOS's nix.extraOptions
The code in this PR looks ok. I'll give it a try sometime in the coming days. Just one nitpick: you could use lib.optionalString : Bool -> String -> String.

Thanks for those flags, trying to figure out how to restain nixopsTest has been challenging to say the least. I've for example implemented a timeout feature for every hspec test as well, which gets most issues, but very rarely the system itself just stalls. Which these flags should capture.

I think the evaluation is working! Any nix issues will be spotted now:

However the rockets seem to pause forever:

We're running this:

I've fixed a problem in the backend that caused the effects to wait for an old job that could not complete. The root cause was fixed earlier, but the invalid data remained.
I noticed that the effect fails with
/nix/store/lz6nj997pvh3kh9ssavbbxqzp97yxxaz-hercules-ci-effect-sh/nix-support/setup-hook: line 9: : No such file or directory

Which agent commit are you running?

Hmm, I'm not sure how to find out the current revision, I changed it to the latest a month ago, but I don't think that got deployed, I'm not sure how to check it either. I tried using nix derivation as well but they don't seem to be available on the ci machine.
I'll upgrade to the latest again and ask for another agent deployment.

So let me start with some good news. We got it working!
We had to change our agent configuration like this:
        nix = {
          package = pkgs.nixFlakes;
          };

But we got a helpful warning explaining our nix daemon version was wrong so this was relatively quickly fixed.
I apologize beforehand that you have to deal with this, there is really no easy way for us to get rid of nixops.
But they actually decided the deprecate evaluate-only instead of dry-run:

version: NixOps 1.7
Traceback (most recent call last):
  File "/nix/store/hq2j9xls562gbjd1jqhhpnrlkcsiplpd-nixops-1.7/bin/..nixops-wrapped-wrapped", line 991, in <module>
    args.op()
  File "/nix/store/hq2j9xls562gbjd1jqhhpnrlkcsiplpd-nixops-1.7/bin/..nixops-wrapped-wrapped", line 399, in op_deploy
    raise Exception("--evaluate-only was removed as it's the same as --dry-run")
Exception: --evaluate-only was removed as it's the same as --dry-run

So I'm going to assume here you want to keep consistent with upstream and rename evaluate into dry-run, even though I completely agree with you that the name dry-run is a lot less descriptive than evaluate only.
If my assumption is wrong please let me know, I'll update it afterward.

It's working!

So my quick tests:

This is great!

I apologize beforehand that you have to deal with this.

No problem. I'm glad I can help.

So I'm going to assume here you want to keep consistent with upstream and rename evaluate into dry-run, even though I completely agree with you that the name dry-run is a lot less descriptive than evaluate only.

That's a good reason to keep it as dry-run.
Looks good! I'll probably merge it tomorrow.

Thanks @jappeace !


Occasional network failures with Upstash Redis

We're periodically seeing e.g.:
ECONNREFUSED <IP_ADDRESS>:38756

Until final failure of:
Reached the max retries per request limit (which is 5). Refer to "maxRetriesPerRequest" option for details.

We're using Upstash Redis.
This issue might be related to https://github.com/luin/ioredis/issues/1706.
Is there anything we could do to fix this? How could it be that for multiple seconds the connection fails like this?
Here is a trace for example:

Looks like it's a separate issue. ECONNREFUSED indicates that the server rejects the connection. Not sure if there are something we can do on ioredis side.

Maybe reach out to Upstash and ask if there is anything a client can do to improve the connection stability? I can see ping periodically is a valid workaround though.

I got an email response from Upstash saying it was because we were on a free tier. I don't see how ping would have solved that though. Also, I am 95% sure we still had issues on the paid tier. But our team has a backlog issue to do another test in the coming weeks (months?) with this new confirmed info from the Upstash team. Given we have lots to do and things are stable now it will be easy to post pone any further investigation by us though.


Adds planner task reference remove command. Closes #3285

Closes #3285
This PR has been recreated and was originally  #3292

Can somebody restart the timed-out test? 😄

@Jwaegebaert done ✔
seems we had bad luck twice as I restarted it yesterday and it crashed again on timeout 😅

Merged manually, thanks @Jwaegebaert ! 🤙 Release will follow soon.


After Elastic Serach import data in local gives good result but not in server

Hi,
I am getting issue.
I followed all process mentioned in readme. It's giving good results.
But when I setup all in droplet, It do not gives same result I get in my local system.
What can be the issue Can you help?
O is there a way that I can copy elastic search docker volume to my droplet directly?

Hey @ravibadoni
What result are you getting in your droplet?

Not getting correct response in droplet.
For example I searched for
603A, Street Name
In local it gives me correct result with with 1st item with 603A ....
But in droplet I get different results.
How I setup in droplet:
1- I setup in local first. Then created a dump of whole Mongo database and uploaded it to droplet by using mongorestore command.
2- Next I directly run command
node elasticsearch-create.js
node elasticsearch-import.js

Are you getting completely incorrect results or no results? It is possible that the elasticsearch import failed and as a result not all of the documents were imported.
Are you able to check the total number of documents in the Elasticsearch index on the server compared to your local instance. Also check your disk space as Elasticsearch will go read only if you run out of disk space.

I am getting incorrect result.
What I want is that the result I get in local should be the same result I should get form droplet server URL.
I follow the same process I did for local.
1- 32GB left in my droplet, I restarted  node elasticsearch-import.js
2-
In my local
health status index    uuid                   pri rep docs.count docs.deleted store.size pri.store.size yellow open   address  7OYcRgGWSkyU-aTHkQT5Pw   1   1   15256385            0      7.8gb          7.8gb yellow open   addressr ZScwlwhQT0-RVoeRalpcuQ   1   1   15271641      3057883      6.2gb          6.2gb
In server I rerun the command for now node elasticsearch-import.js
But for now in server I am getting this
health status index   uuid                   pri rep docs.count docs.deleted store.size pri.store.size yellow open   address wslR2f1LSWe2Cs2AjBZW5Q   1   1    4754000            0      2.8gb          2.8gb

I see an issue.
Indexing is not completed 100% but I get success message.


Thailand

getCoords() not working correctly for plotting points.
Example here:
https://codepen.io/jacksonhardaker/pen/VzPJJw
Replace existing thailand.min.js script in codepen html with commented out version from this PR to see fix in action.

Hello @jacksonhardaker ,
Thanks for having provided a codepen that allows to get a before/after comparison ! The getCoords() function is now much more accurate to plot cities on the thailand map, thanks for your fix !


Updated to 15.0.7

llvmdev 15.0.7
Destination channel: defaults
Links

PKG-5661
Upstream repository
Upstream changelog/diff

Explanation of changes:

Updated patches
Removed broken libllvm-c.dylib build on OSX
Formatted preprocessor comments for readability

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_5akumpbik8/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:102: host_section_needs_exact_pinnings: output "libllvm15": Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:113: missing_tests: output "libllvm15": No tests were found.
clone/recipe/meta.yaml:164: wrong_output_script_key: It should be outputs/x/script, not outputs/x/build/script
===== Final Report: =====
2 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_26meb5jj7e/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:102: host_section_needs_exact_pinnings: output "libllvm15": Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:164: wrong_output_script_key: It should be outputs/x/script, not outputs/x/build/script
clone/recipe/meta.yaml:113: missing_tests: output "libllvm15": No tests were found.
===== Final Report: =====
2 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_65dnv3ni5s/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:102: host_section_needs_exact_pinnings: output "libllvm15": Linked libraries host should have exact version pinnings.
===== Final Report: =====
0 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_774q5zyetb/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:102: host_section_needs_exact_pinnings: output "libllvm15": Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:165: wrong_output_script_key: It should be outputs/x/script, not outputs/x/build/script
===== Final Report: =====
1 Error and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_3bkerh9s92/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:102: host_section_needs_exact_pinnings: output "libllvm15": Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:165: wrong_output_script_key: It should be outputs/x/script, not outputs/x/build/script
===== Final Report: =====
1 Error and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_0ane_6fbya/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:102: host_section_needs_exact_pinnings: output "libllvm15": Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:165: wrong_output_script_key: It should be outputs/x/script, not outputs/x/build/script
===== Final Report: =====
1 Error and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_0d_vwp6tf7/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:102: host_section_needs_exact_pinnings: output "libllvm15": Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:164: wrong_output_script_key: It should be outputs/x/script, not outputs/x/build/script
clone/recipe/meta.yaml:113: missing_tests: output "libllvm15": No tests were found.
===== Final Report: =====
2 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_9cjjy9h0dd/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:102: host_section_needs_exact_pinnings: output "libllvm15": Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:164: wrong_output_script_key: It should be outputs/x/script, not outputs/x/build/script
clone/recipe/meta.yaml:113: missing_tests: output "libllvm15": No tests were found.
===== Final Report: =====
2 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_fce9ralyt7/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:110: host_section_needs_exact_pinnings: output "libllvm15": Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:121: missing_tests: output "libllvm15": No tests were found.
clone/recipe/meta.yaml:172: wrong_output_script_key: It should be outputs/x/script, not outputs/x/build/script
===== Final Report: =====
2 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_2bcumtjjer/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:110: host_section_needs_exact_pinnings: output "libllvm15": Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:172: wrong_output_script_key: It should be outputs/x/script, not outputs/x/build/script
clone/recipe/meta.yaml:121: missing_tests: output "libllvm15": No tests were found.
===== Final Report: =====
2 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_54kxt45nxj/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:110: host_section_needs_exact_pinnings: output "libllvm15": Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:172: wrong_output_script_key: It should be outputs/x/script, not outputs/x/build/script
clone/recipe/meta.yaml:121: missing_tests: output "libllvm15": No tests were found.
===== Final Report: =====
2 Errors and 1 Warning were found

Missing libxml2:
CMake Error at /croot/llvm-package_1730298414680/_build_env/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:230 (message):

  Could NOT find LibXml2 (missing: LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR)

nice. that's why it's good to use force_on

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_2de9f__8v_/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:110: host_section_needs_exact_pinnings: output "libllvm15": Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:172: wrong_output_script_key: It should be outputs/x/script, not outputs/x/build/script
clone/recipe/meta.yaml:121: missing_tests: output "libllvm15": No tests were found.
===== Final Report: =====
2 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_15swsar9ts/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:112: host_section_needs_exact_pinnings: output "libllvm15": Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:123: missing_tests: output "libllvm15": No tests were found.
clone/recipe/meta.yaml:174: wrong_output_script_key: It should be outputs/x/script, not outputs/x/build/script
===== Final Report: =====
2 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_f5deoapy1z/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:113: host_section_needs_exact_pinnings: output "libllvm15": Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:124: missing_tests: output "libllvm15": No tests were found.
clone/recipe/meta.yaml:175: wrong_output_script_key: It should be outputs/x/script, not outputs/x/build/script
===== Final Report: =====
2 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_26ko_xsbg7/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:110: host_section_needs_exact_pinnings: output "libllvm15": Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:173: wrong_output_script_key: It should be outputs/x/script, not outputs/x/build/script
clone/recipe/meta.yaml:122: missing_tests: output "libllvm15": No tests were found.
===== Final Report: =====
2 Errors and 1 Warning were found

libxml2 shouldn't be in the dso whitelist btw, it should be made to be found
https://github.com/anaconda-distribution/perseverance-skills/blob/main/sections/02_Package_building/06_Errors_and_troubleshooting/Overlinking_overdepending_dso_whitelist.md#missing-dependenciesdso-whitelist-error

looks like you might have figured that out anyway but that page might be useful if you're interested.

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_236a3kojwq/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:110: host_section_needs_exact_pinnings: output "libllvm15": Linked libraries host should have exact version pinnings.

===== ERRORS =====

clone/recipe/meta.yaml:173: wrong_output_script_key: It should be outputs/x/script, not outputs/x/build/script
clone/recipe/meta.yaml:122: missing_tests: output "libllvm15": No tests were found.
===== Final Report: =====
2 Errors and 1 Warning were found


Docs: clear up capacity limit in toy tutorial

Description
We use a grid capacity limit in the toy tutorial (via capacity_in_mw on the battery asset), but we're not explaining that enough. It should become clearer how that is now possible in FlexMeasures.
Look & Feel
This affects the toy tutorial. I've split it into two parts, as we also plan to add a reporter for the available battery headroom.
How to test
make update-docs

Note that in case of a missing sensor attribute, the get_attribute method elevates the search for the attribute to the generic asset, but not the other way around. As a consequence, a missing device capacity falls back to using the grid capacity, but a missing grid capacity does not fall back to using the device capacity.

Thanks for the elaborate response! This clarifies my misunderstanding :smile:

I baked the discussion on capacity modelling in issues #335 and #761.


Add solution in C++ for Merging Communities (issue #278)

Add solution and update README.md for the same

Please specify the issue number not in the the title but in the description or comments


Continue work Microsoft.Extensions.CommandlineUtils

Microsoft.Extensions.CommandlineUtils is a fantastic and needed library.
I just found out that there are not going to be more updates and/or releases on the library as it will be used only for Asp.net.
Will it be possible for you to reconsider this, or make it part of another open source project?
Thanks

Hi @juanfranblanco unfortunately as you've found out, we're not planning on adding features to it that are outside the scope of what is needed by ASP.NET Core and EF Core. We have to be careful where we spend our time and resources and unfortunately this just isn't an area we can devote ourselves to (it would come at the expense of other higher priority areas).
I've noted in other issues that there's a "CoreFX Lab" project called System.CommandLine that should be worth checking out: https://github.com/dotnet/corefxlab/tree/master/src/System.CommandLine
Or, of course, anyone in the community is more than welcome to create a new project based on this package and we'd even be happy to link to it from here. The sources here are licensed under the very friendly Apache 2.0 license.
So, sorry to give the bad news, but hopefully another person or group can take the lead on this.

Or, of course, anyone in the community is more than welcome to create a new project based on this package and we'd even be happy to link to it from here.

I've decided to take you up on that => #261. And just to be clear, this fork will be maintained by me in an unofficial capacity.


Add coveralls

to track our unit test coverage, we should setup coveralls.io, it is used in the main repo.
then we need to work on the unit-tests

@sebgoa someone will have to login to coveralls.io to enable it, but I've created #287

@sarahnovotny sorry to ping you directly, but do you know how we can enable coveralls for kompose. I am assuming there is a kubernetes project account.

In the meantime, I logged into coveralls and requested access for kubernetes-incubator, no clue to whom the request went. Will see.

@sebgoa @sarahnovotny thank you both. Yeah, the PR (https://github.com/kubernetes-incubator/kompose/pull/287) failed due to no access (timeout to coveralls)


merge from arlac77/npm-package-template-esm-only

README.md

docs(README): update from template

Codecov Report

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

@@           Coverage Diff           @@
##           master     #848   +/-   ##
=======================================
  Coverage   95.65%   95.65%
=======================================
  Files          19       19
  Lines        2372     2372
  Branches      269      269
=======================================
  Hits         2269     2269
  Misses        100      100
  Partials        3        3

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 e95bd6c...f7d3cd6. Read the comment docs.

:tada: This PR is included in version 7.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Feature] Multiple Camera handling

Is your feature request related to a problem?
Tested with iPhone.
If you switch camera’s, on first press it shows the front camera. If pressed again, it shows the ultrawide. On third it shows the normal camera.
As a user, I would expect switching cameras would mean switching from back to front. (And not switching between all possible cameras).
Describe the solution you'd like
The solution Apple camera uses for this. Above the record button: a 0.5 and 1x zoom option.

Based on the features of the camera plugin, we might not be able to implement this. Can you check if it's doable in the camera's example?

@AlexV525
The availableCameras function has a few properties
https://pub.dev/documentation/camera_fix_exception/latest/camera/availableCameras.html
I would suggest using the: lensDirection property to switch between the back and front camera.
This would solve the issue that the switch camera button is looping trough all the available cameras.
There's also a name property. Maybe we could use this to detect which camera is the 0,5 x and the 3 x for example.
I could test which value it returns on Apple devices, but I don't have an android device available at the moment.

I've already tested today that you cannot switch between cameras when a recording is processing. Otherwise, the recording will stop. So switching cameras when recording seems not doable at present.
Regarding 0.5x and 1x camera switching, it's already been supported by the plugin.

Thanks.
The switching during recording is currently being implemented in a pull request in the camera plugin. So hopefully later this year, this feature will be available.
https://github.com/flutter/plugins/pull/6478/
This is feature request is meant to select a camera before recording.

Thanks. The switching during recording is currently being implemented in a pull request in the camera plugin. So hopefully later this year, this feature will be available.

Good to hear, I've subscribed to the request and we can leave this issue as a tracker too.

Oh we should use another issue for this. For switching cameras as an apple-like behavior, you can build your own CameraPickerState


CPP/taskcpp/Importance_of_time.cpp

How important time is for you will get the solution of this question😂...
Coming to the question...It's a DSA one...try to figure out how you end to the output...question is well explained in the code
HINT:- Queues laga ke dekhna😊
NOTE:- Screen shot of the code and output is required

can you assign me this question?


Gas Limit Error with VM Entering Unexpected State

🐛 Bug Report for zkSync Era In-Memory Node
📝 Description
When using the binary released with v0.1.0 a paymaster test fails with:
 Error: cannot estimate gas; transaction may fail or may require manual gas limit [ See: https://links.ethers.org/v5-errors-UNPREDICTABLE_GAS_LIMIT ] (error={"reason":"execution reverted: virtual machine entered unexpected state. Please contact developers and provide transaction details that caused this error. Error description: Assertion error: paymaster non zero","code":"UNPREDICTABLE_GAS_LIMIT","method":"estimateGas"

This error was initially reported by @zzomrot. For tests repository: paymaster-zksync with this description:

When I build the node using the commit 4ef5a96ec1525040f920f0a892d238e76529af23 with the following command:
cargo install --git https://github.com/matter-labs/era-test-node.git --rev 4ef5a96ec1525040f920f0a892d238e76529af23 --locked
and subsequently run the tests in the repo, I encounter an error:
Observed error that should never happen: VmRevertReasonParsingResult { revert_reason: UnexpectedVMBehavior("Assertion error: paymaster non zero"), original_data: …
However, when I use the previous commit 3539ad0a87f5cc5350b346bace874f4d966714b3, the tests pass without issue

🔄 Reproduction Steps

Clone either repo and run the CI steps

Or to follow @zzomrot steps, run the tests from his repo then create a dir to save the Dockerfile and start_script.sh files and adapt the Dockerfile --rev param to: 4ef5a96ec1525040f920f0a892d238e76529af23
Dockerfile
FROM rust:latest

RUN apt-get update && apt-get install -y cmake pkg-config libssl-dev clang socat

RUN cargo install --git https://github.com/matter-labs/era-test-node.git --rev 3539ad0a87f5cc5350b346bace874f4d966714b3 --locked

COPY start_script.sh /start_script.sh

RUN chmod +x /start_script.sh

ENTRYPOINT ["/start_script.sh"]

start_script.sh
#!/bin/bash

ARG1_DEFAULT="8011"
ARG2_DEFAULT="mainnet"

PORT="${1:-$ARG1_DEFAULT}"
NETWORK="${2:-$ARG2_DEFAULT}"

socat TCP-LISTEN:"$PORT",fork,reuseaddr TCP:<IP_ADDRESS>:3051 &
era_test_node --port 3051 fork "$NETWORK" &
wait

🤔 Expected Behavior
Test to pass.
😯 Current Behavior
Error.
Full Error Message:
https://github.com/idea404/paymaster-zksync/actions/runs/5951030825/job/16140118097

@idea404 Are we able to replicate this against testnet? Want to rule out that the issue is not related to contract factory code in the paymaster-zksync repo.
For awareness, the gas estimation was updated after the 3539ad0a87f5cc5350b346bace874f4d966714b3 commit on main. Using that commit has the hard-coded implementation, which isn't actually estimating gas fees.

Closing this issue as error also occurred on testnet and is thus not related to era-test-node.


Configure Azure Pipelines

This configuration builds the application and produces builds for both Debug and Release configurations.

merger

merge


Compiler guide: Add note about redefining default of FORTIFY_SOURCE

In case a compiler uses a predefined default for FORTIFY_SOURCE and a different mode is set on the command line, a warning about redefining the macro is triggered. To avoid this, the default value of FORTIFY_SOURCE can be unset first before setting the desired value.
Fixes #272

See also the findings in #270.

lgtm


notary tests break --net none build

fix the --net none failures seen here
https://jenkins.dockerproject.org/job/Docker Master (--net=none)/1296/console

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

#dibs


Global ellipsis on breadcrumbs

The BreadcrumbsComponent doesn't evolve a global ellipsis.
It's just cut by the next column or field.
It should have an ellipsis ... in the case that the breadcrumbs-width is larger then the available space.

How can the user navigate to the deepest level in this case?
Could we show the full path (incl. link) as a drop-down similar to the label dropdown? Would appreciate a solution for this as the is the common use case I think.

The user should still able to navigate to the deepest level.
I was not precise in my explanation, sorry.
I thought about a clickable ellipsis like this:
in Applications > ... > longrou...|

Sounds good. Let´s test this out.


Feature request: adding option for additional classes

I am wondering what would be involved in adding support for additional classes of tiles. Specifically, I would be interested in being able to train a CNN to distinguish colonization by AMF from colonization by other root endophytes. A lot of our roots from the field are colonized by "dark septate endophytes" which appear quite different from AMF. For example, I believe the root on the left in the attached picture contains vesicles from AMF, but the root on the right contains microsclerotia from DSE. It would be great to be able to train a CNN to differentiate these different types of fungi

!

Dear Ethan,
Support for an arbitrary number of classes would indeed be a cool feature. It should be easy to implement in amf. However, updating the user interface (amfbrowser) would be more challenging. Therefore, I would only consider implementing such a feature as part of a collaboration.
There is an easy workaround for the specific purpose of identifying one more category (microsclerotia). You may have noticed from the AMFinder publication that the training dataset did not contain enough hyphopodia to efficiently predict this class of hyphal structures. You can therefore repurpose it to label microsclerotia. Below is a possible pipeline:

Capture training images (you need better resolution than the one displayed above) containing both AMF and DSE.
Predict colonisation and mycorrhizal structures on training images using the existing CNN1 and CNN2 networks. At each stage, check predictions and convert them to annotations.
While browsing the images with amfbrowser, label microsclerotia as 'hyphopodia' (this is just a name on the interface, amf learns from annotated tiles, whatever they contain).
Re-train CNN2 using amf train, the pre-trained CNN2 and your newly-annotated images containing hyphopodia labelling.
Predict structures on images containing both fungi and check that it works as expected

I would be interested in getting feedback should you decide to try this (I don't have pictures with both fungi to run tests, unfortunately).


CaptureService crashes aren't handled correctly

Hi Hecomi!
Crashes of the 'CaptureService' aren't handled well and cause the application to exit.
You can crash the CaptureService by killing 'explorer.exe' in Task Manager to reproduce this issue. (Explorer randomly crashes on some users systems and it brought this to my attention, Windows is 'flawless'!)
Let me know if you need any more details! Thanks for your good work! :)

Hi!
Thank you for your report, I found a case where an unhandled exception was raised when the explorer.exe process was killed. I've fixed it in the latest commit, so please check it in your environment.
uWindowCapture-v1.0.3.zip

Thanks Hecomi!
I will give this a try now and provide feedback in a few days.


OpenDBC. for sienna.

Why open a second PR for the Sienna Port? You have this one and #477. Also you will want to make the DBC pull requests directly to the openDBC repo. Let me now if you have any issues and I can help you out


fix description of direct access in README.md

Thanks for the PL although I saw it a bit late. Didn't think anyone was using this. Fixed.


Adaptive Cards

** Please do not merge this PR - this is for review only, until the checklist has been completed **
Must haves:

[x] The Adaptive Card tool ac-scss2json needs to be published
[x] adaptivecard-hostconfig.js Documentation
[x] Add AdaptiveCards HostConfig into CSS content so that it is not another external file
[x] Try / catch when Adaptive Card fails, what to display?
[x] Remove Action.HTTP buttons
[x] Show friendly error card
[x] Style injection sample
[x] Fix webpack warnings

Stretch goals (if not checked these should become issues after the PR):

[x] Use more variables in adaptive-card-config.scss
[ ] Add a watcher on SCSS to call ac-scss2json
[x] Use Adaptive Cards for rendering existing cards

[x] Hero Card
[x] Thumbnail card
[x] Animation card
[x] Audio card
[x] Video card
[x] Receipt Card
[x] Signin Card

[ ] Pagination of buttons when there is more than 5
[ ] scroll to bottom/call onImageLoad on showPopupCard event / when card is resized
[ ] Localize error card

@danmarshall What is the current timeline for Adaptive Cards full support in Web Chat?

A few more days of core development to get code complete, another few days to get documentation and tests in place.

It seems as if this was merged, but I am still getting this issue https://github.com/Microsoft/AdaptiveCards/issues/432 -- is there something that I should do?


SCT-935 Decorator to add workspaces and objects info to search results

Need to fix file conflicts.


The model text-davinci-003 has been deprecated

I got this error while generating the story,
Error generating story: 404 The model text-davinci-003 has been deprecated, learn more here: https://platform.openai.com/docs/deprecations
we need to update the model

We have to replace the model by gpt-3.5-turbo-instruct

Yep, I'll change the model today

Done, I updated the model to gpt-3.5-turbo-instruct


Support for ED25519

Currently, Staticman uses RSA encryption.  Nonetheless, it's reported that the old RSA encoding is insecure.  I wonder if it's possible to provide support for elliptic curve encryption.

ED25519 SSH keys
Following best practices, you should always favor ED25519 SSH keys, since they are more secure and have better performance over the other types.
ED25519 SSH keys were introduced in OpenSSH 6.5, so any modern OS should include the option to create them. If for any reason your OS or the GitLab instance you interact with doesn’t support ED25519, you can fallback to RSA.
Source: GitLab EE docs

References:

GitLab EE docs
Which one is better: elliptic curve cryptography or RSA algorithm and why? - Quora

Will consider adding this but additional features are low priority right now.

Just a detail: Ed25519 is a signature algorithm, so using it will not work. You might try using sealed boxes. Here is a JavaScript implementation.
It works by generating a ephemeral key pair, then deriving an encryption key from the server public key and the ephemeral private key (using x25519), then the data is encrypted and the ephemeral public key prepended. It's quite fast and the overhead added is just 48 bytes.


Eclipse Bug

Hyprland Version
Hyprland, built from branch main at commit 942ee943f5b0f3f9611b2ff5481dacf19aed6a17 dirty (input: unify constraint hint logic).
Bug or Regression?
Bug
Description
Java Eclipse glich and don't show suggestions.
https://github.com/hyprwm/Hyprland/assets/81424772/768eca3b-3a9e-4dfe-91cf-f3048b85f467
How to reproduce
Activating suggestions in the preferences of eclipse, then writing something for getting an suggestion.
Crash reports, logs, images, videos
No response

is this still happening?

I guess not?


Add async helpers

Context: https://github.com/jondot/hygen/issues/95

@csdswarm  thank you. it worked. I couldn't get this and interactive prompting both work in same generator. Have you tried it? if so did u get it to work?

@rameshjanjyam  TBH, I've moved on to a different scaffolding tool. I'm currently using plop mostly because that uses handlebars syntax, which is already a syntax being used in the project I'm on. Even then, I've had a hard time getting around to building scaffolds in it.

Thank you @csdswarm


fix(STONEINTG-769): do not block reconciliation when report fail

This is regression from https://github.com/MartinBasti/integration-service/commit/bc758969f9ec196d57002c3abe2ea130e108bcd3
Before this status has been ignored at lower level, hotfixing issue.
if PLR doesn't exist anymore, at least provide users some results withou
details, not just failing silently.
ContinueProcessing had to be removed, it would prevent unlocking
finalizers.
This is just workaround, to prevent catastrophic issues on deployments.
Future fix should be about preventing to even get to state where we are
missing PLR data.
Maintainers will complete the following section

[ ] Commit messages are descriptive enough (hints)
[ ] Code coverage from testing does not decrease and new code is covered (check the PR coverage on codecov)
[ ] Controllers diagrams are updated when PR changes controllers code  (if applicable)

Didnt catch the error in unit tests.

PR updated with the new solution, ready for review


Puppet Fails to Resolve Hostname Using ${hostname}\ and any other Variable in Source Path

Describe the Bug
I am encountering an issue with Puppet where the ${hostname} variable is not resolving correctly in the source path of a file resource. The following manifest snippet is intended to retrieve a certificate file based on the system hostname:
file { '/etc/ssl/certs/Certname':
  source => "puppet:///modules/arch/vault-certs/${hostname}.Certname",
  mode   => '0644',
}

However, this results in a 404 Not Found error, as Puppet is not expanding the ${hostname} variable correctly, leading to it searching for an incorrect file name.
Expected Behavior
expected Puppet to resolve the ${hostname} variable correctly and construct the appropriate source path to retrieve the certificate file.
I have to mention it is a bug in the puppet version : puppet 8.9.0-4
Environment

puppet 8.9.0-4
Platform : linux 6.11.3.arch1-1

Additional Context
Could you please provide a temporary solution to the issue at hand, at least until we can implement a permanent fix? Thank you

i should mention it seems fact works fine :  facter hostname gives me the correct value
i also tried to use fact in my puppet code like this : $::hostname  didnt help

i also tried this as puppet says :
 source => "puppet:///modules/arch/vault-certs/$facts['networking']['hostname'].Cername
still fails with tons of errors

Hi @banafshehft Puppet 8 agents no longer send legacy facts, like hostname, to the server, see https://www.puppet.com/blog/puppet-8 for more details. You'll need to modify your manifest to reference the structured fact. Recommend running puppet-lint to validate your code.  Rather than discussing this in the issue tracker, I recommend reaching out in the puppetcommunity slack. Lots of folks there can get you pointed in the right direction.


Yet another attempt to fix CI handling of comment text

This change attempts to prevent any subcommand expansions when body of a comment is echoed.

test a comment with parenthesis
this shouldn't be $(a subcommand)

I'm thinking maybe we can add this condition https://github.com/solana-labs/move/blob/9982d16de291d1aa7ac684b485875f48de8099a6/.github/workflows/pr-commands.yml#L39 to prevent we parse so various comments. let me test it later!

I'm thinking maybe we can add this condition
https://github.com/solana-labs/move/blob/9982d16de291d1aa7ac684b485875f48de8099a6/.github/workflows/pr-commands.yml#L39
to prevent we parse so various comments. let me test it later!

Sounds good, but let's also use cat and sed for filtering as is done in this PR, maybe.


[MM-11896] Do not use minimize shortcut on win32

Before submitting, please confirm you've

[X] read and understood our Contributing Guidelines
[X] completed Mattermost Contributor Agreement
[X] executed npm run lint:js for proper code formatting

Please provide the following information:
Summary
Adds condition to remove accelerator for Window -> Minimize when process.platform === 'win32'.
By setting accelerator to null for other platform values, Minimize will use the default shortcut on those platforms.
Issue link
https://github.com/mattermost/mattermost-server/issues/9398
Test Cases
I was unable to come up with a good way to test this, and didn't see any comparable tests in the app.  I prefer to have a test here, and would appreciate any guidance to achieve that.

@steevsachs Hi there. Why do we need to remove the shortcut accelerator of the Window menu?

@wget Please see the discussion here https://github.com/mattermost/mattermost-server/issues/9398#issuecomment-491002725
The current behavior on Windows is that ctrl+m results in both minimizing the window and sending the current message, which is a confusing UX.
Resolving the issue with ctrl+m sending on Windows (because it produces an Enter keypress event) is problematic, so the proposed solution is to prevent the minimize instead.

Hi @steevsachs,
Thanks for your contributing! Just curious, what will happen when pressing Ctrl+M on Linux? In my guess, the problem will appear as well as Windows. So possibly we need to apply this patch also for Linux
(If it's difficult to test for you, feel free to let us know.)

@yuya-oc ctrl+m on linux in the desktop client only minimizes, it does not send.

@wget Gentle reminder to review this

Thank you for your contribution @steevsachs :tada:


Pipfile semantics (2.0 Rewrite)

The rewrite that no one asked for? 🤷

Plugin no longer using pipenv to create virtual environments
Plugin no longer using pipenv to run commands
Only activate pipenv when Pipfile, Pipfile_{envname} or Pipfile_{envname}.lock is present in toxinidir
Do NOT activate pipenv when test environment specifies deps
Automatically pipenv sync (from Pipfile_{envname}.lock, if present)

Enable strict-pinning workflow with multiple python versions
New tox CLI option: --pipenv-update to explicitly (re)lock dependencies for multiple environments

testenv ini-setting, skip_pipenv: opt-out of all pipenv operations for the environment
Customize pipenv install_deps command:

testenv ini-setting pipenv_install_opts / TOX_PIPENV_INSTALL_OPTS
Environment variables take precedence over testenv ini-setting

Code restructuring for better modularity and readability

Testing

100% branch coverage with unit tests
98% branch coverage with integration tests

py37 run-test: commands[0] | pytest -x test/integration --cov
====================================================================== test session starts ======================================================================
platform darwin -- Python 3.7.15, pytest-7.2.0, pluggy-1.0.0
cachedir: .tox/py37/.pytest_cache
Using --randomly-seed=48219505
rootdir: /Users/masen/code/tox-dev/tox-pipenv, configfile: tox.ini
plugins: mock-3.10.0, xdist-3.0.2, randomly-3.12.0, cov-4.0.0
collected 58 items

test/integration/test_integration.py ..........................................................[100%]
---------- coverage: platform darwin, python 3.7.15-final-0 ----------
Name                     Stmts   Miss Branch BrPart  Cover   Missing
--------------------------------------------------------------------
tox_pipenv/__init__.py       1      0      0      0   100%
tox_pipenv/plugin.py       135      1     50      2    98%   142->144, 145
--------------------------------------------------------------------
TOTAL                      136      1     50      2    98%
================ 58 passed in 1071.11s (0:17:51) ==============

Plugin no longer using pipenv to create virtual environments

Thinking about some more use cases over the weekend and this removal will have to be reverted.
Creating the virtualenv using pipenv is literally the one thing a plug-in can do, that you can't easily do directly in tox.ini.
I'm also realizing that "pipenv_install_opts" can likely be handled by the built-in install_command setting (and this could enable the 'initialize Pipfile from deps' workflow without additional code). This probably also simplifies the tests a lot, so will try this one before bringing back tox_testenv_create.

removal of pipenv_install_opts in https://github.com/masenf/tox-pipenv/pull/3


elasticsearch.client.ResponseException: too many requests

Please answer these questions before submitting your issue.

Why do you submit this issue?
[ ] Question or discussion
[x] Bug
[ ] Requirement
[ ] Feature or performance improvement

Bug
Skywalking is not long in learning to use it.Find the following problems, how to solve?

Read FAQ or storage setup document. It is there already.


resizing window

I have a window whose size i only know later, not on the first or the second frame. I need some advice how to deal with this with hello_imgui using Python. My window is real simple, it just has an image (imgui.image()) to show. I have the following questions:

How to size my window such that is has the size of the image, taking into account DPI scaling of the monitor? I think that app_window_params.window_geometry.window_size_measure_mode = hello_imgui.WindowSizeMeasureMode.relative_to96_ppi is key here, right?
How to only size the window once its size is know? The first image to show may arrive seconds after the window has been created. I tried hiding the window (glfw.hide_window) in post_init and only showing it once the image is about to be drawn for the first time. Can i invoke the sizing (and positioning) logic at a later time instead of only at window creation?`
Ideally i'd like the logic to scale the window to 100% image size if that fits on the monitor, else to clamp the window size down to the monitor size while maintaining aspect ratio. Is that possible?

Hi Dee,Those are interesting  subjects on which I worked a lot.I would be interested in seeing that on your computer, since it is a windows PC. Could we try to have a telephone conversation at 2 PM?Thanks Le 23 janv. 2023 à 10:46, Diederick C. Niehorster @.***> a écrit :
I have a window whose size i only know later, not on the first or the second frame. I need some advice how to deal with this with hello_imgui using Python. My window is real simple, it just has an image (imgui.image()) to show. I have the following questions:
How to size my window such that is has the size of the image, taking into account DPI scaling of the monitor? I think that app_window_params.window_geometry.window_size_measure_mode = hello_imgui.WindowSizeMeasureMode.relative_to96_ppi is key here, right?
How to only size the window once its size is know? The first image to show may arrive seconds after the window has been created. I tried hiding the window (glfw.hide_window) in post_init and only showing it once the image is about to be drawn for the first time. Can i invoke the sizing (and positioning) logic at a later time instead of only at window creation?`
Ideally i'd like the logic to scale the window to 100% image size if that fits on the monitor, else to clamp the window size down to the monitor size while maintaining aspect ratio. Is that possible?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

I'm not available today but would be happy to talk to you tomorrow between
10 and 15
On Mon, Jan 23, 2023 at 12:01 PM Pascal Thomet @.***>
wrote:

Hi Dee,Those are interesting  subjects on which I worked a lot.I would be
interested in seeing that on your computer, since it is a windows PC. Could
we try to have a telephone conversation at 2 PM?Thanks Le 23 janv. 2023 à
10:46, Diederick C. Niehorster @.***> a écrit :
I have a window whose size i only know later, not on the first or the
second frame. I need some advice how to deal with this with hello_imgui
using Python. My window is real simple, it just has an image
(imgui.image()) to show. I have the following questions:
How to size my window such that is has the size of the image, taking into
account DPI scaling of the monitor? I think that
app_window_params.window_geometry.window_size_measure_mode =
hello_imgui.WindowSizeMeasureMode.relative_to96_ppi is key here, right?
How to only size the window once its size is know? The first image to show
may arrive seconds after the window has been created. I tried hiding the
window (glfw.hide_window) in post_init and only showing it once the image
is about to be drawn for the first time. Can i invoke the sizing (and
positioning) logic at a later time instead of only at window creation?`
Ideally i'd like the logic to scale the window to 100% image size if that
fits on the monitor, else to clamp the window size down to the monitor size
while maintaining aspect ratio. Is that possible?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are
receiving this because you are subscribed to this thread.Message ID:
@.***>
—
Reply to this email directly, view it on GitHub
https://github.com/pthom/hello_imgui/issues/28#issuecomment-1400159067,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AANUOGJO3BBKNHOUFCKGQWTWTZQJ7ANCNFSM6AAAAAAUDT4RYU
.
You are receiving this because you authored the thread.Message ID:
@.***>

That did the trick, thanks!


How to write "0" value?

When I'm trying to write cue point with following code
cuePoint.Write(VInt.FromEncoded(0xB3), absoluteTimestamp); /* CueTime */

and absoluteTimestamp is 0. I'm getting 0xB3 0x80 in raw bytes instead of expected 0xB3 0x81 0x00
Am I doing something wrong?

No, you are doing it right.
According to https://www.rfc-editor.org/rfc/rfc8794.html#name-vint-examples the value of 0 is encoded with 1 octet:
1xxx xxxx where xxxxxxx = 0 results in 0x80.

I also stumbled upon this issue. The matroska element "Tracks.TrackEntry.FlagLacing" has a defined default value of 1 (see https://matroska.org/technical/elements.html). I want it to have a value of 0. In my old MKV files created with an older version of NEbml I can see it being correctly written as 9C 81 00. With the new version 0.10.1 of the NEbml NuGet package I get 9C 80 instead. https://www.rfc-editor.org/rfc/rfc8794.html#section-7.2 states "If the EBML Element is not defined to have a default value, then an Unsigned Integer Element with a zero-octet length represents an integer value of zero.". So in my opinion NEbml incorrectly assumes that the default value for integers is always 0, but this is not true.

Well, section 6.1 (https://www.rfc-editor.org/rfc/rfc8794.html#section-6.1) is even more interesting.
If I understand it correctly long/ulong values should use length of 1 or more.
I could provide WriteDefault(VInt elementId) for legacy behavior (zero length), which could be used for strings as well.
Btw empty string will be encoded with 0 length as well.
Would it work?

May you could just add an overload with nullable values to the EbmlWriter.Write method and add EbmlReader.ReadNullable* methods?
Examples:
// A value of null will be written with a VINT length of zero bytes.
public int Write(VInt elementId, long? value)
public int Write(VInt elementId, ulong? value)

// A VINT length of zero will be returned as null
public long? ReadNullableInt()
public ulong? ReadNullableUInt()

This way during writing I could write an empty integer by providing a typed null (with the expression default(long?)) or write a one-byte value of zero using (long?)0.
I believe old would not be affected because it would always call the Write-method-overload which does not use the System.Nullable type.

I suppose it's redundant.
Which one would be used if I write code like this Write(DurationElementId, null)?
Besides that we don't care about backword compabitility so both options look the same.
Regarding reading: looks fine to me.

I suppose it's redundant.
Which one would be used if I write code like this Write(DurationElementId, null)?
Good point, I did not think about that. I just tested it with a test project and it seems like there is a priority between integer types when selecting between Nullable overloads. When having to chose between int?, uint?, long? and ulong? C# picks the overload with int? but as soon as an overload with string exists I get "error CS0121: The call is ambiguous". So my idea was not good I guess.

Next idea: Specify the default value in the write call. If the value equals the default value, the element is written with a length of zero:
public int Write(VInt elementId, long value, long defaultValue = 0)
public int Write(VInt elementId, ulong value, ulong defaultValue = 0)

Hm… The good point is that it’s backward compatible, i.e. 0 will be written as 80.Does it work well for your scenario: you will have to pass a different value in the last parameter? Also we can made Read methods similarly, i.e. `ReadInt(int defaultValue = 0)`. From: André KöhlerSent: 16 апреля 2021 г. 16:55To: OlegZee/NEbmlCc: Oleg; State changeSubject: Re: [OlegZee/NEbml] How to write "0" value? (#10) I suppose it's redundant.Which one would be used if I write code like this Write(DurationElementId, null)?Good point, I did not think about that. I just tested it with a test project and it seems like there is a priority between integer types when selecting between Nullable overloads. When having to chose between int?, uint?, long? and ulong? C# picks the overload with int? but as soon as an overload with string exists I get "error CS0121: The call is ambiguous". So my idea was not good I guess.Next idea: Specify the default value in the write call. If the value equals the default value, the element is written with a length of zero:public int Write(VInt elementId, long value, long defaultValue = 0)public int Write(VInt elementId, ulong value, ulong defaultValue = 0)—You are receiving this because you modified the open/close state.Reply to this email directly, view it on GitHub, or unsubscribe.

Passing the default value to each Write and Read method works for me, because my Matroska (de-/)serializer knows it for each element (I use a System.Attribute to store that information).


Fix the URL of "Open Cloud Shell" button image

Hi, I noticed the "Open Cloud Shell" button image was broken in README.md (I guess because it was referring to the internal repository file 🙂).
This PR fixes the image URL. I used the image explained in the official documentation: Open in Cloud Shell  |  Google Cloud.

Thank you for merging! 🙂


Fix APIDocs

Currently on the documentation page there are automatically generated pages for every module in the repo, including database migrations which clearly do not need documentation. The undesirable modules should be removed and the rest of the documentation should be cleaned up (e.g. for the webiscite.models page the possible bill status attributes are intermixed with the Django model exceptions).

It could still be improved, but sphinxcontrib-django and some settings changes made it a lot better


:broom: Accommodate to knative-sandbox/reconciler-test#294

Changes

:broom: Accommodate to knative-sandbox/reconciler-test#294

/cc @knative-sandbox/eventing-writers
/cc @knative-sandbox/eventing-autoscaler-keda-approvers


A bit more newbee friendly documentation

Hello,
After quite some time searching through the different places, I finally could solve the mystery with https://github.com/babel/grunt-babel/issues/5#issuecomment-60824802 - it would be great to spare developers not so familiar with grunt like myself quite some time and kindly update the documentation a bit.
Live is to short to learn every new tool in full detail.
Thank you for this great tool and all your work!
Andreas

No thanks. Sorry. Duplicating the grunt docs is a slippery slope. Soon we'll get requests to document other grunt features too. I know, since it happened on many of my grunt plugins.

After quite some time searching through the different places

I bet just reading the grunt docs would have been faster ;)

Live is to short to learn every new tool in full detail.

This is basic functionality.

As for improving the grunt docs, open issues here: https://github.com/gruntjs/grunt-docs

Thx anyway ;)

On 10 Mar 2016, at 17:42, Sindre Sorhus<EMAIL_ADDRESS>wrote:
No thanks. Sorry. Duplicating the grunt docs is a slippery slope. Soon we'll get requests to document other grunt features too. I know, since it happened on many of my grunt plugins.
After quite some time searching through the different places
I bet just reading the grunt docs would have been faster ;)
Live is to short to learn every new tool in full detail.
This is basic functionality.
As for improving the grunt docs, open issues here: https://github.com/gruntjs/grunt-docs https://github.com/gruntjs/grunt-docs
—
Reply to this email directly or view it on GitHub https://github.com/babel/grunt-babel/pull/66#issuecomment-194943154.


Which versions of SPfx / SharePoint support provision content types and columns?

I need to deploy some content types and columns in SharePoint 2016 / SPfx v1.1 and I don't have access to full Visual Studio SharePoint tooling. Looking for alternate ways to do it.

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

ID: b4f8d79e-59f8-967b-3339-479c52be24c3
Version Independent ID: 0bf6bc17-ac75-966a-cf48-69e1f6ced047
Content: Provision SharePoint assets with your solution package
Content Source: docs/spfx/toolchain/provision-sharepoint-assets.md
Product: sharepoint
Technology: sharepoint-framework
GitHub Login: @spdevdocs
Microsoft Alias: spdevdocs

Have you looked at the PnP Provisioning? This would be your best bet in SP2016 as I believe it does work for SP2016: https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/pnp-provisioning-framework

Also - all versions will allow you to have feature.xml in your solution that will create content types / etc.  The document you refer to shows how to do this.  Are you looking for something specific that isn't listed?

Check SPFX provisioning here
https://sharepoint-data.blogspot.com/2019/04/spfx-provisioning.html


Add crude autocomplete and history

This adds a very rudimentary history that you can navigate using the UP and DOWN arrows.
This is allowed only when the caret is at position 0.
I did not prevent UP and DOWN from going to the beginning of the line_edit and the end, respectively.
I like it like this but, we can easily change this I think.
History size is unlimited, I don't think this is going to be a problem.
Using the TAB key triggers autocompletion. The matching function is very simple as well, we could improve it, no doubt.
I added focus_next and focus_previous on the line_edit that point to itself to prevent focus loss... We could easily regrab focus instead.
We need a call deferred function to set the caret at the end anyway.
I'm not sure why there are more diff in the default_ui.tscn, this is not my doing :smile:
I can revert it if convenient.
Anyway, love the plugin!
Waiting for your feedback!
NB: I'm relatively new to gdscript so feel free to point out my mistakes :wink:

Thanks for the feedback, I updated the code a little bit.
I agree that it looks a bit messy, introducing history and completion classes would help a little.
I'd love to move the handler _on_input_line_edit_gui_input but I'm not sure if there's a better place for it.

What would be awesome is a way for commands to provide completions for their arguments.
Let say for instance that I have a command load_level that takes a level_name as a parameter.
I'd like this command to provide autocomplete for the level names.
That is probably a bit more tricky as the autocomplete function would need to parse the current buffer to see if it begins with a known command and then delegate autocompletion to this command.
Is that something you would be interested in? How would you tackle this?

Sorry that I couldn't get to you sooner.
I like how it interfaces the GDShellUIHandler now, but I still have something to say.
When you use the history a few times and then decide that instead of finding the command in the endless history, you write the command again yourself and do Ctrl+A and then Delete to clear the text. Because the cursor is focused to the beginning, the history is not restarted.
I suggest moving the cursor to the back on every history scroll instead to the front of the LineEdit and delete the condition that checks if you are at the beggining of the LineEdit so that you can engage the history at any time.

What would be awesome is a way for commands to provide completions for their arguments.

That would be really awesome indeed!
The autocomplete function would take what's already in the LineEdit and possibly use GDShellCommandParser. Then it would try to instance the command beforehand in the limited state that it is in, when it gets loaded by GDShellCommandDB to get the autoaliases, delegate the autocomplete to that instance and when it is complete, free it.
However the autocomplete functions inside commands would become really complicated. Imagine that you have 10 possible arguments. You would have to determine what argument are you autocompleting and then do the search.
I think that it is doable

We could also persist the history between sessions. That would be practical I think.

The history could be stored in the user:// directory so that it could be used even in exported builds. There could also be be stored some global GDShell "ENV" variables if they come to existence.
I would just create a gdshell folder right next to logs and shader_cache and have some file named history in there, that would be read on startup and updated on exit.
I would make this in a new PR tho.

I think that for now it's more than enough!
Thanks! ❤


Ontology nodes in PropertyValueList or NumericalProperty/StringProperty

Hi @lzehl et al -
We'd like to represent name / value pairs where the name is rooted in an ontology instead of just a free-text / uncontrolled name.
As an example, suppose, for a visual stimulus, we wanted to store that the stimulus properties were
[Table format: Ontology, local name, value, units]
<EMAIL_ADDRESS>tFrequency 1.0 Hz
<EMAIL_ADDRESS>sFrequency 1.0 cycles/degree_visual_angle
This would allow many parameters to be rooted in ontologies.
In a meeting this morning, we supposed it could be implemented in openMINDS if NumericalProperty and StringProperty each had an ontologyIdentifier field.
Best
Steve

This sounds like a good idea to me.

I also like the idea.
We have used two properties previously that relate to ontologies - ontologyIdentifier and preferredOntologyIdentifier. The latter is used for controlledTerms, while the first one is used on other (complex) schemas which can have an ontology ID assigned (e.g., brain atlas versions or strains).
I don't think either would be suitable for the property schemas since the ontology ID would only relate to the name and not the value of the schema.
I see 2 options that could solve this.
Option 1
Add a new property where users can add the corresponding ontology terms. The category keyword includes all schemas from the controlledTerms model (i.e., all terminologies and the TermSuggestion schema). It gives users the option to choose a suitable term from the exiting terminologies or suggest a new one (with optional fields to e.g., define the term and state the ontology ID). Property name and instructions should be discussed. This is just to present the idea.
{
  "_type": "https://openminds.ebrains.eu/core/StringProperty",
  "required": [
    "name",
    "value"
  ],
  "properties": {
    "name": {
      "type": "string",
      "_instruction": "Enter a descriptive name for this property."
    },
    "relatedOntologyTerm": {
      "type": "array",
      "minItems": 1,
      "uniqueItems": true,
      "_instruction": "Add all ontology terms that best correspond to the name of this property either by adding controlled terms or by suggesting new terms.",
      "_linkedCategories": [
        "keyword"
      ]
    },
    "value": {
      "type": "string",
      "_instruction": "Enter the text value that is described by this string property."
    }
  }
}

Option 2
Instead of allowing free-text for the name, we could restrict the options to the category keyword (i.e., choosing from existing terminology or suggesting a new one). This would create the explicit relation between ontology ID and the name of the property which is only implicit in option 1 (via the instructions for relatedOntologyTerm).
{
  "_type": "https://openminds.ebrains.eu/core/StringProperty",
  "required": [
    "name",
    "value"
  ],
  "properties": {
    "name": {
      "_instruction": "Add the name of this property either by adding the corresponding controlled term or by suggesting a new term.",
      "_linkedCategories": [
        "keyword"
      ]
    },
    "value": {
      "type": "string",
      "_instruction": "Enter the text value that is described by this string property."
    }
  }
}

@openMetadataInitiative/openminds-admins & @openMetadataInitiative/openminds-developers What do you think?

From the perspective of a project that is trying to adopt as much of openMINDS as we can but that is not completely compatible yet, I think both of these options work easily.
It's my impression that keywords are flat objects that don't have potential links back onto the rest of the openMINDS schema in a complicated way. If that's true, then both options are easy. If keywords could have fields that depend on the whole hierarchy, then I might prefer option 1 because it is a flat object with no links.
Best
Steve

It's my impression that keywords are flat objects that don't have potential links back onto the rest of the openMINDS schema in a complicated way. If that's true, then both options are easy. If keywords could have fields that depend on the whole hierarchy, then I might prefer option 1 because it is a flat object with no links.

Yes, they are flat objects. You can look at the documentation for the controlledTerms schemas for the full list of properties. They either allow free text fields or IRIs to external resources (e.g., ontology ID) but they do not have further links to any other schemas within openMINDS. The TermSuggestion schema has one further link but only to give users the chance to state which existing terminology a new term belongs to (addExistingTerminology linking to controlledTerms/Terminology).
Let's see what the others think (especially @lzehl), and then I can make the changes to the schemas.

I don't think Option 2 works, it takes away too much flexibility/adds too much overhead. For many use cases I don't think it will make sense to use a controlled term as the key.
Option 1 is quite nice, but the property should probably be something like "controlledVocabularyTerm" rather than "relatedOntologyTerm", if its value is anything in the "keyword" category.
There's also Option 0, which is essentially Steve's suggestion, and which I prefer:
{
  "_type": "https://openminds.ebrains.eu/core/StringProperty",
  "required": [
    "name",
    "value"
  ],
  "properties": {
    "name": {
      "type": "string",
      "_instruction": "Enter a descriptive name for this property."
    },
    "ontologyIdentifier": {
      "type": "string",
      "_formats": [
        "iri"
      ],
      "_instruction": "Enter the internationalized resource identifier (IRI) pointing to an ontological term for the property name."
    },
    "value": {
      "type": "string",
      "_instruction": "Enter the text value that is described by this string property."
    }
  }
}

If we want an ontology term for the value, then we should add a new schema alongside StringProperty and NumericalProperty, called something like OntologyProperty or ControlledTermProperty.

Dear all, sorry for being quite so far. I agree with @apdavison that option 2 is not flexible enough to follow the logic we had that StringProperty and NumericalProperty are fully user defined.
One could imagine the full flexibility in the following options:
Option 3:
{
  "_type": "https://openminds.ebrains.eu/core/StringProperty",
  "required": [
    "name",
    "value"
  ],
  "properties": {
    "name": {
      "type": "string",
      "_instruction": "Enter a descriptive name for this property."
    },
    "nameOntologyIdentifier": {
      "type": "string",
      "_formats": [
        "iri"
      ],
      "_instruction": "Enter the internationalized resource identifier (IRI) pointing to an ontological term for the property name."
    },
    "value": {
      "type": "string",
      "_instruction": "Enter the text value that is described by this string property."
    },
    "valueOntologyIdentifier": {
      "type": "string",
      "_formats": [
        "iri"
      ],
      "_instruction": "Enter the internationalized resource identifier (IRI) pointing to an ontological term for the property value."
    },
  }
}

Which then also applies to NumericalProperty:
{
  "_type": "https://openminds.ebrains.eu/core/NumericalProperty",
  "required": [
    "name",
    "value"
  ],
  "properties": {
    "name": {
      "type": "string",
      "_instruction": "Enter a descriptive name for this numerical property."
    },
    "nameOntologyIdentifier": {
      "type": "string",
      "_formats": [
        "iri"
      ],
      "_instruction": "Enter the internationalized resource identifier (IRI) pointing to an ontological term for the property name."
    },
    "value": {
      "type": "array",
      "minItems": 1,
      "_instruction": "Enter all quantitative values that are described by this numerical property.",
      "_embeddedTypes": [
        "https://openminds.ebrains.eu/core/QuantitativeValue",
        "https://openminds.ebrains.eu/core/QuantitativeValueRange"
      ]
    }
  }
}

@stevevanhooser generally this is a very good suggestion. We just need to decide on how we integrate it :smile:

Works for me. NDI Cloud might insist on ontology terms but we can apply that beyond what is strictly required for a valid openMinds document. Thanks!via mobileOn Oct 21, 2024, at 11:37 AM, Lyuba Zehl @.***> wrote:
Dear all, sorry for being quite so far. I agree with @apdavison [github.com] that option 2 is not flexible enough to follow the logic we had that StringProperty and NumericalProperty are fully user defined.
One could imagine the full flexibility in the following options:
Option 3:
{
"_type": "https://openminds.ebrains.eu/core/StringProperty [openminds.ebrains.eu]",
"required": [
"name",
"value"
],
"properties": {
"name": {
"type": "string",
"_instruction": "Enter a descriptive name for this property."
},
"nameOntologyIdentifier": {
"type": "string",
"_formats": [
"iri"
],
"_instruction": "Enter the internationalized resource identifier (IRI) pointing to an ontological term for the property name."
},
"value": {
"type": "string",
"_instruction": "Enter the text value that is described by this string property."
},
"valueOntologyIdentifier": {
"type": "string",
"_formats": [
"iri"
],
"_instruction": "Enter the internationalized resource identifier (IRI) pointing to an ontological term for the property value."
},
}
}
Which then also applies to NumericalProperty:
{
"_type": "https://openminds.ebrains.eu/core/NumericalProperty [openminds.ebrains.eu]",
"required": [
"name",
"value"
],
"properties": {
"name": {
"type": "string",
"_instruction": "Enter a descriptive name for this numerical property."
},
"nameOntologyIdentifier": {
"type": "string",
"_formats": [
"iri"
],
"_instruction": "Enter the internationalized resource identifier (IRI) pointing to an ontological term for the property name."
},
"value": {
"type": "array",
"minItems": 1,
"_instruction": "Enter all quantitative values that are described by this numerical property.",
"_embeddedTypes": [
"https://openminds.ebrains.eu/core/QuantitativeValue [openminds.ebrains.eu]",
"https://openminds.ebrains.eu/core/QuantitativeValueRange [openminds.ebrains.eu]"
]
}
}
}
@stevevanhooser [github.com] generally this is a very good suggestion. We just need to decide on how we integrate it 😄
—Reply to this email directly, view it on GitHub [github.com], or unsubscribe [github.com].You are receiving this because you were mentioned.Message ID: @.***>


Wiki - Update the Installation Instructions

To which page do you want to add to the wiki?

Install CDP > Installation Videos
Install CDP > Arduino IDE > Windows

What do you want to change/add?
Currently in the videos, it shows that when you clone the github, it automatically installs the libraries. However, currently it does not do that and you need to run a separate python script to pull all the libraries down. The text on the wiki (Arduino IDE Pages) also implies this is the case (and the library installer is listed as a separate possible way to install the project, not as another required step).
I think the video should be updated to reflect this change. As well, the text on the Arduino IDE pages should list the library installations as a separate required step (rather than as a potential option to install the project).
Is your documentation related to a recent pull request or issue?
I had this issue when I was trying to get setup and got help in the slack.

Videos were removed


A way to automatically apply HLint suggestions

Something like double click on suggestion or right-click with something.
Similar feature were available in EclipseFP before. Is it useful and speed-up applying of those suggestions.

There might be problem automating "reduce" suggestion

EclipseFP had this feature before and it was useful.

When (if) there's a structured ghc-mod interface, this will be possible without horrible and brittle hacks. Until then, I'm not inclined to put *** hours of work into something that might be broken by a minor hlint release. Sorry.

No problem, I understand.
What about using HIE (Haskell IDE Engine) instead of ghd-mod?
2016-06-04 21:49 GMT+03:00 Nikolay Yakimov<EMAIL_ADDRESS>
When (if) there's a structured ghc-mod interface, this will be possible
without horrible and brittle hacks. Until then, I'm not inclined to put ***
hours of work into something that might be broken by a minor hlint release.
Sorry.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/atom-haskell/haskell-ghc-mod/issues/151#issuecomment-223771679,
or mute the thread
https://github.com/notifications/unsubscribe/AFxXhiw6h9653gHIyFwfDbYEpdN-twQOks5qIcipgaJpZM4ImviL
.

When it matures a bit, sure. Right now switching to hie will create more
problems than solve.
5 июня 2016 г. 12:07 PM пользователь "varosi"<EMAIL_ADDRESS>написал:

No problem, I understand.
What about using HIE (Haskell IDE Engine) instead of ghd-mod?
2016-06-04 21:49 GMT+03:00 Nikolay Yakimov<EMAIL_ADDRESS>
When (if) there's a structured ghc-mod interface, this will be possible
without horrible and brittle hacks. Until then, I'm not inclined to put

hours of work into something that might be broken by a minor hlint
release.
Sorry.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<
https://github.com/atom-haskell/haskell-ghc-mod/issues/151#issuecomment-223771679
,
or mute the thread
<
https://github.com/notifications/unsubscribe/AFxXhiw6h9653gHIyFwfDbYEpdN-twQOks5qIcipgaJpZM4ImviL
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/atom-haskell/haskell-ghc-mod/issues/151#issuecomment-223801368,
or mute the thread
https://github.com/notifications/unsubscribe/AG8EZtlyekcdHtLcMWtKsZsuTWunsOhMks5qIpHugaJpZM4ImviL
.

Thanks!
2016-06-06 10:33 GMT+03:00 Nikolay Yakimov<EMAIL_ADDRESS>
When it matures a bit, sure. Right now switching to hie will create more
problems than solve.
5 июня 2016 г. 12:07 PM пользователь "varosi"<EMAIL_ADDRESS>написал:

No problem, I understand.
What about using HIE (Haskell IDE Engine) instead of ghd-mod?
2016-06-04 21:49 GMT+03:00 Nikolay Yakimov<EMAIL_ADDRESS>
When (if) there's a structured ghc-mod interface, this will be possible
without horrible and brittle hacks. Until then, I'm not inclined to put

hours of work into something that might be broken by a minor hlint
release.
Sorry.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<

https://github.com/atom-haskell/haskell-ghc-mod/issues/151#issuecomment-223771679

,
or mute the thread
<

https://github.com/notifications/unsubscribe/AFxXhiw6h9653gHIyFwfDbYEpdN-twQOks5qIcipgaJpZM4ImviL

.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<
https://github.com/atom-haskell/haskell-ghc-mod/issues/151#issuecomment-223801368
,
or mute the thread
<
https://github.com/notifications/unsubscribe/AG8EZtlyekcdHtLcMWtKsZsuTWunsOhMks5qIpHugaJpZM4ImviL

.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/atom-haskell/haskell-ghc-mod/issues/151#issuecomment-223887362,
or mute the thread
https://github.com/notifications/unsubscribe/AFxXhiDj_9Jpm5kucFegEA7HchBQl7sXks5qI803gaJpZM4ImviL
.


New version: soopercool101.BrawlCrate version 0.41

Pull request has been created with komac v2.0.3 :pineapple:
Microsoft Reviewers: Open in CodeFlow

For moderators
This account is automated by Github Actions and the source code was created by CoolPlayLin. If you have any questions about any pull request, don't hesitate to ping Exorcism0666.

[!warning]
With the new version of Komac, numerous Pull Requests may contain bugs or unwanted elements. If such issues arise, please tag russellbanks so that these bugs can be addressed in future updates.

[!important]
Please carefully review these Pull Request before merging. If it is a Pull Request for removing incorrect content and the URLs are issue, free upon manual checking, please close this Pull Request directly. (It is best to inform Exorcism0666 of the closure.)

良い一日をお過ごしください！


Make Aws Region uses db settings

Hello
Sorry for the same PR.
It's similar to the https://github.com/boltcard/boltcard/pull/54 ,
but now I get the Region from the environment variable.
Regards

Thank you for submitting this.
I agree it should be in the database.
For simpler code , could the default value of 'us-east-1' be set in the database instead of '' ?

Sure!


Connection error

Hello! I tried an experiment using the llama2 13b model and got a CONNECTION ERROR.
RL script

python -m lamorel_launcher.launch --config-path /home/xxx/Grounding_LLMs_with_online_RL/lamorel/examples/PPO_LoRA_finetuning --config-name local_gpu_config rl_script_args.path=home/xxx/Grounding_LLMs_with_online_RL/lamorel/examples/PPO_LoRA_finetuning/main.py lamorel_args.accelerate_args.machine_rank=0 lamorel_args.llm_args.model_path=/home/xxx/llama/llama-2-13b

LLM server

python -m lamorel_launcher.launch --config-path /home/xxx/Grounding_LLMs_with_online_RL/lamorel/examples/PPO_LoRA_finetuning --config-name local_gpu_config rl_script_args.path=home/xxx/Grounding_LLMs_with_online_RL/lamorel/examples/PPO_LoRA_finetuning/main.py lamorel_args.accelerate_args.machine_rank=1 lamorel_args.llm_args.model_path=/home/xxx/llama/llama-2-13b

The following error occurred when starting the LLM server after running it using the above command.
ConnectionError: Tried to launch distributed communication on port 30004, but another process is utilizing it. Please specify a different port (such as using the ----main_process_port flag or specifying a different main_process_port in your config file) and rerun your script. To automatically use the next open port (on a single node), you can set this to 0.
Could you please advise me on how to resolve the error?

Hi,
I encounter the same error when I launch the RL script first. It appears there is a conflict of master processes when manually launching two processes on the same machine.
I will investigate this. In the meantime there are 2 solutions for you:

Let torch launch the two processes: set num_machines:1 in your config and only launch your RL script as you did in the example above (the lamorel_launcher will ask torch to launch the two processes)
Keep on launching the two processes manually but launch the LLM server first.

Thanks for the advice.
I was able to run it thanks to your advice.
I was able to run the Flan-T5 and other models, but not with regard to llama and llama2.
Will you ever cover the llama and llama2 models in the future?

What is the matter with Llama?
For your information, I am currently working on adding a couple of things (along with several fixes):

Quantization (the possibility to load models in 4 bits)
Better caching, especially for decoder-only models (which also simplifies how to add custom module functions on top of them)
Better support of decoder-only models

With these improvements, I am able to run and train (with QLoRA) models like Llama, OPT or Mistral.
These should arrive shortly here (in the coming weeks).

That news is great news for me.
I am very much looking forward to the arrival of those features.
By the way, I get the following error when I start llama2.

Loading checkpoint shards: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00,  6.60it/s]
Loading checkpoint shards: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:21<00:00,  7.31s/it]
Using pad_token, but it is not set yet.
trainable params: 19401729 || all params:<PHONE_NUMBER>9 || trainable%: 0.14884029928555545
Error executing job with overrides: ['lamorel_args.accelerate_args.machine_rank=1']
Traceback (most recent call last):
File "/home/xxx/Grounding_LLMs_with_online_RL/lamorel/examples/PPO_LoRA_finetuning/main.py", line 393, in
main()
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/hydra/main.py", line 94, in decorated_main
_run_hydra(
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/hydra/_internal/utils.py", line 394, in _run_hydra
_run_app(
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/hydra/_internal/utils.py", line 457, in _run_app
run_and_report(
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/hydra/_internal/utils.py", line 223, in run_and_report
raise ex
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/hydra/_internal/utils.py", line 220, in run_and_report
return func()
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/hydra/_internal/utils.py", line 458, in
lambda: hydra.run(
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/hydra/_internal/hydra.py", line 132, in run
_ = ret.return_value
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/hydra/core/utils.py", line 260, in return_value
raise self._return_value
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/hydra/core/utils.py", line 186, in run_job
ret.return_value = task_function(task_cfg)
File "/home/xxx/Grounding_LLMs_with_online_RL/lamorel/examples/PPO_LoRA_finetuning/main.py", line 255, in main
lm_server = Caller(config_args.lamorel_args,
File "/home/xxx/Grounding_LLMs_with_online_RL/lamorel/lamorel/src/lamorel/caller.py", line 53, in init
Server(
File "/home/xxx/Grounding_LLMs_with_online_RL/lamorel/lamorel/src/lamorel/server/server.py", line 58, in init
DDP(self._model, process_group=self._llm_group,
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/torch/nn/parallel/distributed.py", line 565, in init
self._log_and_throw(
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/torch/nn/parallel/distributed.py", line 686, in _log_and_throw
raise err_type(err_msg)
ValueError: DistributedDataParallel's input module must be on the same type of devices, but input module parameters locate in {'cuda', 'meta'}.

Which model are you using exactly? Also, what are your versions of transformers and accelerate?

The version I am using is the following version.
accelerate                    0.21.0
transformers                4.33.0
The model used is Llama-2-13b-hf.
https://huggingface.co/meta-llama/Llama-2-13b-hf

Ok so first to give more details about your initial issue with Connection Error, it's Accelerate that checks the asked port isn't already in use. When a process with a rank > 0 is launched first, the port isn't already in use (at it is first) AND torch distributed doesn't launch anything on this port as only the process with rank=0 should launch the master process. So then when you launch the process with rank=0, the port is still free and everything runs smoothly. However, when you do the opposite, the process with rank=0 (which is launched first) starts the main process listening on the asked port, but Accelerate still checks for the second process with rank > 0 that the port is free.
I guess this check should take into account the rank of the current process. I haven't opened any issue yet as manually launching two "machines" on the same machine isn't really a "normal" use case of Accelerate. So I would advise setting the num_machines:1.
Concerning Llama, this is surprising as it seems the piece of code putting the LLM's weights on a CUDA device is not working as expected and your LLM is still on the fake 'meta' device when passed to DDP. Could you try upgrading Accelerate?

Thanks for the advice.
I have updated accelerate to the latest version, but I still get a ValueError like in the above issue.
Is there any solution to this problem?
In addition to the error, the gpu_config file that was used at that time is also listed below.
accelerate 0.24.1
transformers 4.34.0
torch 2.1.0+cu118

Error executing job with overrides: ['lamorel_args.accelerate_args.machine_rank=0']
Traceback (most recent call last):
File "/home/xxx/Grounding_LLMs_with_online_RL/lamorel/examples/PPO_LoRA_finetuning/main.py", line 395, in
main()
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/hydra/main.py", line 94, in decorated_main
_run_hydra(
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/hydra/_internal/utils.py", line 394, in _run_hydra
_run_app(
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/hydra/_internal/utils.py", line 457, in _run_app
run_and_report(
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/hydra/_internal/utils.py", line 223, in run_and_report
raise ex
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/hydra/_internal/utils.py", line 220, in run_and_report
return func()
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/hydra/_internal/utils.py", line 458, in
lambda: hydra.run(
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/hydra/_internal/hydra.py", line 132, in run
_ = ret.return_value
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/hydra/core/utils.py", line 260, in return_value
raise self._return_value
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/hydra/core/utils.py", line 186, in run_job
ret.return_value = task_function(task_cfg)
File "/home/xxx/Grounding_LLMs_with_online_RL/lamorel/examples/PPO_LoRA_finetuning/main.py", line 255, in main
lm_server = Caller(config_args.lamorel_args,
File "/home/xxx/Grounding_LLMs_with_online_RL/lamorel/lamorel/src/lamorel/caller.py", line 53, in init
Server(
File "/home/xxx/Grounding_LLMs_with_online_RL/lamorel/lamorel/src/lamorel/server/server.py", line 40, in init
self._model = HF_LLM(config.llm_args, devices, use_cpu)
File "/home/xxx/Grounding_LLMs_with_online_RL/lamorel/lamorel/src/lamorel/server/llms/hf_llm.py", line 45, in init
device_map = infer_auto_device_map(
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/accelerate/utils/modeling.py", line 923, in infer_auto_device_map
max_memory = get_max_memory(max_memory)
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/accelerate/utils/modeling.py", line 674, in get_max_memory
raise ValueError(
ValueError: Device 0 is not recognized, available devices are integers(for GPU/XPU), 'mps', 'cpu' and 'disk'

gpu config file
lamorel_args:
log_level: info
allow_subgraph_use_whith_gradient: false
distributed_setup_args:
n_rl_processes: 1
n_llm_processes: 1
accelerate_args:
config_file: ../configs/accelerate/default_config.yaml
machine_rank: 0
main_process_ip: <IP_ADDRESS>
num_machines: 1
llm_args:
model_type: causal
model_path: /home/xxx/llama/llama-2-13b-hf
pretrained: true
minibatch_size: 64
pre_encode_inputs: true
parallelism:
use_gpu: true
model_parallelism_size: 1
synchronize_gpus_after_scoring: false
empty_cuda_cache_after_scoring: false
rl_script_args:
path: /home/xxx/Grounding_LLMs_with_online_RL/lamorel/examples/PPO_LoRA_finetuning/main.py
use_lora: true
use_fp16: false
name_environment: 'BabyAI-GoToRedBall-v0'
epochs: 100
steps_per_epoch: 128
minibatch_size: 32
gradient_batch_size: 8
ppo_epochs: 4
lam: 0.99
gamma: 0.99
target_kl: 0.01
max_ep_len: 1000
lr: 1e-4
entropy_coef: 0.01
value_loss_coef: 0.5
clip_eps: 0.2
max_grad_norm: 0.5
save_freq: 100
output_dir: /home/xxx/Grounding_LLMs_with_online_RL/lamorel/examples/PPO_LoRA_finetuning/output

It may also be related to your pytorch version. See https://github.com/flowersteam/lamorel/issues/24.

Thanks to your advice the error was avoided. Thank you very much.
Sorry, I have about two questions.
When using a decoder only model (causal) like llama2, I get the following error in main.py of PPO_LoRA_finetuning. Is there any workaround for this error?
File "/home/xxx/Grounding_LLMs_with_online_RL/lamorel/lamorel/src/lamorel/server/server.py", line 65, in init
self.run()
File "/home/xxx/Grounding_LLMs_with_online_RL/lamorel/lamorel/src/lamorel/server/server.py", line 131, in run
current_process_results = self._process_calls(calls_to_process)
File "/home/xxx/Grounding_LLMs_with_online_RL/lamorel/lamorel/src/lamorel/server/server.py", line 109, in _process_calls
llm_results.append(self._model(_call))
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/home/xxx/Grounding_LLMs_with_online_RL/lamorel/lamorel/src/lamorel/server/llms/hf_llm.py", line 285, in forward
results = _fn(_outputs,
File "/home/xxx/anaconda3/envs/dlp/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, kwargs)
File "/home/xxx/Grounding_LLMs_with_online_RL/lamorel/examples/PPO_LoRA_finetuning/main.py", line 39, in forward
raise NotImplementedError()
NotImplementedError
Also, how can I do fine tuning with multiple GPUs in PPO_LoRA_finetuning?

Hi,
Decoder-Only support is part of the multiple changes I have to push. This update will be added in a PR tomorrow morning. Examples will also be slightly modified, so you may have to adapt your code.
Concerning multi-GPU, if you have set lamorel_args.llm_args.parallelism.use_gpu=true, you should be able to set how many GPUs each LLM uses with  lamorel_args.llm_args.parallelism.model_parallelism_size. Example: you have set lamorel_args.distributed_setup_args.n_llm_processes=1 and lamorel_args.llm_args.parallelism.model_parallelism_size=2, lamorel will deploy one LLM and will expect at least 2 GPUs on your system to assign them to the LLM. If you set lamorel_args.distributed_setup_args.n_llm_processes=2, lamorel will deploy 2 LLMs and expects at least 4 GPUs on your system (the first 2 will be assigned to the first LLM, the two others two the second LLM).

Hi,
The Decoder-Only support has come at last!
Here's the PR: https://github.com/flowersteam/lamorel/pull/26
It has been merged into the main branch. All examples have been modified.
Let me know if you face any issue :)

Thanks for the great update!
I immediately tried it with llama2 and got the following error output, but I was able to avoid the error by setting device_map = "auto".
ValueError: DistributedDataParallel's input module must be on the same type of devices, but input module parameters locate in {'cuda', 'meta'}.
Also, when I performed PPO_Lora_finetuning on llama2, I got the following warning output, is there any solution...?
[2023-11-22 15:06:46,565][root][WARNING] - PPO ratio != 1 !!

I can't manage to reproduce your error when loading Llama 2...
If you know what happens let me know.
Concerning the warning, models that use Rotary PE (e.g. Llama 2, Mistral) are affected by padding: https://github.com/huggingface/transformers/issues/25921
As we are batching multiple transitions in the PPOUpdater (and using padding to do so), the logprobs differ from the ones obtained when collecting transitions. I have unfortunately no solution for now. I am actually currently trying to see if I can make Mistral or Llama2 converge even with this issue.