efCore won't consider backing field type when initializing IEnumerable property

this issue is closely related to #15506, if not the same. Please read and run tests attached.
i have a private HashSet backing field for public IEnumerable. if i didnt initialize the hashset myself (on the field declaration). ef core would initialize it with some ICollection type.
private HashSet<VehicleFeature> _features;
public IEnumerable<VehicleFeature> Features
        {
            get => _features;
            private set => _features = new HashSet<VehicleFeature>(value);
        }

with above code, when ef initializes the entity. The HashSet _features would gladly add duplicate values.  _features is no longer a hashSet! But if _features initialization be:
private HashSet<VehicleFeature> _features = new HashSet<VehicleFeature>();
it works just fine.
More over, i created a test entity to make sure it's not something that i am missing.
private HashSet<string> _strings;
public IEnumerable<string> Strings
        {
            get => _strings;
            private set => _strings = new HashSet<string>(value);
        }

But this time i initialize the _strings or not, i receive

System.InvalidCastException
HResult=0x80004002
Message=Unable to cast object of type 'System.Collections.Generic.List1[System.String]' to type 'System.Collections.Generic.HashSet1[System.String]'.
Source=Microsoft.EntityFrameworkCore.Relational
StackTrace:
at Microsoft.EntityFrameworkCore.Query.RelationalShapedQueryCompilingExpressionVisitor.QueryingEnumerable1.Enumerator.MoveNext()    at System.Linq.Enumerable.Single[TSource](IEnumerable1 source)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.Execute[TResult](Expression query)
at Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryProvider.Execute[TResult](Expression expression)
at System.Linq.Queryable.First[TSource](IQueryable`1 source)
at EF.Tests.StringsTest.Can_EfCore_Initialize_The_Strings_IEnumerable_Properly()
efHashsetIssue.zip

//cc @ajcvickers
ef 3 with Sqlite 3
.netstandard 2.1

@MHDuke EF Core can only track a single entity instance with a given type and ID. Therefore, when EF creates collections for you it does so using a reference equality comparer whenever possible. This helps ensure that two instances representing the same entity aren't confused with each other. See https://github.com/aspnet/EntityFrameworkCore/issues/15687#issuecomment-492280606 for some additional comments.

@ajcvickers sorry for reopening, but what do you suggest when it comes to utilizing HashSet for maintaining unique objects in collection having their equality operators overridden. because it is more than a month now and i am unable to get to a conclusion. Shall i not use HashSets altogether? Use List and always check before adding new objects to a collection instead.
I also want to thank you Arthur and your team. you guys are doing great job. Thank you.

@MHDuke EF cannot handle multiple instances of the same entity type that have the same key values. If that's what you have, then you'll need to resolve them down to a single instance before giving them to EF to track.

@ajcvickers

Therefore, when EF creates collections for you it does so using a reference equality comparer whenever possible.

Can i override this "create collection using reference equality" behavior  by configuration?
I can override it by initializing the HashSet at field declarations private HashSet<> _mySet = new HashSet<>; is there other way to do it?

@MHDuke There isn't a way to override this because, as explained above, in general EF won't work correctly when using collections defined like this.


Migrate from GPUAdapter.requestAdapterInfo to info member

This line is going to start breaking in browsers that implement the recent removal of GPUAdapter.requestAdapterInfo from the WebGPU spec.
https://github.com/s-macke/WebGPU-Lab/blob/898e92742508f25ac9ea513acecb01cf8b1855be/src/scripts/webgpu/gpu.ts#L44
The migration, as noted in that issue, is to move to the new info member instead.

Actually, this already does break on Firefox Nightly. I got pinged about it in bug 1927409. 🙂

thanks. I will try it in all browsers.

Thank you very much. It is difficult to stay up to date when spec changes from time to time.


Fix NewRandomVMIWithDataVolume

Is this a BUG REPORT or FEATURE REQUEST?:
/kind bug
What happened:
NewRandomVMIWithDataVolume function request 1Gi memory for VM. This can lead to unnecessary flakiness and overloading of clusters.
What you expected to happen:
Use the lowest amount of memory possible.
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

KubeVirt version (use virtctl version):
Kubernetes version (use kubectl version):
VM or VMI specifications:
Cloud provider or hardware configuration:
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

/asssign

/assign


refactor(LinearAlgebra/Matrix/BilinearForm): Bilinear Maps and Matrices

Currently LinearAlgebra/Matrix/BilinearForm has a number of results about the identification of bilinear forms with matrices over a commutative semi-ring.
This work in progress PR converts these results to the identification of blinear maps with matrices over a semi-module.
The ultimate aim is to get enough of the theory of bilinear maps to be able to define quadratic Jordan algebras / pairs.

Closing in favour of other PRs:   #9334, #9353, #9485


mistake with script echo

when I install by script on Pi 2 or 3
the script will echo
"This can take 20-30 minutes on a Pi 1 - please wait."
it is a little confuse.
:)

so hopefully faster on a Pi 2 or 3

OK I have removed the specific reference to model...


EDU:ME a complete educational course website

Describe the project you want to add with tech stack
Add an educational course website containing various kinds of courses like engineering , development , science , ....
it contains on demand courses .
tech stack - HTML , CSS , JS , Jquery
home page

courses

about

domains

contact us

@pranjay-poddar please assign me this


[biswap] UPDATE: Stategy: biswap

Fixes #Error in LP balance .
Changes proposed in this pull request:

Add total supply and balance for lp address
Make user balance in lp token correct

Hello, then you can marge it?
Our product team want's know then we can make proposal, thanks.

Hello, then you can marge it?
Our product team want's know then we can make proposal, thanks.

@biswap-dex After these changes, this strategy is causing timeouts on the server, which is making the entire snapshot slow, some logic/ some call is making it hard to compute. would be great if you can fix it and raise a PR,
So for now we blocked this strategy, will be unblocked once the issue is fixed


RSI Divide by zero issue

Hi,
Perhaps I'm misunderstanding how to use things here, but when I do the following:
closePriceIndicator = new ClosePriceIndicator(timeSeries);
rsiIndicator = new RSIIndicator(closePriceIndicator, 5);

Then proceed to call "getValue();"  I get:
rsiIndicator.getValue(0); // 0;
rsiIndicator.getValue(1); // Divide by zero exception.

The data in my closePriceIndicator is fine and works as expected. I'm expecting values between 0 and 100 that correspond to the RSI Values at the respective dates.
I'm using the jar from maven central: ta4j-0.5
Thanks!

Hi,
Already noticed in #16. I recommend you to use the 0.6-SNAPSHOT.
Anyway thank you for using ta4j. :)


Releases not uploaded to Dockerhub

Describe the bug
At least version 0.28.0 is not uploaded to Dockerhub. The publish to Dockerhub action failed. https://github.com/ChainSafe/lodestar/runs/3255490028
Step 5/12 : ENV VERSION=$VERSION
 ---> Running in ce678a409691
Removing intermediate container ce678a409691
 ---> 47fbf0c68360
Step 6/12 : RUN npm install @chainsafe/lodestar-cli@$VERSION
 ---> Running in eade1e96c7d9
npm ERR! code ETARGET
npm ERR! notarget No matching version found for<EMAIL_ADDRESS>npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-08-05T18_50_04_526Z-debug.log
The command '/bin/sh -c npm install @chainsafe/lodestar-cli@$VERSION' returned a non-zero code: 1

I think the problem is a race condition with NPM. We have a prior action that uploads that version to NPM, then run the Dockerfile that installs from NPM. Since the timing is tight, it may happen that NPM doesn't acknowledge the existence of that version.
Expected behavior
All releases should be uploaded to Dockerhub

It stopped working 2 months ago apparently but the nightly builds still make it to Docker hub. I'll check the scripts.

It was potentially broken in #2667 or #2705

Releases are delayed for 10-15 minutes https://github.com/npm/npm/issues/20056

I think the easiest solution now is to:

Add a wait and pause step to ensure it's available before attempting the docker build
Restructure the skip checks such that re-running the workflow still attempts to build the image again even if the tag exists. Skipping only the publish to NPM step


Cloudflare Worker continued issue

Bug report
Describe the bug
I'm attempting to use the supabase-js client in a CFW. This issue is well reported on the README where the recommended solution is to override the fetch client with: fetch: (...args) => fetch(...args),.
When I compile I get the error:
Error: Something went wrong with the request to Cloudflare...
Uncaught TypeError: global.XMLHttpRequest is not a constructor
  at line 2134 in sh
  at line 2134
  at line 2125
  at line 2134
  at line 2125
  at line 2135
  at line 2125
  at line 2140
  at line 2125
  at line 2140
 [API code: 10021]

I'm using a basic wrangler.toml with a target set to JavaScript. I suspect that the basic compiler. I suspect that wrangler is still incorporating the cross-fetch library and it's not being shaken out so Workers panics when it sees a request to global.
Is there an example of this working, perhaps with a webpack compile? If not has anyone else found a good workaround?
To Reproduce

Setup worker.ts
Add wrangler.toml with type: javascript
Publish the worker
Observer global.XMLHttpRequest error

Hey Dave, here's an example Workers project based on https://github.com/cloudflare/worker-typescript-template: https://github.com/soedirgo/supabase-js-cfw

I haven't tried this yet since I'm using a vite build tool but I don't see this example replacing cross-fetch or overriding the default fetch. How is this overcoming the global.XMLHttpRequest is what I'm wondering? I'm not willing to switch to webpack at this point (or ever again :-p haha).

If you don't supply a custom fetch, the client will first try to use the global fetch if available, and otherwise falls back to cross-fetch.

I'm not willing to switch to webpack at this point (or ever again

Amen to that!


[BEAM-10961] turn on enableStrictDependencies globally

Now that most projects have been validated for strict dependency checking, we are turning on enableStrictDependencies globally, removing enableStrictDependencies:true from all projects that have been corrected (and necessary changes merged) so that they can inherit this global switch, and adding enableStrictDependencies:false for the small number of files which are still under review in other PRs (thus overriding the global switch).

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Run Java PreCommit

@ibzib Java Wordcount Direct Runner no MacOS is failing with:
> Task :runners:core-construction-java:compileJava warning: Memory constraints are impeding performance; please increase max heap size. warning: Memory constraints are impeding performance; please increase max heap size. error: warnings found and -Werror specified
Suggests this will be a flappy check going forward. Shall we set the compiler JVM max heap size in BeamModulePlugin.groovy?


Fix for gtk-update-icon-cache hack

In nixos/modules/config/system-path.nix there is a line that explicitly updates the "hicolor" icon theme using gtk-update-icon-cache. Presumably this is undesirable for users of other icon themes, so I added a for loop that will update all themes in $out/share/icons. I don't quite know how to test if it works, though.

You can test with nixos-rebuild switch -I nixpkgs=/path/to/nixpkgs

Seems like this doesn't work, closing.


Hello, I would like to collaborate with your Spanish translator project, which is my native language. could translate the document readme and any other document in order to facilitate the work of Spanish-speaking programmers

What version of Ajv are you using? Does the issue happen if you use the latest version?
Ajv options object

JSON Schema

Sample data

Your code

Validation result, data AFTER validation, error messages

What results did you expect?
Are you going to resolve the issue?

Thank you.
Please feel free to translate, but it shouldn't be a part of this repository as it won't be possible to keep it in sync. I would suggest to make it clear which version is translated by probably using the same tags in a separate repo.


fail after install on wsl2 - std::experimental::filesystem::v1::__cxx11::filesystem_error

After installing from
https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
Running on wsl2 18.04 I get the following error;
~$ sudo procmon
terminate called after throwing an instance of 'std::experimental::filesystem::v1::__cxx11::filesystem_error'
  what():  filesystem error: directory iterator cannot open directory: No such file or directory [/sys/kernel/debug/tracing/events/syscalls]
Aborted

same here

same here...
terminate called after throwing an instance of 'std::experimental::filesystem::v1::__cxx11::filesystem_error'
  what():  filesystem error: directory iterator cannot open directory: No such file or directory [/sys/kernel/debug/tracing/events/syscalls]
Aborted (core dumped)```

ditto

Try mounting /sys/kernel/debug.
If that still doesn't work it's most likely due to the fact that WSL2 doesn't come with BPF enabled by default and you will need to build the WSL2 kernel with the right configuration to generate and install the correct modules. Here are the rough instructions on how to get that done:
https://gist.github.com/MarioHewardt/5759641727aae880b29c8f715ba4d30f

I have a config with this enabled along with a bunch of other optimizations and better defaults: https://github.com/microsoft/WSL2-Linux-Kernel/pull/115 Currently requires kernel 5.7.8 or newer. Follow this guide for compilation: https://wsl.dev/wsl2-kernel-zfs/


Review: NavBar.jsx and SendHearingNotice.jsx

Overview
The focus for this code review will be centered around the NavBar.jsx page and SendHearingNotice.jsx page.
Please pay attention too:

Javascript issues
React components

Review Branch
review-04
Files to review

NavBar.jsx
SendHearingNotice.jsx

Checklists

Architecture
Design
JS
React

Due date
September 27
For more information
The review process is documented at: http://courses.ics.hawaii.edu/ics414s21/morea/review/reading-idpm-review.html

Navbar.jsx
L16-18: Could maybe improve the variable names of menuStyle, menuStyle1, and menuStyle2
SendHearingNotice.jsx:
L63-108: Refractor the contents inside the  component (i.e. reduce the # of rows and columns used)
L48 & 51: Keep the order of the variables consistent from lines 15-21

Navbar.jsx
L43: More roles will be added so rather than adding each individual role to the list that are allowed to see the notification bell, to simplify it so that all roles can see it.
SendHearingNotice.jsx
L83-85, 91-93: can be shortened to one line instead of three.

SendHearingNotice.jsx
L44: A comment can be used to describe what this component does
NavBar.jsx
L11: A comment can be used to describe what this component does
Do we need that many dropdowns as Nav.Items. Can we have one nested dropdown to reduce the number of items in the NavBar?

Navbar.jsx:
L34: remove reference to STUFF components
SendHearingNotics.jsx:
L9,44,51: remove reference to STUFF collection

NavBar.jsx
DE-05: L16, L17, L18: A comment could be used to describe what each of these different menu styles are used for.
SendHearingNotice.jsx
DE-05: L44: A comment could be used to explain what the component is doing.

NavBar.jsx
JS-01: Name constructs appropriately
L16, L17, L18
SendHearingNotice.jsx
L83, 84, 85 can be one line
L91, 92, 93 can be one line

NavBar.jsx
DE-06 L16-18: Comment to describe difference in menu styles or name variables more descriptively
SendHearingNotice.jsx
DE-03 L83-85, L91-93: make Select tags into one line

NavBar.jsx
SendHearingNotice.jsx

Add comments to make it easier to follow


generic: fix unit symbols and their formatting

This commit changes some of previously pending abbreviations to
their official unit symbols, and fixes some of the unit symbols
which had typographical errors. It also fixes the formatting of
some incorrectly formatted symbols to comply with SI, ISO, and IEC
standards.
Signed-off-by: Varun Varada<EMAIL_ADDRESS>

Hi, thank you for your work on this. I'm fine with the spelling fixes but not the base conversations, this should be done in a separate commit / PR if at all.

I am not sure if I like the proposed changes.
Being an old-timer, megabyte has always been 1024x1024, and the proposed "mebibyte" is quite incomprehensible. Never heard about that...
Sure, there has always been some confusion, as the binary based units are naturally related to physical things like flash size (8 MB, not 8.4 MB or 8 MiB), while the some OEMs like hard disk manufacturers have still used the 10-based calc for advertised hard disk sizes.
Similarly, although the small "b" for bit and big "B" for byte has been the normal for ages, there are still people who do not know that. So the cosmetic changes in style of KByte-->kB feel like decreasing information content, although quite right be themselves.

@jow- I removed the base changes from this PR; I'll make them in a separate one.
@hnyman The prefixes "kilo-" and "mega-" have always meant powers of 1000, it's just that early computer scientists have used them incorrectly while the rest of the population has always known them to be what they actually mean, so the hard drive manufacturers have used the terms correctly as well. This confusion has been corrected and is standard now as of 1998. Same thing with b instead of bit for bit(s).

@getsnoopy while I certainly appreciate your gigantic effort towards SI compliance, I personally would strongly prefer if you removed the extra spacing between numerical values and denominators in the 3 cases above.

Another problem is that the additional space introduces potential word wrapping in unexpected/undesired spots. And typographically it indeed looks funny - probably U+202F (NARROW NO-BREAK SPACE) should be used instead.

@stangri I understand some people don't like the spaces, but that seems quite subjective. On the other hand, 3m means "3 million", whereas 3 m means "3 metres"; only 3 min means "3 minutes". Similarly, 4s means "fours", whereas 4 s means "four seconds". The space is not cosmetic. We should not depend on context to write units properly.
@jow- Good point, I forgot about wrapping issues because I thought these are inserted into bounding boxes with enough space. I don't know if the NARROW NO-BREAK SPACE is appropriate though, since that is used to replace the comma as the thousands separator (e.g., "10 000" instead of "10,000"). I can change it to the U+00A0 (NO-BREAK SPACE).

I think the code formatting is making it look weird because it uses a fixed-width font. It would look more like "2 h 2 min 2 s". Though, I could be convinced by "2 h 2 min 2 s" (with thin spaces) as well. I'll change them.

Food for thought: https://forum.openwrt.org/t/poll-how-should-the-time-be-presented-in-webui/66585.

I have no problem changing it to the hh:mm:ss format, as this is a valid and international format to represent time durations as well.

I've updated the code as discussed.

No response

Hi,
I am not quite sure which response would have been expected if not from a developer with merge rights. Was this PR superseeded by something else or fixed in another way?
thanks.


CorrelationHeaderInfo const fields

Can you provide some information about changing to header keys please!
The readme states that it can be changed with CorrelationHeaderInfo. But that class contains const fields.
Is there a way to change header ways?

Hi,
We are working on a new version of Correlation, which will address the problem. Currently there is no way to alter headers name.


Issues when used with IQKeyboardMananger and a TextView inside the bottom sheet

Which platform(s) does your issue occur on?
This happens on iOS only, both for emulator (iPhone 14 Pro, iOS 16.4) and device (iPhone 12 Pro, iOS 17).
Please, tell us how to recreate the issue in as much detail as possible.
I'm just using a TextView inside bottom sheet, and IQKeyboardManager to prevent the keyboard from covering the input.
When the textview gets focus, the keyboard shows, but the bottom sheet seems to confuse the IQKeyboardMananger by "jumping up and down" before settling down, hiding the textview behind the keyboard.
Is there any code involved?
See my example repo here:
https://stackblitz.com/edit/nativescript-stackblitz-templates-3thkka

@fpaaske not sure it is supported right now. I think i would need to use a ScrollView. Not a easy fix. Wont be able to look at it anytime soon :s


Better icon

Something better than this

What about one of the letter tiles? "S" for Spellie?

Closed by #65


Project catalogue using contributor information to fill out author list

Describe the bug
The current implementation of the catalogue uses the contributor information, instead of the author list, to show the publications' authors.
To Reproduce
Steps to reproduce the behaviour:

Go to project catalogue webpage
Look down until you find "Parisa N" as a contributor

Expected behaviour
The list should contain the contributor information from the list of authors of the paper
Environment

[x] prod
[x] staging
[x] dev

PR https://github.com/ebi-ait/projects-index/pull/79

@MightyAx is going to work on this today.

@gabsie please test this on Dev.

hey @jacobwindsor - I entered projects in backoffice both on dev and staging, just to make sure, but I cannot see those projects on https://wwwdev.ebi.ac.uk/humancellatlas/project-catalogue/. Is that where I should expect to see this working?

I have fixed the above issue and you can see the test projects @gabsie created here https://wwwdev.ebi.ac.uk/humancellatlas/project-catalogue/

@gabs to test on dev

Hey - so I tested this, however because of the functionality which was introduced to not make projects active  in catalogue by default, I cannot see this
I need to discuss with @MightyAx  :)

@gabs to test project catalogue on dev by entering data with ingest ui on staging

So I am not sure this is OK still, because even though I added a publication, it now shows publication missing.. Is it that it only picks it up if it's done through the DOI lookup?

@gabsie and @ofanobilbao to catch-up on the testing and wait for Jacob or Alexie to be back

So it seems that:

On staging, I create a new project, but instead of going to the DOI entry route, I do it manually, however I still enter a real publication URL.

The catalogue on wwwdev shows the project, however it says preprint or publication citation missing, and it doesn't pick up the one author I added manually.
The project is: test author gabby staging

Oihane went the DOI project entry route

manually went and edited the Contributors to only have her name, and left all the original Authors in the Publications tab

The Catalogue also just shows 'citation missing'

3 test:
Complete DOI route
didn't change anything
Catalogue still saying citation missing.
So for all these tests, we think the publication should definitely show, and it should pick up the authors.
Thoughts?
Gabs and Oihane

@gabsie as discussed before, the catalogue needs a DOI because of the presence of the journal title. The journal title is picked up from looking up the publication. This was part of your original design and you didn't want the user to have to enter journal title.
Also, the script that picks up the journal information from the DOI runs every night so you will see pre-publication or citation missing until that script is ran. As you can see, the project that you created now has a publication and does not have that message.
I am not sure what has happened with this that Oihane added but I suspect that the DOI given was not valid or something went wrong like that.

Ah you added these project today! Sorry, I'm 6 hours behind so it's a bit weird.
So if those projects you added have a valid DOI, they should show the contributor list tomorrow after the script runs

I didn't know about this script - that explains the 'citation missing' bit. I am going to dig a little more on Mon.
Gabs

Jacob is taking a look to the issues. @gabsie and @ofanobilbao to chat about this

I will check tomorrow, as there is one test I did (that has no DOI) that did not show in the Catalogue. I did not realise DOI was needed to show up. I have edited today to add a DOI. I'll check tomorrow and if it's there this can be promoted to Production.

I think this worked, @ofanobilbao?
This can now potentially also be on prod.

@MightyAx to move to production

@jacobwindsor this was all good so Alexie promoted it to Production. However, when testing I came across something else. I have created a ticket and suggested the improvement to Gabs (#606). Gabs will prioritise it when appropriate. I just wanted to let you know

Thanks @ofanobilbao


Add ability to auto-generate examples from tests

This PR adds the ability to insert usage examples into the user docs which are auto-generated from a test file.
All the new code is in loader_fetch.py. Before _fetch_and_process_file() is called, _fetch_test_file() attempts to find a file called eval_tests.yaml in the repository root. If this file exists, it is parsed and stored. Later, in _edit_user_docs(), if the test file was found, the tests inside are processed and a new section is added to the document with examples generated from the tests.
This process is decoupled from the actual testing, aside from using the same file, so any testing framework can still be used.
There is a new dependency on a library called "autotests", which provides a class that parses the YAML file and abstracts its contents. This is intended to allow the format to be altered without breaking compatibility with every eval function that uses it. Currently this is stored in a repo owned by me, but I would like to move it into the lambda-feedback organisation soon.

Great! will do a more thorough review. Some initial thoughts:

Do you think it would also make sense to put autotest into the toolkit repo, to avoid maintaining lots of packages?
Could you create a json-schema for the eval_tests.yaml, so you get hints in your IDE?

Great! will do a more thorough review. Some initial thoughts:
1. Do you think it would also make sense to put autotest into the toolkit repo, to avoid maintaining lots of packages?

2. Could you create a [json-schema](https://json-schema-everywhere.github.io/yaml) for the eval_tests.yaml, so you get hints in your IDE? In each of the template repos, we can add a `.vscode/settings.json`, which [configures the json schema](https://code.visualstudio.com/docs/languages/json#_mapping-in-the-user-settings) to use for the `eval_tests.yaml`. We just need to figure out where to place the spec, as both `autotest` and `python-toolkit` is python-specific, but the `eval_tests.yaml` should be language-independent.

In response to your initial thoughts:

I initially thought this, but the libraries appear to have differrent purposes: lf-toolkit is code for writing the functional parts of eval functions, but autotests is purely for testing, and is intended to not only be used by eval functions but also by EvalDocsLoader and any other Python tools that need to read the test YAML files. I didn't think that it would be best for EvalDocsLoader to depend on all the other code in lf-toolkit that it wouldn't use. If you think it would make sense to have it all together though, we can move it over.
That's definitely a good idea, and it would help developers to hand-write tests more easily. I will work on doing that.

I initially thought this, but the libraries appear to have differrent purposes: lf-toolkit is code for writing the functional parts of eval functions, but autotests is purely for testing, and is intended to not only be used by eval functions but also by EvalDocsLoader and any other Python tools that need to read the test YAML files. I didn't think that it would be best for EvalDocsLoader to depend on all the other code in lf-toolkit that it wouldn't use. If you think it would make sense to have it all together though, we can move it over.
That's definitely a good idea, and it would help developers to hand-write tests more easily. I will work on doing that.

Fine with that!


Should we list Ethical Hacking YouTubers as well?

Should we only list coding YouTubers or should we also list ethical hacking Youtubers? for ex: Loi Yang, zSecurity, Network Chuck?
Please let me know @collab-community/mantainers.

Yes, good idea...
Can add, many folks look for these ones too

Yes, good idea... Can add, many folks look for these ones too

👍

how about showing those in different pages
the link will be in the homepage.

how about showing those in different pages the link will be in the homepage.

Yeah, agree with you on that. We may do that if the team is fine!

What do you think about this @vikasganiga05 @Adarsh-jaiss?

What do you think about this @vikasganiga05 @Adarsh-jaiss?

Yes, It's a good idea. Most beginners are missing the security part in their development journey.

Do like #52


easy type search

You should be able to easily do a type search without have to match to a field.
For example, I found myself wanted to do this on the zed lake journal:
... | zq -z "type(CommitMessage)" -

Just like a search matches any value, this should match any field as well, even .

The parser already does the right thing here...
% ast "type(CommitMessage)"
{
    "kind": "Sequential",
    "procs": [
        {
            "expr": {
                "kind": "Search",
                "text": "type(CommitMessage)",
                "value": {
                    "kind": "TypeValue",
                    "value": {
                        "kind": "TypeName",
                        "name": "CommitMessage"
                    }
                }
            },
            "kind": "Filter"
        }
    ]
}

This is done...
%  cat in.zson
{a:0,b:0}(=x)
{a:0}
% zq -z "is(<x>)" in.zson
{a:0,b:0}(=x)

To match any field, you can use over/into for now


mixer in non-default domain name of kubernetes

@fleeto commented on Fri Oct 27 2017

Is this a BUG or FEATURE REQUEST?:
Did you review existing epics or issues to identify if this already being worked on? (please try to add the correct labels and epics):
Yes
Bug:
Y
What Version of Istio and Kubernetes are you using, where did you get Istio from, Installation details
istioctl version: 0.2.9
kubectl version: 1.7.6

Is Istio Auth enabled or not ?
Did you install istio.yaml, istio-auth.yaml....
No
What happened:
curl -s -i http://reviews:9080/reviews/0
Will get .404
What you expected to happen:
HTTP 200.
How to reproduce it:
kubectl apply -f <(istioctl kube-inject -f samples/bookinfo/kube/bookinfo.yaml)
Running bookinfo on kubernetes with a domain name "cloud.ctrm", as mentioned in #101 .
I'd change the args of each proxy container and  pilot, add lines into args section: --domain cloud.ctrm.
$ kubectl exec -it productpage-v1-2328666534-lq1bm bash

# root@productpage-v1-2328666534-lq1bm:/opt/microservices# curl -s -i http://reviews.default.svc:9080/reviews/0
HTTP/1.1 200 OK
# root@productpage-v1-2328666534-lq1bm:/opt/microservices# curl -s -i http://reviews:9080/reviews/0 | grep HTTP
HTTP/1.1 404 Not Found

Mixer Logs:
I1027 14:14:24.006245       1 grpcServer.go:304] Dispatching Preprocess
I1027 14:14:24.006262       1 runtime.go:113] unconditionally resolving for kinds: [attributes]
I1027 14:14:24.006311       1 runtime.go:121] unconditionally resolved configs (err=internal error: scope reviews.default.svc.cloud.ctrm not in svc.cluster.local): []
E1027 14:14:24.006318       1 manager.go:201] unable to resolve config: internal error: scope reviews.default.svc.cloud.ctrm not in svc.cluster.local
E1027 14:14:24.006326       1 grpcServer.go:307] Preprocess returned with: INTERNAL (unable to resolve config: internal error: scope reviews.default.svc.cloud.ctrm not in svc.cluster.local)

Logs from default namespace:
[productpage-v1-2328666534-lq1bm istio-proxy] [2017-10-27T15:04:17.748Z] "GET /reviews/0 HTTP/1.1" 404 NR 0 0 0 - "-" "curl/7.38.0" "553e7208-e7cf-9b10-8810-0146b8585908" "reviews:9080" "-"
[reviews-v1-4102084368-hrxrz istio-proxy] [libprotobuf ERROR external/mixerclient_git/src/report_batch.cc:78] Mixer Report failed with: INTERNAL:unable to resolve config: internal error: scope reviews.default.svc.cloud.ctrm not in svc.cluster.local
[reviews-v1-4102084368-hrxrz istio-proxy] [2017-10-27T15:04:21.727Z] "GET /reviews/0 HTTP/1.1" 200 - 0 295 9 7 "-" "curl/7.38.0" "e3e37df3-c724-969e-b562-1296189c596d" "reviews.default.svc:9080" "<IP_ADDRESS>:9080"
[productpage-v1-2328666534-lq1bm istio-proxy] [2017-10-27T15:04:21.757Z] "GET /reviews/0 HTTP/1.1" 200 - 0 295 10 10 "-" "curl/7.38.0" "e3e37df3-c724-969e-b562-1296189c596d" "reviews.default.svc:9080" "<IP_ADDRESS>:9080"

Feature Request:
Y/N
Describe the feature:

@mandarjog commented on Fri Oct 27 2017
Mixer has a command line param,
configIdentityAttributeDomain You can set it to svc.cloud.ctrm.
You will have to update the deployment resource.

@fleeto commented on Fri Oct 27 2017
@mandarjog Thank u.
Now :
grpcServer.go:307] Preprocess returned with: INTERNAL (unable to resolve config: internal error: scope productpage.default.svc.cloud.ctrm not in "svc.cloud.ctrm")

note: that in addition to update the flag for mixer, the kubernetes adapter config should also be updated.

can you spell out what the user would have to do exactly to avoid the error ?

with the update to workload attributes, additional configuration is not needed. can we close out this issue?


Bad error message

When a parameter is missing from a method we get a null reference exception. This is not intuitive at all.
Here is the error message:
System.NullReferenceException: Object reference not set to an instance of an object.
   at (Object , Object[] , String , String )
   at EasyRpc.AspNetCore.Middleware.RpcMessageProcessor.ExecuteMethod(HttpContext context, IServiceProvider serviceProvider, RpcRequestMessage requestMessage, IExposedMethodInformation exposedMethod) in C:\projects\easyrpc\src\EasyRpc.AspNetCore\Middleware\RpcMessageProcessor.cs:line 375

This is no longer an issue in v5


eorader is not opening Sentinel3 S3*SL_2_LST_ Products

Hello all,
up on my journey exploring Sentinel 3 LST data i stumbeld over the awesome eoreader library.
But unfortunately I am not able to read the S3 Thermal product.  I Run the following code, with the files downloaded via the sentinelsat API
Thanks in advance, hopefully i dont oversee a simple mistake here :)
(This is my first Issue on Github, please let me know how to improve the questioning/reporting)
Code To Reproduce

# sentinelsat query
from sentinelsat import SentinelAPI, read_geojson, geojson_to_wkt

api = SentinelAPI(######, #######, "https://apihub.copernicus.eu/apihub", show_progressbars  = True)

products = api.query(aoi,
                     date=("20230604", "20230612"),
                     platformname = "Sentinel-3",
                     #filename = "filname:SL_2_LST___",
                     #cloudcoverpercentage = (0, 100),
                     instrumentshortname='SLSTR',
                     producttype = 'SL_2_LST___',
                     #area_relation = 'Contains',
                     #cloudcoverpercentage = (0, 10)
                     )

# EOReader
from eoreader.reader import Reader
from eoreader.bands import *

reader = Reader()

prod = reader.open(product_path="D:\MA\s3_neu  \S3A_SL_2_LST____20230604T064000_20230604T064300_20230605T162514_0179_099_291_2160_PS1_O_NT_004.SEN3", output_path=base_path,
constellation="S3_SLSTR", remove_tmp=True)

print(product)

Output
2023-06-16 11:08:25,317 - [WARNING] - There is no existing products in EOReader corresponding to [D:\MA\s3_neu\S3A_SL_2_LST____20230604T064000_20230604T064300_20230605T162514_0179_099_291_2160_PS1_O_NT_004.SEN3](file:///D:/MA/s3_neu/S3A_SL_2_LST____20230604T064000_20230604T064300_20230605T162514_0179_099_291_2160_PS1_O_NT_004.SEN3)
None
Environment:

Python version: Python 3.11.2
sertit-utils version: '0.20.0'

Hello,
Thanks for your issue ! This is a really good habit to take 😉
Sadly Sentinel-3 LST product are not handled by EOReader, as this library focuses on optical band mapping.
See #51 for the discussion about the decision (especially this comment)
Sorry for that

Thanks for the kind and quick Answer :)
I thing, things should get going with the tutorial you mentiond in the comment :)

Fyi you can look at the code  I made for Sentinel-3 geocoding, I implemented the pyresample method 😉 It works like a charm !


Make invoker be scaled-out via ansible. (#2247)

This closes #2247
It makes possible to scale out of running invoker via ansible.
It assumes there will be only one invoker running on each hosts.
To scale out running invoker, user can just add new hosts in inventory file and re-run the ansible invoker deployment.
Procedures are as follow:

First, it checks if there are any running invokers.
If there are more than one running invokers, there are some problem. It stops the deployment.
If there is only one running invoker, it checks whether index of running invoker is same with the one of the given inventory host.
If index is different, there is problem in the order of hosts. It stops the deployment.
If index is same, it just skips to run invoker.
If there is no ruunning invoker, it starts a new invoker.

One good side-effect is procedure of invoker deployment becomes idempotent.
So if there is no changes on inventory host file, user can repeatedly run ansible deployment without any harms.

Thanks for the contribution 🎉
Is there no "ansible way" of doing this? I think with the latest bump in our ansible version we can use the docker_container module again for the invoker. By not using recreate: true we should be able to get ansible to leave the invoker alone natively. Have you investigated that?

Is it ok to use docker_container module?
I thought we are waiting for this issue resolved.
https://github.com/apache/incubator-openwhisk/blob/master/ansible/roles/invoker/tasks/deploy.yml#L64

Ugh. Yeah you're right, I was under the impression they added user namespaces with ansible 2.3

Travis build failed due to time limit.
The job exceeded the maximum time limit for jobs, and has been terminated.

Are there anything that I can do?

Travis tests have passed

It is strange that build took about 23 mins, but Travis build took 48 mins and failed again

Please someone who has permission re-run the Travis build.

Travis build passed

@markusthoemmes
Do you have any more feedbacks?

How do I use this? I modified my environment file for the mac to add a second invoker in the group but only see one:
> docker ps -a | grep invoker
017bb20e4405        whisk/invoker:latest         "/bin/sh -c 'exec /in"   About a minute ago   Up About a minute         <IP_ADDRESS>:12001->8080/tcp

TASK [invoker : get running invoker information] ************************************************************************************************
Friday 26 May 2017  08:13:34 -0400 (0:00:00.020)       0:00:40.447 ************
ok: [<IP_ADDRESS>]

TASK [invoker : determine if more than one invokers are running] ********************************************************************************
Friday 26 May 2017  08:13:34 -0400 (0:00:00.365)       0:00:40.812 ************
skipping: [<IP_ADDRESS>]

TASK [invoker : determine if index of invoker is same with index of inventory host] *************************************************************
Friday 26 May 2017  08:13:34 -0400 (0:00:00.021)       0:00:40.834 ************

TASK [invoker : start invoker using docker cli] *************************************************************************************************
Friday 26 May 2017  08:13:34 -0400 (0:00:00.022)       0:00:40.856 ************
changed: [<IP_ADDRESS>]

TASK [invoker : wait until Invoker is up and running] *******************************************************************************************
Friday 26 May 2017  08:13:35 -0400 (0:00:00.386)       0:00:41.243 ************
ok: [<IP_ADDRESS>]

After adding new hosts in the group, it should work.
ansible-playbook -i environments/<environment> invoker.yml

New host(IP) should be different with existing one.
Did you test with Docker-machine?

Any feedback on this?
If this approach is not preferable, kindly let me know.

@style95 nope, it's good! I added two comments on typo/logging. If you could address those then I'm happy to get this in!

Updated accordingly and all tests have been passed

Travis build passed.
Could anyone trigger PG build please?

I believe Markus already has. I expect this is ready to merge.

PG1 1629 🔵

I will work on applying same logic on other components also.
Then we can scale out running components and freely re-run ansible deployment many times without any harm.
(currently only invoker deployment could be run many times.)
ansible-playbook -i environments/<environment> invoker.yml

@markusthoemmes @style95 , why not use docker_container module instead of shell script: docker run?
i have checked the reason, the reason is that the docker_container module doesn't support usernamepace(like docker run --userns), so i will push another PR on ansible project to support it.

@ningyougang AFAIK there is a PR or at least a design decision about this in ansible somewhere. But it'd definitly be great to have this!

@markusthoemmes ,the PR in ansible is here: https://github.com/ansible/ansible/pull/22195


"ToTop" button div container overlies link on same level

Description
Thanks a lot for creating this amazing theme!
Just a small thing which I noticed.
I was trying to use the new option
  toTopButton = true

The "toTop" arrow that appears works great! It just one downside: The div container used to show the button stretches over the full width. All links that are on the same level as the button won't work, as the div container then lies over the link and the links are not clickable anymore. I tried to play around with the z-index, but with no success.
Steps to reproduce
Set the option to true. Move somewhere on the page where a link is shown - if the link is on the same level as the arrow, the link can't be clicked anymore.
Expected result
Link should continue to work
Actual result
Link didn't work.
Environment
Encountered this in the latest Edge version (Version 109.0.1518.61 (Official build) (64-bit))

I was to quick, sorry. This is a duplicate of #863

No problem, I'm working on releasing a new Doks version (modular setup based on Hyas). Issues like this one (z-index) will then also be solved.

Great to hear! I played around with the z-index myself a little bit, but wasn't able to figure out a way of making it work properly.
Thanks for taking this issue into account for the next version, looking forward to it.
Please let me emphasize that this template is one of the best documentation templates I've found so far. I tried to start over with my documentation using astro (which is the "new kid on the block"), but I figured that hugo in combination with your template is the better way to go. So thanks again for sharing this template, and keep up the good work!
Two things which noticed when adjusting the template, just in case this is of interest for you:

I tried to make highlight.js work with C# code blocks, but no success. Eventually, I removed highlight.js completely and used the default syntax highlighting approach build-in in hugo (https://gohugo.io/content-management/syntax-highlighting/) .
I added a "Call to action" button at the top right of the template (Something like "Try now" or "Getting started") - perhaps also something for the next version?

Please let me emphasize that this template is one of the best documentation templates I've found so far. I tried to start over with my documentation using astro (which is the "new kid on the block"), but I figured that hugo in combination with your template is the better way to go. So thanks again for sharing this template, and keep up the good work!

Thanks, that's super great to hear — it's a motivator! I follow Astro closely for I also think it's indeed interesting. However, for Multi Page Applications like a documentation site, I really think nothing beats Hugo. And with the new Doks version it will even get way much better!
Regarding your points, I'm thinking of making highlight.js an option next to Hugo's default syntax highlighting (it's way easier to implement this in the new Doks version - including e.g. setting the highlight theme to use). And, funny, I just implemented the navbar button (CTA) functionality in a proof-of-concept setup this morning.  I will also implement this in Doks.


luci-app-openvpn: redirect to overview page on save/apply, hide boolean by default and cleanup code

On save and apply redirect to the overview page. This is the default behavior on LuCI.
Also make some code cleanup.

@feckert I don't think that it is desirable to always jump back to the overview page while configuring zillions of openvpn options. There is already the breadcrumb trail to going back to overview or switching between different edit views really fast.
Anyway, your PR needs to be rebased to the latest changes.

@dibdot I will rebase my changes :-)
From my point of view i think if you press save and apply then we should go back to the overview page.
If youe press only save then you will stay on the page.
Other modules work the same way.

Maybe just a personal "problem" - I always use "Save & Apply" ... anyway, thanks for the additional rebase efforts!

@dibdot i have added another commit which will hide all boolean option per default.
Till now all boolean option are shown. This is confusing.

Thanks! Probably we'll never get this really bullt proof - let's see what other users say ... ;-)

Thanks!  Probably we'll never get this really bullet proof - let's see what other users say ... ;-)
@dibdot  You're probably right.

Thanks for merging


Test on PHP 7.0

Adding PHP 7.0 to Travis builds

Thanks! This package relies on the ssh2 extension. Have to find out how to enable that for php7 on travis.


Fixed flaky test.

Task/Issue URL:
Description
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

#5426  👈 (View in Graphite)
develop

This stack of pull requests is managed by Graphite. Learn more about stacking.


New method to remove internal references to elements.

This adds a method to the component handler to remove all internal references to elements. It only takes a single node at a time to keep the method simple and clean.

Side note: While I was in the unit test, I cleaned up the method test function to be much easier to keep updated.

Usage
When a component can't be downgraded this provides a way to remove the internal reference. For example: componentHandler.removeComponent(document.querySelector('mdl-js-button')) will remove the internal reference for the first button found.
Before merge
We need proper testing. I'm not sure of the best method to continually test this using mocha. cc @samccone to take a peek at how to handle that.

Thanks, @Garbee! The code overall looks good (minor comment added), but I have a few concerns with this approach:

This is adding a new method to component handler, which should actually go in 1.1. Mind you, this goes against what I've been hoping for (that the fix would go into 1.0.6), but if we're being strict about Semver, this change shouldn't go into the 1.0 branch :-/
Doesn't this approach require the user to know which components can be downgraded and which ones can only be removed? I don't think the distinction is clear, and it will cause a lot of confusion.

On that note, should we perhaps add some bullet-proofing to the deconstructComponentInternal method to make sure it works correctly if the user decides to downgrade a component after removing it?

I'm really confused with the distinctions between downgrading and removing, when you should use either, and what the side effects of doing so (or not doing so) are. And I'm worried this confusion will extend to developers as well, given that they're likely even less familiar with all of these concepts :-/

Currently, I agree with @sgomes. I think we should not externalize the distinction between removing and downgrading. A downgrade should end up in the state before the original upgrade, that includes removing all internal references.
@Garbee I feel like you are seeing something we don’t or we are having a weird misunderstanding here. Could you try – again, sorry – to explain why you feel this distinction is necessary?

At its simplest form, we shouldn't lie to people and tell them something has been downgraded when it hasn't been. Nor should instead of being able to downgrade we just remove internal references and then say everything is fine since it couldn't be downgraded. Lying to developers will only make using the component handler more confusing.
This patch allows developers to check if a downgrade was successful. If it wasn't, then they have the choice to directly remove all associations we have so they can delete the thing without worry. Or, they can simply say they don't care about downgrading and remove all references right off for node deletion.
For the purpose of 1.x, I'm not sure it is feasible we fix the distinction I created. Redoing tests, it doesn't make too much sense anymore. Either I tested incorrectly or I interpreted the results incorrectly and I had us add in a feature that wasn't really necessary for the task at hand. But, existing sites could depend on the existing behavior of downgrading and we shouldn't make a big change like no downgrade so just remove references. For 2.x, we can probably drop the "downgrade" functionality entirely and just leave this in place as the recommended way to handle node removal (since downgrading and re-upgrading is a niche use in the first place.)

but if we're being strict about SemVer, this change shouldn't go into the 1.0 branch

Yup, we are saying we follow SemVer so we should be as strict as we can. Closing this out, but let's continue discussion here and we can roll any needed changes into the new PR as it happens instead of splitting discussion.

Doesn't this approach require the user to know which components can be downgraded and which ones can only be removed? I don't think the distinction is clear, and it will cause a lot of confusion.

Based on my response to @surma asking me to explain the distinction again... I think we should clearly say, downgrading was a goof based on improper testing and is deprecated as of 1.1 in favor of outright removal internally and deleting the node from the DOM. Unless someone can provide a very good use-case of where downgrading in order to re-upgrade has a useful context.

Closing this out as we are instead going to simply not store created components internally anymore. It never had a use in the first place. New PR landing soon with those changes.

@Garbee Can the branch be deleted?

Yup, just deleted this one off. Thanks for the reminder.


Contributions

@all-contributors please add @Michael-Curtis0 for code

@all-contributors please add @Michael-Curtis0 for code


jruby byte order marker bug

Hello,
I've found an issue when using nokogiri 1.5.5 or 1.5.6.rc3 on JRuby.
Example..
data = IO.read("somefile.xml")
doc = Nokogiri::XML.parse(data)
.. this will just stall or raise an exception. The issue is that data[0] is actually a byte order marker in jruby, depending how the data is read.. so to resolve this, I have done:
data = data[1..-1] if data[0] && data[0].unpack('U') == [65279]
.. it works

Closing in favor of #1768 which has a pretty good discussion of why this behavior exists in the JRuby implementation, a potential workaround, and a potential path forward.


Dropping on parent without children

Dropping on a parent node with no children requires a mouse to be moved to the right, which is not very intuitive.
Can't it be done when dragging on top of the parent node it creates the placeholder nested on that parent ?

I just had to deal with this exact problem and came up with some sort of solution (not perfect) that I thought I'd share in case it helps anyone else.
I resolved this problem by editing angular-ui-tree.js. I added a few variables to the top of the dragMove function at line 687 (as of version 2.6.0) - targetHeight, targetChildElm, and  targetChildHeight
In the dragEnabled section down around original line 854, I added the following lines after targetOffset = ... (and replaced the existing targetBefore = ... line):
targetHeight = $uiTreeHelper.height(targetElm);
targetChildElm = targetNode.$childNodesScope ? targetNode.$childNodesScope.$element : null;
targetChildHeight = targetChildElm ? $uiTreeHelper.height(targetChildElm) : 0;
targetHeight -= targetChildHeight;
targetBefore = targetNode.horizontal ? eventObj.pageX < (targetOffset.left + $uiTreeHelper.width(targetElm) / 2)
        : eventObj.pageY < (targetOffset.top + targetHeight / 2);

Then, inside the else at the original line 863 I replaced:
targetElm.after(placeElm);
dragInfo.moveTo(targetNode.$parentNodesScope, targetNode.siblings(), targetNode.index() + 1);

with:
if (targetNode.accept(scope, targetNode.childNodesCount())) {
  targetNode.$childNodesScope.$element.prepend(placeElm);
  dragInfo.moveTo(targetNode.$childNodesScope, targetNode.childNodes(), targetNode.childNodesCount());
}
else {
  targetElm.after(placeElm);
  dragInfo.moveTo(targetNode.$parentNodesScope, targetNode.siblings(), targetNode.index() + 1);
}

I think the height fixing code I added should probably be added to the actual component code, because it appears to be broken. The rest was all just stuff I did to fix the issue itself. The fix won't work without fixing the height problem though, so it's here.
As you might have noticed, I didn't do anything with the horizontal bit, I'm not even sure what that's for since I don't use it. I might have even broke it.
I don't think this solution is "best", but it's a usable workaround for the time being for me at least. Hope this helps someone else.

Closing this issue due to inactivity. See #815 for more information.
Please create a new issue is this still occurs with the current version of the component.


Add changes

NOTE
Please verify that the base repository above has the intended destination!
Github by default opens Pull Requests against the parent of a forked repository.
If this is your personal fork and you didn't intend to open a PR for contribution
to the original project then adjust the base repository accordingly.

Ok

You probably meant to open a PR on your own fork... This is the original repository.

I deeply apologize... I was trying something and did some miss clicks!
Thank you for let me know!
Em qua., 23 de out. de 2024 às 22:15, François Bernier <
@.***> escreveu:

You probably meant to open a PR on your own fork... This is the original
repository.
—
Reply to this email directly, view it on GitHub
https://github.com/nvim-lua/kickstart.nvim/pull/1205#issuecomment-2434003242,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASPS54D2K7NMELU5M7YFZ6TZ5BC2TAVCNFSM6AAAAABQO2SUHWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMZUGAYDGMRUGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Victor Costa Brito
+55 71 9 8629 2949
@.*** @.**>


Disable specific select option

I have two select elements with 3 options both. I need to disable second option (for example option22) in second select after second option (option12) in first select is selected. How can it be done?

std-componets currently not provide that feature, but you can create your own widget for that purpose, refer to this select widget

std-componets currently not provide that feature, but you can create your own widget for that purpose, refer to this select widget


GDScript: Fix temporary value not released when used as a dictionary key

Closes #48346
When compiling GDScript, the code generating the assignment value to a dictionary never released the key, especially when the key is a temporary value from an expression
This commit adds the necessary code to do the release.
The error in console logs Leaving block with non-zero temporary variables: 1 do disappear and the assignment do still works after testing, but the change need to be confirmed by an expert first.

Looks good but I have one nitpick: the key should be popped before assigned, because technically you need to pop first the latest created temporary (it should work as LIFO stack), even though in practice won't really make a difference.

Thanks for your feedback! I will do the change right now. I was really wondering about the order because at l.957, assigned get a new value after being popped (and after the key was created).

Thanks!


Figure out why coverage is inaccurate in local development

From #905
For some reason, we only have 99% coverage when I run make tests locally, but it has 100% coverage in the CI. The output looks like:
$ python -m coverage report -m
Name                                               Stmts   Miss Branch BrPart  Cover   Missing
----------------------------------------------------------------------------------------------
warehouse/__init__.py                                  2      0      0      0   100%
warehouse/accounts/__init__.py                        29      0      8      0   100%
warehouse/accounts/auth_policy.py                     14      0      2      0   100%
warehouse/accounts/forms.py                           17      0      6      0   100%
warehouse/accounts/interfaces.py                       1      0      0      0   100%
warehouse/accounts/models.py                          44      0      4      0   100%
warehouse/accounts/services.py                        48      0     14      0   100%
warehouse/accounts/views.py                           46      0     12      0   100%
warehouse/aws.py                                      14      0      4      0   100%
warehouse/cache/__init__.py                            0      0      0      0   100%
warehouse/cache/http.py                               53      0     16      0   100%
warehouse/cache/origin/__init__.py                    76      0     19      0   100%
warehouse/cache/origin/fastly.py                      50      0     18      0   100%
warehouse/cache/origin/interfaces.py                   1      0      0      0   100%
warehouse/celery.py                                   47      0      6      0   100%
warehouse/classifiers/__init__.py                      0      0      0      0   100%
warehouse/classifiers/models.py                       13      0      0      0   100%
warehouse/cli/__init__.py                             18      0      4      0   100%
warehouse/cli/db/__init__.py                           2      0      2      0   100%
warehouse/cli/db/branches.py                           6      0      0      0   100%
warehouse/cli/db/current.py                            6      0      0      0   100%
warehouse/cli/db/downgrade.py                          7      0      0      0   100%
warehouse/cli/db/heads.py                              7      0      0      0   100%
warehouse/cli/db/history.py                            7      0      0      0   100%
warehouse/cli/db/merge.py                              9      0      0      0   100%
warehouse/cli/db/revision.py                          11      0      0      0   100%
warehouse/cli/db/show.py                               7      0      0      0   100%
warehouse/cli/db/stamp.py                              7      0      0      0   100%
warehouse/cli/db/upgrade.py                            7      0      0      0   100%
warehouse/cli/search/__init__.py                       2      0      2      0   100%
warehouse/cli/search/reindex.py                       45      0      6      0   100%
warehouse/cli/shell.py                                34      0      2      0   100%
warehouse/config.py                                  164      0     39      0   100%
warehouse/csrf.py                                     78      0     30      0   100%
warehouse/db.py                                       55      0      6      0   100%
warehouse/filters.py                                  46      0     10      0   100%
warehouse/forms.py                                    35      0     10      0   100%
warehouse/i18n/__init__.py                            10      0      0      0   100%
warehouse/i18n/filters.py                             11      0      0      0   100%
warehouse/i18n/l20n.py                                 7      0      0      0   100%
warehouse/legacy/__init__.py                           0      0      0      0   100%
warehouse/legacy/action_routing.py                    10      0      0      0   100%
warehouse/legacy/api/__init__.py                       0      0      0      0   100%
warehouse/legacy/api/json.py                          36      0     11      1    98%   118->-118
warehouse/legacy/api/pypi.py                         290      0    148      1    99%   630->-649
warehouse/legacy/api/simple.py                        19      0      2      0   100%
warehouse/legacy/api/xmlrpc.py                        90      0     40      1    99%   50->-50
warehouse/logging.py                                  22      0      2      0   100%
warehouse/packaging/__init__.py                        9      0      0      0   100%
warehouse/packaging/interfaces.py                      1      0      0      0   100%
warehouse/packaging/models.py                        188      0     24      0   100%
warehouse/packaging/search.py                         41      0      4      0   100%
warehouse/packaging/services.py                       57      0     14      0   100%
warehouse/packaging/views.py                          47      0     12      0   100%
warehouse/raven.py                                    29      0      2      0   100%
warehouse/redirects.py                                11      0      0      0   100%
warehouse/routes.py                                   27      0      0      0   100%
warehouse/search.py                                   31      0      2      0   100%
warehouse/sessions.py                                173      0     34      0   100%
warehouse/sitemap/__init__.py                          0      0      0      0   100%
warehouse/sitemap/models.py                            3      0      0      0   100%
warehouse/sitemap/views.py                            32      0     14      0   100%
warehouse/utils/__init__.py                            3      0      0      0   100%
warehouse/utils/attrs.py                               6      0      4      0   100%
warehouse/utils/compression.py                        40      0     14      0   100%
warehouse/utils/crypto.py                             14      0      0      0   100%
warehouse/utils/gravatar.py                            9      0      2      0   100%
warehouse/utils/http.py                               30      0     12      0   100%
warehouse/utils/paginate.py                           23      0      6      0   100%
warehouse/utils/row_counter.py                         7      0      0      0   100%
warehouse/utils/static.py                             12      0      2      0   100%
warehouse/utils/wsgi.py                               28      0     14      0   100%
warehouse/views.py                                    39      0      6      0   100%
----------------------------------------------------------------------------------------------
TOTAL                                               2363      0    589      3    99%

I'm guessing this is some nonsense with the peephole optimizer... but I have no idea why it would only affect it when run locally and not in Travis, which are both using CPython 3.5.1.

This missing bits are all comprehensions.  The notation "118->-118" means, you're missing the jump from line 118 to exiting the code object that starts at line 118.  In this case, the code object is the comprehension.  Maybe this is a coverage.py bug? Can you double-check that the versions of coverage.py are the same in both places?  If you give me instructions how to run the test suite, I can take a look at it.

Should be using the same version, we don't pin the version of coverage but we install the latest version of coverage in both places. To run the tests you have to start up a development environment and then run the tests using:
$ # In one terminal
$ make serve  # This is going to take a few minutes to build
$ # In another terminal
$ make tests

I'm afraid I don't have experience with docker:
$ make serve
# Build our docker containers for this project.
docker-compose build
redis uses an image, skipping
Building app
ERROR: Couldn't connect to Docker daemon - you might need to run `docker-machine start default`.
make: *** [.state/docker-build] Error 1

@nedbat, this is what worked for me:
$ docker-machine start default
(default) Starting VM...
Machine "default" was started.
Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command.
$ eval "$(docker-machine env default)"
$ make serve

This appears to be fixed now without having done anything myself, ¯_(ツ)_/¯.


Temperature Sensor

I have a temperature sensor in my living room. I have the following code implemented.
id: device.id,
type: "action.devices.types.THERMOSTAT",
traits: [],
name: {
name: "Wohnzimmer"
},
attributes : {
thermostatTemperatureUnit : "C",
availableThermostatModes: "off"
}
If I ask "Wie ist die Temperatur im Wohnzimer" I get the answer about the temperature and also the current State of the thermostat. I want get the current temperature without the information if the thermostat state is on or off.
Is there a solution?

There's currently no trait to handle sensor-only data. There's a tracking issue in #135.


Remove the AssemblyLoader abstraction from design-time operations

This abstraction doesn't have multiple implementations anymore, and it probably won't. Assembly.Load is sufficient. I believe this was originally introduced to handle AssemblyLoadContext, but it's not really necessary as the clr handles flowing Assembly.Load into the correct AssemblyLoadContext.LoadFromAssemblyName call.
This is a breaking change on our design packages from preview2.
cc @bricelam

:shipit: I always imagined it would be a good abstraction for tests too, but we can add it back if and when we write tests. :wink:


[pigeon] Support non-null fields for Windows C++

The current generator doesn't support non-null fields, which significantly limits NNBD support. We should re-add non_null_fields.dart to the Windows tests and get them passing.

It's actually worse than that; it requires them to be declared as nullable, but it actually generates code that assumes they are non-nullable. E.g., a class with a bool? foo field generates bool getFoo() on the C++ side. And it looks like creating parsing the argument on the C++ side when Dart sends null will either crash, or leave the field uninitialized (I haven't dug into which).


pass token to query interceptor

Hi I would like to know how to pass the token to a query interceptor, this is the code on the side of my ODataService the method takes 2 parameters the entity type and the object token,
the query interceptor looks like this
      public override LambdaExpression GetQueryInterceptor(Type entityType, object token)
        {
            //Example interceptor for the Employee class
            if (token != null && entityType == typeof(customer))
            {
            return base.GetQueryInterceptor(entityType, token);
        }

on the client side it looks like this
ODataClientSettings oDataClientSettings = new ODataClientSettings(Url)
            {
                IgnoreResourceNotFoundException = true,
                OnTrace = (k, y) => Console.WriteLine(string.Format(k, y)),

            };
            var client = new ODataClient(oDataClientSettings);
            var x = ODataDynamic.Expression;
            IEnumerable<dynamic> customers= await client
                .For(x.customers)
                .FindEntriesAsync();
            foreach (var customer in customers)
            {
                Console.WriteLine(customer .Oid);
            }
            Console.ReadLine();
        }

if I debug the service when I run the above query the token has a value of 1 but I don't know how that value is sent to the service

Since QueryInterceptor is a server-side things, I don't know how it is supposed to receive a token. ODataClientSettings have various properties to customise HTTP communication, including BeforeRequest, OnCreateMessageHandler etc. I suppose one of them can be used to sent a token, but I don't know what QueryInterceptor expects.


Test fail on r2.8: core:__tensorflow_core_lib_math_math_util_test

Please make sure that this is a bug. As per our
GitHub Policy,
we only address code/doc bugs, performance issues, feature requests and
build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): no
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 18.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): source
TensorFlow version (use command below): v2.8.0-2-ge994fb9c3ad 2.8.0
Python version: 3.8.3
Bazel version (if compiling from source): 0.25.2
GCC/Compiler version (if compiling from source): gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
CUDA/cuDNN version: N/A
GPU model and memory: N/A

Describe the current behavior
test fails
Describe the expected behavior
test passes
Contributing

Do you want to contribute a PR? (yes/no): yes
Briefly describe your candidate solution(if contributing):

This code https://github.com/tensorflow/tensorflow/blob/37541479e953b40a2ab5d45fa5cf4c54740820df/tensorflow/core/platform/default/logging.h#L402 appears to return an aliased/out of scope value when called from https://github.com/tensorflow/tensorflow/blob/37541479e953b40a2ab5d45fa5cf4c54740820df/tensorflow/core/lib/math/math_util.h#L100 from (commenting out this line causes the test to pass) https://github.com/tensorflow/tensorflow/blob/37541479e953b40a2ab5d45fa5cf4c54740820df/tensorflow/core/lib/math/math_util_test.cc#L193
Evidence for 'aliased/out of scope value' above: the following change in math_util.h causes the test to pass:
<<<
  DCHECK_NE(0, denominator) << "Division by zero is not supported.";
===
  IntegralType dZero = 0;
  DCHECK_NE(dZero, denominator) << "Division by zero is not supported.";
>>>

But we might prefer either:

The above
Debug whatever is uint64-specific about https://github.com/tensorflow/tensorflow/blob/37541479e953b40a2ab5d45fa5cf4c54740820df/tensorflow/core/platform/default/logging.h#L280, but I can't see that atm
Test on a newer gcc, and deprecate 7.5.0 if that passes

Standalone code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate
the problem. If possible, please share a link to Colab/Jupyter/any notebook.
$ git checkout r2.8
$ bazel  --host_jvm_args=-Xmx32g test --jobs=12  --config=dbg --verbose_failures -k //tensorflow/core:__tensorflow_core_lib_math_math_util_test

Other info / logs Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached.
test.log

Update:
test still fails on commit 55645ca964508507890529a71591f51a344a6356 April 9
test passes with --config=opt

@awf
Please let us know if this issue is resolved for you in a recent commit ?Thanks!

Note I'm happy to submit a PR, but there are a few options, as listed above, so seeking guidance on which one to implement.

PR fixing this issue is #55730


Readme update

CC: @stoeffel @hemanth

:+1:

:+1:

Sweet!!! Does this close #62 or is there still some thing open?

Closes #62
I guess :)

😕
I thought my comment would close the issue. I’m still confused by all these fancy features of GitHub :)


 When I place ME conduits adjacent to AE2 blocks, the AE2 blocks get destroyed. This makes it completely impossible to connect anything. I have found that removing and replacing every single conduit sometimes fixes it (but not always). Unfortunately I don't really have any more info to give you, since it isn't my server. Let me know if I can help somehow.
EDIT: It seems to magically fix itself if I disconnect the ME controller from the power source.

Update EnderIO version to 2.2.8 build 349 available on Curse.

We're using the direwolf20 pack, so we would have to get him to update it I guess. How do I know which version the server has installed now?

You look into your mod folder - because client & server must use the same version.

Apparently direwolf20 is using EnderIO-1.7.10-<IP_ADDRESS>1.jar

Alright I've sent a message to direwolf20 via youtube. Hopefully he'll respond.
Until then, another issue I've noticed is that when I do manage to connect the cables, the ME system doesn't recognize my interfaces. The indicators on them are supposed to turn pink-ish and then blue to indicate they've been connected, but they just stay black. I've had to disconnect the cable, reconnect it, disconnect the ME Controller from its power supply, reconnect it, etc etc multiple times until it just randomly works for no reason.
If you know anything about what might cause this, it'd be great if you could fix it. Or maybe you've already fixed it in the latest version. In any case, thanks for your help.

Your version is out dated - update to build 349 before complaining.

I know I should. I'm just reporting these issues here for myself as much as for you. I know I'll forget about them by the time we've updated, so now I know what to test after we have updated. Then I'll get back to you if it still happens.

The ME conduits had been completely rewritten - any report from that old version is useless.

Alright, then. I'll close this issue for now. If I find any of these bugs with the latest version, I'll reopen it.


Tekton Pipelines v0.11.0

Fixes #144. After merging #166, we are able to use Tekton v0.11.0 on CI.

Hi @otaviof ,
I quick question about this change, is this change only for CI?
Does this PR also bump the tekton version in go.mod?
Or it is another story?
Thanks!

I quick question about this change, is this change only for CI?

Yes, in this case only CI is affected. We are making sure the operator works against a newer version of Tekton, in a nutshell.

Does this PR also bump the tekton version in go.mod?:
https://github.com/redhat-developer/build/blob/master/go.mod#L13
Or it is another story?

Not yet. We might want to do that as soon as Tekton v0.11 is GA, however we are testing against newer versions already.

OK, got it. Thanks @otaviof  :)
Then I think the bump work should be done in this issue: https://github.com/redhat-developer/build/issues/144

I will bump this today based on https://github.com/redhat-developer/build/issues/144, if v0.11.0 works then I would choose that version. We need this while in code we still reference the packages from v0.10.*.

BTW, Tekton just publishes the latest v0.12.0 release 6 days ago:
https://github.com/tektoncd/pipeline/releases/tag/v0.12.0
Just FYI, for the test, I am not sure if v0.12.0 is more official or stable than v0.11.x.

I'm okay having this go in.
Any concerns about updating the go.mod dependency as well?

I think @qu1queee said in our scrum that he was about to update the go.mod file to upgrade operator-sdk and tekton.
/lgtm

Always nice to get a PR assigned. He @openshift-ci-robot, I am not an approver, I cannot do more than say lgtm! Look for another assignee. :-)
@qu1queee @zhangtbj can somebody add your approval? Ty.

/approve


show message properly

Closing this pull request in favor of this one: https://github.com/Microsoft/LUIS-Samples/pull/53


breakfix: Injected headers not present

I'm trying to inject headers following the forward_auth / Trusted Header SSO pattern with a local users.json, but some of the headers are not present.
Configuration

Expand to see full Caddyfile configuration:

{
	security {
		local identity store localdb {
			realm local
			path ./users.json
		}

		authentication portal myportal {
			enable identity store localdb
			ui {
				links {
					"App" "http://<IP_ADDRESS>:8080" icon "las la-user"
					"My Identity" "http://<IP_ADDRESS>:8081/whoami" icon "las la-user"
				}
			}
		}

		authorization policy maybe_authorized {
			set auth url http://<IP_ADDRESS>:8081/
			allow roles authp/admin authp/user
			# inject headers with claims
			enable strip token
			inject header "Remote-Name" from "name"
			inject header "Remote-User" from "username"
			inject header "Remote-Email" from "email_address"
			inject header "Remote-Groups" from "roles"
		}
	}
}

:8081 {
	route {
		authenticate with myportal
	}
}

:8080 {
	route /assets/* {
		file_server {
			root context/
		}
	}

	route {
		authorize with maybe_authorized

		respond "custom responder that prints headers"
	}
}

Expand to see users.json:

Note: password is password
{
    "version": "1.1.2",
    "policy": {
        "password": {
            "keep_versions": 10,
            "min_length": 8,
            "max_length": 128,
            "require_uppercase": false,
            "require_lowercase": false,
            "require_number": false,
            "require_non_alpha_numeric": false,
            "block_reuse": false,
            "block_password_change": false
        },
        "user": {
            "min_length": 3,
            "max_length": 50,
            "allow_non_alpha_numeric": false,
            "allow_uppercase": false
        }
    },
    "revision": 3,
    "last_modified": "2023-08-24T01:57:05.436695797Z",
    "users": [
        {
            "id": "39555452-454e-4c85-829b-8195a8dd8c81",
            "username": "Correct1596",
            "name": {
                "first": "John",
                "last": "Smith"
            },
            "email_address": {
                "address"<EMAIL_ADDRESS>                "domain": "example.com"
            },
            "passwords": [
                {
                    "purpose": "generic",
                    "algorithm": "bcrypt",
                    "hash": "$2a$10$oBl7f1PCSi7mqlzOKEjFNeXisAnikYBhasiyl8RcpPgVT4L1t4tWe",
                    "cost": 10,
                    "expired_at": "0001-01-01T00:00:00Z",
                    "created_at": "2021-10-25T17:04:58.4251263Z",
                    "disabled_at": "0001-01-01T00:00:00Z"
                }
            ],
            "created": "0001-01-01T00:00:00Z",
            "last_modified": "0001-01-01T00:00:00Z",
            "roles": [
                {
                    "name": "admin",
                    "organization": "authp"
                }
            ]
        }
    ]
}

Version Information
./caddy list-modules --versions | grep security
security v1.1.20

Expected behavior

✔ I do see Remote-Name = "Smith, John" and Remote-Groups = "authp/user" as I expect
❌ I don't see Remote-Email or Remote-User at all. I guess from "username" and from "email_address" are trying the wrong fields to select, but I don't know what the right fields are or how to identify them.

@infogulch , did you try experimenting with the following? https://authp.github.io/docs/authorize/headers#custom-headers

@infogulch , please provide the decoded claims of the token.

custom headers url

Yes that's where I started from.

decode the token

Ah thank you for the pointer, I was able to solve it with that hint.

✔ From this I was able to get username with inject header "Remote-User" from "sub", now I see Remote-User: Correct1596
✔ I had to use inject header "Remote-Email" from "email", and add "email_addresses: [ { "address"<EMAIL_ADDRESS>"domain": "example.com" } ] to users.json, and now I see Remote-Email<EMAIL_ADDRESS>

✔ I now understand that the selector portion of inject header "x" from "selector" comes from jwt fields.
❓ What is the point of the "email_address": {"address": "..", "domain": ".."} field? At least it does not interact with jwt fields.
❌  I still don't understand how users.json data is mapped jwt fields.


adding fractional seconds precision to db.schema.createTable(name).addColumn(...).

Fractional Seconds Precision (e.g. timestamp(n)) is supported in both Postgresql and Mysql dialects, documented as optional p or fsp parameter.
Currently, kysely supports date and time data types, without stating fsp. Consumers are forced to use raw sql to achieve more accurate columns when creating tables using the schema module.
Database defaults and behavior on insert/update in case fsp is omitted are not good enough.

A value of 0 signifies that there is no fractional part. If omitted, the default precision is 0.
Inserting a TIME, DATE, or TIMESTAMP value with a fractional seconds part into a column of the same type but having fewer fractional digits results in rounding.  -mysql docs

Millisecond accuracy (at the very least) is crucial to some workflows (e.g. analytics, financial, event-driven systems).

tldr
This PR basically adds the ability to add date time columns as data_type(fsp):
`datetime(${number})` | `time(${number})` | `timetz(${number})` | `timestamp(${number})` | `timestamptz(${number})`

Thanks!


Set up on data-office

Figure out NGINX WSGI support.

https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uwsgi-and-nginx-on-centos-7

Done, with help from IT support, setting the socket policy in SELinux.


Found a way to handle navbar collapse on small devices

Thanks, will merge fix and deal with my comment in a separate PR


Add tests for fpgainfo main.c

Coverage increased (+0.3%) to 78.883% when pulling 29fe75284b5c56c87de0107612effdea9c40edc5 on itbarraz/test_fpgainfo_main into 7c77462656973c9af91afb04efcad352d8b653ba on master.


RMT5.1 Bug - Tearing down and re-instantiating cause errant signal. May also happen on first use. (IDFGH-14255)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
v5.1
Espressif SoC revision.
ESP-WROOM-32-DA
Operating System used.
Windows
How did you build your project?
Command line with Make
If you are using Windows, please specify command line type.
None
Development Kit.
ESP-WROOM-32-DA
Power Supply used.
USB
What is the expected behavior?
Hi there, I'm the acting main contributor for FastLED.
We recently upgraded to RMT5.
Our users are report first pixel is always green, some of the report blue. It depends don't he color order of the LED chipset.
The good news is that we found the issue, issued a work-around and are applying it in the next release. I want to bring this to your attention.
Cause
In RMT 4.x, we had the ability to move RMT devices from one pin to another. This allows us to service lots of strips when the number of strips >= number of RMT devices.
In RMT5, this feature went away. We thought we could be clever by simply tearing down the RMT device every frame and then re-instantiating them when needed. This either happens on the next draw call or on the same draw call when the number of strips > number of RMT devices.
This worked great in tests so we shipped it.
However, a minority of our users are reporting that with the ESP-WROOM-32-DA, and related chipsets, the first led will always stay green.
Someone with an oscilloscope pointed out that there is an unexpected blip happening:

The fix on our end was to disable RMT recycling. Once they get allocated, that's it, until the strip itself is torn down, if ever.
This isn't a huge deal for us because RMT recycling looks awful, the leds update in a staggered fashion. So we are just going to disable it completely. However, you may be interested to know that there is a bug lurking somewhere in your firmware that might be manifesting on the first usage of RMT5.
https://github.com/FastLED/FastLED/issues/1774
https://github.com/FastLED/FastLED/issues/1761
https://github.com/FastLED/FastLED/issues/1640
What is the actual behavior?
Green Light
Steps to reproduce.
Keep in mind, i was NOT ever able to reproduce this myself.
Use FastLED 3.9.0 - 3.9.5 (this is when we switched to RMT5)
Use FireBeetle esp32-e
#define FASTLED_ALLOW_INTERRUPTS 0
#include <FastLED.h>

#define LED_PIN     15
#define BRIGHTNESS  60
#define LED_TYPE    WS2812B
#define COLOR_ORDER GRB
#define COLOR_ORDER GRB
#define NUM_LEDS 60
CRGBArray<NUM_LEDS> leds;

void setup()
{
  Serial.begin(115200); // Enable serial output
  FastLED.addLeds<LED_TYPE, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS);
  FastLED.setBrightness(BRIGHTNESS);
  leds.fill_solid(0x000000); // Clear all leds
  FastLED.show();
}

void loop()
{
  delay(1000);
  for (uint8_t i = 0; i < NUM_LEDS; ++i)
  {
      leds[i].setRGB(0, 0, 255);
      if (i > 1)
      {
        leds[i-1].setRGB(0, 0, 0);
      }
      FastLED.show();
      delay(300);
  }

  leds.fill_solid(0x0000ff); // Clear all leds
  FastLED.show();
}

Debug Logs.
No response
More Information.
No response

Hi @zackees Thanks for the report. From your posted oscilloscope picture, it looks like after RMT driver destroy the channel object, the GPIO level goes to high, right?

Yes, that appears to be the case.
We tear down then IMMEDIATELY re-instantiate.
We can do this because our version of the led-strip component has a pointer instead of an inlined array for the pixel data, so we just re-attach the new pixel buffer on re-instantiation.

I think I can reproduce the "issue" and a simple "workaround" is to utilize the gpio pad's pull-up/down resistor.
TEST_CASE("rmt bytes encoder", "[rmt]")
{
    rmt_tx_channel_config_t tx_channel_cfg = {
        .mem_block_symbols = SOC_RMT_MEM_WORDS_PER_CHANNEL,
        .clk_src = RMT_CLK_SRC_DEFAULT,
        .resolution_hz = 1000000, // 1MHz, 1 tick = 1us
        .trans_queue_depth = 4,
        .gpio_num = TEST_RMT_GPIO_NUM_A,
        .intr_priority = 3
    };
    printf("install tx channel\r\n");
    rmt_channel_handle_t tx_channel = NULL;
    TEST_ESP_OK(rmt_new_tx_channel(&tx_channel_cfg, &tx_channel));
    printf("install bytes encoder\r\n");
    rmt_encoder_handle_t bytes_encoder = NULL;
    rmt_bytes_encoder_config_t bytes_enc_config = {
        .bit0 = {
            .level0 = 1,
            .duration0 = 3, // 3us
            .level1 = 0,
            .duration1 = 9, // 9us
        },
        .bit1 = {
            .level0 = 1,
            .duration0 = 9, // 9us
            .level1 = 0,
            .duration1 = 3, // 3us
        },
    };
    TEST_ESP_OK(rmt_new_bytes_encoder(&bytes_enc_config, &bytes_encoder));
    printf("enable tx channel\r\n");
    TEST_ESP_OK(rmt_enable(tx_channel));

    printf("start transaction\r\n");
    rmt_transmit_config_t transmit_config = {
        .loop_count = 0, // no loop
    };
    TEST_ESP_OK(rmt_transmit(tx_channel, bytes_encoder, (uint8_t[]) {
        0x00, 0x01, 0x02, 0x03, 0x04, 0x05
    }, 6, &transmit_config));
    // adding extra delay here for visualizing
    vTaskDelay(pdMS_TO_TICKS(500));
    TEST_ESP_OK(rmt_transmit(tx_channel, bytes_encoder, (uint8_t[]) {
        0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
    }, 7, &transmit_config));
    vTaskDelay(pdMS_TO_TICKS(500));
    TEST_ESP_OK(rmt_transmit(tx_channel, bytes_encoder, (uint8_t[]) {
        0x00, 0x01, 0x02, 0x03, 0x04
    }, 5, &transmit_config));
    vTaskDelay(pdMS_TO_TICKS(500));

    printf("disable tx channel\r\n");
    TEST_ESP_OK(rmt_disable(tx_channel));

    // If you want to keep the IO level after unintall the RMT channel, a workaround is to set the pull up/down register here
    // because when we uninstall the RMT channel, we will also disable the GPIO output
    gpio_pullup_dis(TEST_RMT_GPIO_NUM_A);
    gpio_pulldown_en(TEST_RMT_GPIO_NUM_A);

    printf("remove tx channel\r\n");
    TEST_ESP_OK(rmt_del_channel(tx_channel));

    vTaskDelay(pdMS_TO_TICKS(500));

    printf("install tx channel again\r\n");
    TEST_ESP_OK(rmt_new_tx_channel(&tx_channel_cfg, &tx_channel));
    printf("enable tx channel\r\n");
    TEST_ESP_OK(rmt_enable(tx_channel));

    printf("start transaction\r\n");
    TEST_ESP_OK(rmt_transmit(tx_channel, bytes_encoder, (uint8_t[]) {
        0x00, 0x01, 0x02, 0x03, 0x04, 0x05
    }, 6, &transmit_config));
    // adding extra delay here for visualizing
    vTaskDelay(pdMS_TO_TICKS(500));

    TEST_ESP_OK(rmt_disable(tx_channel));
    printf("remove tx channel and encoder\r\n");
    TEST_ESP_OK(rmt_del_channel(tx_channel));
    TEST_ESP_OK(rmt_del_encoder(bytes_encoder));
}

The reason is, when we uninstall a RMT channel ,we will also disable the corresponding GPIO output, so its level is undetermined. It can be affected by external pull-up/down resistor as well.

Does this look like a floating pin?

Hi, I made the measurement with oscilloscope, let me clarify the measurement, the circuit has no external pull-up, I am using and ESP32-C6-Zero board, simple connected the WS2812b LED string on the GP0 (tried with different GPIOs, same behaviour).
On the previous oscilloscope screenshot you see a normal LED refresh cycle, but during board power-up it looks like this:

As you can see, the very first LED data package is not starting with initial HIGH, but every other cycle is starting with 300us HIGH period. (This measurement was done with very quick refresh cycle to able to see two data package in one oscillator screen)

Just FYI, we are trying a test with the RMT recycling re-enabled. Since I can't reproduce the issue locally, one of our users is going to try this tonight (EU timezone).
I've applied the suggested fix to enable input pulldown after rmt_disable.
I expect I'll have an update for you tomorrow.

Hi there, my user got back to me and reported that setting the gpio to input pulldown does not work.
https://github.com/FastLED/FastLED/issues/1761#issuecomment-2560089124
You can ignore their comment about the rmt disable message popping up, that's our code issue trying to shoe horn the led-strip component into an async api.

@zackees then could it be that there's an external pull-up resistor on that GPIO? because the pull-up/down resister internal the chip is weak.

https://wiki.dfrobot.com/FireBeetle_Board_ESP32_E_SKU_DFR0654 this is the board I use. It's the built in onboard RGB LED on the gpio 5.
I don't no if there is an external pull-up/down. But based on the schematic I was able to find I don't think so. Here I think gpio 5 is directly connected to the LED's data pin:

It's happening to others too. Pulldown resistor fixes it.
https://www.reddit.com/r/FastLED/comments/1hq7b6m/data_pin_goes_high_impedance_before_transmit/


Fails on Windows 10

...
Step 5/5 : WORKDIR /app/
---> de51233d7971
Removing intermediate container 880992872db0
Successfully built de51233d7971
Successfully tagged phpdockerboilerplate1_app:latest
WARNING: Image for service app was built because it did not already exist. To rebuild this image you must use docker-compose build or docker-compose up --build.
Creating phpdockerboilerplate1_mail_1 ...
Creating phpdockerboilerplate1_mysql_1 ...
Creating phpdockerboilerplate1_mail_1
Creating phpdockerboilerplate1_mysql_1 ... done
Creating phpdockerboilerplate1_app_1 ...
Creating phpdockerboilerplate1_app_1 ... error
ERROR: for phpdockerboilerplate1_app_1  Cannot create container for service app: Drive has not been shared
ERROR: for app  Cannot create container for service app: Drive has not been shared
ERROR: Encountered errors while bringing up the project.

Closed: Fixed by sharing drive in the Docker settings


database: Reference#transaction return type

[READ] Step 1: Are you in the right place?

For issues related to the code in this repository file a Github issue.
If the issue pertains to Cloud Firestore, read the instructions in the "Firestore issue"
template.
For general technical questions, post a question on StackOverflow
with the firebase tag.
For general Firebase discussion, use the firebase-talk
google group.
For help troubleshooting your application that does not fall under one
of the above categories, reach out to the personalized
Firebase support channel.

[REQUIRED] Step 2: Describe your environment

Operating System version: macOS
Firebase SDK version: 10
Firebase Product: database
Node.js version: 14
NPM version: 8

[REQUIRED] Step 3: Describe the problem
The transaction method on a reference is typed to return Promise<any> as opposed to Promise<{ committed: boolean, snapshot: DataSnapshot }>.
https://github.com/firebase/firebase-js-sdk/blob/a7f4a2eb6ed08596dffe75825bca1a2034bfcd2e/packages/database-types/index.d.ts#L140-L144
This is the same problem in the docs.
I've already raise this in the JS SDK (firebase/firebase-js-sdk#6071) but was told it belong here - I'm not totally sure this is the case though as firebase-admin references @firebase/database-types which is in the firebase/firebase-js-sdk repo...
Steps to reproduce:
See above.
Relevant Code:
See above.

Hi @rhodgkins Thank you for reporting this. You are right, this should be addressed in @firebase/database-types.
@hsubox76 does this belong in the firebase-js-sdk repo?

Closing this as https://github.com/firebase/firebase-js-sdk/issues/6071 is now reopened.


Job Shop Scheduling Question

I have been reading through your test problems and am trying to find one that could be used as an example to build a job shop scheduling optimization using your library. Is there one that could be mimicked for 450 variables and approx 10 constraints? If not, could this type of problem be solved with your library? I need to build a solution in JavaScript and your library seems to be the best shot.

Sorry for the delay. Not sure if its still useful information; but aside from processing time, I don't see an issue. There's a problem under test/test-sanity called "Monster_II.json" with 924 variables, 888 constraints, and 112 integer constraints. Hopefully that'll give you an idea of what this library can do and how to get started. Feel free to re-open this if you need some more help.


Use splats

You can use splats (copied from http://coffeescript.org/) in ES6 - so
var myFun = function (
// create new args array
	const args = new Array(arguments.length);

	// inserts arguments inside
	Object.keys(arguments).forEach((key, index) => args[index] = arguments[key]);
}

simply becomes
var myFun = function (...args) {}

and no comments are needed :-)

Yes, I can use spread operator but when I wrote this library, NodeJS didn't allowed this feature.
I must check if it's OK now.

Oh, you're not babelify-ing it :-/
I thought you were (this should be another issue:)

Done


Migrate User Timing doc?

Should we migrate the HTML5Rocks doc to WF?
https://www.html5rocks.com/en/tutorials/webperformance/usertiming/
One motivation is that it doesn't mention DevTools. As I understand it, User Timing stuff shows up in Timeline recordings.
I could potentially do this, but I'd want to slim down the article
Lemme know @petele @PaulKinlan

This could fit nicely in /web/fundamentals/performance

Yes, I would love to see this migrated.  Feels a good fit to have under performance.  @petele ?

@kaycebasques there is also guidance that @marcacohen wrote for PerforamnceObserver in /web/updates that would now be good to fold into fundamentals https://developers.google.com/web/updates/2016/06/performance-observer

Still would be good to migrate but it doesn't seem that I'll be getting around to this


API2000 support for Storage resources

Description
API2000 support for Storage resources
Issues Resolved
Check List

[x] New functionality includes testing.

[x] All tests pass ($ rake test).

[x] New functionality has been documented in the README if applicable.

[x] New functionality has been thoroughly documented in the examples (please include helpful comments).

[x] New endpoints supported are updated in the endpoints-support.md file.
[x] Changes are documented in the CHANGELOG.

raised another PR with correct changes


Assertions of inner exceptions for async methods broke in 4.15

See (the comments in) the following repro sample.
[TestFixture]
public class AsyncMethodVsInnerExceptionRepro
{
    private async Task AsyncMethod()
    {
        await Task.CompletedTask;
        throw new InvalidOperationException("hello");
    }

    [Test]
    public void Test()
    {
        Func<Task> act = async () => await AsyncMethod();

        var innerException = act.ShouldThrow<AggregateException>().And.InnerException;

        // The following `Should().BeOfType()` doesn't work.
        // With v4.14 the test is green, whereas with v4.15/4.16 we get "Expected type
        // to be System.InvalidOperationException, but found System.AggregateException"
        innerException.Should().BeOfType<InvalidOperationException>()
            .Which.Message.Should().Be("hello");

        // Same problem here.
        act.ShouldThrow<AggregateException>()
            .WithInnerException<InvalidOperationException>();
    }
}

Hmm, I tried to fix some weird edge cases in 4.15, but apparently I'm missing some edge cases. Thanks for reporting this.